summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDante Niewenhuis <d.niewenhuis@hotmail.com>2024-10-25 13:32:41 +0200
committerGitHub <noreply@github.com>2024-10-25 13:32:41 +0200
commit5a365dbc068f2a8cdfa9813c39cc84bb30e15637 (patch)
tree72716d562787b85e03cdc7fe1d30c827054d25a0
parent27f5b7dcb05aefdab9b762175d538931face0aba (diff)
Rewrote the FlowEngine (#256)
* Removed unused components. Updated tests. Improved checkpointing model Improved model, started with SimPowerSource implemented FailureModels and Checkpointing First working version midway commit first update All simulation are now run with a single CPU and single MemoryUnit. multi CPUs are combined into one. This is for performance and explainability. * fixed merge conflicts * Updated M3SA paths. * Fixed small typo
-rw-r--r--opendc-compute/opendc-compute-api/src/main/kotlin/org/opendc/compute/api/ComputeClient.kt126
-rw-r--r--opendc-compute/opendc-compute-api/src/main/kotlin/org/opendc/compute/api/Flavor.kt2
-rw-r--r--opendc-compute/opendc-compute-api/src/main/kotlin/org/opendc/compute/api/Resource.kt5
-rw-r--r--opendc-compute/opendc-compute-api/src/main/kotlin/org/opendc/compute/api/Task.kt79
-rw-r--r--opendc-compute/opendc-compute-api/src/main/kotlin/org/opendc/compute/api/TaskState.kt29
-rw-r--r--opendc-compute/opendc-compute-carbon/src/main/kotlin/org/opendc/compute/carbon/CarbonTrace.kt8
-rw-r--r--opendc-compute/opendc-compute-carbon/src/main/kotlin/org/opendc/compute/carbon/CarbonTraceLoader.kt4
-rw-r--r--opendc-compute/opendc-compute-failure/build.gradle.kts1
-rw-r--r--opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/hostfault/HostFault.kt4
-rw-r--r--opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/hostfault/StartStopHostFault.kt18
-rw-r--r--opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/models/FailureModel.kt4
-rw-r--r--opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/models/SampleBasedFailureModel.kt2
-rw-r--r--opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/models/TraceBasedFailureModel.kt4
-rw-r--r--opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/G5k06.kt2
-rw-r--r--opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Lanl05.kt2
-rw-r--r--opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Ldns04.kt2
-rw-r--r--opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Microsoft99.kt2
-rw-r--r--opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Nd07cpu.kt2
-rw-r--r--opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Overnet03.kt2
-rw-r--r--opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Pl05.kt2
-rw-r--r--opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/PrefabFailureModelFactory.kt2
-rw-r--r--opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Skype06.kt2
-rw-r--r--opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Websites02.kt2
-rw-r--r--opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/victimselector/StochasticVictimSelector.kt2
-rw-r--r--opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/victimselector/VictimSelector.kt2
-rw-r--r--opendc-compute/opendc-compute-service/build.gradle.kts40
-rw-r--r--opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/Host.java137
-rw-r--r--opendc-compute/opendc-compute-service/src/test/kotlin/org/opendc/compute/service/ComputeServiceTest.kt386
-rw-r--r--opendc-compute/opendc-compute-service/src/test/kotlin/org/opendc/compute/service/ServiceFlavorTest.kt67
-rw-r--r--opendc-compute/opendc-compute-service/src/test/kotlin/org/opendc/compute/service/ServiceImageTest.kt67
-rw-r--r--opendc-compute/opendc-compute-service/src/test/kotlin/org/opendc/compute/service/ServiceTaskTest.kt442
-rw-r--r--opendc-compute/opendc-compute-service/src/test/kotlin/org/opendc/compute/service/scheduler/FilterSchedulerTest.kt536
-rw-r--r--opendc-compute/opendc-compute-service/src/test/resources/log4j2.xml38
-rw-r--r--opendc-compute/opendc-compute-simulator/build.gradle.kts7
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/host/HostListener.java (renamed from opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/HostListener.java)14
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/host/HostModel.java (renamed from opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/HostModel.java)4
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/host/HostState.java (renamed from opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/HostState.java)2
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/service/ComputeService.java (renamed from opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/ComputeService.java)193
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/service/HostView.java (renamed from opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/HostView.java)14
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/service/ServiceFlavor.java (renamed from opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/ServiceFlavor.java)19
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/service/ServiceImage.java (renamed from opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/ServiceImage.java)8
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/service/ServiceTask.java (renamed from opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/ServiceTask.java)153
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/telemetry/GuestCpuStats.java (renamed from opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/telemetry/GuestCpuStats.java)8
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/telemetry/GuestSystemStats.java (renamed from opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/telemetry/GuestSystemStats.java)2
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/telemetry/HostCpuStats.java (renamed from opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/telemetry/HostCpuStats.java)10
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/telemetry/HostSystemStats.java (renamed from opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/telemetry/HostSystemStats.java)6
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/telemetry/SchedulerStats.java (renamed from opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/telemetry/SchedulerStats.java)10
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/MutableServiceRegistry.kt65
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/ServiceRegistry.kt61
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/ServiceRegistryImpl.kt76
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/SimHost.kt378
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/SimMetaWorkloadMapper.kt35
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/SimWorkloadMapper.kt37
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/TaskWatcher.kt (renamed from opendc-compute/opendc-compute-api/src/main/kotlin/org/opendc/compute/api/TaskWatcher.kt)11
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/host/SimHost.kt369
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/internal/DefaultWorkloadMapper.kt46
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/internal/Guest.kt247
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/internal/GuestListener.kt6
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/ComputeMonitorProvisioningStep.kt16
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/ComputeServiceProvisioningStep.kt4
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/ComputeSteps.kt10
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/HostsProvisioningStep.kt24
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/Provisioner.kt4
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/ProvisioningContext.kt6
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/ComputeScheduler.kt (renamed from opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/ComputeScheduler.kt)11
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/ComputeSchedulers.kt (renamed from opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/ComputeSchedulers.kt)16
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/FilterScheduler.kt (renamed from opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/FilterScheduler.kt)14
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/ReplayScheduler.kt (renamed from opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/ReplayScheduler.kt)10
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/ComputeFilter.kt (renamed from opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/filters/ComputeFilter.kt)12
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/DifferentHostFilter.kt (renamed from opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/filters/DifferentHostFilter.kt)10
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/HostFilter.kt (renamed from opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/filters/HostFilter.kt)9
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/InstanceCountFilter.kt (renamed from opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/filters/InstanceCountFilter.kt)8
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/RamFilter.kt (renamed from opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/filters/RamFilter.kt)12
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/SameHostFilter.kt (renamed from opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/filters/SameHostFilter.kt)10
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/VCpuCapacityFilter.kt (renamed from opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/filters/VCpuCapacityFilter.kt)13
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/VCpuFilter.kt (renamed from opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/filters/VCpuFilter.kt)12
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/weights/CoreRamWeigher.kt (renamed from opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/weights/CoreRamWeigher.kt)8
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/weights/HostWeigher.kt (renamed from opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/weights/HostWeigher.kt)13
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/weights/InstanceCountWeigher.kt (renamed from opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/weights/InstanceCountWeigher.kt)8
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/weights/RamWeigher.kt (renamed from opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/weights/RamWeigher.kt)8
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/weights/VCpuCapacityWeigher.kt (renamed from opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/weights/VCpuCapacityWeigher.kt)10
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/weights/VCpuWeigher.kt (renamed from opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/weights/VCpuWeigher.kt)8
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/ComputeMetricReader.kt (renamed from opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/ComputeMetricReader.kt)204
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/ComputeMonitor.kt (renamed from opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/ComputeMonitor.kt)8
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/parquet/ComputeExportConfig.kt (renamed from opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/ComputeExportConfig.kt)22
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/parquet/DfltHostExportColumns.kt (renamed from opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/DfltHostExportColumns.kt)22
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/parquet/DfltServiceExportColumns.kt (renamed from opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/DfltServiceExportColumns.kt)26
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/parquet/DfltTaskExportColumns.kt (renamed from opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/DfltTaskExportColumns.kt)18
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/parquet/ParquetComputeMonitor.kt (renamed from opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/ParquetComputeMonitor.kt)10
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/parquet/README.md (renamed from opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/README.md)6
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/table/HostInfo.kt (renamed from opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/table/HostInfo.kt)4
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/table/HostTableReader.kt (renamed from opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/table/HostTableReader.kt)18
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/table/ServiceData.kt (renamed from opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/table/ServiceData.kt)6
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/table/ServiceTableReader.kt (renamed from opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/table/ServiceTableReader.kt)17
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/table/TaskInfo.kt (renamed from opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/table/TaskInfo.kt)4
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/table/TaskTableReader.kt (renamed from opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/table/TaskTableReader.kt)16
-rw-r--r--opendc-compute/opendc-compute-simulator/src/test/kotlin/org/opendc/compute/simulator/SimHostTest.kt393
-rw-r--r--opendc-compute/opendc-compute-telemetry/build.gradle.kts44
-rw-r--r--opendc-compute/opendc-compute-telemetry/src/test/resources/log4j2.xml38
-rw-r--r--opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/TopologyFactories.kt15
-rw-r--r--opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/specs/HostSpec.kt11
-rw-r--r--opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/ComputeWorkload.kt4
-rw-r--r--opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/ComputeWorkloadLoader.kt70
-rw-r--r--opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/Task.kt (renamed from opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/VirtualMachine.kt)13
-rw-r--r--opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/internal/CompositeComputeWorkload.kt6
-rw-r--r--opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/internal/HpcSampledComputeWorkload.kt14
-rw-r--r--opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/internal/LoadSampledComputeWorkload.kt6
-rw-r--r--opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/internal/TraceComputeWorkload.kt4
-rw-r--r--opendc-experiments/opendc-experiments-base/build.gradle.kts2
-rw-r--r--opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioReplayer.kt39
-rw-r--r--opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt23
-rw-r--r--opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/ExperimentReader.kt2
-rw-r--r--opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/Scenario.kt2
-rw-r--r--opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/specs/AllocationPolicySpec.kt2
-rw-r--r--opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/specs/ExperimentSpec.kt2
-rw-r--r--opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/specs/FailureModelSpec.kt2
-rw-r--r--opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/specs/ScenarioSpec.kt2
-rw-r--r--opendc-experiments/opendc-experiments-base/src/test/kotlin/org/opendc/experiments/base/ScenarioIntegrationTest.kt218
-rw-r--r--opendc-experiments/opendc-experiments-base/src/test/resources/failureTraces/11_failures.parquetbin0 -> 2786 bytes
-rw-r--r--opendc-experiments/opendc-experiments-base/src/test/resources/failureTraces/single_failure.parquetbin0 -> 2786 bytes
-rw-r--r--opendc-experiments/opendc-experiments-base/src/test/resources/topologies/multi.json (renamed from opendc-experiments/opendc-experiments-base/src/test/resources/env/multi.json)0
-rw-r--r--opendc-experiments/opendc-experiments-base/src/test/resources/topologies/single.json (renamed from opendc-experiments/opendc-experiments-base/src/test/resources/env/single.json)8
-rw-r--r--opendc-experiments/opendc-experiments-base/src/test/resources/traces/bitbrains-small/fragments.parquet (renamed from opendc-experiments/opendc-experiments-base/src/test/resources/trace/bitbrains-small/fragments.parquet)bin717069 -> 717069 bytes
-rw-r--r--opendc-experiments/opendc-experiments-base/src/test/resources/traces/bitbrains-small/interference-model.json (renamed from opendc-experiments/opendc-experiments-base/src/test/resources/trace/bitbrains-small/interference-model.json)0
-rw-r--r--opendc-experiments/opendc-experiments-base/src/test/resources/traces/bitbrains-small/tasks.parquet (renamed from opendc-experiments/opendc-experiments-base/src/test/resources/trace/bitbrains-small/tasks.parquet)bin5525 -> 5525 bytes
-rw-r--r--opendc-experiments/opendc-experiments-base/src/test/resources/traces/single_task/fragments.parquetbin0 -> 3012 bytes
-rw-r--r--opendc-experiments/opendc-experiments-base/src/test/resources/traces/single_task/tasks.parquetbin0 -> 4471 bytes
-rw-r--r--opendc-experiments/opendc-experiments-faas/build.gradle.kts41
-rw-r--r--opendc-experiments/opendc-experiments-faas/src/main/kotlin/org/opendc/experiments/faas/FaaSServiceProvisioningStep.kt73
-rw-r--r--opendc-experiments/opendc-experiments-faas/src/main/kotlin/org/opendc/experiments/faas/FaaSSteps.kt52
-rw-r--r--opendc-experiments/opendc-experiments-faas/src/main/kotlin/org/opendc/experiments/faas/FunctionSample.kt44
-rw-r--r--opendc-experiments/opendc-experiments-faas/src/main/kotlin/org/opendc/experiments/faas/FunctionTrace.kt28
-rw-r--r--opendc-experiments/opendc-experiments-faas/src/main/kotlin/org/opendc/experiments/faas/FunctionTraceWorkload.kt41
-rw-r--r--opendc-experiments/opendc-experiments-faas/src/main/kotlin/org/opendc/experiments/faas/ServerlessTraceReader.kt138
-rw-r--r--opendc-experiments/opendc-experiments-faas/src/main/kotlin/org/opendc/experiments/faas/TraceHelpers.kt75
-rw-r--r--opendc-experiments/opendc-experiments-faas/src/test/kotlin/org/opendc/experiments/faas/FaaSExperiment.kt89
-rw-r--r--opendc-experiments/opendc-experiments-faas/src/test/kotlin/org/opendc/experiments/faas/ServerlessTraceReaderTest.kt45
-rw-r--r--opendc-experiments/opendc-experiments-faas/src/test/resources/trace/1.csv10081
-rw-r--r--opendc-experiments/opendc-experiments-faas/src/test/resources/trace/10.csv10081
-rw-r--r--opendc-experiments/opendc-experiments-m3sa/build.gradle.kts2
-rw-r--r--opendc-experiments/opendc-experiments-m3sa/src/main/kotlin/org/opendc/experiments/m3sa/M3saAnalyzer.kt (renamed from opendc-experiments/opendc-experiments-m3sa/src/main/kotlin/M3saAnalyzer.kt)2
-rw-r--r--opendc-experiments/opendc-experiments-m3sa/src/main/kotlin/org/opendc/experiments/m3sa/runner/M3SACli.kt5
-rw-r--r--opendc-experiments/opendc-experiments-m3sa/src/main/kotlin/org/opendc/experiments/m3sa/runner/M3SARunner.kt4
-rw-r--r--opendc-experiments/opendc-experiments-tf20/README.md10
-rw-r--r--opendc-experiments/opendc-experiments-tf20/build.gradle.kts40
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/Models.kt89
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/core/SimTFDevice.kt212
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/core/TFDevice.kt55
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/core/TFDeviceStats.kt36
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/distribute/MirroredStrategy.kt44
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/distribute/OneDeviceStrategy.kt38
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/distribute/Strategy.kt37
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/Sequential.kt58
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/TrainableModel.kt133
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/activations/Activation.kt198
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/layer/Layer.kt72
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/layer/conv/Conv2D.kt98
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/layer/conv/ConvPadding.kt39
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/layer/core/ActivationLayer.kt49
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/layer/core/Input.kt50
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/layer/pool/Pool2D.kt92
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/layer/regularization/Dropout.kt57
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/shape/TensorShape.kt114
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/network/Message.kt39
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/network/MessageType.kt31
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/network/NetworkController.kt97
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/network/NetworkNode.kt28
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/util/MLEnvironmentReader.kt128
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/util/MachineDef.kt38
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/util/Model.kt67
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/main/resources/ibm.json113
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/main/resources/kth.json33
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/test/kotlin/org/opendc/experiments/tf20/TensorFlowTest.kt157
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/test/kotlin/org/opendc/experiments/tf20/core/SimTFDeviceTest.kt74
-rw-r--r--opendc-faas/README.md7
-rw-r--r--opendc-faas/build.gradle.kts27
-rw-r--r--opendc-faas/opendc-faas-api/build.gradle.kts28
-rw-r--r--opendc-faas/opendc-faas-api/src/main/kotlin/org/opendc/faas/api/FaaSClient.kt74
-rw-r--r--opendc-faas/opendc-faas-api/src/main/kotlin/org/opendc/faas/api/FaaSFunction.kt70
-rw-r--r--opendc-faas/opendc-faas-service/build.gradle.kts39
-rw-r--r--opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/FaaSService.kt80
-rw-r--r--opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/FunctionObject.kt145
-rw-r--r--opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/autoscaler/FunctionTerminationPolicy.kt36
-rw-r--r--opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/autoscaler/FunctionTerminationPolicyFixed.kt67
-rw-r--r--opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/autoscaler/FunctionTerminationPolicyNull.kt34
-rw-r--r--opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/deployer/FunctionDeployer.kt46
-rw-r--r--opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/deployer/FunctionInstance.kt55
-rw-r--r--opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/deployer/FunctionInstanceListener.kt36
-rw-r--r--opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/deployer/FunctionInstanceState.kt48
-rw-r--r--opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/internal/FaaSFunctionImpl.kt70
-rw-r--r--opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/internal/FaaSServiceImpl.kt290
-rw-r--r--opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/router/RandomRoutingPolicy.kt41
-rw-r--r--opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/router/RoutingPolicy.kt39
-rw-r--r--opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/telemetry/FunctionStats.kt48
-rw-r--r--opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/telemetry/SchedulerStats.kt36
-rw-r--r--opendc-faas/opendc-faas-service/src/test/kotlin/org/opendc/faas/service/FaaSServiceTest.kt185
-rw-r--r--opendc-faas/opendc-faas-simulator/build.gradle.kts36
-rw-r--r--opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/SimFunctionDeployer.kt197
-rw-r--r--opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/delay/ColdStartModel.kt69
-rw-r--r--opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/delay/DelayInjector.kt37
-rw-r--r--opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/delay/StochasticDelayInjector.kt37
-rw-r--r--opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/workload/SimFaaSWorkload.kt35
-rw-r--r--opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/workload/SimFaaSWorkloadMapper.kt37
-rw-r--r--opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/workload/SimMetaFaaSWorkloadMapper.kt34
-rw-r--r--opendc-faas/opendc-faas-simulator/src/test/kotlin/org/opendc/faas/simulator/SimFaaSServiceTest.kt116
-rw-r--r--opendc-simulator/opendc-simulator-compute/build.gradle.kts2
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/jmh/kotlin/org/opendc/simulator/compute/SimMachineBenchmarks.kt15
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimAbstractMachine.java354
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimBareMetalMachine.java280
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimMachine.java61
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimMachineContext.java96
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimMemory.java41
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimNetworkInterface.java51
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimProcessingUnit.java62
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimPsu.java71
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimPsuFactories.java214
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimPsuFactory.java38
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimStorageInterface.java50
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/cpu/CPUPowerModelsFactory.kt (renamed from opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/power/CPUPowerModelsFactory.kt)2
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/cpu/CpuPowerModel.java (renamed from opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/power/CpuPowerModel.java)4
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/cpu/CpuPowerModels.java (renamed from opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/power/CpuPowerModels.java)2
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/cpu/SimCpu.java260
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/device/SimNetworkAdapter.java36
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/device/SimPeripheral.java33
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/SimHypervisor.java933
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/SimHypervisorCounters.java53
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/cpufreq/ScalingGovernor.java46
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/cpufreq/ScalingGovernorFactory.java33
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/cpufreq/ScalingGovernors.java190
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/cpufreq/ScalingPolicy.java56
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/interference/VmInterferenceDomain.java136
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/interference/VmInterferenceMember.java177
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/interference/VmInterferenceModel.java185
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/interference/VmInterferenceProfile.java60
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/machine/PerformanceCounters.java102
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/machine/SimMachine.java184
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/machine/VirtualMachine.java246
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/memory/Memory.java (renamed from opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/cpufreq/PerformanceScalingGovernorTest.kt)43
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/model/NetworkAdapter.java88
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/model/ProcessingNode.java100
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/model/StorageDevice.java112
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/models/CpuModel.java (renamed from opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/model/Cpu.java)20
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/models/MachineModel.java (renamed from opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/model/MachineModel.java)67
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/models/MemoryUnit.java (renamed from opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/model/MemoryUnit.java)4
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/power/SimPowerSource.java169
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/power/SimPsu.java196
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/ChainWorkload.java72
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/CheckpointModel.java94
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimChainWorkload.java423
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimFlopsWorkload.java179
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimRuntimeWorkload.java227
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimTrace.java413
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimTraceWorkload.java270
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimWorkload.java32
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimWorkloads.java82
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/TraceFragment.java (renamed from opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimTraceFragment.java)4
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/TraceWorkload.java154
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/Workload.java (renamed from opendc-simulator/opendc-simulator-power/build.gradle.kts)20
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/kotlin/org/opendc/simulator/compute/Coroutines.kt11
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/SimMachineTest.kt883
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/SimFairShareHypervisorTest.kt269
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/SimSpaceSharedHypervisorTest.kt234
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/cpufreq/ConservativeScalingGovernorTest.kt94
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/cpufreq/OnDemandScalingGovernorTest.kt78
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/cpufreq/PowerSaveScalingGovernorTest.kt72
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/power/PowerModelTest.kt180
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/workload/SimChainWorkloadTest.kt310
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/workload/SimFlopsWorkloadTest.kt59
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/workload/SimTraceWorkloadTest.kt160
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/jmh/kotlin/org/opendc/simulator/flow2/FlowBenchmarks.kt8
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/Multiplexer.java210
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/FlowConsumer.java (renamed from opendc-simulator/opendc-simulator-network/build.gradle.kts)18
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/FlowEdge.java114
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/FlowEngine.java (renamed from opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/FlowEngine.java)88
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/FlowGraph.java112
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/FlowNode.java191
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/FlowNodeQueue.java (renamed from opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/FlowStageQueue.java)26
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/FlowSupplier.java (renamed from opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/delay/ZeroDelayInjector.kt)17
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/FlowTimerQueue.java (renamed from opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/FlowTimerQueue.java)77
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/InvocationStack.java (renamed from opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/InvocationStack.java)21
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/FlowGraph.java63
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/FlowGraphInternal.java93
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/FlowStage.java312
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/FlowStageLogic.java38
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/InHandler.java54
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/InHandlers.java53
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/InPort.java214
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/Inlet.java38
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/OutHandler.java47
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/OutHandlers.java53
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/OutPort.java224
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/Outlet.java38
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/mux/FlowMultiplexer.java95
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/mux/FlowMultiplexerFactory.java51
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/mux/ForwardingFlowMultiplexer.java287
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/mux/MaxMinFlowMultiplexer.java297
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/sink/FlowSink.java36
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/sink/SimpleFlowSink.java123
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/source/EmptyFlowSource.java65
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/source/FlowSource.java36
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/source/RuntimeFlowSource.java128
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/source/SimpleFlowSource.java131
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/source/TraceFlowSource.java151
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/util/FlowTransform.java41
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/util/FlowTransformer.java124
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/util/FlowTransforms.java57
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/test/kotlin/InvocationStackTest.kt (renamed from opendc-simulator/opendc-simulator-flow/src/test/kotlin/org/opendc/simulator/flow2/InvocationStackTest.kt)3
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/test/kotlin/org/opendc/simulator/flow2/FlowEngineTest.kt210
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/test/kotlin/org/opendc/simulator/flow2/FlowTimerQueueTest.kt385
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/test/kotlin/org/opendc/simulator/flow2/mux/ForwardingFlowMultiplexerTest.kt72
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/test/kotlin/org/opendc/simulator/flow2/mux/MaxMinFlowMultiplexerTest.kt55
-rw-r--r--opendc-simulator/opendc-simulator-flow/src/test/kotlin/org/opendc/simulator/flow2/sink/FlowSinkTest.kt131
-rw-r--r--opendc-simulator/opendc-simulator-network/src/main/java/org/opendc/simulator/network/SimNetworkLink.java77
-rw-r--r--opendc-simulator/opendc-simulator-network/src/main/java/org/opendc/simulator/network/SimNetworkPort.java110
-rw-r--r--opendc-simulator/opendc-simulator-network/src/main/java/org/opendc/simulator/network/SimNetworkSink.java70
-rw-r--r--opendc-simulator/opendc-simulator-network/src/main/java/org/opendc/simulator/network/SimNetworkSwitch.java35
-rw-r--r--opendc-simulator/opendc-simulator-network/src/main/java/org/opendc/simulator/network/SimNetworkSwitchVirtual.java107
-rw-r--r--opendc-simulator/opendc-simulator-network/src/test/kotlin/org/opendc/simulator/network/SimNetworkLinkTest.kt91
-rw-r--r--opendc-simulator/opendc-simulator-network/src/test/kotlin/org/opendc/simulator/network/SimNetworkSinkTest.kt153
-rw-r--r--opendc-simulator/opendc-simulator-network/src/test/kotlin/org/opendc/simulator/network/SimNetworkSwitchVirtualTest.kt77
-rw-r--r--opendc-simulator/opendc-simulator-network/src/test/kotlin/org/opendc/simulator/network/TestSource.kt56
-rw-r--r--opendc-simulator/opendc-simulator-power/src/main/java/org/opendc/simulator/power/SimPdu.java141
-rw-r--r--opendc-simulator/opendc-simulator-power/src/main/java/org/opendc/simulator/power/SimPowerInlet.java53
-rw-r--r--opendc-simulator/opendc-simulator-power/src/main/java/org/opendc/simulator/power/SimPowerOutlet.java91
-rw-r--r--opendc-simulator/opendc-simulator-power/src/main/java/org/opendc/simulator/power/SimPowerSource.java71
-rw-r--r--opendc-simulator/opendc-simulator-power/src/main/java/org/opendc/simulator/power/SimUps.java137
-rw-r--r--opendc-simulator/opendc-simulator-power/src/test/kotlin/org/opendc/simulator/power/SimPduTest.kt133
-rw-r--r--opendc-simulator/opendc-simulator-power/src/test/kotlin/org/opendc/simulator/power/SimPowerSourceTest.kt155
-rw-r--r--opendc-simulator/opendc-simulator-power/src/test/kotlin/org/opendc/simulator/power/SimUpsTest.kt108
-rw-r--r--opendc-simulator/opendc-simulator-power/src/test/kotlin/org/opendc/simulator/power/TestInlet.kt49
-rw-r--r--opendc-web/opendc-web-runner/build.gradle.kts1
-rw-r--r--opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/OpenDCRunner.kt27
-rw-r--r--opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/internal/WebComputeMonitor.kt12
-rw-r--r--opendc-web/opendc-web-ui/src/components/topologies/sidebar/machine/UnitTabsComponent.js4
-rw-r--r--opendc-web/opendc-web-ui/src/components/topologies/sidebar/rack/MachineComponent.js2
-rw-r--r--settings.gradle.kts4
-rw-r--r--site/docs/documentation/Input/Topology.md4
-rw-r--r--site/docs/documentation/Input/TopologySchema.md12
-rw-r--r--site/docs/documentation/Output.md2
339 files changed, 4586 insertions, 41562 deletions
diff --git a/opendc-compute/opendc-compute-api/src/main/kotlin/org/opendc/compute/api/ComputeClient.kt b/opendc-compute/opendc-compute-api/src/main/kotlin/org/opendc/compute/api/ComputeClient.kt
deleted file mode 100644
index 9e24a3fd..00000000
--- a/opendc-compute/opendc-compute-api/src/main/kotlin/org/opendc/compute/api/ComputeClient.kt
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.compute.api
-
-import org.opendc.simulator.compute.workload.SimWorkload
-import java.util.UUID
-
-/**
- * A client interface for the OpenDC Compute service.
- */
-public interface ComputeClient : AutoCloseable {
- /**
- * Obtain the list of [Flavor]s accessible by the requesting user.
- */
- public fun queryFlavors(): List<Flavor>
-
- /**
- * Obtain a [Flavor] by its unique identifier.
- *
- * @param id The identifier of the flavor.
- */
- public fun findFlavor(id: UUID): Flavor?
-
- /**
- * Create a new [Flavor] instance at this compute service.
- *
- * @param name The name of the flavor.
- * @param cpuCount The amount of CPU cores for this flavor.
- * @param memorySize The size of the memory in MB.
- * @param labels The identifying labels of the image.
- * @param meta The non-identifying meta-data of the image.
- */
- public fun newFlavor(
- name: String,
- cpuCount: Int,
- memorySize: Long,
- labels: Map<String, String> = emptyMap(),
- meta: Map<String, Any> = emptyMap(),
- ): Flavor
-
- /**
- * Obtain the list of [Image]s accessible by the requesting user.
- */
- public fun queryImages(): List<Image>
-
- /**
- * Obtain a [Image] by its unique identifier.
- *
- * @param id The identifier of the image.
- */
- public fun findImage(id: UUID): Image?
-
- /**
- * Create a new [Image] instance at this compute service.
- *
- * @param name The name of the image.
- * @param labels The identifying labels of the image.
- * @param meta The non-identifying meta-data of the image.
- */
- public fun newImage(
- name: String,
- labels: Map<String, String> = emptyMap(),
- meta: Map<String, Any> = emptyMap(),
- ): Image
-
- /**
- * Obtain the list of [Task]s accessible by the requesting user.
- */
- public fun queryTasks(): List<Task>
-
- /**
- * Obtain a [Task] by its unique identifier.
- *
- * @param id The identifier of the task.
- */
- public fun findTask(id: UUID): Task?
-
- /**
- * Create a new [Task] instance at this compute service.
- *
- * @param name The name of the task to deploy.
- * @param image The image to be deployed.
- * @param flavor The flavor of the machine instance to run this [image] on.
- * @param labels The identifying labels of the task.
- * @param meta The non-identifying meta-data of the task.
- * @param start A flag to indicate that the task should be started immediately.
- */
- public fun newTask(
- name: String,
- image: Image,
- flavor: Flavor,
- labels: Map<String, String> = emptyMap(),
- meta: Map<String, Any> = emptyMap(),
- start: Boolean = true,
- ): Task
-
- public fun rescheduleTask(
- task: Task,
- workload: SimWorkload,
- )
-
- /**
- * Release the resources associated with this client, preventing any further API calls.
- */
- public override fun close()
-}
diff --git a/opendc-compute/opendc-compute-api/src/main/kotlin/org/opendc/compute/api/Flavor.kt b/opendc-compute/opendc-compute-api/src/main/kotlin/org/opendc/compute/api/Flavor.kt
index 99042c24..e88379f6 100644
--- a/opendc-compute/opendc-compute-api/src/main/kotlin/org/opendc/compute/api/Flavor.kt
+++ b/opendc-compute/opendc-compute-api/src/main/kotlin/org/opendc/compute/api/Flavor.kt
@@ -23,7 +23,7 @@
package org.opendc.compute.api
/**
- * Flavors define the compute and memory capacity of [Task] instance. To put it simply, a flavor is an available
+ * Flavors define the compute and memory capacity of [ServiceTask] instance. To put it simply, a flavor is an available
* hardware configuration for a task. It defines the size of a virtual task that can be launched.
*/
public interface Flavor : Resource {
diff --git a/opendc-compute/opendc-compute-api/src/main/kotlin/org/opendc/compute/api/Resource.kt b/opendc-compute/opendc-compute-api/src/main/kotlin/org/opendc/compute/api/Resource.kt
index 58082130..2c3822a7 100644
--- a/opendc-compute/opendc-compute-api/src/main/kotlin/org/opendc/compute/api/Resource.kt
+++ b/opendc-compute/opendc-compute-api/src/main/kotlin/org/opendc/compute/api/Resource.kt
@@ -39,11 +39,6 @@ public interface Resource {
public val name: String
/**
- * The identifying labels attached to the resource.
- */
- public val labels: Map<String, String>
-
- /**
* The non-identifying metadata attached to the resource.
*/
public val meta: Map<String, Any>
diff --git a/opendc-compute/opendc-compute-api/src/main/kotlin/org/opendc/compute/api/Task.kt b/opendc-compute/opendc-compute-api/src/main/kotlin/org/opendc/compute/api/Task.kt
deleted file mode 100644
index 23f2cb91..00000000
--- a/opendc-compute/opendc-compute-api/src/main/kotlin/org/opendc/compute/api/Task.kt
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.compute.api
-
-import java.time.Instant
-
-/**
- * A stateful object representing a task instance that is running on some physical or virtual machine.
- */
-public interface Task : Resource {
- /**
- * The flavor of the task.
- */
- public val flavor: Flavor
-
- /**
- * The image of the task.
- */
- public val image: Image
-
- /**
- * The last known state of the task.
- */
- public val state: TaskState
-
- /**
- * The number of times a Task has been stopped due to failures
- */
- public val numFailures: Int
-
- /**
- * The most recent moment in time when the task was launched.
- */
- public val launchedAt: Instant?
-
- /**
- * Request the task to be started.
- */
- public fun start()
-
- /**
- * Request the task to be stopped.
- */
- public fun stop()
-
- /**
- * Register the specified [TaskWatcher] to watch the state of the task.
- *
- * @param watcher The watcher to register for the task.
- */
- public fun watch(watcher: TaskWatcher)
-
- /**
- * De-register the specified [TaskWatcher] from the task to stop it from receiving events.
- *
- * @param watcher The watcher to de-register from the task.
- */
- public fun unwatch(watcher: TaskWatcher)
-}
diff --git a/opendc-compute/opendc-compute-api/src/main/kotlin/org/opendc/compute/api/TaskState.kt b/opendc-compute/opendc-compute-api/src/main/kotlin/org/opendc/compute/api/TaskState.kt
index a093ff47..f3f2ca6f 100644
--- a/opendc-compute/opendc-compute-api/src/main/kotlin/org/opendc/compute/api/TaskState.kt
+++ b/opendc-compute/opendc-compute-api/src/main/kotlin/org/opendc/compute/api/TaskState.kt
@@ -27,14 +27,15 @@ package org.opendc.compute.api
*/
public enum class TaskState {
/**
- * Resources are being allocated for the instance. The instance is not running yet.
+ * A static task is created
+ *
*/
- PROVISIONING,
+ CREATED,
/**
- * A user shut down the instance.
+ * Resources are being allocated for the instance. The instance is not running yet.
*/
- TERMINATED,
+ PROVISIONING,
/**
* The task instance is booting up or running.
@@ -42,12 +43,26 @@ public enum class TaskState {
RUNNING,
/**
- * The task is in an error state.
+ * The task is in a failed state.
+ */
+ FAILED,
+
+ /**
+ * The task has been terminated due to too many failures
+ *
+ */
+ TERMINATED,
+
+ /**
+ * The task has been completed successfully
+ *
*/
- ERROR,
+ COMPLETED,
/**
- * The task has been deleted and cannot be started later on.
+ * Task has been deleted
+ *
+ * @constructor Create empty Deleted
*/
DELETED,
}
diff --git a/opendc-compute/opendc-compute-carbon/src/main/kotlin/org/opendc/compute/carbon/CarbonTrace.kt b/opendc-compute/opendc-compute-carbon/src/main/kotlin/org/opendc/compute/carbon/CarbonTrace.kt
index 2ba3e4e3..6eb7a762 100644
--- a/opendc-compute/opendc-compute-carbon/src/main/kotlin/org/opendc/compute/carbon/CarbonTrace.kt
+++ b/opendc-compute/opendc-compute-carbon/src/main/kotlin/org/opendc/compute/carbon/CarbonTrace.kt
@@ -40,7 +40,7 @@ import java.time.Instant
public data class CarbonFragment(
var startTime: Long,
var endTime: Long,
- var carbonIntensity: Double,
+ var carbonIntensity: Float,
) {
init {
require(endTime > startTime) {
@@ -67,7 +67,7 @@ public class CarbonTrace(reports: List<CarbonFragment>? = null) {
return index < numberOfReports
}
- public fun getCarbonIntensity(timestamp: Instant): Double {
+ public fun getCarbonIntensity(timestamp: Instant): Float {
return getCarbonIntensity(timestamp.toEpochMilli())
}
@@ -79,9 +79,9 @@ public class CarbonTrace(reports: List<CarbonFragment>? = null) {
* @param timestamp
* @return The carbon intensity at the given timestamp in gCO2/kWh
*/
- public fun getCarbonIntensity(timestamp: Long): Double {
+ public fun getCarbonIntensity(timestamp: Long): Float {
if (reports == null) {
- return 0.0
+ return 0.0f
}
var currentFragment: CarbonFragment
diff --git a/opendc-compute/opendc-compute-carbon/src/main/kotlin/org/opendc/compute/carbon/CarbonTraceLoader.kt b/opendc-compute/opendc-compute-carbon/src/main/kotlin/org/opendc/compute/carbon/CarbonTraceLoader.kt
index b66aedf9..12340adf 100644
--- a/opendc-compute/opendc-compute-carbon/src/main/kotlin/org/opendc/compute/carbon/CarbonTraceLoader.kt
+++ b/opendc-compute/opendc-compute-carbon/src/main/kotlin/org/opendc/compute/carbon/CarbonTraceLoader.kt
@@ -56,7 +56,7 @@ public class CarbonTraceLoader {
try {
while (reader.nextRow()) {
val startTime = reader.getInstant(startTimeCol)!!
- val carbonIntensity = reader.getDouble(carbonIntensityCol)
+ val carbonIntensity = reader.getFloat(carbonIntensityCol)
builder.add(startTime, carbonIntensity)
}
@@ -106,7 +106,7 @@ public class CarbonTraceLoader {
*/
fun add(
startTime: Instant,
- carbonIntensity: Double,
+ carbonIntensity: Float,
) {
fragments.add(
CarbonFragment(startTime.toEpochMilli(), Long.MAX_VALUE, carbonIntensity),
diff --git a/opendc-compute/opendc-compute-failure/build.gradle.kts b/opendc-compute/opendc-compute-failure/build.gradle.kts
index d6ec9116..3bd7af83 100644
--- a/opendc-compute/opendc-compute-failure/build.gradle.kts
+++ b/opendc-compute/opendc-compute-failure/build.gradle.kts
@@ -32,7 +32,6 @@ dependencies {
implementation(projects.opendcCommon)
implementation(project(mapOf("path" to ":opendc-trace:opendc-trace-api")))
implementation(project(mapOf("path" to ":opendc-simulator:opendc-simulator-compute")))
- implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-service")))
implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-simulator")))
api(libs.commons.math3)
diff --git a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/hostfault/HostFault.kt b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/hostfault/HostFault.kt
index 4134c58a..a1e4c489 100644
--- a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/hostfault/HostFault.kt
+++ b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/hostfault/HostFault.kt
@@ -22,8 +22,8 @@
package org.opendc.compute.failure.hostfault
-import org.opendc.compute.service.ComputeService
-import org.opendc.compute.simulator.SimHost
+import org.opendc.compute.simulator.host.SimHost
+import org.opendc.compute.simulator.service.ComputeService
/**
* Interface responsible for applying the fault to a host.
diff --git a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/hostfault/StartStopHostFault.kt b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/hostfault/StartStopHostFault.kt
index 0bebca66..c7ddc5b5 100644
--- a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/hostfault/StartStopHostFault.kt
+++ b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/hostfault/StartStopHostFault.kt
@@ -23,10 +23,8 @@
package org.opendc.compute.failure.hostfault
import kotlinx.coroutines.delay
-import org.opendc.compute.api.ComputeClient
-import org.opendc.compute.service.ComputeService
-import org.opendc.compute.simulator.SimHost
-import org.opendc.simulator.compute.workload.SimWorkload
+import org.opendc.compute.simulator.host.SimHost
+import org.opendc.compute.simulator.service.ComputeService
/**
* A type of [HostFault] where the hosts are stopped and recover after a given amount of time.
@@ -38,18 +36,20 @@ public class StartStopHostFault(
victims: List<SimHost>,
faultDuration: Long,
) {
- val client: ComputeClient = service.newClient()
+ val client: ComputeService.ComputeClient = service.newClient()
for (host in victims) {
- val tasks = host.instances
+ val guests = host.getGuests()
- val sortedTasks = tasks.sortedBy { it.name }
- val snapshots = sortedTasks.map { (it.meta["workload"] as SimWorkload).getSnapshot() }
+ val snapshots = guests.map { it.virtualMachine!!.getActiveWorkload().getSnapshot() }
+ val tasks = guests.map { it.task }
host.fail()
- for ((task, snapshot) in sortedTasks.zip(snapshots)) {
+ for ((task, snapshot) in tasks.zip(snapshots)) {
client.rescheduleTask(task, snapshot)
}
+
+ print("test")
}
delay(faultDuration)
diff --git a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/models/FailureModel.kt b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/models/FailureModel.kt
index 5f05d96c..f0cee5f2 100644
--- a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/models/FailureModel.kt
+++ b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/models/FailureModel.kt
@@ -29,8 +29,8 @@ import kotlinx.coroutines.launch
import org.opendc.compute.failure.hostfault.HostFault
import org.opendc.compute.failure.hostfault.StartStopHostFault
import org.opendc.compute.failure.victimselector.StochasticVictimSelector
-import org.opendc.compute.service.ComputeService
-import org.opendc.compute.simulator.SimHost
+import org.opendc.compute.simulator.host.SimHost
+import org.opendc.compute.simulator.service.ComputeService
import java.time.InstantSource
import java.util.random.RandomGenerator
import kotlin.coroutines.CoroutineContext
diff --git a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/models/SampleBasedFailureModel.kt b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/models/SampleBasedFailureModel.kt
index 3ae66f6f..ae4077e8 100644
--- a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/models/SampleBasedFailureModel.kt
+++ b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/models/SampleBasedFailureModel.kt
@@ -24,7 +24,7 @@ package org.opendc.compute.failure.models
import kotlinx.coroutines.delay
import org.apache.commons.math3.distribution.RealDistribution
-import org.opendc.compute.service.ComputeService
+import org.opendc.compute.simulator.service.ComputeService
import java.time.InstantSource
import java.util.random.RandomGenerator
import kotlin.coroutines.CoroutineContext
diff --git a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/models/TraceBasedFailureModel.kt b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/models/TraceBasedFailureModel.kt
index f1ff09e9..cab96cd8 100644
--- a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/models/TraceBasedFailureModel.kt
+++ b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/models/TraceBasedFailureModel.kt
@@ -23,7 +23,7 @@
package org.opendc.compute.failure.models
import kotlinx.coroutines.delay
-import org.opendc.compute.service.ComputeService
+import org.opendc.compute.simulator.service.ComputeService
import org.opendc.trace.Trace
import org.opendc.trace.conv.FAILURE_DURATION
import org.opendc.trace.conv.FAILURE_INTENSITY
@@ -71,7 +71,7 @@ public class TraceBasedFailureModel(
service: ComputeService,
random: RandomGenerator,
pathToTrace: String,
- private val repeat: Boolean = true,
+ private val repeat: Boolean = false,
) : FailureModel(context, clock, service, random) {
private val failureList = loadTrace(pathToTrace)
diff --git a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/G5k06.kt b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/G5k06.kt
index da58250d..1c1d65d2 100644
--- a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/G5k06.kt
+++ b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/G5k06.kt
@@ -29,7 +29,7 @@ import org.apache.commons.math3.distribution.UniformRealDistribution
import org.apache.commons.math3.distribution.WeibullDistribution
import org.apache.commons.math3.random.Well19937c
import org.opendc.compute.failure.models.SampleBasedFailureModel
-import org.opendc.compute.service.ComputeService
+import org.opendc.compute.simulator.service.ComputeService
import java.time.InstantSource
import java.util.random.RandomGenerator
import kotlin.coroutines.CoroutineContext
diff --git a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Lanl05.kt b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Lanl05.kt
index 3e722630..d3d4d704 100644
--- a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Lanl05.kt
+++ b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Lanl05.kt
@@ -29,7 +29,7 @@ import org.apache.commons.math3.distribution.UniformRealDistribution
import org.apache.commons.math3.distribution.WeibullDistribution
import org.apache.commons.math3.random.Well19937c
import org.opendc.compute.failure.models.SampleBasedFailureModel
-import org.opendc.compute.service.ComputeService
+import org.opendc.compute.simulator.service.ComputeService
import java.time.InstantSource
import java.util.random.RandomGenerator
import kotlin.coroutines.CoroutineContext
diff --git a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Ldns04.kt b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Ldns04.kt
index 4a8b3c0f..fd4bd351 100644
--- a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Ldns04.kt
+++ b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Ldns04.kt
@@ -29,7 +29,7 @@ import org.apache.commons.math3.distribution.UniformRealDistribution
import org.apache.commons.math3.distribution.WeibullDistribution
import org.apache.commons.math3.random.Well19937c
import org.opendc.compute.failure.models.SampleBasedFailureModel
-import org.opendc.compute.service.ComputeService
+import org.opendc.compute.simulator.service.ComputeService
import java.time.InstantSource
import java.util.random.RandomGenerator
import kotlin.coroutines.CoroutineContext
diff --git a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Microsoft99.kt b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Microsoft99.kt
index 725f6622..db27efb8 100644
--- a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Microsoft99.kt
+++ b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Microsoft99.kt
@@ -29,7 +29,7 @@ import org.apache.commons.math3.distribution.UniformRealDistribution
import org.apache.commons.math3.distribution.WeibullDistribution
import org.apache.commons.math3.random.Well19937c
import org.opendc.compute.failure.models.SampleBasedFailureModel
-import org.opendc.compute.service.ComputeService
+import org.opendc.compute.simulator.service.ComputeService
import java.time.InstantSource
import java.util.random.RandomGenerator
import kotlin.coroutines.CoroutineContext
diff --git a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Nd07cpu.kt b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Nd07cpu.kt
index 100a3a8d..eac2df0c 100644
--- a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Nd07cpu.kt
+++ b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Nd07cpu.kt
@@ -29,7 +29,7 @@ import org.apache.commons.math3.distribution.UniformRealDistribution
import org.apache.commons.math3.distribution.WeibullDistribution
import org.apache.commons.math3.random.Well19937c
import org.opendc.compute.failure.models.SampleBasedFailureModel
-import org.opendc.compute.service.ComputeService
+import org.opendc.compute.simulator.service.ComputeService
import java.time.InstantSource
import java.util.random.RandomGenerator
import kotlin.coroutines.CoroutineContext
diff --git a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Overnet03.kt b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Overnet03.kt
index 4f5e3f84..965e861d 100644
--- a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Overnet03.kt
+++ b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Overnet03.kt
@@ -29,7 +29,7 @@ import org.apache.commons.math3.distribution.UniformRealDistribution
import org.apache.commons.math3.distribution.WeibullDistribution
import org.apache.commons.math3.random.Well19937c
import org.opendc.compute.failure.models.SampleBasedFailureModel
-import org.opendc.compute.service.ComputeService
+import org.opendc.compute.simulator.service.ComputeService
import java.time.InstantSource
import java.util.random.RandomGenerator
import kotlin.coroutines.CoroutineContext
diff --git a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Pl05.kt b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Pl05.kt
index 3e1f1b58..5102bd6b 100644
--- a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Pl05.kt
+++ b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Pl05.kt
@@ -29,7 +29,7 @@ import org.apache.commons.math3.distribution.UniformRealDistribution
import org.apache.commons.math3.distribution.WeibullDistribution
import org.apache.commons.math3.random.Well19937c
import org.opendc.compute.failure.models.SampleBasedFailureModel
-import org.opendc.compute.service.ComputeService
+import org.opendc.compute.simulator.service.ComputeService
import java.time.InstantSource
import java.util.random.RandomGenerator
import kotlin.coroutines.CoroutineContext
diff --git a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/PrefabFailureModelFactory.kt b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/PrefabFailureModelFactory.kt
index 477f3ac4..361620b0 100644
--- a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/PrefabFailureModelFactory.kt
+++ b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/PrefabFailureModelFactory.kt
@@ -25,7 +25,7 @@
package org.opendc.compute.failure.prefab
import org.opendc.compute.failure.models.SampleBasedFailureModel
-import org.opendc.compute.service.ComputeService
+import org.opendc.compute.simulator.service.ComputeService
import java.time.InstantSource
import java.util.random.RandomGenerator
import kotlin.coroutines.CoroutineContext
diff --git a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Skype06.kt b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Skype06.kt
index 7495bf66..30f7ec1b 100644
--- a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Skype06.kt
+++ b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Skype06.kt
@@ -29,7 +29,7 @@ import org.apache.commons.math3.distribution.UniformRealDistribution
import org.apache.commons.math3.distribution.WeibullDistribution
import org.apache.commons.math3.random.Well19937c
import org.opendc.compute.failure.models.SampleBasedFailureModel
-import org.opendc.compute.service.ComputeService
+import org.opendc.compute.simulator.service.ComputeService
import java.time.InstantSource
import java.util.random.RandomGenerator
import kotlin.coroutines.CoroutineContext
diff --git a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Websites02.kt b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Websites02.kt
index 77bb0d64..df37c27b 100644
--- a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Websites02.kt
+++ b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/prefab/Websites02.kt
@@ -29,7 +29,7 @@ import org.apache.commons.math3.distribution.UniformRealDistribution
import org.apache.commons.math3.distribution.WeibullDistribution
import org.apache.commons.math3.random.Well19937c
import org.opendc.compute.failure.models.SampleBasedFailureModel
-import org.opendc.compute.service.ComputeService
+import org.opendc.compute.simulator.service.ComputeService
import java.time.InstantSource
import java.util.random.RandomGenerator
import kotlin.coroutines.CoroutineContext
diff --git a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/victimselector/StochasticVictimSelector.kt b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/victimselector/StochasticVictimSelector.kt
index fef60eb3..9b92cf33 100644
--- a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/victimselector/StochasticVictimSelector.kt
+++ b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/victimselector/StochasticVictimSelector.kt
@@ -22,7 +22,7 @@
package org.opendc.compute.failure.victimselector
-import org.opendc.compute.simulator.SimHost
+import org.opendc.compute.simulator.host.SimHost
import java.util.SplittableRandom
import java.util.random.RandomGenerator
import kotlin.math.max
diff --git a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/victimselector/VictimSelector.kt b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/victimselector/VictimSelector.kt
index 955cbced..b276b8b4 100644
--- a/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/victimselector/VictimSelector.kt
+++ b/opendc-compute/opendc-compute-failure/src/main/kotlin/org/opendc/compute/failure/victimselector/VictimSelector.kt
@@ -22,7 +22,7 @@
package org.opendc.compute.failure.victimselector
-import org.opendc.compute.simulator.SimHost
+import org.opendc.compute.simulator.host.SimHost
/**
* Interface responsible for selecting the victim(s) for fault injection.
diff --git a/opendc-compute/opendc-compute-service/build.gradle.kts b/opendc-compute/opendc-compute-service/build.gradle.kts
deleted file mode 100644
index cd25e05c..00000000
--- a/opendc-compute/opendc-compute-service/build.gradle.kts
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-description = "OpenDC Compute Service implementation"
-
-// Build configuration
-plugins {
- `kotlin-library-conventions`
-}
-
-dependencies {
- api(projects.opendcCompute.opendcComputeApi)
- implementation(projects.opendcCommon)
- implementation(libs.kotlin.logging)
- implementation(project(mapOf("path" to ":opendc-simulator:opendc-simulator-compute")))
-
- testImplementation(projects.opendcSimulator.opendcSimulatorCore)
- testImplementation(libs.log4j.slf4j)
- testRuntimeOnly(libs.log4j.core)
- testRuntimeOnly(libs.log4j.slf4j)
-}
diff --git a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/Host.java b/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/Host.java
deleted file mode 100644
index 546f774b..00000000
--- a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/Host.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.compute.service.driver;
-
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-import org.opendc.compute.api.Task;
-import org.opendc.compute.service.driver.telemetry.GuestCpuStats;
-import org.opendc.compute.service.driver.telemetry.GuestSystemStats;
-import org.opendc.compute.service.driver.telemetry.HostCpuStats;
-import org.opendc.compute.service.driver.telemetry.HostSystemStats;
-
-/**
- * Base interface for representing compute resources that host virtualized {@link Task} instances.
- */
-public interface Host {
- /**
- * Return a unique identifier representing the host.
- */
- UUID getUid();
-
- /**
- * Return the name of this host.
- */
- String getName();
-
- /**
- * Return the machine model of the host.
- */
- HostModel getModel();
-
- /**
- * Return the state of the host.
- */
- HostState getState();
-
- /**
- * Return the meta-data associated with the host.
- */
- Map<String, ?> getMeta();
-
- /**
- * Return the {@link Task} instances known to the host.
- */
- Set<Task> getInstances();
-
- /**
- * Determine whether the specified <code>task</code> can still fit on this host.
- */
- boolean canFit(Task task);
-
- /**
- * Register the specified <code>task</code> on the host.
- */
- void spawn(Task task);
-
- /**
- * Determine whether the specified <code>task</code> exists on the host.
- */
- boolean contains(Task task);
-
- /**
- * Start the task if it is currently not running on this host.
- *
- * @throws IllegalArgumentException if the task is not present on the host.
- */
- void start(Task task);
-
- /**
- * Stop the task if it is currently running on this host.
- *
- * @throws IllegalArgumentException if the task is not present on the host.
- */
- void stop(Task task);
-
- /**
- * Delete the specified <code>task</code> on this host and cleanup all resources associated with it.
- */
- void delete(Task task);
-
- /**
- * Add a [HostListener] to this host.
- */
- void addListener(HostListener listener);
-
- /**
- * Remove a [HostListener] from this host.
- */
- void removeListener(HostListener listener);
-
- /**
- * Query the system statistics of the host.
- */
- HostSystemStats getSystemStats();
-
- /**
- * Query the system statistics of a {@link Task} that is located on this host.
- *
- * @param task The {@link Task} to obtain the system statistics of.
- * @throws IllegalArgumentException if the task is not present on the host.
- */
- GuestSystemStats getSystemStats(Task task);
-
- /**
- * Query the CPU statistics of the host.
- */
- HostCpuStats getCpuStats();
-
- /**
- * Query the CPU statistics of a {@link Task} that is located on this host.
- *
- * @param task The {@link Task} to obtain the CPU statistics of.
- * @throws IllegalArgumentException if the task is not present on the host.
- */
- GuestCpuStats getCpuStats(Task task);
-}
diff --git a/opendc-compute/opendc-compute-service/src/test/kotlin/org/opendc/compute/service/ComputeServiceTest.kt b/opendc-compute/opendc-compute-service/src/test/kotlin/org/opendc/compute/service/ComputeServiceTest.kt
deleted file mode 100644
index eb686faf..00000000
--- a/opendc-compute/opendc-compute-service/src/test/kotlin/org/opendc/compute/service/ComputeServiceTest.kt
+++ /dev/null
@@ -1,386 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.compute.service
-
-import io.mockk.coEvery
-import io.mockk.coVerify
-import io.mockk.every
-import io.mockk.mockk
-import io.mockk.slot
-import io.mockk.verify
-import kotlinx.coroutines.delay
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.Assertions.assertNull
-import org.junit.jupiter.api.BeforeEach
-import org.junit.jupiter.api.Test
-import org.junit.jupiter.api.assertThrows
-import org.opendc.compute.api.Flavor
-import org.opendc.compute.api.Image
-import org.opendc.compute.api.Task
-import org.opendc.compute.api.TaskState
-import org.opendc.compute.api.TaskWatcher
-import org.opendc.compute.service.driver.Host
-import org.opendc.compute.service.driver.HostListener
-import org.opendc.compute.service.driver.HostModel
-import org.opendc.compute.service.driver.HostState
-import org.opendc.compute.service.scheduler.FilterScheduler
-import org.opendc.compute.service.scheduler.filters.ComputeFilter
-import org.opendc.compute.service.scheduler.filters.RamFilter
-import org.opendc.compute.service.scheduler.filters.VCpuFilter
-import org.opendc.compute.service.scheduler.weights.RamWeigher
-import org.opendc.simulator.kotlin.SimulationCoroutineScope
-import org.opendc.simulator.kotlin.runSimulation
-import java.time.Duration
-import java.util.UUID
-
-/**
- * Test suite for the [ComputeService] interface.
- */
-internal class ComputeServiceTest {
- private lateinit var scope: SimulationCoroutineScope
- private lateinit var service: ComputeService
-
- @BeforeEach
- fun setUp() {
- scope = SimulationCoroutineScope()
- val computeScheduler =
- FilterScheduler(
- filters = listOf(ComputeFilter(), VCpuFilter(allocationRatio = 1.0), RamFilter(allocationRatio = 1.0)),
- weighers = listOf(RamWeigher()),
- )
- service = ComputeService(scope.dispatcher, computeScheduler, Duration.ofMinutes(5), 10)
- }
-
- @Test
- fun testClientClose() =
- scope.runSimulation {
- val client = service.newClient()
-
- assertEquals(emptyList<Flavor>(), client.queryFlavors())
- assertEquals(emptyList<Image>(), client.queryImages())
- assertEquals(emptyList<Task>(), client.queryTasks())
-
- client.close()
-
- assertThrows<IllegalStateException> { client.queryFlavors() }
- assertThrows<IllegalStateException> { client.queryImages() }
- assertThrows<IllegalStateException> { client.queryTasks() }
-
- assertThrows<IllegalStateException> { client.findFlavor(UUID.randomUUID()) }
- assertThrows<IllegalStateException> { client.findImage(UUID.randomUUID()) }
- assertThrows<IllegalStateException> { client.findTask(UUID.randomUUID()) }
-
- assertThrows<IllegalStateException> { client.newFlavor("test", 1, 2) }
- assertThrows<IllegalStateException> { client.newImage("test") }
- assertThrows<IllegalStateException> { client.newTask("test", mockk(), mockk()) }
- }
-
- @Test
- fun testClientCreate() =
- scope.runSimulation {
- val client = service.newClient()
-
- val flavor = client.newFlavor("test", 1, 1024)
- assertEquals(listOf(flavor), client.queryFlavors())
- assertEquals(flavor, client.findFlavor(flavor.uid))
- val image = client.newImage("test")
- assertEquals(listOf(image), client.queryImages())
- assertEquals(image, client.findImage(image.uid))
- val server = client.newTask("test", image, flavor, start = false)
- assertEquals(listOf(server), client.queryTasks())
- assertEquals(server, client.findTask(server.uid))
-
- server.delete()
- assertNull(client.findTask(server.uid))
-
- image.delete()
- assertNull(client.findImage(image.uid))
-
- flavor.delete()
- assertNull(client.findFlavor(flavor.uid))
-
- assertThrows<IllegalStateException> { server.start() }
- }
-
- @Test
- fun testClientOnClose() =
- scope.runSimulation {
- service.close()
- assertThrows<IllegalStateException> {
- service.newClient()
- }
- }
-
- @Test
- fun testAddHost() =
- scope.runSimulation {
- val host = mockk<Host>(relaxUnitFun = true)
-
- every { host.model } returns HostModel(4 * 2600.0, 4, 2048)
- every { host.state } returns HostState.UP
-
- assertEquals(emptySet<Host>(), service.hosts)
-
- service.addHost(host)
-
- verify(exactly = 1) { host.addListener(any()) }
-
- assertEquals(1, service.hosts.size)
-
- service.removeHost(host)
-
- verify(exactly = 1) { host.removeListener(any()) }
- }
-
- @Test
- fun testAddHostDouble() =
- scope.runSimulation {
- val host = mockk<Host>(relaxUnitFun = true)
-
- every { host.model } returns HostModel(4 * 2600.0, 4, 2048)
- every { host.state } returns HostState.DOWN
-
- assertEquals(emptySet<Host>(), service.hosts)
-
- service.addHost(host)
- service.addHost(host)
-
- verify(exactly = 1) { host.addListener(any()) }
- }
-
- @Test
- fun testServerStartWithoutEnoughCpus() =
- scope.runSimulation {
- val client = service.newClient()
- val flavor = client.newFlavor("test", 1, 0)
- val image = client.newImage("test")
- val server = client.newTask("test", image, flavor, start = false)
-
- server.start()
- delay(5L * 60 * 1000)
- server.reload()
- assertEquals(TaskState.TERMINATED, server.state)
- }
-
- @Test
- fun testServerStartWithoutEnoughMemory() =
- scope.runSimulation {
- val client = service.newClient()
- val flavor = client.newFlavor("test", 0, 1024)
- val image = client.newImage("test")
- val server = client.newTask("test", image, flavor, start = false)
-
- server.start()
- delay(5L * 60 * 1000)
- server.reload()
- assertEquals(TaskState.TERMINATED, server.state)
- }
-
- @Test
- fun testServerStartWithoutEnoughResources() =
- scope.runSimulation {
- val client = service.newClient()
- val flavor = client.newFlavor("test", 1, 1024)
- val image = client.newImage("test")
- val server = client.newTask("test", image, flavor, start = false)
-
- server.start()
- delay(5L * 60 * 1000)
- server.reload()
- assertEquals(TaskState.TERMINATED, server.state)
- }
-
- @Test
- fun testServerCancelRequest() =
- scope.runSimulation {
- val client = service.newClient()
- val flavor = client.newFlavor("test", 1, 1024)
- val image = client.newImage("test")
- val server = client.newTask("test", image, flavor, start = false)
-
- server.start()
- server.stop()
- delay(5L * 60 * 1000)
- server.reload()
- assertEquals(TaskState.TERMINATED, server.state)
- }
-
- @Test
- fun testServerCannotFitOnHost() =
- scope.runSimulation {
- val host = mockk<Host>(relaxUnitFun = true)
-
- every { host.model } returns HostModel(4 * 2600.0, 4, 2048)
- every { host.state } returns HostState.UP
- every { host.canFit(any()) } returns false
-
- service.addHost(host)
-
- val client = service.newClient()
- val flavor = client.newFlavor("test", 1, 1024)
- val image = client.newImage("test")
- val server = client.newTask("test", image, flavor, start = false)
-
- server.start()
- delay(10L * 60 * 1000)
- server.reload()
- assertEquals(TaskState.PROVISIONING, server.state)
-
- verify { host.canFit(server) }
- }
-
- @Test
- fun testHostAvailableAfterSomeTime() =
- scope.runSimulation {
- val host = mockk<Host>(relaxUnitFun = true)
- val listeners = mutableListOf<HostListener>()
-
- every { host.uid } returns UUID.randomUUID()
- every { host.model } returns HostModel(4 * 2600.0, 4, 2048)
- every { host.state } returns HostState.DOWN
- every { host.addListener(any()) } answers { listeners.add(it.invocation.args[0] as HostListener) }
- every { host.canFit(any()) } returns false
-
- service.addHost(host)
-
- val client = service.newClient()
- val flavor = client.newFlavor("test", 1, 1024)
- val image = client.newImage("test")
- val server = client.newTask("test", image, flavor, start = false)
-
- server.start()
- delay(5L * 60 * 1000)
-
- every { host.state } returns HostState.UP
- listeners.forEach { it.onStateChanged(host, HostState.UP) }
-
- delay(5L * 60 * 1000)
- server.reload()
- assertEquals(TaskState.PROVISIONING, server.state)
-
- verify { host.canFit(server) }
- }
-
- @Test
- fun testHostUnavailableAfterSomeTime() =
- scope.runSimulation {
- val host = mockk<Host>(relaxUnitFun = true)
- val listeners = mutableListOf<HostListener>()
-
- every { host.uid } returns UUID.randomUUID()
- every { host.model } returns HostModel(4 * 2600.0, 4, 2048)
- every { host.state } returns HostState.UP
- every { host.addListener(any()) } answers { listeners.add(it.invocation.args[0] as HostListener) }
- every { host.canFit(any()) } returns false
-
- service.addHost(host)
-
- val client = service.newClient()
- val flavor = client.newFlavor("test", 1, 1024)
- val image = client.newImage("test")
- val server = client.newTask("test", image, flavor, start = false)
-
- delay(5L * 60 * 1000)
-
- every { host.state } returns HostState.DOWN
- listeners.forEach { it.onStateChanged(host, HostState.DOWN) }
-
- server.start()
- delay(5L * 60 * 1000)
- server.reload()
- assertEquals(TaskState.PROVISIONING, server.state)
-
- verify(exactly = 0) { host.canFit(server) }
- }
-
- @Test
- fun testServerDeploy() =
- scope.runSimulation {
- val host = mockk<Host>(relaxUnitFun = true)
- val listeners = mutableListOf<HostListener>()
-
- every { host.uid } returns UUID.randomUUID()
- every { host.model } returns HostModel(4 * 2600.0, 4, 2048)
- every { host.state } returns HostState.UP
- every { host.canFit(any()) } returns true
- every { host.addListener(any()) } answers { listeners.add(it.invocation.args[0] as HostListener) }
-
- service.addHost(host)
-
- val client = service.newClient()
- val flavor = client.newFlavor("test", 1, 1024)
- val image = client.newImage("test")
- val server = client.newTask("test", image, flavor, start = false)
- val slot = slot<Task>()
-
- val watcher = mockk<TaskWatcher>(relaxUnitFun = true)
- server.watch(watcher)
-
- // Start server
- server.start()
- delay(5L * 60 * 1000)
- coVerify { host.spawn(capture(slot)) }
-
- listeners.forEach { it.onStateChanged(host, slot.captured, TaskState.RUNNING) }
-
- server.reload()
- assertEquals(TaskState.RUNNING, server.state)
-
- verify { watcher.onStateChanged(server, TaskState.RUNNING) }
-
- // Stop server
- listeners.forEach { it.onStateChanged(host, slot.captured, TaskState.TERMINATED) }
-
- server.reload()
- assertEquals(TaskState.TERMINATED, server.state)
-
- verify { watcher.onStateChanged(server, TaskState.TERMINATED) }
- }
-
- @Test
- fun testServerDeployFailure() =
- scope.runSimulation {
- val host = mockk<Host>(relaxUnitFun = true)
- val listeners = mutableListOf<HostListener>()
-
- every { host.uid } returns UUID.randomUUID()
- every { host.model } returns HostModel(4 * 2600.0, 4, 2048)
- every { host.state } returns HostState.UP
- every { host.canFit(any()) } returns true
- every { host.addListener(any()) } answers { listeners.add(it.invocation.args[0] as HostListener) }
- coEvery { host.spawn(any()) } throws IllegalStateException()
-
- service.addHost(host)
-
- val client = service.newClient()
- val flavor = client.newFlavor("test", 1, 1024)
- val image = client.newImage("test")
- val server = client.newTask("test", image, flavor, start = false)
-
- server.start()
- delay(5L * 60 * 1000)
-
- server.reload()
- assertEquals(TaskState.PROVISIONING, server.state)
- }
-}
diff --git a/opendc-compute/opendc-compute-service/src/test/kotlin/org/opendc/compute/service/ServiceFlavorTest.kt b/opendc-compute/opendc-compute-service/src/test/kotlin/org/opendc/compute/service/ServiceFlavorTest.kt
deleted file mode 100644
index 7938f789..00000000
--- a/opendc-compute/opendc-compute-service/src/test/kotlin/org/opendc/compute/service/ServiceFlavorTest.kt
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.compute.service
-
-import io.mockk.every
-import io.mockk.mockk
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.Assertions.assertNotEquals
-import org.junit.jupiter.api.Test
-import org.opendc.compute.api.Flavor
-import java.util.UUID
-
-/**
- * Test suite for the [ServiceFlavor] implementation.
- */
-class ServiceFlavorTest {
- @Test
- fun testEquality() {
- val service = mockk<ComputeService>()
- val uid = UUID.randomUUID()
- val a = ServiceFlavor(service, uid, "test", 1, 1024, mutableMapOf(), mutableMapOf<String, Any>())
- val b = ServiceFlavor(service, uid, "test", 1, 1024, mutableMapOf(), mutableMapOf<String, Any>())
-
- assertEquals(a, b)
- }
-
- @Test
- fun testInequalityWithDifferentType() {
- val service = mockk<ComputeService>()
- val uid = UUID.randomUUID()
- val a = ServiceFlavor(service, uid, "test", 1, 1024, mutableMapOf(), mutableMapOf<String, Any>())
-
- val b = mockk<Flavor>(relaxUnitFun = true)
- every { b.uid } returns UUID.randomUUID()
-
- assertNotEquals(a, b)
- }
-
- @Test
- fun testInequalityWithIncorrectType() {
- val service = mockk<ComputeService>()
- val uid = UUID.randomUUID()
- val a = ServiceFlavor(service, uid, "test", 1, 1024, mutableMapOf(), mutableMapOf<String, Any>())
-
- assertNotEquals(a, Unit)
- }
-}
diff --git a/opendc-compute/opendc-compute-service/src/test/kotlin/org/opendc/compute/service/ServiceImageTest.kt b/opendc-compute/opendc-compute-service/src/test/kotlin/org/opendc/compute/service/ServiceImageTest.kt
deleted file mode 100644
index c36d75f4..00000000
--- a/opendc-compute/opendc-compute-service/src/test/kotlin/org/opendc/compute/service/ServiceImageTest.kt
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.compute.service
-
-import io.mockk.every
-import io.mockk.mockk
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.Assertions.assertNotEquals
-import org.junit.jupiter.api.Test
-import org.opendc.compute.api.Image
-import java.util.UUID
-
-/**
- * Test suite for the [ServiceFlavor] implementation.
- */
-class ServiceImageTest {
- @Test
- fun testEquality() {
- val service = mockk<ComputeService>()
- val uid = UUID.randomUUID()
- val a = ServiceImage(service, uid, "test", mutableMapOf(), mutableMapOf<String, Any>())
- val b = ServiceImage(service, uid, "test", mutableMapOf(), mutableMapOf<String, Any>())
-
- assertEquals(a, b)
- }
-
- @Test
- fun testInequalityWithDifferentType() {
- val service = mockk<ComputeService>()
- val uid = UUID.randomUUID()
- val a = ServiceImage(service, uid, "test", mutableMapOf(), mutableMapOf<String, Any>())
-
- val b = mockk<Image>(relaxUnitFun = true)
- every { b.uid } returns UUID.randomUUID()
-
- assertNotEquals(a, b)
- }
-
- @Test
- fun testInequalityWithIncorrectType() {
- val service = mockk<ComputeService>()
- val uid = UUID.randomUUID()
- val a = ServiceImage(service, uid, "test", mutableMapOf(), mutableMapOf<String, Any>())
-
- assertNotEquals(a, Unit)
- }
-}
diff --git a/opendc-compute/opendc-compute-service/src/test/kotlin/org/opendc/compute/service/ServiceTaskTest.kt b/opendc-compute/opendc-compute-service/src/test/kotlin/org/opendc/compute/service/ServiceTaskTest.kt
deleted file mode 100644
index e77665fe..00000000
--- a/opendc-compute/opendc-compute-service/src/test/kotlin/org/opendc/compute/service/ServiceTaskTest.kt
+++ /dev/null
@@ -1,442 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.compute.service
-
-import io.mockk.every
-import io.mockk.mockk
-import io.mockk.verify
-import kotlinx.coroutines.yield
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.Assertions.assertNotEquals
-import org.junit.jupiter.api.Assertions.assertTrue
-import org.junit.jupiter.api.Test
-import org.junit.jupiter.api.assertThrows
-import org.opendc.compute.api.Task
-import org.opendc.compute.api.TaskState
-import org.opendc.compute.service.driver.Host
-import org.opendc.simulator.kotlin.runSimulation
-import java.util.UUID
-
-/**
- * Test suite for the [ServiceTask] implementation.
- */
-class ServiceTaskTest {
- @Test
- fun testEquality() {
- val service = mockk<ComputeService>()
- val uid = UUID.randomUUID()
- val flavor = mockFlavor()
- val image = mockImage()
-
- val a =
- ServiceTask(
- service,
- uid,
- "test",
- flavor,
- image,
- mutableMapOf(),
- mutableMapOf<String, Any>(),
- )
- val b =
- ServiceTask(
- service,
- uid,
- "test",
- flavor,
- image,
- mutableMapOf(),
- mutableMapOf<String, Any>(),
- )
-
- assertEquals(a, b)
- }
-
- @Test
- fun testInequalityWithDifferentType() {
- val service = mockk<ComputeService>()
- val uid = UUID.randomUUID()
- val flavor = mockFlavor()
- val image = mockImage()
- val a =
- ServiceTask(
- service,
- uid,
- "test",
- flavor,
- image,
- mutableMapOf(),
- mutableMapOf<String, Any>(),
- )
-
- val b = mockk<Task>(relaxUnitFun = true)
- every { b.uid } returns UUID.randomUUID()
-
- assertNotEquals(a, b)
- }
-
- @Test
- fun testInequalityWithIncorrectType() {
- val service = mockk<ComputeService>()
- val uid = UUID.randomUUID()
- val flavor = mockFlavor()
- val image = mockImage()
- val a =
- ServiceTask(
- service,
- uid,
- "test",
- flavor,
- image,
- mutableMapOf(),
- mutableMapOf<String, Any>(),
- )
-
- assertNotEquals(a, Unit)
- }
-
- @Test
- fun testStartTerminatedServer() =
- runSimulation {
- val service = mockk<ComputeService>()
- val uid = UUID.randomUUID()
- val flavor = mockFlavor()
- val image = mockImage()
- val server =
- ServiceTask(
- service,
- uid,
- "test",
- flavor,
- image,
- mutableMapOf(),
- mutableMapOf<String, Any>(),
- )
-
- every { service.schedule(any()) } answers { ComputeService.SchedulingRequest(it.invocation.args[0] as ServiceTask, 0) }
-
- server.start()
-
- verify(exactly = 1) { service.schedule(server) }
- assertEquals(TaskState.PROVISIONING, server.state)
- }
-
- @Test
- fun testStartDeletedServer() =
- runSimulation {
- val service = mockk<ComputeService>()
- val uid = UUID.randomUUID()
- val flavor = mockFlavor()
- val image = mockImage()
- val server =
- ServiceTask(
- service,
- uid,
- "test",
- flavor,
- image,
- mutableMapOf(),
- mutableMapOf<String, Any>(),
- )
-
- server.setState(TaskState.DELETED)
-
- assertThrows<IllegalStateException> { server.start() }
- }
-
- @Test
- fun testStartProvisioningServer() =
- runSimulation {
- val service = mockk<ComputeService>()
- val uid = UUID.randomUUID()
- val flavor = mockFlavor()
- val image = mockImage()
- val server =
- ServiceTask(
- service,
- uid,
- "test",
- flavor,
- image,
- mutableMapOf(),
- mutableMapOf<String, Any>(),
- )
-
- server.setState(TaskState.PROVISIONING)
-
- server.start()
-
- assertEquals(TaskState.PROVISIONING, server.state)
- }
-
- @Test
- fun testStartRunningServer() =
- runSimulation {
- val service = mockk<ComputeService>()
- val uid = UUID.randomUUID()
- val flavor = mockFlavor()
- val image = mockImage()
- val server =
- ServiceTask(
- service,
- uid,
- "test",
- flavor,
- image,
- mutableMapOf(),
- mutableMapOf<String, Any>(),
- )
-
- server.setState(TaskState.RUNNING)
-
- server.start()
-
- assertEquals(TaskState.RUNNING, server.state)
- }
-
- @Test
- fun testStopProvisioningServer() =
- runSimulation {
- val service = mockk<ComputeService>()
- val uid = UUID.randomUUID()
- val flavor = mockFlavor()
- val image = mockImage()
- val server =
- ServiceTask(
- service,
- uid,
- "test",
- flavor,
- image,
- mutableMapOf(),
- mutableMapOf<String, Any>(),
- )
- val request = ComputeService.SchedulingRequest(server, 0)
-
- every { service.schedule(any()) } returns request
-
- server.start()
- server.stop()
-
- assertTrue(request.isCancelled)
- assertEquals(TaskState.TERMINATED, server.state)
- }
-
- @Test
- fun testStopTerminatedServer() =
- runSimulation {
- val service = mockk<ComputeService>()
- val uid = UUID.randomUUID()
- val flavor = mockFlavor()
- val image = mockImage()
- val server =
- ServiceTask(
- service,
- uid,
- "test",
- flavor,
- image,
- mutableMapOf(),
- mutableMapOf<String, Any>(),
- )
-
- server.setState(TaskState.TERMINATED)
- server.stop()
-
- assertEquals(TaskState.TERMINATED, server.state)
- }
-
- @Test
- fun testStopDeletedServer() =
- runSimulation {
- val service = mockk<ComputeService>()
- val uid = UUID.randomUUID()
- val flavor = mockFlavor()
- val image = mockImage()
- val server =
- ServiceTask(
- service,
- uid,
- "test",
- flavor,
- image,
- mutableMapOf(),
- mutableMapOf<String, Any>(),
- )
-
- server.setState(TaskState.DELETED)
- server.stop()
-
- assertEquals(TaskState.DELETED, server.state)
- }
-
- @Test
- fun testStopRunningServer() =
- runSimulation {
- val service = mockk<ComputeService>()
- val uid = UUID.randomUUID()
- val flavor = mockFlavor()
- val image = mockImage()
- val server =
- ServiceTask(
- service,
- uid,
- "test",
- flavor,
- image,
- mutableMapOf(),
- mutableMapOf<String, Any>(),
- )
- val host = mockk<Host>(relaxUnitFun = true)
-
- server.setState(TaskState.RUNNING)
- server.host = host
- server.stop()
- yield()
-
- verify { host.stop(server) }
- }
-
- @Test
- fun testDeleteProvisioningServer() =
- runSimulation {
- val service = mockk<ComputeService>(relaxUnitFun = true)
- val uid = UUID.randomUUID()
- val flavor = mockFlavor()
- val image = mockImage()
- val server =
- ServiceTask(
- service,
- uid,
- "test",
- flavor,
- image,
- mutableMapOf(),
- mutableMapOf<String, Any>(),
- )
- val request = ComputeService.SchedulingRequest(server, 0)
-
- every { service.schedule(any()) } returns request
-
- server.start()
- server.delete()
-
- assertTrue(request.isCancelled)
- assertEquals(TaskState.DELETED, server.state)
- verify { service.delete(server) }
- }
-
- @Test
- fun testDeleteTerminatedServer() =
- runSimulation {
- val service = mockk<ComputeService>(relaxUnitFun = true)
- val uid = UUID.randomUUID()
- val flavor = mockFlavor()
- val image = mockImage()
- val server =
- ServiceTask(
- service,
- uid,
- "test",
- flavor,
- image,
- mutableMapOf(),
- mutableMapOf<String, Any>(),
- )
-
- server.setState(TaskState.TERMINATED)
- server.delete()
-
- assertEquals(TaskState.DELETED, server.state)
-
- verify { service.delete(server) }
- }
-
- @Test
- fun testDeleteDeletedServer() =
- runSimulation {
- val service = mockk<ComputeService>(relaxUnitFun = true)
- val uid = UUID.randomUUID()
- val flavor = mockFlavor()
- val image = mockImage()
- val server =
- ServiceTask(
- service,
- uid,
- "test",
- flavor,
- image,
- mutableMapOf(),
- mutableMapOf<String, Any>(),
- )
-
- server.setState(TaskState.DELETED)
- server.delete()
-
- assertEquals(TaskState.DELETED, server.state)
- }
-
- @Test
- fun testDeleteRunningServer() =
- runSimulation {
- val service = mockk<ComputeService>(relaxUnitFun = true)
- val uid = UUID.randomUUID()
- val flavor = mockFlavor()
- val image = mockImage()
- val server =
- ServiceTask(
- service,
- uid,
- "test",
- flavor,
- image,
- mutableMapOf(),
- mutableMapOf<String, Any>(),
- )
- val host = mockk<Host>(relaxUnitFun = true)
-
- server.setState(TaskState.RUNNING)
- server.host = host
- server.delete()
- yield()
-
- verify { host.delete(server) }
- verify { service.delete(server) }
- }
-
- private fun mockFlavor(): ServiceFlavor {
- val flavor = mockk<ServiceFlavor>()
- every { flavor.name } returns "c5.large"
- every { flavor.uid } returns UUID.randomUUID()
- every { flavor.coreCount } returns 2
- every { flavor.memorySize } returns 4096
- return flavor
- }
-
- private fun mockImage(): ServiceImage {
- val image = mockk<ServiceImage>()
- every { image.name } returns "ubuntu-20.04"
- every { image.uid } returns UUID.randomUUID()
- return image
- }
-}
diff --git a/opendc-compute/opendc-compute-service/src/test/kotlin/org/opendc/compute/service/scheduler/FilterSchedulerTest.kt b/opendc-compute/opendc-compute-service/src/test/kotlin/org/opendc/compute/service/scheduler/FilterSchedulerTest.kt
deleted file mode 100644
index add10f8f..00000000
--- a/opendc-compute/opendc-compute-service/src/test/kotlin/org/opendc/compute/service/scheduler/FilterSchedulerTest.kt
+++ /dev/null
@@ -1,536 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.compute.service.scheduler
-
-import io.mockk.every
-import io.mockk.mockk
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.Assertions.assertNull
-import org.junit.jupiter.api.Test
-import org.junit.jupiter.api.assertAll
-import org.junit.jupiter.api.assertThrows
-import org.opendc.compute.api.Task
-import org.opendc.compute.service.HostView
-import org.opendc.compute.service.driver.HostModel
-import org.opendc.compute.service.driver.HostState
-import org.opendc.compute.service.scheduler.filters.ComputeFilter
-import org.opendc.compute.service.scheduler.filters.DifferentHostFilter
-import org.opendc.compute.service.scheduler.filters.InstanceCountFilter
-import org.opendc.compute.service.scheduler.filters.RamFilter
-import org.opendc.compute.service.scheduler.filters.SameHostFilter
-import org.opendc.compute.service.scheduler.filters.VCpuCapacityFilter
-import org.opendc.compute.service.scheduler.filters.VCpuFilter
-import org.opendc.compute.service.scheduler.weights.CoreRamWeigher
-import org.opendc.compute.service.scheduler.weights.InstanceCountWeigher
-import org.opendc.compute.service.scheduler.weights.RamWeigher
-import org.opendc.compute.service.scheduler.weights.VCpuWeigher
-import java.util.Random
-import java.util.UUID
-
-/**
- * Test suite for the [FilterScheduler].
- */
-internal class FilterSchedulerTest {
- @Test
- fun testInvalidSubsetSize() {
- assertThrows<IllegalArgumentException> {
- FilterScheduler(
- filters = emptyList(),
- weighers = emptyList(),
- subsetSize = 0,
- )
- }
-
- assertThrows<IllegalArgumentException> {
- FilterScheduler(
- filters = emptyList(),
- weighers = emptyList(),
- subsetSize = -2,
- )
- }
- }
-
- @Test
- fun testNoHosts() {
- val scheduler =
- FilterScheduler(
- filters = emptyList(),
- weighers = emptyList(),
- )
-
- val task = mockk<Task>()
- every { task.flavor.coreCount } returns 2
- every { task.flavor.memorySize } returns 1024
-
- assertNull(scheduler.select(task))
- }
-
- @Test
- fun testNoFiltersAndSchedulers() {
- val scheduler =
- FilterScheduler(
- filters = emptyList(),
- weighers = emptyList(),
- )
-
- val hostA = mockk<HostView>()
- every { hostA.host.state } returns HostState.DOWN
-
- val hostB = mockk<HostView>()
- every { hostB.host.state } returns HostState.UP
-
- scheduler.addHost(hostA)
- scheduler.addHost(hostB)
-
- val task = mockk<Task>()
- every { task.flavor.coreCount } returns 2
- every { task.flavor.memorySize } returns 1024
-
- // Make sure we get the first host both times
- assertAll(
- { assertEquals(hostA, scheduler.select(task)) },
- { assertEquals(hostA, scheduler.select(task)) },
- )
- }
-
- @Test
- fun testNoFiltersAndSchedulersRandom() {
- val scheduler =
- FilterScheduler(
- filters = emptyList(),
- weighers = emptyList(),
- subsetSize = Int.MAX_VALUE,
- random = Random(1),
- )
-
- val hostA = mockk<HostView>()
- every { hostA.host.state } returns HostState.DOWN
-
- val hostB = mockk<HostView>()
- every { hostB.host.state } returns HostState.UP
-
- scheduler.addHost(hostA)
- scheduler.addHost(hostB)
-
- val task = mockk<Task>()
- every { task.flavor.coreCount } returns 2
- every { task.flavor.memorySize } returns 1024
-
- // Make sure we get the first host both times
- assertAll(
- { assertEquals(hostB, scheduler.select(task)) },
- { assertEquals(hostA, scheduler.select(task)) },
- )
- }
-
- @Test
- fun testHostIsDown() {
- val scheduler =
- FilterScheduler(
- filters = listOf(ComputeFilter()),
- weighers = emptyList(),
- )
-
- val host = mockk<HostView>()
- every { host.host.state } returns HostState.DOWN
-
- scheduler.addHost(host)
-
- val task = mockk<Task>()
- every { task.flavor.coreCount } returns 2
- every { task.flavor.memorySize } returns 1024
-
- assertNull(scheduler.select(task))
- }
-
- @Test
- fun testHostIsUp() {
- val scheduler =
- FilterScheduler(
- filters = listOf(ComputeFilter()),
- weighers = emptyList(),
- )
-
- val host = mockk<HostView>()
- every { host.host.state } returns HostState.UP
-
- scheduler.addHost(host)
-
- val task = mockk<Task>()
- every { task.flavor.coreCount } returns 2
- every { task.flavor.memorySize } returns 1024
-
- assertEquals(host, scheduler.select(task))
- }
-
- @Test
- fun testRamFilter() {
- val scheduler =
- FilterScheduler(
- filters = listOf(RamFilter(1.0)),
- weighers = emptyList(),
- )
-
- val hostA = mockk<HostView>()
- every { hostA.host.state } returns HostState.UP
- every { hostA.host.model } returns HostModel(4 * 2600.0, 4, 2048)
- every { hostA.availableMemory } returns 512
-
- val hostB = mockk<HostView>()
- every { hostB.host.state } returns HostState.UP
- every { hostB.host.model } returns HostModel(4 * 2600.0, 4, 2048)
- every { hostB.availableMemory } returns 2048
-
- scheduler.addHost(hostA)
- scheduler.addHost(hostB)
-
- val task = mockk<Task>()
- every { task.flavor.coreCount } returns 2
- every { task.flavor.memorySize } returns 1024
-
- assertEquals(hostB, scheduler.select(task))
- }
-
- @Test
- fun testRamFilterOvercommit() {
- val scheduler =
- FilterScheduler(
- filters = listOf(RamFilter(1.5)),
- weighers = emptyList(),
- )
-
- val host = mockk<HostView>()
- every { host.host.state } returns HostState.UP
- every { host.host.model } returns HostModel(4 * 2600.0, 4, 2048)
- every { host.availableMemory } returns 2048
-
- scheduler.addHost(host)
-
- val task = mockk<Task>()
- every { task.flavor.coreCount } returns 2
- every { task.flavor.memorySize } returns 2300
-
- assertNull(scheduler.select(task))
- }
-
- @Test
- fun testVCpuFilter() {
- val scheduler =
- FilterScheduler(
- filters = listOf(VCpuFilter(1.0)),
- weighers = emptyList(),
- )
-
- val hostA = mockk<HostView>()
- every { hostA.host.state } returns HostState.UP
- every { hostA.host.model } returns HostModel(4 * 2600.0, 4, 2048)
- every { hostA.provisionedCores } returns 3
-
- val hostB = mockk<HostView>()
- every { hostB.host.state } returns HostState.UP
- every { hostB.host.model } returns HostModel(4 * 2600.0, 4, 2048)
- every { hostB.provisionedCores } returns 0
-
- scheduler.addHost(hostA)
- scheduler.addHost(hostB)
-
- val task = mockk<Task>()
- every { task.flavor.coreCount } returns 2
- every { task.flavor.memorySize } returns 1024
-
- assertEquals(hostB, scheduler.select(task))
- }
-
- @Test
- fun testVCpuFilterOvercommit() {
- val scheduler =
- FilterScheduler(
- filters = listOf(VCpuFilter(16.0)),
- weighers = emptyList(),
- )
-
- val host = mockk<HostView>()
- every { host.host.state } returns HostState.UP
- every { host.host.model } returns HostModel(4 * 2600.0, 4, 2048)
- every { host.provisionedCores } returns 0
-
- scheduler.addHost(host)
-
- val task = mockk<Task>()
- every { task.flavor.coreCount } returns 8
- every { task.flavor.memorySize } returns 1024
-
- assertNull(scheduler.select(task))
- }
-
-// TODO: fix when schedulers are reworked
-// @Test
- fun testVCpuCapacityFilter() {
- val scheduler =
- FilterScheduler(
- filters = listOf(VCpuCapacityFilter()),
- weighers = emptyList(),
- )
-
- val hostA = mockk<HostView>()
- every { hostA.host.state } returns HostState.UP
- every { hostA.host.model } returns HostModel(8 * 2600.0, 8, 2048)
- every { hostA.availableMemory } returns 512
- scheduler.addHost(hostA)
-
- val hostB = mockk<HostView>()
- every { hostB.host.state } returns HostState.UP
- every { hostB.host.model } returns HostModel(4 * 3200.0, 4, 2048)
- every { hostB.availableMemory } returns 512
-
- scheduler.addHost(hostB)
-
- val task = mockk<Task>()
- every { task.flavor.coreCount } returns 2
- every { task.flavor.memorySize } returns 1024
- every { task.flavor.meta } returns mapOf("cpu-capacity" to 2 * 3200.0)
-
- assertEquals(hostB, scheduler.select(task))
- }
-
- @Test
- fun testInstanceCountFilter() {
- val scheduler =
- FilterScheduler(
- filters = listOf(InstanceCountFilter(limit = 2)),
- weighers = emptyList(),
- )
-
- val hostA = mockk<HostView>()
- every { hostA.host.state } returns HostState.UP
- every { hostA.host.model } returns HostModel(4 * 2600.0, 4, 2048)
- every { hostA.instanceCount } returns 2
-
- val hostB = mockk<HostView>()
- every { hostB.host.state } returns HostState.UP
- every { hostB.host.model } returns HostModel(4 * 2600.0, 4, 2048)
- every { hostB.instanceCount } returns 0
-
- scheduler.addHost(hostA)
- scheduler.addHost(hostB)
-
- val task = mockk<Task>()
- every { task.flavor.coreCount } returns 2
- every { task.flavor.memorySize } returns 1024
-
- assertEquals(hostB, scheduler.select(task))
- }
-
- @Test
- fun testAffinityFilter() {
- val scheduler =
- FilterScheduler(
- filters = listOf(SameHostFilter()),
- weighers = emptyList(),
- )
-
- val taskA = mockk<Task>()
- every { taskA.uid } returns UUID.randomUUID()
- every { taskA.flavor.coreCount } returns 2
- every { taskA.flavor.memorySize } returns 1024
-
- val hostA = mockk<HostView>()
- every { hostA.host.state } returns HostState.UP
- every { hostA.host.model } returns HostModel(4 * 2600.0, 4, 2048)
- every { hostA.host.instances } returns emptySet()
- every { hostA.provisionedCores } returns 3
-
- val hostB = mockk<HostView>()
- every { hostB.host.state } returns HostState.UP
- every { hostB.host.model } returns HostModel(4 * 2600.0, 4, 2048)
- every { hostB.host.instances } returns setOf(taskA)
- every { hostB.provisionedCores } returns 0
-
- scheduler.addHost(hostA)
- scheduler.addHost(hostB)
-
- val taskB = mockk<Task>()
- every { taskB.flavor.coreCount } returns 2
- every { taskB.flavor.memorySize } returns 1024
- every { taskB.meta } returns emptyMap()
-
- assertEquals(hostA, scheduler.select(taskB))
-
- every { taskB.meta } returns mapOf("scheduler_hint:same_host" to setOf(taskA.uid))
-
- assertEquals(hostB, scheduler.select(taskB))
- }
-
- @Test
- fun testAntiAffinityFilter() {
- val scheduler =
- FilterScheduler(
- filters = listOf(DifferentHostFilter()),
- weighers = emptyList(),
- )
-
- val taskA = mockk<Task>()
- every { taskA.uid } returns UUID.randomUUID()
- every { taskA.flavor.coreCount } returns 2
- every { taskA.flavor.memorySize } returns 1024
-
- val hostA = mockk<HostView>()
- every { hostA.host.state } returns HostState.UP
- every { hostA.host.model } returns HostModel(4 * 2600.0, 4, 2048)
- every { hostA.host.instances } returns setOf(taskA)
- every { hostA.provisionedCores } returns 3
-
- val hostB = mockk<HostView>()
- every { hostB.host.state } returns HostState.UP
- every { hostB.host.model } returns HostModel(4 * 2600.0, 4, 2048)
- every { hostB.host.instances } returns emptySet()
- every { hostB.provisionedCores } returns 0
-
- scheduler.addHost(hostA)
- scheduler.addHost(hostB)
-
- val taskB = mockk<Task>()
- every { taskB.flavor.coreCount } returns 2
- every { taskB.flavor.memorySize } returns 1024
- every { taskB.meta } returns emptyMap()
-
- assertEquals(hostA, scheduler.select(taskB))
-
- every { taskB.meta } returns mapOf("scheduler_hint:different_host" to setOf(taskA.uid))
-
- assertEquals(hostB, scheduler.select(taskB))
- }
-
- @Test
- fun testRamWeigher() {
- val scheduler =
- FilterScheduler(
- filters = emptyList(),
- weighers = listOf(RamWeigher(1.5)),
- )
-
- val hostA = mockk<HostView>()
- every { hostA.host.state } returns HostState.UP
- every { hostA.host.model } returns HostModel(4 * 2600.0, 4, 2048)
- every { hostA.availableMemory } returns 1024
-
- val hostB = mockk<HostView>()
- every { hostB.host.state } returns HostState.UP
- every { hostB.host.model } returns HostModel(4 * 2600.0, 4, 2048)
- every { hostB.availableMemory } returns 512
-
- scheduler.addHost(hostA)
- scheduler.addHost(hostB)
-
- val task = mockk<Task>()
- every { task.flavor.coreCount } returns 2
- every { task.flavor.memorySize } returns 1024
-
- assertEquals(hostA, scheduler.select(task))
- }
-
- // TODO: fix test when updating schedulers
-// @Test
- fun testCoreRamWeigher() {
- val scheduler =
- FilterScheduler(
- filters = emptyList(),
- weighers = listOf(CoreRamWeigher(1.5)),
- )
-
- val hostA = mockk<HostView>()
- every { hostA.host.state } returns HostState.UP
- every { hostA.host.model } returns HostModel(12 * 2600.0, 12, 2048)
- every { hostA.availableMemory } returns 1024
-
- val hostB = mockk<HostView>()
- every { hostB.host.state } returns HostState.UP
- every { hostB.host.model } returns HostModel(4 * 2600.0, 4, 2048)
- every { hostB.availableMemory } returns 512
-
- scheduler.addHost(hostA)
- scheduler.addHost(hostB)
-
- val task = mockk<Task>()
- every { task.flavor.coreCount } returns 2
- every { task.flavor.memorySize } returns 1024
-
- assertEquals(hostB, scheduler.select(task))
- }
-
- @Test
- fun testVCpuWeigher() {
- val scheduler =
- FilterScheduler(
- filters = emptyList(),
- weighers = listOf(VCpuWeigher(16.0)),
- )
-
- val hostA = mockk<HostView>()
- every { hostA.host.state } returns HostState.UP
- every { hostA.host.model } returns HostModel(4 * 2600.0, 4, 2048)
- every { hostA.provisionedCores } returns 2
-
- val hostB = mockk<HostView>()
- every { hostB.host.state } returns HostState.UP
- every { hostB.host.model } returns HostModel(4 * 2600.0, 4, 2048)
- every { hostB.provisionedCores } returns 0
-
- scheduler.addHost(hostA)
- scheduler.addHost(hostB)
-
- val task = mockk<Task>()
- every { task.flavor.coreCount } returns 2
- every { task.flavor.memorySize } returns 1024
-
- assertEquals(hostB, scheduler.select(task))
- }
-
- @Test
- fun testInstanceCountWeigher() {
- val scheduler =
- FilterScheduler(
- filters = emptyList(),
- weighers = listOf(InstanceCountWeigher(multiplier = -1.0)),
- )
-
- val hostA = mockk<HostView>()
- every { hostA.host.state } returns HostState.UP
- every { hostA.host.model } returns HostModel(4 * 2600.0, 4, 2048)
- every { hostA.instanceCount } returns 2
-
- val hostB = mockk<HostView>()
- every { hostB.host.state } returns HostState.UP
- every { hostB.host.model } returns HostModel(4 * 2600.0, 4, 2048)
- every { hostB.instanceCount } returns 0
-
- scheduler.addHost(hostA)
- scheduler.addHost(hostB)
-
- val task = mockk<Task>()
- every { task.flavor.coreCount } returns 2
- every { task.flavor.memorySize } returns 1024
-
- assertEquals(hostB, scheduler.select(task))
- }
-}
diff --git a/opendc-compute/opendc-compute-service/src/test/resources/log4j2.xml b/opendc-compute/opendc-compute-service/src/test/resources/log4j2.xml
deleted file mode 100644
index 0dfb75f2..00000000
--- a/opendc-compute/opendc-compute-service/src/test/resources/log4j2.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ Copyright (c) 2021 AtLarge Research
- ~
- ~ Permission is hereby granted, free of charge, to any person obtaining a copy
- ~ of this software and associated documentation files (the "Software"), to deal
- ~ in the Software without restriction, including without limitation the rights
- ~ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- ~ copies of the Software, and to permit persons to whom the Software is
- ~ furnished to do so, subject to the following conditions:
- ~
- ~ The above copyright notice and this permission notice shall be included in all
- ~ copies or substantial portions of the Software.
- ~
- ~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- ~ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- ~ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- ~ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- ~ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- ~ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- ~ SOFTWARE.
- -->
-
-<Configuration status="WARN" packages="org.apache.logging.log4j.core">
- <Appenders>
- <Console name="Console" target="SYSTEM_OUT">
- <PatternLayout pattern="%d{HH:mm:ss.SSS} [%highlight{%-5level}] %logger{36} - %msg%n" disableAnsi="false"/>
- </Console>
- </Appenders>
- <Loggers>
- <Logger name="org.opendc" level="trace" additivity="false">
- <AppenderRef ref="Console"/>
- </Logger>
- <Root level="info">
- <AppenderRef ref="Console"/>
- </Root>
- </Loggers>
-</Configuration>
diff --git a/opendc-compute/opendc-compute-simulator/build.gradle.kts b/opendc-compute/opendc-compute-simulator/build.gradle.kts
index 20ceb93e..8cbddb44 100644
--- a/opendc-compute/opendc-compute-simulator/build.gradle.kts
+++ b/opendc-compute/opendc-compute-simulator/build.gradle.kts
@@ -25,22 +25,25 @@ description = "Simulator for OpenDC Compute"
// Build configuration
plugins {
`kotlin-library-conventions`
+ kotlin("plugin.serialization") version "1.9.22"
}
dependencies {
- api(projects.opendcCompute.opendcComputeService)
api(projects.opendcSimulator.opendcSimulatorCompute)
+ api(projects.opendcTrace.opendcTraceParquet)
api(libs.commons.math3)
implementation(projects.opendcCommon)
implementation(libs.kotlin.logging)
+ implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.0")
api(libs.microprofile.config)
implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-topology")))
- implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-telemetry")))
implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-carbon")))
implementation(project(mapOf("path" to ":opendc-trace:opendc-trace-api")))
+ implementation(project(mapOf("path" to ":opendc-trace:opendc-trace-parquet")))
testImplementation(projects.opendcSimulator.opendcSimulatorCore)
testRuntimeOnly(libs.slf4j.simple)
+ testRuntimeOnly(libs.log4j.slf4j)
}
diff --git a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/HostListener.java b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/host/HostListener.java
index 079c6cff..01acfa97 100644
--- a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/HostListener.java
+++ b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/host/HostListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2022 AtLarge Research
+ * Copyright (c) 2024 AtLarge Research
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -20,22 +20,22 @@
* SOFTWARE.
*/
-package org.opendc.compute.service.driver;
+package org.opendc.compute.simulator.host;
-import org.opendc.compute.api.Task;
import org.opendc.compute.api.TaskState;
+import org.opendc.compute.simulator.service.ServiceTask;
/**
- * Listener interface for events originating from a {@link Host}.
+ * Listener interface for events originating from a {@link SimHost}.
*/
public interface HostListener {
/**
* This method is invoked when the state of <code>task</code> on <code>host</code> changes.
*/
- default void onStateChanged(Host host, Task task, TaskState newState) {}
+ default void onStateChanged(SimHost host, ServiceTask task, TaskState newState) {}
/**
- * This method is invoked when the state of a {@link Host} has changed.
+ * This method is invoked when the state of a {@link SimHost} has changed.
*/
- default void onStateChanged(Host host, HostState newState) {}
+ default void onStateChanged(SimHost host, HostState newState) {}
}
diff --git a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/HostModel.java b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/host/HostModel.java
index 87464fe1..96236c5c 100644
--- a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/HostModel.java
+++ b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/host/HostModel.java
@@ -20,7 +20,7 @@
* SOFTWARE.
*/
-package org.opendc.compute.service.driver;
+package org.opendc.compute.simulator.host;
/**
* Record describing the static machine properties of the host.
@@ -29,4 +29,4 @@ package org.opendc.compute.service.driver;
* @param coreCount The number of logical processing cores available for this host.
* @param memoryCapacity The amount of memory available for this host in MB.
*/
-public record HostModel(double cpuCapacity, int coreCount, long memoryCapacity) {}
+public record HostModel(float cpuCapacity, int coreCount, long memoryCapacity) {}
diff --git a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/HostState.java b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/host/HostState.java
index ce12a67e..29fc8cb4 100644
--- a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/HostState.java
+++ b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/host/HostState.java
@@ -20,7 +20,7 @@
* SOFTWARE.
*/
-package org.opendc.compute.service.driver;
+package org.opendc.compute.simulator.host;
/**
* The state of a host.
diff --git a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/ComputeService.java b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/service/ComputeService.java
index ad01ee57..84e23516 100644
--- a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/ComputeService.java
+++ b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/service/ComputeService.java
@@ -20,7 +20,7 @@
* SOFTWARE.
*/
-package org.opendc.compute.service;
+package org.opendc.compute.simulator.service;
import java.time.Duration;
import java.time.Instant;
@@ -41,18 +41,16 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.opendc.common.Dispatcher;
import org.opendc.common.util.Pacer;
-import org.opendc.compute.api.ComputeClient;
import org.opendc.compute.api.Flavor;
import org.opendc.compute.api.Image;
-import org.opendc.compute.api.Task;
import org.opendc.compute.api.TaskState;
-import org.opendc.compute.service.driver.Host;
-import org.opendc.compute.service.driver.HostListener;
-import org.opendc.compute.service.driver.HostModel;
-import org.opendc.compute.service.driver.HostState;
-import org.opendc.compute.service.scheduler.ComputeScheduler;
-import org.opendc.compute.service.telemetry.SchedulerStats;
-import org.opendc.simulator.compute.workload.SimWorkload;
+import org.opendc.compute.simulator.host.HostListener;
+import org.opendc.compute.simulator.host.HostModel;
+import org.opendc.compute.simulator.host.HostState;
+import org.opendc.compute.simulator.host.SimHost;
+import org.opendc.compute.simulator.scheduler.ComputeScheduler;
+import org.opendc.compute.simulator.telemetry.SchedulerStats;
+import org.opendc.simulator.compute.workload.Workload;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -92,7 +90,7 @@ public final class ComputeService implements AutoCloseable {
/**
* A mapping from host to host view.
*/
- private final Map<Host, HostView> hostToView = new HashMap<>();
+ private final Map<SimHost, HostView> hostToView = new HashMap<>();
/**
* The available hypervisors.
@@ -107,7 +105,12 @@ public final class ComputeService implements AutoCloseable {
/**
* The active tasks in the system.
*/
- private final Map<Task, Host> activeTasks = new HashMap<>();
+ private final Map<ServiceTask, SimHost> activeTasks = new HashMap<>();
+
+ /**
+ * The active tasks in the system.
+ */
+ private final Map<ServiceTask, SimHost> completedTasks = new HashMap<>();
/**
* The registered flavors for this compute service.
@@ -130,12 +133,14 @@ public final class ComputeService implements AutoCloseable {
private final List<ServiceTask> tasks = new ArrayList<>();
+ private final List<ServiceTask> tasksToRemove = new ArrayList<>();
+
/**
* A [HostListener] used to track the active tasks.
*/
private final HostListener hostListener = new HostListener() {
@Override
- public void onStateChanged(@NotNull Host host, @NotNull HostState newState) {
+ public void onStateChanged(@NotNull SimHost host, @NotNull HostState newState) {
LOGGER.debug("Host {} state changed: {}", host, newState);
final HostView hv = hostToView.get(host);
@@ -153,19 +158,16 @@ public final class ComputeService implements AutoCloseable {
}
@Override
- public void onStateChanged(@NotNull Host host, @NotNull Task task, @NotNull TaskState newState) {
- final ServiceTask serviceTask = (ServiceTask) task;
-
- if (serviceTask.getHost() != host) {
+ public void onStateChanged(@NotNull SimHost host, @NotNull ServiceTask task, @NotNull TaskState newState) {
+ if (task.getHost() != host) {
// This can happen when a task is rescheduled and started on another machine, while being deleted from
// the old machine.
return;
}
- serviceTask.setState(newState);
+ task.setState(newState);
- // TODO: move the removal of tasks when max Failures are reached to here
- if (newState == TaskState.TERMINATED || newState == TaskState.DELETED || newState == TaskState.ERROR) {
+ if (newState == TaskState.COMPLETED || newState == TaskState.TERMINATED || newState == TaskState.FAILED) {
LOGGER.info("task {} {} {} finished", task.getUid(), task.getName(), task.getFlavor());
if (activeTasks.remove(task) != null) {
@@ -173,7 +175,7 @@ public final class ComputeService implements AutoCloseable {
}
HostView hv = hostToView.get(host);
- final ServiceFlavor flavor = serviceTask.getFlavor();
+ final ServiceFlavor flavor = task.getFlavor();
if (hv != null) {
hv.provisionedCores -= flavor.getCoreCount();
hv.instanceCount--;
@@ -182,6 +184,20 @@ public final class ComputeService implements AutoCloseable {
LOGGER.error("Unknown host {}", host);
}
+ task.setHost(null);
+ host.removeTask(task);
+
+ if (newState == TaskState.COMPLETED) {
+ tasksCompleted++;
+ }
+ if (newState == TaskState.TERMINATED) {
+ tasksTerminated++;
+ }
+
+ if (task.getState() == TaskState.COMPLETED || task.getState() == TaskState.TERMINATED) {
+ tasksToRemove.add(task);
+ }
+
// Try to reschedule if needed
requestSchedulingCycle();
}
@@ -192,14 +208,16 @@ public final class ComputeService implements AutoCloseable {
private long maxMemory = 0L;
private long attemptsSuccess = 0L;
private long attemptsFailure = 0L;
- private long attemptsError = 0L;
+ private int tasksTotal = 0;
private int tasksPending = 0;
private int tasksActive = 0;
+ private int tasksTerminated = 0;
+ private int tasksCompleted = 0;
/**
* Construct a {@link ComputeService} instance.
*/
- ComputeService(Dispatcher dispatcher, ComputeScheduler scheduler, Duration quantum, int maxNumFailures) {
+ public ComputeService(Dispatcher dispatcher, ComputeScheduler scheduler, Duration quantum, int maxNumFailures) {
this.clock = dispatcher.getTimeSource();
this.scheduler = scheduler;
this.pacer = new Pacer(dispatcher, quantum.toMillis(), (time) -> doSchedule());
@@ -220,20 +238,31 @@ public final class ComputeService implements AutoCloseable {
if (isClosed) {
throw new IllegalStateException("Service is closed");
}
- return new Client(this);
+ return new ComputeClient(this);
}
/**
- * Return the {@link Task}s hosted by this service.
+ * Return the {@link ServiceTask}s hosted by this service.
*/
- public List<Task> getTasks() {
+ public List<ServiceTask> getTasks() {
return Collections.unmodifiableList(tasks);
}
/**
- * Add a {@link Host} to the scheduling pool of the compute service.
+ * Return the {@link ServiceTask}s hosted by this service.
+ */
+ public List<ServiceTask> getTasksToRemove() {
+ return Collections.unmodifiableList(tasksToRemove);
+ }
+
+ public void clearTasksToRemove() {
+ this.tasksToRemove.clear();
+ }
+
+ /**
+ * Add a {@link SimHost} to the scheduling pool of the compute service.
*/
- public void addHost(Host host) {
+ public void addHost(SimHost host) {
// Check if host is already known
if (hostToView.containsKey(host)) {
return;
@@ -255,9 +284,9 @@ public final class ComputeService implements AutoCloseable {
}
/**
- * Remove a {@link Host} from the scheduling pool of the compute service.
+ * Remove a {@link SimHost} from the scheduling pool of the compute service.
*/
- public void removeHost(Host host) {
+ public void removeHost(SimHost host) {
HostView view = hostToView.remove(host);
if (view != null) {
availableHosts.remove(view);
@@ -267,24 +296,23 @@ public final class ComputeService implements AutoCloseable {
}
/**
- * Lookup the {@link Host} that currently hosts the specified {@link Task}.
+ * Lookup the {@link SimHost} that currently hosts the specified {@link ServiceTask}.
*/
- public Host lookupHost(Task task) {
- if (task instanceof ServiceTask) {
- return ((ServiceTask) task).getHost();
- }
-
- ServiceTask internal = Objects.requireNonNull(taskById.get(task.getUid()), "Invalid task passed to lookupHost");
- return internal.getHost();
+ public SimHost lookupHost(ServiceTask task) {
+ return task.getHost();
}
/**
- * Return the {@link Host}s that are registered with this service.
+ * Return the {@link SimHost}s that are registered with this service.
*/
- public Set<Host> getHosts() {
+ public Set<SimHost> getHosts() {
return Collections.unmodifiableSet(hostToView.keySet());
}
+ public InstantSource getClock() {
+ return this.clock;
+ }
+
/**
* Collect the statistics about the scheduler component of this service.
*/
@@ -294,10 +322,11 @@ public final class ComputeService implements AutoCloseable {
hostToView.size() - availableHosts.size(),
attemptsSuccess,
attemptsFailure,
- attemptsError,
- tasks.size(),
+ tasksTotal,
tasksPending,
- tasksActive);
+ tasksActive,
+ tasksCompleted,
+ tasksTerminated);
}
@Override
@@ -337,6 +366,7 @@ public final class ComputeService implements AutoCloseable {
}
void delete(ServiceTask task) {
+ completedTasks.remove(task);
taskById.remove(task.getUid());
tasks.remove(task);
}
@@ -370,13 +400,14 @@ public final class ComputeService implements AutoCloseable {
final ServiceTask task = request.task;
- // Remove task from scheduling if it has failed too many times
- if (task.getNumFailures() > maxNumFailures) {
- LOGGER.warn("Failed to spawn {}: Task has failed more than the allowed {} times", task, maxNumFailures);
+ if (task.getNumFailures() >= maxNumFailures) {
+ LOGGER.warn("task {} has been terminated because it failed {} times", task, task.getNumFailures());
taskQueue.poll();
tasksPending--;
+ tasksTerminated++;
task.setState(TaskState.TERMINATED);
+ tasksToRemove.add(task);
continue;
}
@@ -390,18 +421,17 @@ public final class ComputeService implements AutoCloseable {
// Remove the incoming image
taskQueue.poll();
tasksPending--;
- attemptsFailure++;
LOGGER.warn("Failed to spawn {}: does not fit", task);
- task.setState(TaskState.TERMINATED);
+ task.setState(TaskState.FAILED);
continue;
} else {
break;
}
}
- Host host = hv.getHost();
+ SimHost host = hv.getHost();
// Remove request from queue
taskQueue.poll();
@@ -413,7 +443,7 @@ public final class ComputeService implements AutoCloseable {
task.host = host;
host.spawn(task);
- host.start(task);
+ // host.start(task);
tasksActive++;
attemptsSuccess++;
@@ -425,7 +455,7 @@ public final class ComputeService implements AutoCloseable {
activeTasks.put(task, host);
} catch (Exception cause) {
LOGGER.error("Failed to deploy VM", cause);
- attemptsError++;
+ attemptsFailure++;
}
}
}
@@ -436,7 +466,7 @@ public final class ComputeService implements AutoCloseable {
public static class Builder {
private final Dispatcher dispatcher;
private final ComputeScheduler computeScheduler;
- private Duration quantum = Duration.ofMinutes(5);
+ private Duration quantum = Duration.ofSeconds(1);
private int maxNumFailures = 10;
Builder(Dispatcher dispatcher, ComputeScheduler computeScheduler) {
@@ -468,11 +498,11 @@ public final class ComputeService implements AutoCloseable {
/**
* Implementation of {@link ComputeClient} using a {@link ComputeService}.
*/
- private static class Client implements ComputeClient {
+ public static class ComputeClient {
private final ComputeService service;
private boolean isClosed;
- Client(ComputeService service) {
+ ComputeClient(ComputeService service) {
this.service = service;
}
@@ -486,13 +516,11 @@ public final class ComputeService implements AutoCloseable {
}
@NotNull
- @Override
public List<Flavor> queryFlavors() {
checkOpen();
return new ArrayList<>(service.flavors);
}
- @Override
public Flavor findFlavor(@NotNull UUID id) {
checkOpen();
@@ -500,18 +528,12 @@ public final class ComputeService implements AutoCloseable {
}
@NotNull
- @Override
- public Flavor newFlavor(
- @NotNull String name,
- int cpuCount,
- long memorySize,
- @NotNull Map<String, String> labels,
- @NotNull Map<String, ?> meta) {
+ public Flavor newFlavor(@NotNull String name, int cpuCount, long memorySize, @NotNull Map<String, ?> meta) {
checkOpen();
final ComputeService service = this.service;
UUID uid = new UUID(service.clock.millis(), service.random.nextLong());
- ServiceFlavor flavor = new ServiceFlavor(service, uid, name, cpuCount, memorySize, labels, meta);
+ ServiceFlavor flavor = new ServiceFlavor(service, uid, name, cpuCount, memorySize, meta);
service.flavorById.put(uid, flavor);
service.flavors.add(flavor);
@@ -520,20 +542,22 @@ public final class ComputeService implements AutoCloseable {
}
@NotNull
- @Override
public List<Image> queryImages() {
checkOpen();
return new ArrayList<>(service.images);
}
- @Override
public Image findImage(@NotNull UUID id) {
checkOpen();
return service.imageById.get(id);
}
+ public Image newImage(@NotNull String name) {
+ return newImage(name, Collections.emptyMap(), Collections.emptyMap());
+ }
+
@NotNull
public Image newImage(@NotNull String name, @NotNull Map<String, String> labels, @NotNull Map<String, ?> meta) {
checkOpen();
@@ -550,14 +574,11 @@ public final class ComputeService implements AutoCloseable {
}
@NotNull
- @Override
- public Task newTask(
+ public ServiceTask newTask(
@NotNull String name,
- @NotNull Image image,
@NotNull Flavor flavor,
- @NotNull Map<String, String> labels,
- @NotNull Map<String, ?> meta,
- boolean start) {
+ @NotNull Workload workload,
+ @NotNull Map<String, ?> meta) {
checkOpen();
final ComputeService service = this.service;
@@ -565,37 +586,32 @@ public final class ComputeService implements AutoCloseable {
final ServiceFlavor internalFlavor =
Objects.requireNonNull(service.flavorById.get(flavor.getUid()), "Unknown flavor");
- final ServiceImage internalImage =
- Objects.requireNonNull(service.imageById.get(image.getUid()), "Unknown image");
- ServiceTask task = new ServiceTask(service, uid, name, internalFlavor, internalImage, labels, meta);
+ ServiceTask task = new ServiceTask(service, uid, name, internalFlavor, workload, meta);
service.taskById.put(uid, task);
service.tasks.add(task);
- if (start) {
- task.start();
- }
+ service.tasksTotal++;
+
+ task.start();
return task;
}
@Nullable
- @Override
- public Task findTask(@NotNull UUID id) {
+ public ServiceTask findTask(@NotNull UUID id) {
checkOpen();
return service.taskById.get(id);
}
@NotNull
- @Override
- public List<Task> queryTasks() {
+ public List<ServiceTask> queryTasks() {
checkOpen();
return new ArrayList<>(service.tasks);
}
- @Override
public void close() {
isClosed = true;
}
@@ -606,12 +622,11 @@ public final class ComputeService implements AutoCloseable {
}
@Nullable
- @Override
- public void rescheduleTask(@NotNull Task task, @NotNull SimWorkload workload) {
- ServiceTask internalTask = (ServiceTask) findTask(task.getUid());
- Host from = service.lookupHost(internalTask);
+ public void rescheduleTask(@NotNull ServiceTask task, @NotNull Workload workload) {
+ ServiceTask internalTask = findTask(task.getUid());
+ // SimHost from = service.lookupHost(internalTask);
- from.delete(internalTask);
+ // from.delete(internalTask);
internalTask.host = null;
@@ -621,7 +636,7 @@ public final class ComputeService implements AutoCloseable {
}
/**
- * A request to schedule a {@link ServiceTask} onto one of the {@link Host}s.
+ * A request to schedule a {@link ServiceTask} onto one of the {@link SimHost}s.
*/
static class SchedulingRequest {
final ServiceTask task;
diff --git a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/HostView.java b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/service/HostView.java
index 6e2cdcb4..f4aa9c70 100644
--- a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/HostView.java
+++ b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/service/HostView.java
@@ -20,15 +20,15 @@
* SOFTWARE.
*/
-package org.opendc.compute.service;
+package org.opendc.compute.simulator.service;
-import org.opendc.compute.service.driver.Host;
+import org.opendc.compute.simulator.host.SimHost;
/**
- * A view of a {@link Host} as seen from the {@link ComputeService}.
+ * A view of a {@link SimHost} as seen from the {@link ComputeService}.
*/
public class HostView {
- private final Host host;
+ private final SimHost host;
int instanceCount;
long availableMemory;
int provisionedCores;
@@ -38,15 +38,15 @@ public class HostView {
*
* @param host The host to create a view of.
*/
- public HostView(Host host) {
+ public HostView(SimHost host) {
this.host = host;
this.availableMemory = host.getModel().memoryCapacity();
}
/**
- * The {@link Host} this is a view of.
+ * The {@link SimHost} this is a view of.
*/
- public Host getHost() {
+ public SimHost getHost() {
return host;
}
diff --git a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/ServiceFlavor.java b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/service/ServiceFlavor.java
index 0f434a6a..eddde87e 100644
--- a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/ServiceFlavor.java
+++ b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/service/ServiceFlavor.java
@@ -20,7 +20,7 @@
* SOFTWARE.
*/
-package org.opendc.compute.service;
+package org.opendc.compute.simulator.service;
import java.util.Collections;
import java.util.Map;
@@ -38,23 +38,14 @@ public final class ServiceFlavor implements Flavor {
private final String name;
private final int coreCount;
private final long memorySize;
- private final Map<String, String> labels;
private final Map<String, ?> meta;
- ServiceFlavor(
- ComputeService service,
- UUID uid,
- String name,
- int coreCount,
- long memorySize,
- Map<String, String> labels,
- Map<String, ?> meta) {
+ ServiceFlavor(ComputeService service, UUID uid, String name, int coreCount, long memorySize, Map<String, ?> meta) {
this.service = service;
this.uid = uid;
this.name = name;
this.coreCount = coreCount;
this.memorySize = memorySize;
- this.labels = labels;
this.meta = meta;
}
@@ -82,12 +73,6 @@ public final class ServiceFlavor implements Flavor {
@NotNull
@Override
- public Map<String, String> getLabels() {
- return Collections.unmodifiableMap(labels);
- }
-
- @NotNull
- @Override
public Map<String, Object> getMeta() {
return Collections.unmodifiableMap(meta);
}
diff --git a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/ServiceImage.java b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/service/ServiceImage.java
index 706be483..dffa4356 100644
--- a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/ServiceImage.java
+++ b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/service/ServiceImage.java
@@ -20,7 +20,7 @@
* SOFTWARE.
*/
-package org.opendc.compute.service;
+package org.opendc.compute.simulator.service;
import java.util.Collections;
import java.util.Map;
@@ -61,12 +61,6 @@ public final class ServiceImage implements Image {
@NotNull
@Override
- public Map<String, String> getLabels() {
- return Collections.unmodifiableMap(labels);
- }
-
- @NotNull
- @Override
public Map<String, Object> getMeta() {
return Collections.unmodifiableMap(meta);
}
diff --git a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/ServiceTask.java b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/service/ServiceTask.java
index f0e2a82e..f39142eb 100644
--- a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/ServiceTask.java
+++ b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/service/ServiceTask.java
@@ -20,29 +20,28 @@
* SOFTWARE.
*/
-package org.opendc.compute.service;
+package org.opendc.compute.simulator.service;
import java.time.Instant;
import java.util.ArrayList;
import java.util.Collections;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.UUID;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import org.opendc.compute.api.Task;
import org.opendc.compute.api.TaskState;
-import org.opendc.compute.api.TaskWatcher;
-import org.opendc.compute.service.driver.Host;
+import org.opendc.compute.simulator.TaskWatcher;
+import org.opendc.compute.simulator.host.SimHost;
+import org.opendc.simulator.compute.workload.Workload;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
- * Implementation of {@link Task} provided by {@link ComputeService}.
+ * Implementation of {@link ServiceTask} provided by {@link ComputeService}.
*/
-public final class ServiceTask implements Task {
+public class ServiceTask {
private static final Logger LOGGER = LoggerFactory.getLogger(ServiceTask.class);
private final ComputeService service;
@@ -50,14 +49,16 @@ public final class ServiceTask implements Task {
private final String name;
private final ServiceFlavor flavor;
- private final ServiceImage image;
- private final Map<String, String> labels;
- private Map<String, ?> meta;
+ public Workload workload;
+
+ private Map<String, ?> meta; // TODO: remove this
private final List<TaskWatcher> watchers = new ArrayList<>();
- private TaskState state = TaskState.TERMINATED;
+ private TaskState state = TaskState.CREATED;
Instant launchedAt = null;
- Host host = null;
+ Instant createdAt;
+ Instant finishedAt;
+ SimHost host = null;
private ComputeService.SchedulingRequest request = null;
private int numFailures = 0;
@@ -67,81 +68,77 @@ public final class ServiceTask implements Task {
UUID uid,
String name,
ServiceFlavor flavor,
- ServiceImage image,
- Map<String, String> labels,
+ Workload workload,
Map<String, ?> meta) {
this.service = service;
this.uid = uid;
this.name = name;
this.flavor = flavor;
- this.image = image;
- this.labels = labels;
+ this.workload = workload;
this.meta = meta;
+
+ this.createdAt = this.service.getClock().instant();
}
@NotNull
- @Override
public UUID getUid() {
return uid;
}
@NotNull
- @Override
public String getName() {
return name;
}
@NotNull
- @Override
public ServiceFlavor getFlavor() {
return flavor;
}
@NotNull
- @Override
- public ServiceImage getImage() {
- return image;
- }
-
- @NotNull
- @Override
- public Map<String, String> getLabels() {
- return Collections.unmodifiableMap(labels);
- }
-
- @NotNull
- @Override
public Map<String, Object> getMeta() {
return Collections.unmodifiableMap(meta);
}
- public void setWorkload(Object _workload) {
- Map<String, Object> new_meta = new HashMap<String, Object>();
- new_meta.put("workload", _workload);
-
- meta = new_meta;
+ public void setWorkload(Workload newWorkload) {
+ this.workload = newWorkload;
}
@NotNull
- @Override
public TaskState getState() {
return state;
}
@Nullable
- @Override
public Instant getLaunchedAt() {
return launchedAt;
}
+ @Nullable
+ public Instant getCreatedAt() {
+ return createdAt;
+ }
+
+ @Nullable
+ public Instant getFinishedAt() {
+ return finishedAt;
+ }
+
/**
- * Return the {@link Host} on which the task is running or <code>null</code> if it is not running on a host.
+ * Return the {@link SimHost} on which the task is running or <code>null</code> if it is not running on a host.
*/
- public Host getHost() {
+ public SimHost getHost() {
return host;
}
- @Override
+ public void setHost(SimHost host) {
+ this.host = host;
+ }
+
+ public int getNumFailures() {
+ return this.numFailures;
+ }
+
public void start() {
switch (state) {
case PROVISIONING:
@@ -149,74 +146,43 @@ public final class ServiceTask implements Task {
case RUNNING:
LOGGER.debug("User tried to start task but task is already running");
break;
- case DELETED:
+ case COMPLETED:
+ case TERMINATED:
LOGGER.warn("User tried to start deleted task");
throw new IllegalStateException("Task is deleted");
- default:
+ case CREATED:
LOGGER.info("User requested to start task {}", uid);
setState(TaskState.PROVISIONING);
assert request == null : "Scheduling request already active";
request = service.schedule(this);
break;
- }
- }
-
- @Override
- public void stop() {
- switch (state) {
- case PROVISIONING:
- cancelProvisioningRequest();
- setState(TaskState.TERMINATED);
- break;
- case RUNNING:
- case ERROR:
- final Host host = this.host;
- if (host == null) {
- throw new IllegalStateException("Task not running");
- }
- host.stop(this);
+ case FAILED:
+ LOGGER.info("User requested to start task after failure {}", uid);
+ setState(TaskState.PROVISIONING);
+ request = service.schedule(this);
break;
}
}
- @Override
public void watch(@NotNull TaskWatcher watcher) {
watchers.add(watcher);
}
- @Override
public void unwatch(@NotNull TaskWatcher watcher) {
watchers.remove(watcher);
}
- @Override
- public void reload() {
- // No-op: this object is the source-of-truth
- }
-
- @Override
public void delete() {
- switch (state) {
- case PROVISIONING:
- case TERMINATED:
- cancelProvisioningRequest();
- service.delete(this);
- setState(TaskState.DELETED);
- break;
- case RUNNING:
- case ERROR:
- final Host host = this.host;
- if (host == null) {
- throw new IllegalStateException("Task not running");
- }
- host.delete(this);
- service.delete(this);
- setState(TaskState.DELETED);
- break;
+ cancelProvisioningRequest();
+ final SimHost host = this.host;
+ if (host != null) {
+ host.delete(this);
}
+ service.delete(this);
+
+ this.setState(TaskState.DELETED);
}
- @Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
@@ -224,12 +190,10 @@ public final class ServiceTask implements Task {
return service.equals(task.service) && uid.equals(task.uid);
}
- @Override
public int hashCode() {
return Objects.hash(service, uid);
}
- @Override
public String toString() {
return "Task[uid=" + uid + ",name=" + name + ",state=" + state + "]";
}
@@ -242,10 +206,14 @@ public final class ServiceTask implements Task {
for (TaskWatcher watcher : watchers) {
watcher.onStateChanged(this, newState);
}
- if (newState == TaskState.ERROR) {
+ if (newState == TaskState.FAILED) {
this.numFailures++;
}
+ if ((newState == TaskState.COMPLETED) || newState == TaskState.FAILED) {
+ this.finishedAt = this.service.getClock().instant();
+ }
+
this.state = newState;
}
@@ -259,9 +227,4 @@ public final class ServiceTask implements Task {
request.isCancelled = true;
}
}
-
- @Override
- public int getNumFailures() {
- return this.numFailures;
- }
}
diff --git a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/telemetry/GuestCpuStats.java b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/telemetry/GuestCpuStats.java
index 0b78c7ea..ea37f5f2 100644
--- a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/telemetry/GuestCpuStats.java
+++ b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/telemetry/GuestCpuStats.java
@@ -20,7 +20,7 @@
* SOFTWARE.
*/
-package org.opendc.compute.service.driver.telemetry;
+package org.opendc.compute.simulator.telemetry;
/**
* Statistics about the CPUs of a guest.
@@ -38,6 +38,6 @@ public record GuestCpuStats(
long idleTime,
long stealTime,
long lostTime,
- double capacity,
- double usage,
- double utilization) {}
+ float capacity,
+ float usage,
+ float utilization) {}
diff --git a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/telemetry/GuestSystemStats.java b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/telemetry/GuestSystemStats.java
index dbf98dd5..0d51e223 100644
--- a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/telemetry/GuestSystemStats.java
+++ b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/telemetry/GuestSystemStats.java
@@ -20,7 +20,7 @@
* SOFTWARE.
*/
-package org.opendc.compute.service.driver.telemetry;
+package org.opendc.compute.simulator.telemetry;
import java.time.Duration;
import java.time.Instant;
diff --git a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/telemetry/HostCpuStats.java b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/telemetry/HostCpuStats.java
index d1c2328b..3f2aab78 100644
--- a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/telemetry/HostCpuStats.java
+++ b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/telemetry/HostCpuStats.java
@@ -20,7 +20,7 @@
* SOFTWARE.
*/
-package org.opendc.compute.service.driver.telemetry;
+package org.opendc.compute.simulator.telemetry;
/**
* Statistics about the CPUs of a host.
@@ -40,7 +40,7 @@ public record HostCpuStats(
long idleTime,
long stealTime,
long lostTime,
- double capacity,
- double demand,
- double usage,
- double utilization) {}
+ float capacity,
+ float demand,
+ float usage,
+ float utilization) {}
diff --git a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/telemetry/HostSystemStats.java b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/telemetry/HostSystemStats.java
index c0713f3c..353e62fa 100644
--- a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/telemetry/HostSystemStats.java
+++ b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/telemetry/HostSystemStats.java
@@ -20,7 +20,7 @@
* SOFTWARE.
*/
-package org.opendc.compute.service.driver.telemetry;
+package org.opendc.compute.simulator.telemetry;
import java.time.Duration;
import java.time.Instant;
@@ -42,8 +42,8 @@ public record HostSystemStats(
Duration uptime,
Duration downtime,
Instant bootTime,
- double powerDraw,
- double energyUsage,
+ float powerDraw,
+ float energyUsage,
int guestsTerminated,
int guestsRunning,
int guestsError,
diff --git a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/telemetry/SchedulerStats.java b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/telemetry/SchedulerStats.java
index fc044d8c..9d44a4b8 100644
--- a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/telemetry/SchedulerStats.java
+++ b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/telemetry/SchedulerStats.java
@@ -20,7 +20,7 @@
* SOFTWARE.
*/
-package org.opendc.compute.service.telemetry;
+package org.opendc.compute.simulator.telemetry;
/**
* Statistics about the scheduling component of the [ComputeService].
@@ -28,8 +28,7 @@ package org.opendc.compute.service.telemetry;
* @param hostsAvailable The number of hosts currently available for scheduling.
* @param hostsUnavailable The number of hosts unavailable for scheduling.
* @param attemptsSuccess Scheduling attempts that resulted into an allocation onto a host.
- * @param attemptsFailure The number of failed scheduling attempt due to insufficient capacity at the moment.
- * @param attemptsError The number of scheduling attempts that failed due to system error.
+ * @param attemptsFailure The number of failed scheduling attempt due to any reason
* @param tasksTotal The number of tasks registered with the service.
* @param tasksPending The number of tasks that are pending to be scheduled.
* @param tasksActive The number of tasks that are currently managed by the service and running.
@@ -39,7 +38,8 @@ public record SchedulerStats(
int hostsUnavailable,
long attemptsSuccess,
long attemptsFailure,
- long attemptsError,
int tasksTotal,
int tasksPending,
- int tasksActive) {}
+ int tasksActive,
+ int tasksCompleted,
+ int tasksTerminated) {}
diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/MutableServiceRegistry.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/MutableServiceRegistry.kt
deleted file mode 100644
index ca72c910..00000000
--- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/MutableServiceRegistry.kt
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.compute.simulator
-
-/**
- * A mutable [ServiceRegistry].
- */
-public interface MutableServiceRegistry : ServiceRegistry {
- /**
- * Register [service] for the specified [name] in this registry.
- *
- * @param name The name of the service to register, which should follow the rules for domain names as defined by
- * DNS.
- * @param type The interface provided by the service.
- * @param service A reference to the actual implementation of the service.
- */
- public fun <T : Any> register(
- name: String,
- type: Class<T>,
- service: T,
- )
-
- /**
- * Remove the service with [name] and [type] from this registry.
- *
- * @param name The name of the service to remove, which should follow the rules for domain names as defined by DNS.
- * @param type The type of the service to remove.
- */
- public fun remove(
- name: String,
- type: Class<*>,
- )
-
- /**
- * Remove all services registered with [name].
- *
- * @param name The name of the services to remove, which should follow the rules for domain names as defined by DNS.
- */
- public fun remove(name: String)
-
- /**
- * Create a copy of the registry.
- */
- public override fun clone(): MutableServiceRegistry
-}
diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/ServiceRegistry.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/ServiceRegistry.kt
index 5a4bced1..e2f6c9d0 100644
--- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/ServiceRegistry.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/ServiceRegistry.kt
@@ -23,26 +23,53 @@
package org.opendc.compute.simulator
/**
- * A read-only registry of services used during experiments to resolve services.
- *
- * The service registry is similar conceptually to the Domain Name System (DNS), which is a naming system used to
- * identify computers reachable via the Internet. The service registry should be used in a similar fashion.
+ * Implementation of the [ServiceRegistry] interface.
*/
-public interface ServiceRegistry {
- /**
- * Lookup the service with the specified [name] and [type].
- *
- * @param name The name of the service to resolve, which should follow the rules for domain names as defined by DNS.
- * @param type The type of the service to resolve, identified by the interface that is implemented by the service.
- * @return The service with specified [name] and implementing [type] or `null` if it does not exist.
- */
+public class ServiceRegistry(private val registry: MutableMap<String, MutableMap<Class<*>, Any>> = mutableMapOf()) {
public fun <T : Any> resolve(
name: String,
type: Class<T>,
- ): T?
+ ): T? {
+ val servicesForName = registry[name] ?: return null
+
+ @Suppress("UNCHECKED_CAST")
+ return servicesForName[type] as T?
+ }
+
+ public fun <T : Any> register(
+ name: String,
+ type: Class<T>,
+ service: T,
+ ) {
+ val services = registry.computeIfAbsent(name) { mutableMapOf() }
+
+ if (type in services) {
+ throw IllegalStateException("Duplicate service $type registered for name $name")
+ }
+
+ services[type] = service
+ }
+
+ public fun remove(
+ name: String,
+ type: Class<*>,
+ ) {
+ val services = registry[name] ?: return
+ services.remove(type)
+ }
+
+ public fun remove(name: String) {
+ registry.remove(name)
+ }
+
+ public fun clone(): ServiceRegistry {
+ val res = mutableMapOf<String, MutableMap<Class<*>, Any>>()
+ registry.mapValuesTo(res) { (_, v) -> v.toMutableMap() }
+ return ServiceRegistry(res)
+ }
- /**
- * Create a copy of the registry.
- */
- public fun clone(): ServiceRegistry
+ override fun toString(): String {
+ val entries = registry.map { "${it.key}=${it.value}" }.joinToString()
+ return "ServiceRegistry{$entries}"
+ }
}
diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/ServiceRegistryImpl.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/ServiceRegistryImpl.kt
deleted file mode 100644
index bf3ee43f..00000000
--- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/ServiceRegistryImpl.kt
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.compute.simulator
-
-/**
- * Implementation of the [MutableServiceRegistry] interface.
- */
-internal class ServiceRegistryImpl(private val registry: MutableMap<String, MutableMap<Class<*>, Any>> = mutableMapOf()) :
- MutableServiceRegistry {
- override fun <T : Any> resolve(
- name: String,
- type: Class<T>,
- ): T? {
- val servicesForName = registry[name] ?: return null
-
- @Suppress("UNCHECKED_CAST")
- return servicesForName[type] as T?
- }
-
- override fun <T : Any> register(
- name: String,
- type: Class<T>,
- service: T,
- ) {
- val services = registry.computeIfAbsent(name) { mutableMapOf() }
-
- if (type in services) {
- throw IllegalStateException("Duplicate service $type registered for name $name")
- }
-
- services[type] = service
- }
-
- override fun remove(
- name: String,
- type: Class<*>,
- ) {
- val services = registry[name] ?: return
- services.remove(type)
- }
-
- override fun remove(name: String) {
- registry.remove(name)
- }
-
- override fun clone(): MutableServiceRegistry {
- val res = mutableMapOf<String, MutableMap<Class<*>, Any>>()
- registry.mapValuesTo(res) { (_, v) -> v.toMutableMap() }
- return ServiceRegistryImpl(res)
- }
-
- override fun toString(): String {
- val entries = registry.map { "${it.key}=${it.value}" }.joinToString()
- return "ServiceRegistry{$entries}"
- }
-}
diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/SimHost.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/SimHost.kt
deleted file mode 100644
index e681403c..00000000
--- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/SimHost.kt
+++ /dev/null
@@ -1,378 +0,0 @@
-/*
- * Copyright (c) 2020 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.compute.simulator
-
-import org.opendc.compute.api.Flavor
-import org.opendc.compute.api.Task
-import org.opendc.compute.api.TaskState
-import org.opendc.compute.service.driver.Host
-import org.opendc.compute.service.driver.HostListener
-import org.opendc.compute.service.driver.HostModel
-import org.opendc.compute.service.driver.HostState
-import org.opendc.compute.service.driver.telemetry.GuestCpuStats
-import org.opendc.compute.service.driver.telemetry.GuestSystemStats
-import org.opendc.compute.service.driver.telemetry.HostCpuStats
-import org.opendc.compute.service.driver.telemetry.HostSystemStats
-import org.opendc.compute.simulator.internal.DefaultWorkloadMapper
-import org.opendc.compute.simulator.internal.Guest
-import org.opendc.compute.simulator.internal.GuestListener
-import org.opendc.simulator.compute.SimBareMetalMachine
-import org.opendc.simulator.compute.SimMachineContext
-import org.opendc.simulator.compute.kernel.SimHypervisor
-import org.opendc.simulator.compute.model.MachineModel
-import org.opendc.simulator.compute.model.MemoryUnit
-import org.opendc.simulator.compute.workload.SimWorkload
-import org.opendc.simulator.compute.workload.SimWorkloads
-import java.time.Duration
-import java.time.Instant
-import java.time.InstantSource
-import java.util.UUID
-import java.util.function.Supplier
-
-/**
- * A [Host] implementation that simulates virtual machines on a physical machine using [SimHypervisor].
- *
- * @param uid The unique identifier of the host.
- * @param name The name of the host.
- * @param meta The metadata of the host.
- * @param clock The (virtual) clock used to track time.
- * @param machine The [SimBareMetalMachine] on which the host runs.
- * @param hypervisor The [SimHypervisor] to run on top of the machine.
- * @param mapper A [SimWorkloadMapper] to map a [Task] to a [SimWorkload].
- * @param bootModel A [Supplier] providing the [SimWorkload] to execute during the boot procedure of the hypervisor.
- * @param optimize A flag to indicate to optimize the machine models of the virtual machines.
- */
-public class SimHost(
- private val uid: UUID,
- private val name: String,
- private val meta: Map<String, Any>,
- private val clock: InstantSource,
- private val machine: SimBareMetalMachine,
- private val hypervisor: SimHypervisor,
- private val mapper: SimWorkloadMapper = DefaultWorkloadMapper,
- private val bootModel: Supplier<SimWorkload?> = Supplier { null },
- private val optimize: Boolean = false,
-) : Host, AutoCloseable {
- /**
- * The event listeners registered with this host.
- */
- private val listeners = mutableListOf<HostListener>()
-
- /**
- * The virtual machines running on the hypervisor.
- */
- private val guests = HashMap<Task, Guest>()
- private val localGuests = mutableListOf<Guest>()
-
- private var localState: HostState = HostState.DOWN
- set(value) {
- if (value != field) {
- listeners.forEach { it.onStateChanged(this, value) }
- }
- field = value
- }
-
- private val model: HostModel =
- HostModel(
- machine.model.cpu.totalCapacity,
- machine.model.cpu.coreCount,
- machine.model.memory.size,
- )
-
- /**
- * The [GuestListener] that listens for guest events.
- */
- private val guestListener =
- object : GuestListener {
- override fun onStart(guest: Guest) {
- listeners.forEach { it.onStateChanged(this@SimHost, guest.task, guest.state) }
- }
-
- override fun onStop(guest: Guest) {
- listeners.forEach { it.onStateChanged(this@SimHost, guest.task, guest.state) }
- }
- }
-
- init {
- launch()
- }
-
- override fun getUid(): UUID {
- return uid
- }
-
- override fun getName(): String {
- return name
- }
-
- override fun getModel(): HostModel {
- return model
- }
-
- override fun getMeta(): Map<String, *> {
- return meta
- }
-
- override fun getState(): HostState {
- return localState
- }
-
- override fun getInstances(): Set<Task> {
- return guests.keys
- }
-
- override fun canFit(task: Task): Boolean {
- val sufficientMemory = model.memoryCapacity >= task.flavor.memorySize
- val enoughCpus = model.coreCount >= task.flavor.coreCount
- val canFit = hypervisor.canFit(task.flavor.toMachineModel())
-
- return sufficientMemory && enoughCpus && canFit
- }
-
- override fun spawn(task: Task) {
- guests.computeIfAbsent(task) { key ->
- require(canFit(key)) { "Task does not fit" }
-
- val machine = hypervisor.newMachine(key.flavor.toMachineModel())
- val newGuest =
- Guest(
- clock,
- this,
- hypervisor,
- mapper,
- guestListener,
- task,
- machine,
- )
-
- localGuests.add(newGuest)
- newGuest
- }
- }
-
- override fun contains(task: Task): Boolean {
- return task in guests
- }
-
- override fun start(task: Task) {
- val guest = requireNotNull(guests[task]) { "Unknown task ${task.uid} at host $uid" }
- guest.start()
- }
-
- override fun stop(task: Task) {
- val guest = requireNotNull(guests[task]) { "Unknown task ${task.uid} at host $uid" }
- guest.stop()
- }
-
- override fun delete(task: Task) {
- val guest = guests[task] ?: return
- guest.delete()
-
- guests.remove(task)
- localGuests.remove(guest)
- }
-
- override fun addListener(listener: HostListener) {
- listeners.add(listener)
- }
-
- override fun removeListener(listener: HostListener) {
- listeners.remove(listener)
- }
-
- override fun close() {
- reset(HostState.DOWN)
- machine.cancel()
- }
-
- override fun getSystemStats(): HostSystemStats {
- updateUptime()
-
- var terminated = 0
- var running = 0
- var error = 0
- var invalid = 0
-
- val guests = localGuests.listIterator()
- for (guest in guests) {
- when (guest.state) {
- TaskState.TERMINATED -> terminated++
- TaskState.RUNNING -> running++
- TaskState.ERROR -> error++
- TaskState.DELETED -> {
- // Remove guests that have been deleted
- this.guests.remove(guest.task)
- guests.remove()
- }
- else -> invalid++
- }
- }
-
- return HostSystemStats(
- Duration.ofMillis(localUptime),
- Duration.ofMillis(localDowntime),
- localBootTime,
- machine.psu.powerDraw,
- machine.psu.energyUsage,
- terminated,
- running,
- error,
- invalid,
- )
- }
-
- override fun getSystemStats(task: Task): GuestSystemStats {
- val guest = requireNotNull(guests[task]) { "Unknown task ${task.uid} at host $uid" }
- return guest.getSystemStats()
- }
-
- override fun getCpuStats(): HostCpuStats {
- val counters = hypervisor.counters
- counters.sync()
-
- return HostCpuStats(
- counters.cpuActiveTime,
- counters.cpuIdleTime,
- counters.cpuStealTime,
- counters.cpuLostTime,
- hypervisor.cpuCapacity,
- hypervisor.cpuDemand,
- hypervisor.cpuUsage,
- hypervisor.cpuUsage / localCpuLimit,
- )
- }
-
- override fun getCpuStats(task: Task): GuestCpuStats {
- val guest = requireNotNull(guests[task]) { "Unknown task ${task.uid} at host $uid" }
- return guest.getCpuStats()
- }
-
- override fun hashCode(): Int = uid.hashCode()
-
- override fun equals(other: Any?): Boolean {
- return other is SimHost && uid == other.uid
- }
-
- override fun toString(): String = "SimHost[uid=$uid,name=$name,model=$model]"
-
- public fun fail() {
- reset(HostState.ERROR)
-
- for (guest in localGuests) {
- guest.fail()
- }
- }
-
- public fun recover() {
- updateUptime()
-
- launch()
- }
-
- /**
- * The [SimMachineContext] that represents the machine running the hypervisor.
- */
- private var ctx: SimMachineContext? = null
-
- /**
- * Launch the hypervisor.
- */
- private fun launch() {
- check(ctx == null) { "Concurrent hypervisor running" }
-
- val bootWorkload = bootModel.get()
- val hypervisor = hypervisor
- val hypervisorWorkload =
- object : SimWorkload by hypervisor {
- override fun onStart(ctx: SimMachineContext) {
- try {
- localBootTime = clock.instant()
- localState = HostState.UP
- hypervisor.onStart(ctx)
-
- // Recover the guests that were running on the hypervisor.
- for (guest in localGuests) {
- guest.recover()
- }
- } catch (cause: Throwable) {
- localState = HostState.ERROR
- throw cause
- }
- }
- }
-
- val workload = if (bootWorkload != null) SimWorkloads.chain(bootWorkload, hypervisorWorkload) else hypervisorWorkload
-
- // Launch hypervisor onto machine
- ctx =
- machine.startWorkload(workload, emptyMap()) { cause ->
- localState = if (cause != null) HostState.ERROR else HostState.DOWN
- ctx = null
- }
- }
-
- /**
- * Reset the machine.
- */
- private fun reset(state: HostState) {
- updateUptime()
-
- // Stop the hypervisor
- ctx?.shutdown()
- localState = state
- }
-
- /**
- * Convert flavor to machine model.
- */
- private fun Flavor.toMachineModel(): MachineModel {
- return MachineModel(machine.model.cpu, MemoryUnit("Generic", "Generic", 3200.0, memorySize))
- }
-
- private var localLastReport = clock.millis()
- private var localUptime = 0L
- private var localDowntime = 0L
- private var localBootTime: Instant? = null
- private val localCpuLimit = machine.model.cpu.totalCapacity
-
- /**
- * Helper function to track the uptime of a machine.
- */
- private fun updateUptime() {
- val now = clock.millis()
- val duration = now - localLastReport
- localLastReport = now
-
- if (localState == HostState.UP) {
- localUptime += duration
- } else if (localState == HostState.ERROR) {
- // Only increment downtime if the machine is in a failure state
- localDowntime += duration
- }
-
- val guests = localGuests
- for (i in guests.indices) {
- guests[i].updateUptime()
- }
- }
-}
diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/SimMetaWorkloadMapper.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/SimMetaWorkloadMapper.kt
deleted file mode 100644
index 907f6acd..00000000
--- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/SimMetaWorkloadMapper.kt
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.compute.simulator
-
-import org.opendc.compute.api.Task
-import org.opendc.simulator.compute.workload.SimWorkload
-
-/**
- * A [SimWorkloadMapper] that maps a [Task] to a workload via the meta-data.
- */
-public class SimMetaWorkloadMapper(private val key: String = "workload") : SimWorkloadMapper {
- override fun createWorkload(task: Task): SimWorkload {
- return requireNotNull(task.meta[key] ?: task.image.meta[key]) as SimWorkload
- }
-}
diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/SimWorkloadMapper.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/SimWorkloadMapper.kt
deleted file mode 100644
index a85091a0..00000000
--- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/SimWorkloadMapper.kt
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.compute.simulator
-
-import org.opendc.compute.api.Image
-import org.opendc.compute.api.Task
-import org.opendc.simulator.compute.workload.SimWorkload
-
-/**
- * A [SimWorkloadMapper] is responsible for mapping a [Task] and [Image] to a [SimWorkload] that can be simulated.
- */
-public fun interface SimWorkloadMapper {
- /**
- * Map the specified [task] to a [SimWorkload] that can be simulated.
- */
- public fun createWorkload(task: Task): SimWorkload
-}
diff --git a/opendc-compute/opendc-compute-api/src/main/kotlin/org/opendc/compute/api/TaskWatcher.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/TaskWatcher.kt
index 423d7dec..9fe4dff5 100644
--- a/opendc-compute/opendc-compute-api/src/main/kotlin/org/opendc/compute/api/TaskWatcher.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/TaskWatcher.kt
@@ -20,20 +20,23 @@
* SOFTWARE.
*/
-package org.opendc.compute.api
+package org.opendc.compute.simulator
+
+import org.opendc.compute.api.TaskState
+import org.opendc.compute.simulator.service.ServiceTask
/**
- * An interface used to watch the state of [Task] instances.
+ * An interface used to watch the state of [ServiceTask] instances.
*/
public interface TaskWatcher {
/**
- * This method is invoked when the state of a [Task] changes.
+ * This method is invoked when the state of a [ServiceTask] changes.
*
* @param task The task whose state has changed.
* @param newState The new state of the task.
*/
public fun onStateChanged(
- task: Task,
+ task: ServiceTask,
newState: TaskState,
) {}
}
diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/host/SimHost.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/host/SimHost.kt
new file mode 100644
index 00000000..31ff384c
--- /dev/null
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/host/SimHost.kt
@@ -0,0 +1,369 @@
+/*
+ * Copyright (c) 2020 AtLarge Research
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+package org.opendc.compute.simulator.host
+
+import org.opendc.compute.api.Flavor
+import org.opendc.compute.api.TaskState
+import org.opendc.compute.simulator.internal.Guest
+import org.opendc.compute.simulator.internal.GuestListener
+import org.opendc.compute.simulator.service.ServiceTask
+import org.opendc.compute.simulator.telemetry.GuestCpuStats
+import org.opendc.compute.simulator.telemetry.GuestSystemStats
+import org.opendc.compute.simulator.telemetry.HostCpuStats
+import org.opendc.compute.simulator.telemetry.HostSystemStats
+import org.opendc.simulator.compute.cpu.CpuPowerModel
+import org.opendc.simulator.compute.machine.SimMachine
+import org.opendc.simulator.compute.models.MachineModel
+import org.opendc.simulator.compute.models.MemoryUnit
+import org.opendc.simulator.engine.FlowGraph
+import java.time.Duration
+import java.time.Instant
+import java.time.InstantSource
+import java.util.UUID
+
+/**
+ * A [Host] implementation that simulates virtual machines on a physical machine.
+ *
+ * @param uid The unique identifier of the host.
+ * @param name The name of the host.
+ * @param meta The metadata of the host.
+ * @param clock The (virtual) clock used to track time.
+ * @param graph The Flow Graph that the Host is part of
+ * @param machineModel The static model of the host
+ * @param powerModel The static powerModel of the CPU TODO: can this be combined with machinemodel?
+ * @constructor Create empty Sim host
+ */
+public class SimHost(
+ private val uid: UUID,
+ private val name: String,
+ private val meta: Map<String, Any>,
+ private val clock: InstantSource,
+ private val graph: FlowGraph,
+ private val machineModel: MachineModel,
+ private val powerModel: CpuPowerModel,
+) : AutoCloseable {
+ /**
+ * The event listeners registered with this host.
+ */
+ private val hostListeners = mutableListOf<HostListener>()
+
+ /**
+ * The virtual machines running on the hypervisor.
+ */
+ private val taskToGuestMap = HashMap<ServiceTask, Guest>()
+ private val guests = mutableListOf<Guest>()
+
+ private var hostState: HostState = HostState.DOWN
+ set(value) {
+ if (value != field) {
+ hostListeners.forEach { it.onStateChanged(this, value) }
+ }
+ field = value
+ }
+
+ private val model: HostModel =
+ HostModel(
+ machineModel.cpu.totalCapacity,
+ machineModel.cpu.coreCount,
+ machineModel.memory.size,
+ )
+
+ private var simMachine: SimMachine? = null
+
+ /**
+ * The [GuestListener] that listens for guest events.
+ */
+ private val guestListener =
+ object : GuestListener {
+ override fun onStart(guest: Guest) {
+ hostListeners.forEach { it.onStateChanged(this@SimHost, guest.task, guest.state) }
+ }
+
+ override fun onStop(guest: Guest) {
+ hostListeners.forEach { it.onStateChanged(this@SimHost, guest.task, guest.state) }
+ }
+ }
+
+ private var lastReport = clock.millis()
+ private var totalUptime = 0L
+ private var totalDowntime = 0L
+ private var bootTime: Instant? = null
+ private val cpuLimit = machineModel.cpu.totalCapacity
+
+ init {
+ launch()
+ }
+
+ /**
+ * Launch the hypervisor.
+ */
+ private fun launch() {
+ bootTime = this.clock.instant()
+ hostState = HostState.UP
+
+ if (this.simMachine != null) {
+ return
+ }
+
+ this.simMachine =
+ SimMachine(
+ this.graph,
+ this.machineModel,
+ this.powerModel,
+ ) { cause ->
+ hostState = if (cause != null) HostState.ERROR else HostState.DOWN
+ }
+ }
+
+ override fun close() {
+ reset(HostState.DOWN)
+ }
+
+ public fun fail() {
+ reset(HostState.ERROR)
+
+ // Fail the guest and delete them
+ // This weird loop is the only way I have been able to make it work.
+ while (guests.size > 0) {
+ val guest = guests[0]
+ guest.fail()
+ this.delete(guest.task)
+ }
+ }
+
+ public fun recover() {
+ updateUptime()
+
+ launch()
+ }
+
+ /**
+ * Reset the machine.
+ */
+ private fun reset(state: HostState) {
+ updateUptime()
+
+ // Stop the hypervisor
+ hostState = state
+ }
+
+ public fun getUid(): UUID {
+ return uid
+ }
+
+ public fun getName(): String {
+ return name
+ }
+
+ public fun getModel(): HostModel {
+ return model
+ }
+
+ public fun getMeta(): Map<String, *> {
+ return meta
+ }
+
+ public fun getState(): HostState {
+ return hostState
+ }
+
+ public fun getInstances(): Set<ServiceTask> {
+ return taskToGuestMap.keys
+ }
+
+ public fun getGuests(): List<Guest> {
+ return this.guests
+ }
+
+ public fun canFit(task: ServiceTask): Boolean {
+ val sufficientMemory = model.memoryCapacity >= task.flavor.memorySize
+ val enoughCpus = model.coreCount >= task.flavor.coreCount
+ val canFit = simMachine!!.canFit(task.flavor.toMachineModel())
+
+ return sufficientMemory && enoughCpus && canFit
+ }
+
+ /**
+ * Spawn A Virtual machine that run the Task and put this Task as a Guest on it
+ *
+ * @param task
+ */
+ public fun spawn(task: ServiceTask) {
+ assert(simMachine != null) { "Tried start task $task while no SimMachine is active" }
+
+ require(canFit(task)) { "Task does not fit" }
+
+ val newGuest =
+ Guest(
+ clock,
+ this,
+ guestListener,
+ task,
+ simMachine!!,
+ )
+
+ guests.add(newGuest)
+ newGuest.start()
+
+ taskToGuestMap.computeIfAbsent(task) { newGuest }
+ }
+
+ public fun contains(task: ServiceTask): Boolean {
+ return task in taskToGuestMap
+ }
+
+ public fun start(task: ServiceTask) {
+ val guest = requireNotNull(taskToGuestMap[task]) { "Unknown task ${task.uid} at host $uid" }
+ guest.start()
+ }
+
+ public fun stop(task: ServiceTask) {
+ val guest = requireNotNull(taskToGuestMap[task]) { "Unknown task ${task.uid} at host $uid" }
+ guest.stop()
+ }
+
+ public fun delete(task: ServiceTask) {
+ val guest = taskToGuestMap[task] ?: return
+ guest.delete()
+
+ taskToGuestMap.remove(task)
+ guests.remove(guest)
+ task.host = null
+ }
+
+ public fun removeTask(task: ServiceTask) {
+ val guest = taskToGuestMap[task] ?: return
+ guest.delete()
+
+ taskToGuestMap.remove(task)
+ guests.remove(guest)
+ }
+
+ public fun addListener(listener: HostListener) {
+ hostListeners.add(listener)
+ }
+
+ public fun removeListener(listener: HostListener) {
+ hostListeners.remove(listener)
+ }
+
+ public fun getSystemStats(): HostSystemStats {
+ updateUptime()
+ this.simMachine!!.psu.updateCounters()
+
+ var terminated = 0
+ var running = 0
+ var failed = 0
+ var invalid = 0
+ var completed = 0
+
+ val guests = guests.listIterator()
+ for (guest in guests) {
+ when (guest.state) {
+ TaskState.RUNNING -> running++
+ TaskState.COMPLETED, TaskState.FAILED, TaskState.TERMINATED -> {
+ failed++
+ // Remove guests that have been deleted
+ this.taskToGuestMap.remove(guest.task)
+ guests.remove()
+ }
+ else -> invalid++
+ }
+ }
+
+ return HostSystemStats(
+ Duration.ofMillis(totalUptime),
+ Duration.ofMillis(totalDowntime),
+ bootTime,
+ simMachine!!.psu.powerDraw,
+ simMachine!!.psu.energyUsage,
+ terminated,
+ running,
+ failed,
+ invalid,
+ )
+ }
+
+ public fun getSystemStats(task: ServiceTask): GuestSystemStats {
+ val guest = requireNotNull(taskToGuestMap[task]) { "Unknown task ${task.uid} at host $uid" }
+ return guest.getSystemStats()
+ }
+
+ public fun getCpuStats(): HostCpuStats {
+ simMachine!!.cpu.updateCounters(this.clock.millis())
+
+ val counters = simMachine!!.performanceCounters
+
+ return HostCpuStats(
+ counters.cpuActiveTime,
+ counters.cpuIdleTime,
+ counters.cpuStealTime,
+ counters.cpuLostTime,
+ counters.cpuCapacity,
+ counters.cpuDemand,
+ counters.cpuSupply,
+ counters.cpuSupply / cpuLimit,
+ )
+ }
+
+ public fun getCpuStats(task: ServiceTask): GuestCpuStats {
+ val guest = requireNotNull(taskToGuestMap[task]) { "Unknown task ${task.uid} at host $uid" }
+ return guest.getCpuStats()
+ }
+
+ override fun hashCode(): Int = uid.hashCode()
+
+ override fun equals(other: Any?): Boolean {
+ return other is SimHost && uid == other.uid
+ }
+
+ override fun toString(): String = "SimHost[uid=$uid,name=$name,model=$model]"
+
+ /**
+ * Convert flavor to machine model.
+ */
+ private fun Flavor.toMachineModel(): MachineModel {
+ return MachineModel(simMachine!!.machineModel.cpu, MemoryUnit("Generic", "Generic", 3200.0, memorySize))
+ }
+
+ /**
+ * Helper function to track the uptime of a machine.
+ */
+ private fun updateUptime() {
+ val now = clock.millis()
+ val duration = now - lastReport
+ lastReport = now
+
+ if (hostState == HostState.UP) {
+ totalUptime += duration
+ } else if (hostState == HostState.ERROR) {
+ // Only increment downtime if the machine is in a failure state
+ totalDowntime += duration
+ }
+
+ val guests = guests
+ for (i in guests.indices) {
+ guests[i].updateUptime()
+ }
+ }
+}
diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/internal/DefaultWorkloadMapper.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/internal/DefaultWorkloadMapper.kt
deleted file mode 100644
index 412da37f..00000000
--- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/internal/DefaultWorkloadMapper.kt
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.compute.simulator.internal
-
-import org.opendc.compute.api.Task
-import org.opendc.compute.simulator.SimMetaWorkloadMapper
-import org.opendc.compute.simulator.SimWorkloadMapper
-import org.opendc.simulator.compute.workload.SimWorkload
-import org.opendc.simulator.compute.workload.SimWorkloads
-import java.time.Duration
-
-/**
- * A [SimWorkloadMapper] to introduces a boot delay of 1 ms. This object exists to retain the old behavior while
- * introducing the possibility of adding custom boot delays.
- */
-internal object DefaultWorkloadMapper : SimWorkloadMapper {
- private val delegate = SimMetaWorkloadMapper()
-
- override fun createWorkload(task: Task): SimWorkload {
- val workload = delegate.createWorkload(task)
-
- // FIXME: look at connecting this to frontend. This does currently not work correctly
- val bootWorkload = SimWorkloads.runtime(Duration.ofMillis(0), 1.0, 0L, 0L)
- return SimWorkloads.chain(bootWorkload, workload)
- }
-}
diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/internal/Guest.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/internal/Guest.kt
index cf6c146a..3a923222 100644
--- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/internal/Guest.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/internal/Guest.kt
@@ -23,15 +23,16 @@
package org.opendc.compute.simulator.internal
import mu.KotlinLogging
-import org.opendc.compute.api.Task
import org.opendc.compute.api.TaskState
-import org.opendc.compute.service.driver.telemetry.GuestCpuStats
-import org.opendc.compute.service.driver.telemetry.GuestSystemStats
-import org.opendc.compute.simulator.SimHost
-import org.opendc.compute.simulator.SimWorkloadMapper
-import org.opendc.simulator.compute.SimMachineContext
-import org.opendc.simulator.compute.kernel.SimHypervisor
-import org.opendc.simulator.compute.workload.SimWorkload
+import org.opendc.compute.simulator.host.SimHost
+import org.opendc.compute.simulator.service.ServiceTask
+import org.opendc.compute.simulator.telemetry.GuestCpuStats
+import org.opendc.compute.simulator.telemetry.GuestSystemStats
+import org.opendc.simulator.compute.machine.SimMachine
+import org.opendc.simulator.compute.machine.VirtualMachine
+import org.opendc.simulator.compute.workload.ChainWorkload
+import org.opendc.simulator.compute.workload.TraceFragment
+import org.opendc.simulator.compute.workload.TraceWorkload
import java.time.Duration
import java.time.Instant
import java.time.InstantSource
@@ -39,14 +40,12 @@ import java.time.InstantSource
/**
* A virtual machine instance that is managed by a [SimHost].
*/
-internal class Guest(
+public class Guest(
private val clock: InstantSource,
- val host: SimHost,
- private val hypervisor: SimHypervisor,
- private val mapper: SimWorkloadMapper,
+ public val host: SimHost,
private val listener: GuestListener,
- val task: Task,
- val machine: SimHypervisor.SimVirtualMachine,
+ public val task: ServiceTask,
+ public val simMachine: SimMachine,
) {
/**
* The state of the [Guest].
@@ -54,50 +53,133 @@ internal class Guest(
* [TaskState.PROVISIONING] is an invalid value for a guest, since it applies before the host is selected for
* a task.
*/
- var state: TaskState = TaskState.TERMINATED
+ public var state: TaskState = TaskState.CREATED
private set
/**
+ * The [VirtualMachine] on which the task is currently running
+ */
+ public var virtualMachine: VirtualMachine? = null
+
+ private var uptime = 0L
+ private var downtime = 0L
+ private var lastReport = clock.millis()
+ private var bootTime: Instant? = null
+ private val cpuLimit = simMachine.cpu.cpuModel.totalCapacity
+
+ /**
* Start the guest.
*/
- fun start() {
+ public fun start() {
when (state) {
- TaskState.TERMINATED, TaskState.ERROR -> {
+ TaskState.CREATED, TaskState.FAILED -> {
LOGGER.info { "User requested to start task ${task.uid}" }
doStart()
}
TaskState.RUNNING -> return
- TaskState.DELETED -> {
- LOGGER.warn { "User tried to start deleted task" }
- throw IllegalArgumentException("Task is deleted")
+ TaskState.COMPLETED, TaskState.TERMINATED -> {
+ LOGGER.warn { "User tried to start a finished task" }
+ throw IllegalArgumentException("Task is already finished")
}
else -> assert(false) { "Invalid state transition" }
}
}
/**
+ * Launch the guest on the simulated Virtual machine
+ */
+ private fun doStart() {
+ assert(virtualMachine == null) { "Concurrent job is already running" }
+
+ onStart()
+
+ val bootworkload =
+ TraceWorkload(
+ ArrayList(
+ listOf(
+ TraceFragment(
+ 1000000L,
+ 100000.0,
+ 1,
+ ),
+ ),
+ ),
+ 0,
+ 0,
+ 0.0,
+ )
+ val newChainWorkload =
+ ChainWorkload(
+ ArrayList(listOf(task.workload)),
+ task.workload.checkpointInterval,
+ task.workload.checkpointDuration,
+ task.workload.checkpointIntervalScaling,
+ )
+
+ virtualMachine =
+ simMachine.startWorkload(newChainWorkload) { cause ->
+ onStop(if (cause != null) TaskState.FAILED else TaskState.COMPLETED)
+ }
+ }
+
+ /**
+ * This method is invoked when the guest was started on the host and has booted into a running state.
+ */
+ private fun onStart() {
+ bootTime = clock.instant()
+ state = TaskState.RUNNING
+ listener.onStart(this)
+ }
+
+ /**
* Stop the guest.
*/
- fun stop() {
+ public fun stop() {
when (state) {
- TaskState.RUNNING -> doStop(TaskState.TERMINATED)
- TaskState.ERROR -> doRecover()
- TaskState.TERMINATED, TaskState.DELETED -> return
+ TaskState.RUNNING -> doStop(TaskState.COMPLETED)
+ TaskState.FAILED -> state = TaskState.TERMINATED
+ TaskState.COMPLETED, TaskState.TERMINATED -> return
else -> assert(false) { "Invalid state transition" }
}
}
/**
+ * Attempt to stop the task and put it into [target] state.
+ */
+ private fun doStop(target: TaskState) {
+ assert(virtualMachine != null) { "Invalid job state" }
+ val virtualMachine = this.virtualMachine ?: return
+ if (target == TaskState.FAILED) {
+ virtualMachine.shutdown(Exception("Task has failed"))
+ } else {
+ virtualMachine.shutdown()
+ }
+
+ this.virtualMachine = null
+
+ this.state = target
+ }
+
+ /**
+ * This method is invoked when the guest stopped.
+ */
+ private fun onStop(target: TaskState) {
+ updateUptime()
+
+ state = target
+ listener.onStop(this)
+ }
+
+ /**
* Delete the guest.
*
* This operation will stop the guest if it is running on the host and remove all resources associated with the
* guest.
*/
- fun delete() {
+ public fun delete() {
stop()
- state = TaskState.DELETED
- hypervisor.removeMachine(machine)
+ state = TaskState.FAILED
}
/**
@@ -105,19 +187,19 @@ internal class Guest(
*
* This operation forcibly stops the guest and puts the task into an error state.
*/
- fun fail() {
+ public fun fail() {
if (state != TaskState.RUNNING) {
return
}
- doStop(TaskState.ERROR)
+ doStop(TaskState.FAILED)
}
/**
* Recover the guest if it is in an error state.
*/
- fun recover() {
- if (state != TaskState.ERROR) {
+ public fun recover() {
+ if (state != TaskState.FAILED) {
return
}
@@ -127,117 +209,46 @@ internal class Guest(
/**
* Obtain the system statistics of this guest.
*/
- fun getSystemStats(): GuestSystemStats {
+ public fun getSystemStats(): GuestSystemStats {
updateUptime()
return GuestSystemStats(
- Duration.ofMillis(localUptime),
- Duration.ofMillis(localDowntime),
- localBootTime,
+ Duration.ofMillis(uptime),
+ Duration.ofMillis(downtime),
+ bootTime,
)
}
/**
* Obtain the CPU statistics of this guest.
*/
- fun getCpuStats(): GuestCpuStats {
- val counters = machine.counters
- counters.sync()
+ public fun getCpuStats(): GuestCpuStats {
+ virtualMachine!!.updateCounters(this.clock.millis())
+ val counters = virtualMachine!!.performanceCounters
return GuestCpuStats(
counters.cpuActiveTime / 1000L,
counters.cpuIdleTime / 1000L,
counters.cpuStealTime / 1000L,
counters.cpuLostTime / 1000L,
- machine.cpuCapacity,
- machine.cpuUsage,
- machine.cpuUsage / localCpuLimit,
+ counters.cpuCapacity,
+ counters.cpuSupply,
+ counters.cpuSupply / cpuLimit,
)
}
/**
- * The [SimMachineContext] representing the current active virtual machine instance or `null` if no virtual machine
- * is active.
- */
- private var ctx: SimMachineContext? = null
-
- /**
- * Launch the guest on the simulated
- */
- private fun doStart() {
- assert(ctx == null) { "Concurrent job running" }
-
- onStart()
-
- val workload: SimWorkload = mapper.createWorkload(task)
- workload.setOffset(clock.millis())
- val meta = mapOf("driver" to host, "task" to task) + task.meta
- ctx =
- machine.startWorkload(workload, meta) { cause ->
- onStop(if (cause != null) TaskState.ERROR else TaskState.TERMINATED)
- ctx = null
- }
- }
-
- /**
- * Attempt to stop the task and put it into [target] state.
- */
- private fun doStop(target: TaskState) {
- assert(ctx != null) { "Invalid job state" }
- val ctx = ctx ?: return
- if (target == TaskState.ERROR) {
- ctx.shutdown(Exception("Stopped because of ERROR"))
- } else {
- ctx.shutdown()
- }
-
- state = target
- }
-
- /**
- * Attempt to recover from an error state.
- */
- private fun doRecover() {
- state = TaskState.TERMINATED
- }
-
- /**
- * This method is invoked when the guest was started on the host and has booted into a running state.
- */
- private fun onStart() {
- localBootTime = clock.instant()
- state = TaskState.RUNNING
- listener.onStart(this)
- }
-
- /**
- * This method is invoked when the guest stopped.
- */
- private fun onStop(target: TaskState) {
- updateUptime()
-
- state = target
- listener.onStop(this)
- }
-
- private var localUptime = 0L
- private var localDowntime = 0L
- private var localLastReport = clock.millis()
- private var localBootTime: Instant? = null
- private val localCpuLimit = machine.model.cpu.totalCapacity
-
- /**
* Helper function to track the uptime and downtime of the guest.
*/
- fun updateUptime() {
+ public fun updateUptime() {
val now = clock.millis()
- val duration = now - localLastReport
- localLastReport = now
+ val duration = now - lastReport
+ lastReport = now
if (state == TaskState.RUNNING) {
- localUptime += duration
- } else if (state == TaskState.ERROR) {
- localDowntime += duration
+ uptime += duration
+ } else if (state == TaskState.FAILED) {
+ downtime += duration
}
}
diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/internal/GuestListener.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/internal/GuestListener.kt
index e6d0fdad..895d78f9 100644
--- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/internal/GuestListener.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/internal/GuestListener.kt
@@ -25,14 +25,14 @@ package org.opendc.compute.simulator.internal
/**
* Helper interface to listen for [Guest] events.
*/
-internal interface GuestListener {
+public interface GuestListener {
/**
* This method is invoked when the guest machine is running.
*/
- fun onStart(guest: Guest)
+ public fun onStart(guest: Guest)
/**
* This method is invoked when the guest machine is stopped.
*/
- fun onStop(guest: Guest)
+ public fun onStop(guest: Guest)
}
diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/ComputeMonitorProvisioningStep.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/ComputeMonitorProvisioningStep.kt
index f1123742..f295f522 100644
--- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/ComputeMonitorProvisioningStep.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/ComputeMonitorProvisioningStep.kt
@@ -23,9 +23,9 @@
package org.opendc.compute.simulator.provisioner
import org.opendc.compute.carbon.CarbonTrace
-import org.opendc.compute.service.ComputeService
-import org.opendc.compute.telemetry.ComputeMetricReader
-import org.opendc.compute.telemetry.ComputeMonitor
+import org.opendc.compute.simulator.service.ComputeService
+import org.opendc.compute.simulator.telemetry.ComputeMetricReader
+import org.opendc.compute.simulator.telemetry.ComputeMonitor
import java.time.Duration
/**
@@ -44,7 +44,15 @@ public class ComputeMonitorProvisioningStep(
requireNotNull(
ctx.registry.resolve(serviceDomain, ComputeService::class.java),
) { "Compute service $serviceDomain does not exist" }
- val metricReader = ComputeMetricReader(ctx.dispatcher, service, monitor, exportInterval, startTime, carbonTrace)
+ val metricReader =
+ ComputeMetricReader(
+ ctx.dispatcher,
+ service,
+ monitor,
+ exportInterval,
+ startTime,
+ carbonTrace,
+ )
return AutoCloseable { metricReader.close() }
}
}
diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/ComputeServiceProvisioningStep.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/ComputeServiceProvisioningStep.kt
index 645c9d46..6bdb131f 100644
--- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/ComputeServiceProvisioningStep.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/ComputeServiceProvisioningStep.kt
@@ -22,8 +22,8 @@
package org.opendc.compute.simulator.provisioner
-import org.opendc.compute.service.ComputeService
-import org.opendc.compute.service.scheduler.ComputeScheduler
+import org.opendc.compute.simulator.scheduler.ComputeScheduler
+import org.opendc.compute.simulator.service.ComputeService
import java.time.Duration
/**
diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/ComputeSteps.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/ComputeSteps.kt
index afde8219..07db3d26 100644
--- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/ComputeSteps.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/ComputeSteps.kt
@@ -25,9 +25,8 @@
package org.opendc.compute.simulator.provisioner
import org.opendc.compute.carbon.CarbonTrace
-import org.opendc.compute.service.ComputeService
-import org.opendc.compute.service.scheduler.ComputeScheduler
-import org.opendc.compute.telemetry.ComputeMonitor
+import org.opendc.compute.simulator.scheduler.ComputeScheduler
+import org.opendc.compute.simulator.telemetry.ComputeMonitor
import org.opendc.compute.topology.specs.HostSpec
import java.time.Duration
@@ -41,7 +40,7 @@ import java.time.Duration
public fun setupComputeService(
serviceDomain: String,
scheduler: (ProvisioningContext) -> ComputeScheduler,
- schedulingQuantum: Duration = Duration.ofMinutes(5),
+ schedulingQuantum: Duration = Duration.ofSeconds(1),
maxNumFailures: Int = 10,
): ProvisioningStep {
return ComputeServiceProvisioningStep(serviceDomain, scheduler, schedulingQuantum, maxNumFailures)
@@ -76,7 +75,6 @@ public fun registerComputeMonitor(
public fun setupHosts(
serviceDomain: String,
specs: List<HostSpec>,
- optimize: Boolean = false,
): ProvisioningStep {
- return HostsProvisioningStep(serviceDomain, specs, optimize)
+ return HostsProvisioningStep(serviceDomain, specs)
}
diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/HostsProvisioningStep.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/HostsProvisioningStep.kt
index a80be634..19674d5e 100644
--- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/HostsProvisioningStep.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/HostsProvisioningStep.kt
@@ -22,13 +22,10 @@
package org.opendc.compute.simulator.provisioner
-import org.opendc.compute.service.ComputeService
-import org.opendc.compute.simulator.SimHost
+import org.opendc.compute.simulator.host.SimHost
+import org.opendc.compute.simulator.service.ComputeService
import org.opendc.compute.topology.specs.HostSpec
-import org.opendc.simulator.compute.SimBareMetalMachine
-import org.opendc.simulator.compute.kernel.SimHypervisor
-import org.opendc.simulator.flow2.FlowEngine
-import java.util.SplittableRandom
+import org.opendc.simulator.engine.FlowEngine
/**
* A [ProvisioningStep] that provisions a list of hosts for a [ComputeService].
@@ -40,30 +37,27 @@ import java.util.SplittableRandom
public class HostsProvisioningStep internal constructor(
private val serviceDomain: String,
private val specs: List<HostSpec>,
- private val optimize: Boolean,
) : ProvisioningStep {
override fun apply(ctx: ProvisioningContext): AutoCloseable {
val service =
requireNotNull(
ctx.registry.resolve(serviceDomain, ComputeService::class.java),
) { "Compute service $serviceDomain does not exist" }
- val engine = FlowEngine.create(ctx.dispatcher)
- val graph = engine.newGraph()
val hosts = mutableSetOf<SimHost>()
- for (spec in specs) {
- val machine = SimBareMetalMachine.create(graph, spec.model, spec.psuFactory)
- val hypervisor = SimHypervisor.create(spec.multiplexerFactory, SplittableRandom(ctx.seeder.nextLong()))
+ val flowEngine = FlowEngine.create(ctx.dispatcher)
+ val flowGraph = flowEngine.newGraph()
+ for (spec in specs) {
val host =
SimHost(
spec.uid,
spec.name,
spec.meta,
ctx.dispatcher.timeSource,
- machine,
- hypervisor,
- optimize = optimize,
+ flowGraph,
+ spec.model,
+ spec.cpuPowerModel,
)
require(hosts.add(host)) { "Host with uid ${spec.uid} already exists" }
diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/Provisioner.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/Provisioner.kt
index 58d3a8c2..2e76478e 100644
--- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/Provisioner.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/Provisioner.kt
@@ -23,9 +23,7 @@
package org.opendc.compute.simulator.provisioner
import org.opendc.common.Dispatcher
-import org.opendc.compute.simulator.MutableServiceRegistry
import org.opendc.compute.simulator.ServiceRegistry
-import org.opendc.compute.simulator.ServiceRegistryImpl
import java.util.ArrayDeque
import java.util.SplittableRandom
@@ -47,7 +45,7 @@ public class Provisioner(dispatcher: Dispatcher, seed: Long) : AutoCloseable {
object : ProvisioningContext {
override val dispatcher: Dispatcher = dispatcher
override val seeder: SplittableRandom = SplittableRandom(seed)
- override val registry: MutableServiceRegistry = ServiceRegistryImpl()
+ override val registry: ServiceRegistry = ServiceRegistry()
override fun toString(): String = "Provisioner.ProvisioningContext"
}
diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/ProvisioningContext.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/ProvisioningContext.kt
index 1788c8e2..20c441c4 100644
--- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/ProvisioningContext.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/provisioner/ProvisioningContext.kt
@@ -23,7 +23,7 @@
package org.opendc.compute.simulator.provisioner
import org.opendc.common.Dispatcher
-import org.opendc.compute.simulator.MutableServiceRegistry
+import org.opendc.compute.simulator.ServiceRegistry
import java.util.SplittableRandom
import java.util.random.RandomGenerator
@@ -44,7 +44,7 @@ public interface ProvisioningContext {
public val seeder: RandomGenerator
/**
- * A [MutableServiceRegistry] where the provisioned services are registered.
+ * A [ServiceRegistry] where the provisioned services are registered.
*/
- public val registry: MutableServiceRegistry
+ public val registry: ServiceRegistry
}
diff --git a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/ComputeScheduler.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/ComputeScheduler.kt
index 42de9ebc..f0a2c3b4 100644
--- a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/ComputeScheduler.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/ComputeScheduler.kt
@@ -20,14 +20,13 @@
* SOFTWARE.
*/
-package org.opendc.compute.service.scheduler
+package org.opendc.compute.simulator.scheduler
-import org.opendc.compute.api.Task
-import org.opendc.compute.service.ComputeService
-import org.opendc.compute.service.HostView
+import org.opendc.compute.simulator.service.HostView
+import org.opendc.compute.simulator.service.ServiceTask
/**
- * A generic scheduler interface used by the [ComputeService] to select hosts to place [Task]s on.
+ * A generic scheduler interface used by the [ComputeService] to select hosts to place [ServiceTask]s on.
*/
public interface ComputeScheduler {
/**
@@ -46,5 +45,5 @@ public interface ComputeScheduler {
* @param task The server to select a host for.
* @return The host to schedule the server on or `null` if no server is available.
*/
- public fun select(task: Task): HostView?
+ public fun select(task: ServiceTask): HostView?
}
diff --git a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/ComputeSchedulers.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/ComputeSchedulers.kt
index 7fcc670f..ec3aedcb 100644
--- a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/ComputeSchedulers.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/ComputeSchedulers.kt
@@ -22,15 +22,15 @@
@file:JvmName("ComputeSchedulers")
-package org.opendc.compute.service.scheduler
+package org.opendc.compute.simulator.scheduler
-import org.opendc.compute.service.scheduler.filters.ComputeFilter
-import org.opendc.compute.service.scheduler.filters.RamFilter
-import org.opendc.compute.service.scheduler.filters.VCpuFilter
-import org.opendc.compute.service.scheduler.weights.CoreRamWeigher
-import org.opendc.compute.service.scheduler.weights.InstanceCountWeigher
-import org.opendc.compute.service.scheduler.weights.RamWeigher
-import org.opendc.compute.service.scheduler.weights.VCpuWeigher
+import org.opendc.compute.simulator.scheduler.filters.ComputeFilter
+import org.opendc.compute.simulator.scheduler.filters.RamFilter
+import org.opendc.compute.simulator.scheduler.filters.VCpuFilter
+import org.opendc.compute.simulator.scheduler.weights.CoreRamWeigher
+import org.opendc.compute.simulator.scheduler.weights.InstanceCountWeigher
+import org.opendc.compute.simulator.scheduler.weights.RamWeigher
+import org.opendc.compute.simulator.scheduler.weights.VCpuWeigher
import java.util.SplittableRandom
import java.util.random.RandomGenerator
diff --git a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/FilterScheduler.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/FilterScheduler.kt
index 772a470d..9fd3a862 100644
--- a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/FilterScheduler.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/FilterScheduler.kt
@@ -20,19 +20,19 @@
* SOFTWARE.
*/
-package org.opendc.compute.service.scheduler
+package org.opendc.compute.simulator.scheduler
-import org.opendc.compute.api.Task
-import org.opendc.compute.service.HostView
-import org.opendc.compute.service.scheduler.filters.HostFilter
-import org.opendc.compute.service.scheduler.weights.HostWeigher
+import org.opendc.compute.simulator.scheduler.filters.HostFilter
+import org.opendc.compute.simulator.scheduler.weights.HostWeigher
+import org.opendc.compute.simulator.service.HostView
+import org.opendc.compute.simulator.service.ServiceTask
import java.util.SplittableRandom
import java.util.random.RandomGenerator
import kotlin.math.min
/**
* A [ComputeScheduler] implementation that uses filtering and weighing passes to select
- * the host to schedule a [Task] on.
+ * the host to schedule a [ServiceTask] on.
*
* This implementation is based on the filter scheduler from OpenStack Nova.
* See: https://docs.openstack.org/nova/latest/user/filter-scheduler.html
@@ -65,7 +65,7 @@ public class FilterScheduler(
hosts.remove(host)
}
- override fun select(task: Task): HostView? {
+ override fun select(task: ServiceTask): HostView? {
val hosts = hosts
val filteredHosts = hosts.filter { host -> filters.all { filter -> filter.test(host, task) } }
diff --git a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/ReplayScheduler.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/ReplayScheduler.kt
index d1690ddf..43e366d9 100644
--- a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/ReplayScheduler.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/ReplayScheduler.kt
@@ -20,11 +20,11 @@
* SOFTWARE.
*/
-package org.opendc.compute.service.scheduler
+package org.opendc.compute.simulator.scheduler
import mu.KotlinLogging
-import org.opendc.compute.api.Task
-import org.opendc.compute.service.HostView
+import org.opendc.compute.simulator.service.HostView
+import org.opendc.compute.simulator.service.ServiceTask
/**
* Policy replaying VM-cluster assignment.
@@ -48,11 +48,11 @@ public class ReplayScheduler(private val vmPlacements: Map<String, String>) : Co
hosts.remove(host)
}
- override fun select(task: Task): HostView? {
+ override fun select(task: ServiceTask): HostView? {
val clusterName =
vmPlacements[task.name]
?: throw IllegalStateException("Could not find placement data in VM placement file for VM ${task.name}")
- val machinesInCluster = hosts.filter { it.host.name.contains(clusterName) }
+ val machinesInCluster = hosts.filter { it.host.getName().contains(clusterName) }
if (machinesInCluster.isEmpty()) {
logger.info { "Could not find any machines belonging to cluster $clusterName for image ${task.name}, assigning randomly." }
diff --git a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/filters/ComputeFilter.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/ComputeFilter.kt
index 2ad626f3..99a9390e 100644
--- a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/filters/ComputeFilter.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/ComputeFilter.kt
@@ -20,11 +20,11 @@
* SOFTWARE.
*/
-package org.opendc.compute.service.scheduler.filters
+package org.opendc.compute.simulator.scheduler.filters
-import org.opendc.compute.api.Task
-import org.opendc.compute.service.HostView
-import org.opendc.compute.service.driver.HostState
+import org.opendc.compute.simulator.host.HostState
+import org.opendc.compute.simulator.service.HostView
+import org.opendc.compute.simulator.service.ServiceTask
/**
* A [HostFilter] that filters on active hosts.
@@ -32,9 +32,9 @@ import org.opendc.compute.service.driver.HostState
public class ComputeFilter : HostFilter {
override fun test(
host: HostView,
- task: Task,
+ task: ServiceTask,
): Boolean {
- val result = host.host.state == HostState.UP
+ val result = host.host.getState() == HostState.UP
return result
}
diff --git a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/filters/DifferentHostFilter.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/DifferentHostFilter.kt
index ffafeaa9..279a2717 100644
--- a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/filters/DifferentHostFilter.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/DifferentHostFilter.kt
@@ -20,10 +20,10 @@
* SOFTWARE.
*/
-package org.opendc.compute.service.scheduler.filters
+package org.opendc.compute.simulator.scheduler.filters
-import org.opendc.compute.api.Task
-import org.opendc.compute.service.HostView
+import org.opendc.compute.simulator.service.HostView
+import org.opendc.compute.simulator.service.ServiceTask
import java.util.UUID
/**
@@ -32,10 +32,10 @@ import java.util.UUID
public class DifferentHostFilter : HostFilter {
override fun test(
host: HostView,
- task: Task,
+ task: ServiceTask,
): Boolean {
@Suppress("UNCHECKED_CAST")
val affinityUUIDs = task.meta["scheduler_hint:different_host"] as? Set<UUID> ?: return true
- return host.host.instances.none { it.uid in affinityUUIDs }
+ return host.host.getInstances().none { it.uid in affinityUUIDs }
}
}
diff --git a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/filters/HostFilter.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/HostFilter.kt
index f506127a..bb9c1cbf 100644
--- a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/filters/HostFilter.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/HostFilter.kt
@@ -20,11 +20,10 @@
* SOFTWARE.
*/
-package org.opendc.compute.service.scheduler.filters
+package org.opendc.compute.simulator.scheduler.filters
-import org.opendc.compute.api.Task
-import org.opendc.compute.service.HostView
-import org.opendc.compute.service.scheduler.FilterScheduler
+import org.opendc.compute.simulator.service.HostView
+import org.opendc.compute.simulator.service.ServiceTask
/**
* A filter used by the [FilterScheduler] to filter hosts.
@@ -36,6 +35,6 @@ public fun interface HostFilter {
*/
public fun test(
host: HostView,
- task: Task,
+ task: ServiceTask,
): Boolean
}
diff --git a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/filters/InstanceCountFilter.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/InstanceCountFilter.kt
index 7d5eb400..53d68acf 100644
--- a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/filters/InstanceCountFilter.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/InstanceCountFilter.kt
@@ -20,10 +20,10 @@
* SOFTWARE.
*/
-package org.opendc.compute.service.scheduler.filters
+package org.opendc.compute.simulator.scheduler.filters
-import org.opendc.compute.api.Task
-import org.opendc.compute.service.HostView
+import org.opendc.compute.simulator.service.HostView
+import org.opendc.compute.simulator.service.ServiceTask
/**
* A [HostFilter] that filters hosts based on the number of instances on the host.
@@ -33,7 +33,7 @@ import org.opendc.compute.service.HostView
public class InstanceCountFilter(private val limit: Int) : HostFilter {
override fun test(
host: HostView,
- task: Task,
+ task: ServiceTask,
): Boolean {
return host.instanceCount < limit
}
diff --git a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/filters/RamFilter.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/RamFilter.kt
index 0a28ccc6..0b570d52 100644
--- a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/filters/RamFilter.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/RamFilter.kt
@@ -20,24 +20,24 @@
* SOFTWARE.
*/
-package org.opendc.compute.service.scheduler.filters
+package org.opendc.compute.simulator.scheduler.filters
-import org.opendc.compute.api.Task
-import org.opendc.compute.service.HostView
+import org.opendc.compute.simulator.service.HostView
+import org.opendc.compute.simulator.service.ServiceTask
/**
- * A [HostFilter] that filters hosts based on the memory requirements of a [Task] and the RAM available on the host.
+ * A [HostFilter] that filters hosts based on the memory requirements of a [ServiceTask] and the RAM available on the host.
*
* @param allocationRatio Virtual RAM to physical RAM allocation ratio.
*/
public class RamFilter(private val allocationRatio: Double) : HostFilter {
override fun test(
host: HostView,
- task: Task,
+ task: ServiceTask,
): Boolean {
val requestedMemory = task.flavor.memorySize
val availableMemory = host.availableMemory
- val memoryCapacity = host.host.model.memoryCapacity
+ val memoryCapacity = host.host.getModel().memoryCapacity
// Do not allow an instance to overcommit against itself, only against
// other instances.
diff --git a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/filters/SameHostFilter.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/SameHostFilter.kt
index d8634285..761b125d 100644
--- a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/filters/SameHostFilter.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/SameHostFilter.kt
@@ -20,10 +20,10 @@
* SOFTWARE.
*/
-package org.opendc.compute.service.scheduler.filters
+package org.opendc.compute.simulator.scheduler.filters
-import org.opendc.compute.api.Task
-import org.opendc.compute.service.HostView
+import org.opendc.compute.simulator.service.HostView
+import org.opendc.compute.simulator.service.ServiceTask
import java.util.UUID
/**
@@ -32,10 +32,10 @@ import java.util.UUID
public class SameHostFilter : HostFilter {
override fun test(
host: HostView,
- task: Task,
+ task: ServiceTask,
): Boolean {
@Suppress("UNCHECKED_CAST")
val affinityUUIDs = task.meta["scheduler_hint:same_host"] as? Set<UUID> ?: return true
- return host.host.instances.any { it.uid in affinityUUIDs }
+ return host.host.getInstances().any { it.uid in affinityUUIDs }
}
}
diff --git a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/filters/VCpuCapacityFilter.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/VCpuCapacityFilter.kt
index 5af7ccf0..256caa94 100644
--- a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/filters/VCpuCapacityFilter.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/VCpuCapacityFilter.kt
@@ -20,23 +20,22 @@
* SOFTWARE.
*/
-package org.opendc.compute.service.scheduler.filters
+package org.opendc.compute.simulator.scheduler.filters
-import org.opendc.compute.api.Task
-import org.opendc.compute.service.HostView
+import org.opendc.compute.simulator.service.HostView
+import org.opendc.compute.simulator.service.ServiceTask
/**
- * A [HostFilter] that filters hosts based on the vCPU speed requirements of a [Task] and the available
+ * A [HostFilter] that filters hosts based on the vCPU speed requirements of a [ServiceTask] and the available
* capacity on the host.
*/
public class VCpuCapacityFilter : HostFilter {
override fun test(
host: HostView,
- task: Task,
+ task: ServiceTask,
): Boolean {
val requiredCapacity = task.flavor.meta["cpu-capacity"] as? Double
- val hostModel = host.host.model
- val availableCapacity = hostModel.cpuCapacity
+ val availableCapacity = host.host.getModel().cpuCapacity
return requiredCapacity == null || availableCapacity >= (requiredCapacity / task.flavor.coreCount)
}
diff --git a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/filters/VCpuFilter.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/VCpuFilter.kt
index 442e58f6..c179a7bf 100644
--- a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/filters/VCpuFilter.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/filters/VCpuFilter.kt
@@ -20,23 +20,23 @@
* SOFTWARE.
*/
-package org.opendc.compute.service.scheduler.filters
+package org.opendc.compute.simulator.scheduler.filters
-import org.opendc.compute.api.Task
-import org.opendc.compute.service.HostView
+import org.opendc.compute.simulator.service.HostView
+import org.opendc.compute.simulator.service.ServiceTask
/**
- * A [HostFilter] that filters hosts based on the vCPU requirements of a [Task] and the available vCPUs on the host.
+ * A [HostFilter] that filters hosts based on the vCPU requirements of a [ServiceTask] and the available vCPUs on the host.
*
* @param allocationRatio Virtual CPU to physical CPU allocation ratio.
*/
public class VCpuFilter(private val allocationRatio: Double) : HostFilter {
override fun test(
host: HostView,
- task: Task,
+ task: ServiceTask,
): Boolean {
val requested = task.flavor.coreCount
- val totalCores = host.host.model.coreCount
+ val totalCores = host.host.getModel().coreCount
val limit = totalCores * allocationRatio
// Do not allow an instance to overcommit against itself, only against other instances
diff --git a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/weights/CoreRamWeigher.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/weights/CoreRamWeigher.kt
index 6e320bf4..b6c43c10 100644
--- a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/weights/CoreRamWeigher.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/weights/CoreRamWeigher.kt
@@ -20,10 +20,10 @@
* SOFTWARE.
*/
-package org.opendc.compute.service.scheduler.weights
+package org.opendc.compute.simulator.scheduler.weights
-import org.opendc.compute.api.Task
-import org.opendc.compute.service.HostView
+import org.opendc.compute.simulator.service.HostView
+import org.opendc.compute.simulator.service.ServiceTask
/**
* A [HostWeigher] that weighs the hosts based on the available memory per core on the host.
@@ -35,7 +35,7 @@ import org.opendc.compute.service.HostView
public class CoreRamWeigher(override val multiplier: Double = 1.0) : HostWeigher {
override fun getWeight(
host: HostView,
- task: Task,
+ task: ServiceTask,
): Double {
return host.availableMemory.toDouble()
}
diff --git a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/weights/HostWeigher.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/weights/HostWeigher.kt
index 3f2c4123..c1e0c590 100644
--- a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/weights/HostWeigher.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/weights/HostWeigher.kt
@@ -20,11 +20,10 @@
* SOFTWARE.
*/
-package org.opendc.compute.service.scheduler.weights
+package org.opendc.compute.simulator.scheduler.weights
-import org.opendc.compute.api.Task
-import org.opendc.compute.service.HostView
-import org.opendc.compute.service.scheduler.FilterScheduler
+import org.opendc.compute.simulator.service.HostView
+import org.opendc.compute.simulator.service.ServiceTask
/**
* An interface used by the [FilterScheduler] to weigh the pool of host for a scheduling request.
@@ -36,11 +35,11 @@ public interface HostWeigher {
public val multiplier: Double
/**
- * Obtain the weight of the specified [host] when scheduling the specified [task].
+ * Obtain the weight of the specified [host] when scheduling the specified [ServiceTask].
*/
public fun getWeight(
host: HostView,
- task: Task,
+ task: ServiceTask,
): Double
/**
@@ -48,7 +47,7 @@ public interface HostWeigher {
*/
public fun getWeights(
hosts: List<HostView>,
- task: Task,
+ task: ServiceTask,
): Result {
val weights = DoubleArray(hosts.size)
var min = Double.MAX_VALUE
diff --git a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/weights/InstanceCountWeigher.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/weights/InstanceCountWeigher.kt
index 0789f109..9277c1ae 100644
--- a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/weights/InstanceCountWeigher.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/weights/InstanceCountWeigher.kt
@@ -20,10 +20,10 @@
* SOFTWARE.
*/
-package org.opendc.compute.service.scheduler.weights
+package org.opendc.compute.simulator.scheduler.weights
-import org.opendc.compute.api.Task
-import org.opendc.compute.service.HostView
+import org.opendc.compute.simulator.service.HostView
+import org.opendc.compute.simulator.service.ServiceTask
/**
* A [HostWeigher] that weighs the hosts based on the number of instances on the host.
@@ -31,7 +31,7 @@ import org.opendc.compute.service.HostView
public class InstanceCountWeigher(override val multiplier: Double = 1.0) : HostWeigher {
override fun getWeight(
host: HostView,
- task: Task,
+ task: ServiceTask,
): Double {
return host.instanceCount.toDouble()
}
diff --git a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/weights/RamWeigher.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/weights/RamWeigher.kt
index fb03d064..1cbfea59 100644
--- a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/weights/RamWeigher.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/weights/RamWeigher.kt
@@ -20,10 +20,10 @@
* SOFTWARE.
*/
-package org.opendc.compute.service.scheduler.weights
+package org.opendc.compute.simulator.scheduler.weights
-import org.opendc.compute.api.Task
-import org.opendc.compute.service.HostView
+import org.opendc.compute.simulator.service.HostView
+import org.opendc.compute.simulator.service.ServiceTask
/**
* A [HostWeigher] that weighs the hosts based on the available RAM (memory) on the host.
@@ -34,7 +34,7 @@ import org.opendc.compute.service.HostView
public class RamWeigher(override val multiplier: Double = 1.0) : HostWeigher {
override fun getWeight(
host: HostView,
- task: Task,
+ task: ServiceTask,
): Double {
return host.availableMemory.toDouble()
}
diff --git a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/weights/VCpuCapacityWeigher.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/weights/VCpuCapacityWeigher.kt
index 5f99cab3..4f52e11a 100644
--- a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/weights/VCpuCapacityWeigher.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/weights/VCpuCapacityWeigher.kt
@@ -20,10 +20,10 @@
* SOFTWARE.
*/
-package org.opendc.compute.service.scheduler.weights
+package org.opendc.compute.simulator.scheduler.weights
-import org.opendc.compute.api.Task
-import org.opendc.compute.service.HostView
+import org.opendc.compute.simulator.service.HostView
+import org.opendc.compute.simulator.service.ServiceTask
/**
* A [HostWeigher] that weighs the hosts based on the difference required vCPU capacity and the available CPU capacity.
@@ -31,9 +31,9 @@ import org.opendc.compute.service.HostView
public class VCpuCapacityWeigher(override val multiplier: Double = 1.0) : HostWeigher {
override fun getWeight(
host: HostView,
- task: Task,
+ task: ServiceTask,
): Double {
- val model = host.host.model
+ val model = host.host.getModel()
val requiredCapacity = task.flavor.meta["cpu-capacity"] as? Double ?: 0.0
return model.cpuCapacity - requiredCapacity / task.flavor.coreCount
}
diff --git a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/weights/VCpuWeigher.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/weights/VCpuWeigher.kt
index 0c3d9c21..3f9a7f03 100644
--- a/opendc-compute/opendc-compute-service/src/main/kotlin/org/opendc/compute/service/scheduler/weights/VCpuWeigher.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/scheduler/weights/VCpuWeigher.kt
@@ -20,10 +20,10 @@
* SOFTWARE.
*/
-package org.opendc.compute.service.scheduler.weights
+package org.opendc.compute.simulator.scheduler.weights
-import org.opendc.compute.api.Task
-import org.opendc.compute.service.HostView
+import org.opendc.compute.simulator.service.HostView
+import org.opendc.compute.simulator.service.ServiceTask
/**
* A [HostWeigher] that weighs the hosts based on the remaining number of vCPUs available.
@@ -37,7 +37,7 @@ public class VCpuWeigher(private val allocationRatio: Double, override val multi
override fun getWeight(
host: HostView,
- task: Task,
+ task: ServiceTask,
): Double {
return allocationRatio - host.provisionedCores
}
diff --git a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/ComputeMetricReader.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/ComputeMetricReader.kt
index 56cda31c..d5fb991d 100644
--- a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/ComputeMetricReader.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/ComputeMetricReader.kt
@@ -20,7 +20,7 @@
* SOFTWARE.
*/
-package org.opendc.compute.telemetry
+package org.opendc.compute.simulator.telemetry
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.delay
@@ -29,16 +29,16 @@ import kotlinx.coroutines.launch
import mu.KotlinLogging
import org.opendc.common.Dispatcher
import org.opendc.common.asCoroutineDispatcher
-import org.opendc.compute.api.Task
import org.opendc.compute.api.TaskState
import org.opendc.compute.carbon.CarbonTrace
-import org.opendc.compute.service.ComputeService
-import org.opendc.compute.service.driver.Host
-import org.opendc.compute.telemetry.table.HostInfo
-import org.opendc.compute.telemetry.table.HostTableReader
-import org.opendc.compute.telemetry.table.ServiceTableReader
-import org.opendc.compute.telemetry.table.TaskInfo
-import org.opendc.compute.telemetry.table.TaskTableReader
+import org.opendc.compute.simulator.host.SimHost
+import org.opendc.compute.simulator.service.ComputeService
+import org.opendc.compute.simulator.service.ServiceTask
+import org.opendc.compute.simulator.telemetry.table.HostInfo
+import org.opendc.compute.simulator.telemetry.table.HostTableReader
+import org.opendc.compute.simulator.telemetry.table.ServiceTableReader
+import org.opendc.compute.simulator.telemetry.table.TaskInfo
+import org.opendc.compute.simulator.telemetry.table.TaskTableReader
import java.time.Duration
import java.time.Instant
@@ -66,17 +66,23 @@ public class ComputeMetricReader(
/**
* Aggregator for service metrics.
*/
- private val serviceTableReader = ServiceTableReaderImpl(service, startTime)
+ private val serviceTableReader =
+ ServiceTableReaderImpl(
+ service,
+ startTime,
+ )
+
+ private var loggCounter = 0
/**
* Mapping from [Host] instances to [HostTableReaderImpl]
*/
- private val hostTableReaders = mutableMapOf<Host, HostTableReaderImpl>()
+ private val hostTableReaders = mutableMapOf<SimHost, HostTableReaderImpl>()
/**
* Mapping from [Task] instances to [TaskTableReaderImpl]
*/
- private val taskTableReaders = mutableMapOf<Task, TaskTableReaderImpl>()
+ private val taskTableReaders = mutableMapOf<ServiceTask, TaskTableReaderImpl>()
/**
* The background job that is responsible for collecting the metrics every cycle.
@@ -100,25 +106,57 @@ public class ComputeMetricReader(
}
private fun loggState() {
+ loggCounter++
try {
val now = this.clock.instant()
for (host in this.service.hosts) {
- val reader = this.hostTableReaders.computeIfAbsent(host) { HostTableReaderImpl(it, startTime, carbonTrace) }
+ val reader =
+ this.hostTableReaders.computeIfAbsent(host) {
+ HostTableReaderImpl(
+ it,
+ startTime,
+ carbonTrace,
+ )
+ }
reader.record(now)
this.monitor.record(reader.copy())
reader.reset()
}
for (task in this.service.tasks) {
- val reader = this.taskTableReaders.computeIfAbsent(task) { TaskTableReaderImpl(service, it, startTime) }
+ val reader =
+ this.taskTableReaders.computeIfAbsent(task) {
+ TaskTableReaderImpl(
+ service,
+ it,
+ startTime,
+ )
+ }
reader.record(now)
this.monitor.record(reader.copy())
reader.reset()
}
+ for (task in this.service.tasksToRemove) {
+ task.delete()
+ }
+ this.service.clearTasksToRemove()
+
this.serviceTableReader.record(now)
monitor.record(this.serviceTableReader.copy())
+
+ if (loggCounter >= 100) {
+ var loggString = "\n\t\t\t\t\tMetrics after ${now.toEpochMilli() / 1000 / 60 / 60} hours:\n"
+ loggString += "\t\t\t\t\t\tTasks Total: ${this.serviceTableReader.tasksTotal}\n"
+ loggString += "\t\t\t\t\t\tTasks Active: ${this.serviceTableReader.tasksActive}\n"
+ loggString += "\t\t\t\t\t\tTasks Pending: ${this.serviceTableReader.tasksPending}\n"
+ loggString += "\t\t\t\t\t\tTasks Completed: ${this.serviceTableReader.tasksCompleted}\n"
+ loggString += "\t\t\t\t\t\tTasks Terminated: ${this.serviceTableReader.tasksTerminated}\n"
+
+ this.logger.warn { loggString }
+ loggCounter = 0
+ }
} catch (cause: Throwable) {
this.logger.warn(cause) { "Exporter threw an Exception" }
}
@@ -136,7 +174,10 @@ public class ComputeMetricReader(
private val startTime: Duration = Duration.ofMillis(0),
) : ServiceTableReader {
override fun copy(): ServiceTableReader {
- val newServiceTable = ServiceTableReaderImpl(service)
+ val newServiceTable =
+ ServiceTableReaderImpl(
+ service,
+ )
newServiceTable.setValues(this)
return newServiceTable
@@ -151,9 +192,10 @@ public class ComputeMetricReader(
_tasksTotal = table.tasksTotal
_tasksPending = table.tasksPending
_tasksActive = table.tasksActive
+ _tasksCompleted = table.tasksCompleted
+ _tasksTerminated = table.tasksTerminated
_attemptsSuccess = table.attemptsSuccess
_attemptsFailure = table.attemptsFailure
- _attemptsError = table.attemptsError
}
private var _timestamp: Instant = Instant.MIN
@@ -180,10 +222,18 @@ public class ComputeMetricReader(
get() = _tasksPending
private var _tasksPending = 0
+ override val tasksCompleted: Int
+ get() = _tasksCompleted
+ private var _tasksCompleted = 0
+
override val tasksActive: Int
get() = _tasksActive
private var _tasksActive = 0
+ override val tasksTerminated: Int
+ get() = _tasksTerminated
+ private var _tasksTerminated = 0
+
override val attemptsSuccess: Int
get() = _attemptsSuccess
private var _attemptsSuccess = 0
@@ -192,10 +242,6 @@ public class ComputeMetricReader(
get() = _attemptsFailure
private var _attemptsFailure = 0
- override val attemptsError: Int
- get() = _attemptsError
- private var _attemptsError = 0
-
/**
* Record the next cycle.
*/
@@ -208,10 +254,11 @@ public class ComputeMetricReader(
_hostsDown = stats.hostsUnavailable
_tasksTotal = stats.tasksTotal
_tasksPending = stats.tasksPending
+ _tasksCompleted = stats.tasksCompleted
_tasksActive = stats.tasksActive
+ _tasksTerminated = stats.tasksTerminated
_attemptsSuccess = stats.attemptsSuccess.toInt()
_attemptsFailure = stats.attemptsFailure.toInt()
- _attemptsError = stats.attemptsError.toInt()
}
}
@@ -219,12 +266,13 @@ public class ComputeMetricReader(
* An aggregator for host metrics before they are reported.
*/
private class HostTableReaderImpl(
- host: Host,
+ host: SimHost,
private val startTime: Duration = Duration.ofMillis(0),
private val carbonTrace: CarbonTrace = CarbonTrace(null),
) : HostTableReader {
override fun copy(): HostTableReader {
- val newHostTable = HostTableReaderImpl(_host)
+ val newHostTable =
+ HostTableReaderImpl(_host)
newHostTable.setValues(this)
return newHostTable
@@ -259,7 +307,14 @@ public class ComputeMetricReader(
private val _host = host
override val host: HostInfo =
- HostInfo(host.uid.toString(), host.name, "x86", host.model.coreCount, host.model.cpuCapacity, host.model.memoryCapacity)
+ HostInfo(
+ host.getUid().toString(),
+ host.getName(),
+ "x86",
+ host.getModel().coreCount,
+ host.getModel().cpuCapacity,
+ host.getModel().memoryCapacity,
+ )
override val timestamp: Instant
get() = _timestamp
@@ -285,21 +340,21 @@ public class ComputeMetricReader(
get() = _guestsInvalid
private var _guestsInvalid = 0
- override val cpuLimit: Double
+ override val cpuLimit: Float
get() = _cpuLimit
- private var _cpuLimit = 0.0
+ private var _cpuLimit = 0.0f
- override val cpuUsage: Double
+ override val cpuUsage: Float
get() = _cpuUsage
- private var _cpuUsage = 0.0
+ private var _cpuUsage = 0.0f
- override val cpuDemand: Double
+ override val cpuDemand: Float
get() = _cpuDemand
- private var _cpuDemand = 0.0
+ private var _cpuDemand = 0.0f
- override val cpuUtilization: Double
+ override val cpuUtilization: Float
get() = _cpuUtilization
- private var _cpuUtilization = 0.0
+ private var _cpuUtilization = 0.0f
override val cpuActiveTime: Long
get() = _cpuActiveTime - previousCpuActiveTime
@@ -321,22 +376,22 @@ public class ComputeMetricReader(
private var _cpuLostTime = 0L
private var previousCpuLostTime = 0L
- override val powerDraw: Double
+ override val powerDraw: Float
get() = _powerDraw
- private var _powerDraw = 0.0
+ private var _powerDraw = 0.0f
- override val energyUsage: Double
- get() = _energyUsage - previousPowerTotal
- private var _energyUsage = 0.0
- private var previousPowerTotal = 0.0
+ override val energyUsage: Float
+ get() = _energyUsage - previousEnergyUsage
+ private var _energyUsage = 0.0f
+ private var previousEnergyUsage = 0.0f
- override val carbonIntensity: Double
+ override val carbonIntensity: Float
get() = _carbonIntensity
- private var _carbonIntensity = 0.0
+ private var _carbonIntensity = 0.0f
- override val carbonEmission: Double
+ override val carbonEmission: Float
get() = _carbonEmission
- private var _carbonEmission = 0.0
+ private var _carbonEmission = 0.0f
override val uptime: Long
get() = _uptime - previousUptime
@@ -382,7 +437,7 @@ public class ComputeMetricReader(
_energyUsage = hostSysStats.energyUsage
_carbonIntensity = carbonTrace.getCarbonIntensity(timestampAbsolute)
- _carbonEmission = carbonIntensity * (energyUsage / 3600000.0) // convert energy usage from J to kWh
+ _carbonEmission = carbonIntensity * (energyUsage / 3600000.0f) // convert energy usage from J to kWh
_uptime = hostSysStats.uptime.toMillis()
_downtime = hostSysStats.downtime.toMillis()
_bootTime = hostSysStats.bootTime
@@ -398,7 +453,7 @@ public class ComputeMetricReader(
previousCpuIdleTime = _cpuIdleTime
previousCpuStealTime = _cpuStealTime
previousCpuLostTime = _cpuLostTime
- previousPowerTotal = _energyUsage
+ previousEnergyUsage = _energyUsage
previousUptime = _uptime
previousDowntime = _downtime
@@ -407,15 +462,15 @@ public class ComputeMetricReader(
_guestsError = 0
_guestsInvalid = 0
- _cpuLimit = 0.0
- _cpuUsage = 0.0
- _cpuDemand = 0.0
- _cpuUtilization = 0.0
+ _cpuLimit = 0.0f
+ _cpuUsage = 0.0f
+ _cpuDemand = 0.0f
+ _cpuUtilization = 0.0f
- _powerDraw = 0.0
- _energyUsage = 0.0
- _carbonIntensity = 0.0
- _carbonEmission = 0.0
+ _powerDraw = 0.0f
+ _energyUsage = 0.0f
+ _carbonIntensity = 0.0f
+ _carbonEmission = 0.0f
}
}
@@ -424,11 +479,15 @@ public class ComputeMetricReader(
*/
private class TaskTableReaderImpl(
private val service: ComputeService,
- private val task: Task,
+ private val task: ServiceTask,
private val startTime: Duration = Duration.ofMillis(0),
) : TaskTableReader {
override fun copy(): TaskTableReader {
- val newTaskTable = TaskTableReaderImpl(service, task)
+ val newTaskTable =
+ TaskTableReaderImpl(
+ service,
+ task,
+ )
newTaskTable.setValues(this)
return newTaskTable
@@ -451,6 +510,9 @@ public class ComputeMetricReader(
_bootTime = table.bootTime
_bootTimeAbsolute = table.bootTimeAbsolute
+ _creationTime = table.creationTime
+ _finishTime = table.finishTime
+
_taskState = table.taskState
}
@@ -463,8 +525,6 @@ public class ComputeMetricReader(
task.name,
"vm",
"x86",
- task.image.uid.toString(),
- task.image.name,
task.flavor.coreCount,
task.flavor.memorySize,
)
@@ -473,7 +533,7 @@ public class ComputeMetricReader(
* The [HostInfo] of the host on which the task is hosted.
*/
override var host: HostInfo? = null
- private var _host: Host? = null
+ private var _host: SimHost? = null
private var _timestamp = Instant.MIN
override val timestamp: Instant
@@ -501,9 +561,17 @@ public class ComputeMetricReader(
get() = _bootTime
private var _bootTime: Instant? = null
- override val cpuLimit: Double
+ override val creationTime: Instant?
+ get() = _creationTime
+ private var _creationTime: Instant? = null
+
+ override val finishTime: Instant?
+ get() = _finishTime
+ private var _finishTime: Instant? = null
+
+ override val cpuLimit: Float
get() = _cpuLimit
- private var _cpuLimit = 0.0
+ private var _cpuLimit = 0.0f
override val cpuActiveTime: Long
get() = _cpuActiveTime - previousCpuActiveTime
@@ -538,16 +606,16 @@ public class ComputeMetricReader(
*/
fun record(now: Instant) {
val newHost = service.lookupHost(task)
- if (newHost != null && newHost.uid != _host?.uid) {
+ if (newHost != null && newHost.getUid() != _host?.getUid()) {
_host = newHost
host =
HostInfo(
- newHost.uid.toString(),
- newHost.name,
+ newHost.getUid().toString(),
+ newHost.getName(),
"x86",
- newHost.model.coreCount,
- newHost.model.cpuCapacity,
- newHost.model.memoryCapacity,
+ newHost.getModel().coreCount,
+ newHost.getModel().cpuCapacity,
+ newHost.getModel().memoryCapacity,
)
}
@@ -557,7 +625,7 @@ public class ComputeMetricReader(
_timestamp = now
_timestampAbsolute = now + startTime
- _cpuLimit = cpuStats?.capacity ?: 0.0
+ _cpuLimit = cpuStats?.capacity ?: 0.0f
_cpuActiveTime = cpuStats?.activeTime ?: 0
_cpuIdleTime = cpuStats?.idleTime ?: 0
_cpuStealTime = cpuStats?.stealTime ?: 0
@@ -566,6 +634,8 @@ public class ComputeMetricReader(
_downtime = sysStats?.downtime?.toMillis() ?: 0
_provisionTime = task.launchedAt
_bootTime = sysStats?.bootTime
+ _creationTime = task.createdAt
+ _finishTime = task.finishedAt
_taskState = task.state
@@ -588,7 +658,7 @@ public class ComputeMetricReader(
previousCpuLostTime = _cpuLostTime
_host = null
- _cpuLimit = 0.0
+ _cpuLimit = 0.0f
}
}
}
diff --git a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/ComputeMonitor.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/ComputeMonitor.kt
index 1df058fb..534bcc09 100644
--- a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/ComputeMonitor.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/ComputeMonitor.kt
@@ -20,11 +20,11 @@
* SOFTWARE.
*/
-package org.opendc.compute.telemetry
+package org.opendc.compute.simulator.telemetry
-import org.opendc.compute.telemetry.table.HostTableReader
-import org.opendc.compute.telemetry.table.ServiceTableReader
-import org.opendc.compute.telemetry.table.TaskTableReader
+import org.opendc.compute.simulator.telemetry.table.HostTableReader
+import org.opendc.compute.simulator.telemetry.table.ServiceTableReader
+import org.opendc.compute.simulator.telemetry.table.TaskTableReader
/**
* A monitor that tracks the metrics and events of the OpenDC Compute service.
diff --git a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/ComputeExportConfig.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/parquet/ComputeExportConfig.kt
index 161c0936..3f220ad1 100644
--- a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/ComputeExportConfig.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/parquet/ComputeExportConfig.kt
@@ -20,7 +20,7 @@
* SOFTWARE.
*/
-package org.opendc.compute.telemetry.export.parquet
+package org.opendc.compute.simulator.telemetry.parquet
import kotlinx.serialization.KSerializer
import kotlinx.serialization.Serializable
@@ -35,9 +35,9 @@ import kotlinx.serialization.json.JsonDecoder
import kotlinx.serialization.json.JsonElement
import kotlinx.serialization.json.jsonObject
import org.opendc.common.logger.logger
-import org.opendc.compute.telemetry.table.HostTableReader
-import org.opendc.compute.telemetry.table.ServiceTableReader
-import org.opendc.compute.telemetry.table.TaskTableReader
+import org.opendc.compute.simulator.telemetry.table.HostTableReader
+import org.opendc.compute.simulator.telemetry.table.ServiceTableReader
+import org.opendc.compute.simulator.telemetry.table.TaskTableReader
import org.opendc.trace.util.parquet.exporter.ColListSerializer
import org.opendc.trace.util.parquet.exporter.ExportColumn
import org.opendc.trace.util.parquet.exporter.Exportable
@@ -97,7 +97,7 @@ public data class ComputeExportConfig(
* columns for [HostTableReader], [TaskTableReader] and [ServiceTableReader].
*/
public val ALL_COLUMNS: ComputeExportConfig by lazy {
- loadDfltColumns()
+ ComputeExportConfig.Companion.loadDfltColumns()
ComputeExportConfig(
hostExportColumns = ExportColumn.getAllLoadedColumns(),
taskExportColumns = ExportColumn.getAllLoadedColumns(),
@@ -135,7 +135,7 @@ public data class ComputeExportConfig(
}
// Loads the default columns so that they are available for deserialization.
- loadDfltColumns()
+ ComputeExportConfig.Companion.loadDfltColumns()
val elem = jsonDec.decodeJsonElement().jsonObject
val hostFields: List<ExportColumn<HostTableReader>> = elem["hostExportColumns"].toFieldList()
@@ -153,21 +153,21 @@ public data class ComputeExportConfig(
encoder: Encoder,
value: ComputeExportConfig,
) {
- encoder.encodeStructure(descriptor) {
+ encoder.encodeStructure(ComputeExportConfig.Companion.ComputeExportConfigSerializer.descriptor) {
encodeSerializableElement(
- descriptor,
+ ComputeExportConfig.Companion.ComputeExportConfigSerializer.descriptor,
0,
ColListSerializer(columnSerializer<HostTableReader>()),
value.hostExportColumns.toList(),
)
encodeSerializableElement(
- descriptor,
+ ComputeExportConfig.Companion.ComputeExportConfigSerializer.descriptor,
1,
ColListSerializer(columnSerializer<TaskTableReader>()),
value.taskExportColumns.toList(),
)
encodeSerializableElement(
- descriptor,
+ ComputeExportConfig.Companion.ComputeExportConfigSerializer.descriptor,
2,
ColListSerializer(columnSerializer<ServiceTableReader>()),
value.serviceExportColumns.toList(),
@@ -184,7 +184,7 @@ private inline fun <reified T : Exportable> JsonElement?.toFieldList(): List<Exp
this?.let {
json.decodeFromJsonElement(ColListSerializer(columnSerializer<T>()), it)
}?.ifEmpty {
- ComputeExportConfig.LOG.warn(
+ ComputeExportConfig.Companion.LOG.warn(
"deserialized list of export columns for exportable ${T::class.simpleName} " +
"produced empty list, falling back to all loaded columns",
)
diff --git a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/DfltHostExportColumns.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/parquet/DfltHostExportColumns.kt
index 261c5462..1b76da6b 100644
--- a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/DfltHostExportColumns.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/parquet/DfltHostExportColumns.kt
@@ -20,16 +20,16 @@
* SOFTWARE.
*/
-package org.opendc.compute.telemetry.export.parquet
+package org.opendc.compute.simulator.telemetry.parquet
import org.apache.parquet.io.api.Binary
import org.apache.parquet.schema.LogicalTypeAnnotation
import org.apache.parquet.schema.PrimitiveType.PrimitiveTypeName.BINARY
-import org.apache.parquet.schema.PrimitiveType.PrimitiveTypeName.DOUBLE
+import org.apache.parquet.schema.PrimitiveType.PrimitiveTypeName.FLOAT
import org.apache.parquet.schema.PrimitiveType.PrimitiveTypeName.INT32
import org.apache.parquet.schema.PrimitiveType.PrimitiveTypeName.INT64
import org.apache.parquet.schema.Types
-import org.opendc.compute.telemetry.table.HostTableReader
+import org.opendc.compute.simulator.telemetry.table.HostTableReader
import org.opendc.trace.util.parquet.exporter.ExportColumn
/**
@@ -106,22 +106,22 @@ public object DfltHostExportColumns {
public val CPU_LIMIT: ExportColumn<HostTableReader> =
ExportColumn(
- field = Types.required(DOUBLE).named("cpu_limit"),
+ field = Types.required(FLOAT).named("cpu_limit"),
) { it.cpuLimit }
public val CPU_USAGE: ExportColumn<HostTableReader> =
ExportColumn(
- field = Types.required(DOUBLE).named("cpu_usage"),
+ field = Types.required(FLOAT).named("cpu_usage"),
) { it.cpuUsage }
public val CPU_DEMAND: ExportColumn<HostTableReader> =
ExportColumn(
- field = Types.required(DOUBLE).named("cpu_demand"),
+ field = Types.required(FLOAT).named("cpu_demand"),
) { it.cpuDemand }
public val CPU_UTILIZATION: ExportColumn<HostTableReader> =
ExportColumn(
- field = Types.required(DOUBLE).named("cpu_utilization"),
+ field = Types.required(FLOAT).named("cpu_utilization"),
) { it.cpuUtilization }
public val CPU_TIME_ACTIVE: ExportColumn<HostTableReader> =
@@ -146,22 +146,22 @@ public object DfltHostExportColumns {
public val POWER_DRAW: ExportColumn<HostTableReader> =
ExportColumn(
- field = Types.required(DOUBLE).named("power_draw"),
+ field = Types.required(FLOAT).named("power_draw"),
) { it.powerDraw }
public val ENERGY_USAGE: ExportColumn<HostTableReader> =
ExportColumn(
- field = Types.required(DOUBLE).named("energy_usage"),
+ field = Types.required(FLOAT).named("energy_usage"),
) { it.energyUsage }
public val CARBON_INTENSITY: ExportColumn<HostTableReader> =
ExportColumn(
- field = Types.required(DOUBLE).named("carbon_intensity"),
+ field = Types.required(FLOAT).named("carbon_intensity"),
) { it.carbonIntensity }
public val CARBON_EMISSION: ExportColumn<HostTableReader> =
ExportColumn(
- field = Types.required(DOUBLE).named("carbon_emission"),
+ field = Types.required(FLOAT).named("carbon_emission"),
) { it.carbonEmission }
public val UP_TIME: ExportColumn<HostTableReader> =
diff --git a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/DfltServiceExportColumns.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/parquet/DfltServiceExportColumns.kt
index 8038060d..aa08e8ff 100644
--- a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/DfltServiceExportColumns.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/parquet/DfltServiceExportColumns.kt
@@ -20,12 +20,12 @@
* SOFTWARE.
*/
-package org.opendc.compute.telemetry.export.parquet
+package org.opendc.compute.simulator.telemetry.parquet
import org.apache.parquet.schema.PrimitiveType.PrimitiveTypeName.INT32
import org.apache.parquet.schema.PrimitiveType.PrimitiveTypeName.INT64
import org.apache.parquet.schema.Types
-import org.opendc.compute.telemetry.table.ServiceTableReader
+import org.opendc.compute.simulator.telemetry.table.ServiceTableReader
import org.opendc.trace.util.parquet.exporter.ExportColumn
/**
@@ -64,26 +64,36 @@ public object DfltServiceExportColumns {
field = Types.required(INT32).named("tasks_pending"),
) { it.tasksPending }
+ public val TASKS_TOTAL: ExportColumn<ServiceTableReader> =
+ ExportColumn(
+ field = Types.required(INT32).named("tasks_total"),
+ ) { it.tasksTotal }
+
public val TASKS_ACTIVE: ExportColumn<ServiceTableReader> =
ExportColumn(
field = Types.required(INT32).named("tasks_active"),
) { it.tasksActive }
+ public val TASKS_COMPLETED: ExportColumn<ServiceTableReader> =
+ ExportColumn(
+ field = Types.required(INT32).named("tasks_completed"),
+ ) { it.tasksCompleted }
+
+ public val TASKS_FAILED: ExportColumn<ServiceTableReader> =
+ ExportColumn(
+ field = Types.required(INT32).named("tasks_terminated"),
+ ) { it.tasksTerminated }
+
public val ATTEMPTS_SUCCESS: ExportColumn<ServiceTableReader> =
ExportColumn(
field = Types.required(INT32).named("attempts_success"),
) { it.attemptsSuccess }
- public val AT3yyTEMPTS_FAILURE: ExportColumn<ServiceTableReader> =
+ public val ATTEMPTS_FAILURE: ExportColumn<ServiceTableReader> =
ExportColumn(
field = Types.required(INT32).named("attempts_failure"),
) { it.attemptsFailure }
- public val ATTEMPTS_ERROR: ExportColumn<ServiceTableReader> =
- ExportColumn(
- field = Types.required(INT32).named("attempts_error"),
- ) { it.attemptsError }
-
/**
* The columns that are always included in the output file.
*/
diff --git a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/DfltTaskExportColumns.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/parquet/DfltTaskExportColumns.kt
index 9e86e1a3..6658e444 100644
--- a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/DfltTaskExportColumns.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/parquet/DfltTaskExportColumns.kt
@@ -20,16 +20,16 @@
* SOFTWARE.
*/
-package org.opendc.compute.telemetry.export.parquet
+package org.opendc.compute.simulator.telemetry.parquet
import org.apache.parquet.io.api.Binary
import org.apache.parquet.schema.LogicalTypeAnnotation
import org.apache.parquet.schema.PrimitiveType.PrimitiveTypeName.BINARY
-import org.apache.parquet.schema.PrimitiveType.PrimitiveTypeName.DOUBLE
+import org.apache.parquet.schema.PrimitiveType.PrimitiveTypeName.FLOAT
import org.apache.parquet.schema.PrimitiveType.PrimitiveTypeName.INT32
import org.apache.parquet.schema.PrimitiveType.PrimitiveTypeName.INT64
import org.apache.parquet.schema.Types
-import org.opendc.compute.telemetry.table.TaskTableReader
+import org.opendc.compute.simulator.telemetry.table.TaskTableReader
import org.opendc.trace.util.parquet.exporter.ExportColumn
/**
@@ -94,7 +94,7 @@ public object DfltTaskExportColumns {
public val CPU_LIMIT: ExportColumn<TaskTableReader> =
ExportColumn(
- field = Types.required(DOUBLE).named("cpu_limit"),
+ field = Types.required(FLOAT).named("cpu_limit"),
) { it.cpuLimit }
public val CPU_TIME_ACTIVE: ExportColumn<TaskTableReader> =
@@ -137,6 +137,16 @@ public object DfltTaskExportColumns {
field = Types.optional(INT64).named("boot_time"),
) { it.bootTime?.toEpochMilli() }
+ public val CREATION_TIME: ExportColumn<TaskTableReader> =
+ ExportColumn(
+ field = Types.optional(INT64).named("creation_time"),
+ ) { it.creationTime?.toEpochMilli() }
+
+ public val FINISH_TIME: ExportColumn<TaskTableReader> =
+ ExportColumn(
+ field = Types.optional(INT64).named("finish_time"),
+ ) { it.finishTime?.toEpochMilli() }
+
public val BOOT_TIME_ABS: ExportColumn<TaskTableReader> =
ExportColumn(
field = Types.optional(INT64).named("boot_time_absolute"),
diff --git a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/ParquetComputeMonitor.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/parquet/ParquetComputeMonitor.kt
index 3b7a7c0c..4cd920c4 100644
--- a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/ParquetComputeMonitor.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/parquet/ParquetComputeMonitor.kt
@@ -20,12 +20,12 @@
* SOFTWARE.
*/
-package org.opendc.compute.telemetry.export.parquet
+package org.opendc.compute.simulator.telemetry.parquet
-import org.opendc.compute.telemetry.ComputeMonitor
-import org.opendc.compute.telemetry.table.HostTableReader
-import org.opendc.compute.telemetry.table.ServiceTableReader
-import org.opendc.compute.telemetry.table.TaskTableReader
+import org.opendc.compute.simulator.telemetry.ComputeMonitor
+import org.opendc.compute.simulator.telemetry.table.HostTableReader
+import org.opendc.compute.simulator.telemetry.table.ServiceTableReader
+import org.opendc.compute.simulator.telemetry.table.TaskTableReader
import org.opendc.trace.util.parquet.exporter.ExportColumn
import org.opendc.trace.util.parquet.exporter.Exportable
import org.opendc.trace.util.parquet.exporter.Exporter
diff --git a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/README.md b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/parquet/README.md
index aee63fc9..3baafed4 100644
--- a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/README.md
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/parquet/README.md
@@ -8,9 +8,9 @@ The 'default' columns are defined in `DfltHostExportcolumns`, `DfltTaskExportCol
Each `ExportColumn` has a `Regex`, used for deserialization. If no custom regex is provided, the default one is used. The default regex matches the column name in case-insensitive manner, either with `_` as in the name or with ` ` (blank space).
###### E.g.:
-***column name*** = "cpu\_count"
-***default column regex*** = "\\s*(?:cpu_count|cpu count)\\s*" (case insensitive)
-***matches*** = "cpu\_count", "cpu count", "CpU/_cOuNt" etc.
+***column name*** = "cpuModel\_count"
+***default column regex*** = "\\s*(?:cpu_count|cpuModel count)\\s*" (case insensitive)
+***matches*** = "cpuModel\_count", "cpuModel count", "CpU/_cOuNt" etc.
### JSON Schema
```json
diff --git a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/table/HostInfo.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/table/HostInfo.kt
index 62b7ef0d..1f1b9522 100644
--- a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/table/HostInfo.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/table/HostInfo.kt
@@ -20,7 +20,7 @@
* SOFTWARE.
*/
-package org.opendc.compute.telemetry.table
+package org.opendc.compute.simulator.telemetry.table
/**
* Information about a host exposed to the telemetry service.
@@ -30,6 +30,6 @@ public data class HostInfo(
val name: String,
val arch: String,
val coreCount: Int,
- val coreSpeed: Double,
+ val coreSpeed: Float,
val memCapacity: Long,
)
diff --git a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/table/HostTableReader.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/table/HostTableReader.kt
index a7b8bedb..5f09e7f5 100644
--- a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/table/HostTableReader.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/table/HostTableReader.kt
@@ -20,7 +20,7 @@
* SOFTWARE.
*/
-package org.opendc.compute.telemetry.table
+package org.opendc.compute.simulator.telemetry.table
import org.opendc.trace.util.parquet.exporter.Exportable
import java.time.Instant
@@ -71,22 +71,22 @@ public interface HostTableReader : Exportable {
/**
* The capacity of the CPUs in the host (in MHz).
*/
- public val cpuLimit: Double
+ public val cpuLimit: Float
/**
* The usage of all CPUs in the host (in MHz).
*/
- public val cpuUsage: Double
+ public val cpuUsage: Float
/**
* The demand of all vCPUs of the guests (in MHz)
*/
- public val cpuDemand: Double
+ public val cpuDemand: Float
/**
* The CPU utilization of the host.
*/
- public val cpuUtilization: Double
+ public val cpuUtilization: Float
/**
* The duration (in ms) that a CPU was active in the host.
@@ -111,22 +111,22 @@ public interface HostTableReader : Exportable {
/**
* The current power draw of the host in W.
*/
- public val powerDraw: Double
+ public val powerDraw: Float
/**
* The total energy consumption of the host since last sample in J.
*/
- public val energyUsage: Double
+ public val energyUsage: Float
/**
* The current carbon intensity of the host in gCO2 / kW.
*/
- public val carbonIntensity: Double
+ public val carbonIntensity: Float
/**
* The current carbon emission since the last deadline in g.
*/
- public val carbonEmission: Double
+ public val carbonEmission: Float
/**
* The uptime of the host since last time in ms.
diff --git a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/table/ServiceData.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/table/ServiceData.kt
index 7a8ba6a7..16c38297 100644
--- a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/table/ServiceData.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/table/ServiceData.kt
@@ -20,7 +20,7 @@
* SOFTWARE.
*/
-package org.opendc.compute.telemetry.table
+package org.opendc.compute.simulator.telemetry.table
import java.time.Instant
@@ -35,8 +35,7 @@ public data class ServiceData(
val tasksPending: Int,
val tasksActive: Int,
val attemptsSuccess: Int,
- val attemptsFailure: Int,
- val attemptsError: Int,
+ val attemptsTerminated: Int,
)
/**
@@ -52,6 +51,5 @@ public fun ServiceTableReader.toServiceData(): ServiceData {
tasksActive,
attemptsSuccess,
attemptsFailure,
- attemptsError,
)
}
diff --git a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/table/ServiceTableReader.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/table/ServiceTableReader.kt
index 23630fb4..690dfe0a 100644
--- a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/table/ServiceTableReader.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/table/ServiceTableReader.kt
@@ -20,7 +20,7 @@
* SOFTWARE.
*/
-package org.opendc.compute.telemetry.table
+package org.opendc.compute.simulator.telemetry.table
import org.opendc.trace.util.parquet.exporter.Exportable
import java.time.Instant
@@ -69,6 +69,16 @@ public interface ServiceTableReader : Exportable {
public val tasksActive: Int
/**
+ * The number of tasks that completed the tasks successfully
+ */
+ public val tasksCompleted: Int
+
+ /**
+ * The number of tasks that failed more times than allowed and are thus terminated
+ */
+ public val tasksTerminated: Int
+
+ /**
* The scheduling attempts that were successful.
*/
public val attemptsSuccess: Int
@@ -77,9 +87,4 @@ public interface ServiceTableReader : Exportable {
* The scheduling attempts that were unsuccessful due to client error.
*/
public val attemptsFailure: Int
-
- /**
- * The scheduling attempts that were unsuccessful due to scheduler error.
- */
- public val attemptsError: Int
}
diff --git a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/table/TaskInfo.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/table/TaskInfo.kt
index 2d1ae91a..6ff56541 100644
--- a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/table/TaskInfo.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/table/TaskInfo.kt
@@ -20,7 +20,7 @@
* SOFTWARE.
*/
-package org.opendc.compute.telemetry.table
+package org.opendc.compute.simulator.telemetry.table
/**
* Static information about a task exposed to the telemetry service.
@@ -30,8 +30,6 @@ public data class TaskInfo(
val name: String,
val type: String,
val arch: String,
- val imageId: String,
- val imageName: String,
val cpuCount: Int,
val memCapacity: Long,
)
diff --git a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/table/TaskTableReader.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/table/TaskTableReader.kt
index ae7f7a49..bc6a4edd 100644
--- a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/table/TaskTableReader.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/telemetry/table/TaskTableReader.kt
@@ -20,10 +20,10 @@
* SOFTWARE.
*/
-package org.opendc.compute.telemetry.table
+package org.opendc.compute.simulator.telemetry.table
import org.opendc.compute.api.TaskState
-import org.opendc.compute.telemetry.export.parquet.DfltTaskExportColumns
+import org.opendc.compute.simulator.telemetry.parquet.DfltTaskExportColumns
import org.opendc.trace.util.parquet.exporter.Exportable
import java.time.Instant
@@ -81,9 +81,19 @@ public interface TaskTableReader : Exportable {
public val bootTimeAbsolute: Instant?
/**
+ * The [Instant] at which the task booted relative to the start of the workload.
+ */
+ public val creationTime: Instant?
+
+ /**
+ * The [Instant] at which the task booted relative to the start of the workload.
+ */
+ public val finishTime: Instant?
+
+ /**
* The capacity of the CPUs of Host on which the task is running (in MHz).
*/
- public val cpuLimit: Double
+ public val cpuLimit: Float
/**
* The duration (in seconds) that a CPU was active in the task.
diff --git a/opendc-compute/opendc-compute-simulator/src/test/kotlin/org/opendc/compute/simulator/SimHostTest.kt b/opendc-compute/opendc-compute-simulator/src/test/kotlin/org/opendc/compute/simulator/SimHostTest.kt
deleted file mode 100644
index b5bc66a9..00000000
--- a/opendc-compute/opendc-compute-simulator/src/test/kotlin/org/opendc/compute/simulator/SimHostTest.kt
+++ /dev/null
@@ -1,393 +0,0 @@
-/*
- * Copyright (c) 2020 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.compute.simulator
-
-import kotlinx.coroutines.coroutineScope
-import kotlinx.coroutines.delay
-import kotlinx.coroutines.suspendCancellableCoroutine
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.BeforeEach
-import org.junit.jupiter.api.Test
-import org.junit.jupiter.api.assertAll
-import org.opendc.compute.api.Flavor
-import org.opendc.compute.api.Image
-import org.opendc.compute.api.Task
-import org.opendc.compute.api.TaskState
-import org.opendc.compute.api.TaskWatcher
-import org.opendc.compute.service.driver.Host
-import org.opendc.compute.service.driver.HostListener
-import org.opendc.simulator.compute.SimBareMetalMachine
-import org.opendc.simulator.compute.kernel.SimHypervisor
-import org.opendc.simulator.compute.model.Cpu
-import org.opendc.simulator.compute.model.MachineModel
-import org.opendc.simulator.compute.model.MemoryUnit
-import org.opendc.simulator.compute.workload.SimTrace
-import org.opendc.simulator.compute.workload.SimTraceFragment
-import org.opendc.simulator.flow2.FlowEngine
-import org.opendc.simulator.flow2.mux.FlowMultiplexerFactory
-import org.opendc.simulator.kotlin.runSimulation
-import java.time.Instant
-import java.util.SplittableRandom
-import java.util.UUID
-import kotlin.coroutines.resume
-
-/**
- * Basic test-suite for the hypervisor.
- */
-internal class SimHostTest {
- private lateinit var machineModel: MachineModel
-
- @BeforeEach
- fun setUp() {
- machineModel =
- MachineModel(
- Cpu(
- 0,
- 2,
- 3200.0,
- "Intel",
- "Xeon",
- "amd64",
- ),
- // memory
- MemoryUnit("Crucial", "MTA18ASF4G72AZ-3G2B1", 3200.0, 32_000 * 4),
- )
- }
-
- /**
- * Test a single virtual machine hosted by the hypervisor.
- */
- @Test
- fun testSingle() =
- runSimulation {
- val duration = 5 * 60L
-
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine = SimBareMetalMachine.create(graph, machineModel)
- val hypervisor = SimHypervisor.create(FlowMultiplexerFactory.maxMinMultiplexer(), SplittableRandom(1))
-
- val host =
- SimHost(
- uid = UUID.randomUUID(),
- name = "test",
- meta = emptyMap(),
- timeSource,
- machine,
- hypervisor,
- )
- val vmImage =
- MockImage(
- UUID.randomUUID(),
- "<unnamed>",
- emptyMap(),
- mapOf(
- "workload" to
- SimTrace.ofFragments(
- SimTraceFragment(0, duration * 1000, 0.0, 2),
- SimTraceFragment(duration * 1000, duration * 1000, 3200.0, 2),
- SimTraceFragment(duration * 2000, duration * 1000, 0.0, 2),
- SimTraceFragment(duration * 3000, duration * 1000, 6500.0, 2),
- ).createWorkload(0),
- ),
- )
-
- val flavor = MockFlavor(2, 0)
-
- suspendCancellableCoroutine { cont ->
- host.addListener(
- object : HostListener {
- private var finished = 0
-
- override fun onStateChanged(
- host: Host,
- task: Task,
- newState: TaskState,
- ) {
- if (newState == TaskState.TERMINATED && ++finished == 1) {
- cont.resume(Unit)
- }
- }
- },
- )
- val server = MockTask(UUID.randomUUID(), "a", flavor, vmImage)
- host.spawn(server)
- host.start(server)
- }
-
- // Ensure last cycle is collected
-// delay(1000L * duration)
- host.close()
-
- val cpuStats = host.getCpuStats()
-
- assertAll(
- { assertEquals(450000, cpuStats.activeTime, "Active time does not match") },
- { assertEquals(750000, cpuStats.idleTime, "Idle time does not match") },
- { assertEquals(4688, cpuStats.stealTime, "Steal time does not match") },
- { assertEquals(1200000, timeSource.millis()) },
- )
- }
-
- /**
- * Test overcommitting of resources by the hypervisor.
- */
- @Test
- fun testOvercommitted() =
- runSimulation {
- val duration = 5 * 60L
-
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine = SimBareMetalMachine.create(graph, machineModel)
- val hypervisor = SimHypervisor.create(FlowMultiplexerFactory.maxMinMultiplexer(), SplittableRandom(1))
-
- val host =
- SimHost(
- uid = UUID.randomUUID(),
- name = "test",
- meta = emptyMap(),
- timeSource,
- machine,
- hypervisor,
- )
- val vmImageA =
- MockImage(
- UUID.randomUUID(),
- "<unnamed>",
- emptyMap(),
- mapOf(
- "workload" to
- SimTrace.ofFragments(
- SimTraceFragment(0, duration * 1000, 0.0, 2),
- SimTraceFragment(duration * 1000, duration * 1000, 3200.0, 2),
- SimTraceFragment(duration * 2000, duration * 1000, 0.0, 2),
- SimTraceFragment(duration * 3000, duration * 1000, 6500.0, 2),
- ).createWorkload(0),
- ),
- )
- val vmImageB =
- MockImage(
- UUID.randomUUID(),
- "<unnamed>",
- emptyMap(),
- mapOf(
- "workload" to
- SimTrace.ofFragments(
- SimTraceFragment(0, duration * 1000, 0.0, 2),
- SimTraceFragment(duration * 1000, duration * 1000, 3200.0, 2),
- SimTraceFragment(duration * 2000, duration * 1000, 0.0, 2),
- SimTraceFragment(duration * 3000, duration * 1000, 6500.0, 2),
- ).createWorkload(0),
- ),
- )
-
- val flavor = MockFlavor(2, 0)
-
- coroutineScope {
- suspendCancellableCoroutine { cont ->
- host.addListener(
- object : HostListener {
- private var finished = 0
-
- override fun onStateChanged(
- host: Host,
- task: Task,
- newState: TaskState,
- ) {
- if (newState == TaskState.TERMINATED && ++finished == 2) {
- cont.resume(Unit)
- }
- }
- },
- )
- val serverA = MockTask(UUID.randomUUID(), "a", flavor, vmImageA)
- host.spawn(serverA)
- val serverB = MockTask(UUID.randomUUID(), "b", flavor, vmImageB)
- host.spawn(serverB)
-
- host.start(serverA)
- host.start(serverB)
- }
- }
-
- // Ensure last cycle is collected
- delay(1000L * duration)
- host.close()
-
- val cpuStats = host.getCpuStats()
-
- assertAll(
- { assertEquals(600000, cpuStats.activeTime, "Active time does not match") },
- { assertEquals(900000, cpuStats.idleTime, "Idle time does not match") },
- { assertEquals(309375, cpuStats.stealTime, "Steal time does not match") },
- { assertEquals(1500000, timeSource.millis()) },
- )
- }
-
- /**
- * Test failure of the host.
- */
- @Test
- fun testFailure() =
- runSimulation {
- val duration = 5 * 60L
-
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine = SimBareMetalMachine.create(graph, machineModel)
- val hypervisor = SimHypervisor.create(FlowMultiplexerFactory.maxMinMultiplexer(), SplittableRandom(1))
- val host =
- SimHost(
- uid = UUID.randomUUID(),
- name = "test",
- meta = emptyMap(),
- timeSource,
- machine,
- hypervisor,
- )
- val image =
- MockImage(
- UUID.randomUUID(),
- "<unnamed>",
- emptyMap(),
- mapOf(
- "workload" to
- SimTrace.ofFragments(
- SimTraceFragment(0, duration * 1000, 0.0, 2),
- SimTraceFragment(duration * 1000, duration * 1000, 3200.0, 2),
- SimTraceFragment(duration * 2000, duration * 1000, 0.0, 2),
- SimTraceFragment(duration * 3000, duration * 1000, 6500.0, 2),
- ).createWorkload(0),
- ),
- )
- val flavor = MockFlavor(2, 0)
- val server = MockTask(UUID.randomUUID(), "a", flavor, image)
-
- coroutineScope {
- host.spawn(server)
- host.start(server)
- delay(5000L)
- host.fail()
- delay(duration * 1000)
- host.recover()
-
- suspendCancellableCoroutine { cont ->
- host.addListener(
- object : HostListener {
- override fun onStateChanged(
- host: Host,
- task: Task,
- newState: TaskState,
- ) {
- if (newState == TaskState.TERMINATED) {
- cont.resume(Unit)
- }
- }
- },
- )
- }
- }
-
- host.close()
- // Ensure last cycle is collected
- delay(1000L * duration)
-
- val cpuStats = host.getCpuStats()
- val sysStats = host.getSystemStats()
- val guestSysStats = host.getSystemStats(server)
-
- assertAll(
- { assertEquals(755000, cpuStats.idleTime, "Idle time does not match") },
- { assertEquals(450000, cpuStats.activeTime, "Active time does not match") },
- { assertEquals(1205000, sysStats.uptime.toMillis(), "Uptime does not match") },
- { assertEquals(300000, sysStats.downtime.toMillis(), "Downtime does not match") },
- { assertEquals(1205000, guestSysStats.uptime.toMillis(), "Guest uptime does not match") },
- { assertEquals(300000, guestSysStats.downtime.toMillis(), "Guest downtime does not match") },
- )
- }
-
- private class MockFlavor(
- override val coreCount: Int,
- override val memorySize: Long,
- ) : Flavor {
- override val uid: UUID = UUID.randomUUID()
- override val name: String = "test"
- override val labels: Map<String, String> = emptyMap()
- override val meta: Map<String, Any> = emptyMap()
-
- override fun delete() {
- throw NotImplementedError()
- }
-
- override fun reload() {
- throw NotImplementedError()
- }
- }
-
- private class MockImage(
- override val uid: UUID,
- override val name: String,
- override val labels: Map<String, String>,
- override val meta: Map<String, Any>,
- ) : Image {
- override fun delete() {
- throw NotImplementedError()
- }
-
- override fun reload() {
- throw NotImplementedError()
- }
- }
-
- private class MockTask(
- override val uid: UUID,
- override val name: String,
- override val flavor: Flavor,
- override val image: Image,
- override val numFailures: Int = 10,
- ) : Task {
- override val labels: Map<String, String> = emptyMap()
-
- override val meta: Map<String, Any> = emptyMap()
-
- override val state: TaskState = TaskState.TERMINATED
-
- override val launchedAt: Instant? = null
-
- override fun start() {}
-
- override fun stop() {}
-
- override fun delete() {}
-
- override fun watch(watcher: TaskWatcher) {}
-
- override fun unwatch(watcher: TaskWatcher) {}
-
- override fun reload() {}
- }
-}
diff --git a/opendc-compute/opendc-compute-telemetry/build.gradle.kts b/opendc-compute/opendc-compute-telemetry/build.gradle.kts
deleted file mode 100644
index e8692449..00000000
--- a/opendc-compute/opendc-compute-telemetry/build.gradle.kts
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-description = "OpenDC Compute Service implementation"
-
-// Build configuration
-plugins {
- `kotlin-library-conventions`
- kotlin("plugin.serialization") version "1.9.22"
-}
-
-dependencies {
- api(projects.opendcCompute.opendcComputeApi)
- api(projects.opendcTrace.opendcTraceParquet)
- implementation(projects.opendcCommon)
- implementation(libs.kotlin.logging)
- implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.0")
- implementation(project(mapOf("path" to ":opendc-trace:opendc-trace-parquet")))
- implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-service")))
- implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-carbon")))
-
- testImplementation(projects.opendcSimulator.opendcSimulatorCore)
- testRuntimeOnly(libs.log4j.core)
- testRuntimeOnly(libs.log4j.slf4j)
-}
diff --git a/opendc-compute/opendc-compute-telemetry/src/test/resources/log4j2.xml b/opendc-compute/opendc-compute-telemetry/src/test/resources/log4j2.xml
deleted file mode 100644
index 0dfb75f2..00000000
--- a/opendc-compute/opendc-compute-telemetry/src/test/resources/log4j2.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ Copyright (c) 2021 AtLarge Research
- ~
- ~ Permission is hereby granted, free of charge, to any person obtaining a copy
- ~ of this software and associated documentation files (the "Software"), to deal
- ~ in the Software without restriction, including without limitation the rights
- ~ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- ~ copies of the Software, and to permit persons to whom the Software is
- ~ furnished to do so, subject to the following conditions:
- ~
- ~ The above copyright notice and this permission notice shall be included in all
- ~ copies or substantial portions of the Software.
- ~
- ~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- ~ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- ~ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- ~ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- ~ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- ~ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- ~ SOFTWARE.
- -->
-
-<Configuration status="WARN" packages="org.apache.logging.log4j.core">
- <Appenders>
- <Console name="Console" target="SYSTEM_OUT">
- <PatternLayout pattern="%d{HH:mm:ss.SSS} [%highlight{%-5level}] %logger{36} - %msg%n" disableAnsi="false"/>
- </Console>
- </Appenders>
- <Loggers>
- <Logger name="org.opendc" level="trace" additivity="false">
- <AppenderRef ref="Console"/>
- </Logger>
- <Root level="info">
- <AppenderRef ref="Console"/>
- </Root>
- </Loggers>
-</Configuration>
diff --git a/opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/TopologyFactories.kt b/opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/TopologyFactories.kt
index e0fba34f..9e637b1b 100644
--- a/opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/TopologyFactories.kt
+++ b/opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/TopologyFactories.kt
@@ -28,11 +28,10 @@ import org.opendc.compute.topology.specs.ClusterSpec
import org.opendc.compute.topology.specs.HostJSONSpec
import org.opendc.compute.topology.specs.HostSpec
import org.opendc.compute.topology.specs.TopologySpec
-import org.opendc.simulator.compute.SimPsuFactories
-import org.opendc.simulator.compute.model.Cpu
-import org.opendc.simulator.compute.model.MachineModel
-import org.opendc.simulator.compute.model.MemoryUnit
-import org.opendc.simulator.compute.power.getPowerModel
+import org.opendc.simulator.compute.cpu.getPowerModel
+import org.opendc.simulator.compute.models.CpuModel
+import org.opendc.simulator.compute.models.MachineModel
+import org.opendc.simulator.compute.models.MemoryUnit
import java.io.File
import java.io.InputStream
import java.util.SplittableRandom
@@ -120,10 +119,10 @@ private fun HostJSONSpec.toHostSpecs(
): HostSpec {
val units =
List(cpu.count) {
- Cpu(
+ CpuModel(
globalCoreId++,
cpu.coreCount,
- cpu.coreSpeed.toMHz(),
+ cpu.coreSpeed.toMHz().toFloat(),
)
}
@@ -150,7 +149,7 @@ private fun HostJSONSpec.toHostSpecs(
hostName,
mapOf("cluster" to clusterId),
machineModel,
- SimPsuFactories.simple(powerModel),
+ powerModel,
)
hostId++
diff --git a/opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/specs/HostSpec.kt b/opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/specs/HostSpec.kt
index 9857f70a..1956ffde 100644
--- a/opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/specs/HostSpec.kt
+++ b/opendc-compute/opendc-compute-topology/src/main/kotlin/org/opendc/compute/topology/specs/HostSpec.kt
@@ -22,10 +22,8 @@
package org.opendc.compute.topology.specs
-import org.opendc.simulator.compute.SimPsuFactories
-import org.opendc.simulator.compute.SimPsuFactory
-import org.opendc.simulator.compute.model.MachineModel
-import org.opendc.simulator.flow2.mux.FlowMultiplexerFactory
+import org.opendc.simulator.compute.cpu.CpuPowerModel
+import org.opendc.simulator.compute.models.MachineModel
import java.util.UUID
/**
@@ -35,7 +33,7 @@ import java.util.UUID
* @param name The name of the host.
* @param meta The metadata of the host.
* @param model The physical model of the machine.
- * @param psuFactory The [SimPsuFactory] to construct the PSU that models the power consumption of the machine.
+ * @param cpuPowerModel The [SimPsuFactory] to construct the PSU that models the power consumption of the machine.
* @param multiplexerFactory The [FlowMultiplexerFactory] that is used to multiplex the virtual machines over the host.
*/
public data class HostSpec(
@@ -43,6 +41,5 @@ public data class HostSpec(
val name: String,
val meta: Map<String, Any>,
val model: MachineModel,
- val psuFactory: SimPsuFactory = SimPsuFactories.noop(),
- val multiplexerFactory: FlowMultiplexerFactory = FlowMultiplexerFactory.maxMinMultiplexer(),
+ val cpuPowerModel: CpuPowerModel,
)
diff --git a/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/ComputeWorkload.kt b/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/ComputeWorkload.kt
index c9f784ff..9516c56e 100644
--- a/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/ComputeWorkload.kt
+++ b/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/ComputeWorkload.kt
@@ -29,10 +29,10 @@ import java.util.random.RandomGenerator
*/
public interface ComputeWorkload {
/**
- * Resolve the workload into a list of [VirtualMachine]s to simulate.
+ * Resolve the workload into a list of [Task]s to simulate.
*/
public fun resolve(
loader: ComputeWorkloadLoader,
random: RandomGenerator,
- ): List<VirtualMachine>
+ ): List<Task>
}
diff --git a/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/ComputeWorkloadLoader.kt b/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/ComputeWorkloadLoader.kt
index 99863af8..f22bc1d1 100644
--- a/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/ComputeWorkloadLoader.kt
+++ b/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/ComputeWorkloadLoader.kt
@@ -23,13 +23,8 @@
package org.opendc.compute.workload
import mu.KotlinLogging
-import org.opendc.simulator.compute.kernel.interference.VmInterferenceModel
-import org.opendc.simulator.compute.workload.SimTrace
+import org.opendc.simulator.compute.workload.TraceWorkload
import org.opendc.trace.Trace
-import org.opendc.trace.conv.INTERFERENCE_GROUP_MEMBERS
-import org.opendc.trace.conv.INTERFERENCE_GROUP_SCORE
-import org.opendc.trace.conv.INTERFERENCE_GROUP_TARGET
-import org.opendc.trace.conv.TABLE_INTERFERENCE_GROUPS
import org.opendc.trace.conv.TABLE_RESOURCES
import org.opendc.trace.conv.TABLE_RESOURCE_STATES
import org.opendc.trace.conv.resourceCpuCapacity
@@ -52,7 +47,12 @@ import kotlin.math.roundToLong
*
* @param baseDir The directory containing the traces.
*/
-public class ComputeWorkloadLoader(private val baseDir: File) {
+public class ComputeWorkloadLoader(
+ private val baseDir: File,
+ private val checkpointInterval: Long,
+ private val checkpointDuration: Long,
+ private val checkpointIntervalScaling: Double,
+) {
/**
* The logger for this instance.
*/
@@ -61,7 +61,7 @@ public class ComputeWorkloadLoader(private val baseDir: File) {
/**
* The cache of workloads.
*/
- private val cache = ConcurrentHashMap<String, SoftReference<List<VirtualMachine>>>()
+ private val cache = ConcurrentHashMap<String, SoftReference<List<Task>>>()
/**
* Read the fragments into memory.
@@ -83,7 +83,7 @@ public class ComputeWorkloadLoader(private val baseDir: File) {
val cores = reader.getInt(coresCol)
val cpuUsage = reader.getDouble(usageCol)
- val builder = fragments.computeIfAbsent(id) { Builder() }
+ val builder = fragments.computeIfAbsent(id) { Builder(checkpointInterval, checkpointDuration, checkpointIntervalScaling) }
builder.add(durationMs, cpuUsage, cores)
}
@@ -99,8 +99,7 @@ public class ComputeWorkloadLoader(private val baseDir: File) {
private fun parseMeta(
trace: Trace,
fragments: Map<String, Builder>,
- interferenceModel: VmInterferenceModel,
- ): List<VirtualMachine> {
+ ): List<Task> {
val reader = checkNotNull(trace.getTable(TABLE_RESOURCES)).newReader()
val idCol = reader.resolve(resourceID)
@@ -111,7 +110,7 @@ public class ComputeWorkloadLoader(private val baseDir: File) {
val memCol = reader.resolve(resourceMemCapacity)
var counter = 0
- val entries = mutableListOf<VirtualMachine>()
+ val entries = mutableListOf<Task>()
return try {
while (reader.nextRow()) {
@@ -131,7 +130,7 @@ public class ComputeWorkloadLoader(private val baseDir: File) {
val totalLoad = builder.totalLoad
entries.add(
- VirtualMachine(
+ Task(
uid,
id,
cpuCount,
@@ -141,13 +140,12 @@ public class ComputeWorkloadLoader(private val baseDir: File) {
submissionTime,
duration,
builder.build(),
- interferenceModel.getProfile(id),
),
)
}
// Make sure the virtual machines are ordered by start time
- entries.sortBy { it.startTime }
+ entries.sortBy { it.submissionTime }
entries
} catch (e: Exception) {
@@ -159,40 +157,12 @@ public class ComputeWorkloadLoader(private val baseDir: File) {
}
/**
- * Read the interference model associated with the specified [trace].
- */
- private fun parseInterferenceModel(trace: Trace): VmInterferenceModel {
- val reader = checkNotNull(trace.getTable(TABLE_INTERFERENCE_GROUPS)).newReader()
-
- return try {
- val membersCol = reader.resolve(INTERFERENCE_GROUP_MEMBERS)
- val targetCol = reader.resolve(INTERFERENCE_GROUP_TARGET)
- val scoreCol = reader.resolve(INTERFERENCE_GROUP_SCORE)
-
- val modelBuilder = VmInterferenceModel.builder()
-
- while (reader.nextRow()) {
- val members = reader.getSet(membersCol, String::class.java)!!
- val target = reader.getDouble(targetCol)
- val score = reader.getDouble(scoreCol)
-
- modelBuilder
- .addGroup(members, target, score)
- }
-
- modelBuilder.build()
- } finally {
- reader.close()
- }
- }
-
- /**
* Load the trace with the specified [name] and [format].
*/
public fun get(
name: String,
format: String,
- ): List<VirtualMachine> {
+ ): List<Task> {
val ref =
cache.compute(name) { key, oldVal ->
val inst = oldVal?.get()
@@ -203,8 +173,7 @@ public class ComputeWorkloadLoader(private val baseDir: File) {
val trace = Trace.open(path, format)
val fragments = parseFragments(trace)
- val interferenceModel = parseInterferenceModel(trace)
- val vms = parseMeta(trace, fragments, interferenceModel)
+ val vms = parseMeta(trace, fragments)
SoftReference(vms)
} else {
@@ -225,7 +194,7 @@ public class ComputeWorkloadLoader(private val baseDir: File) {
/**
* A builder for a VM trace.
*/
- private class Builder {
+ private class Builder(checkpointInterval: Long, checkpointDuration: Long, checkpointIntervalScaling: Double) {
/**
* The total load of the trace.
*/
@@ -234,13 +203,12 @@ public class ComputeWorkloadLoader(private val baseDir: File) {
/**
* The internal builder for the trace.
*/
- private val builder = SimTrace.builder()
+ private val builder = TraceWorkload.builder(checkpointInterval, checkpointDuration, checkpointIntervalScaling)
/**
* Add a fragment to the trace.
*
- * @param timestamp Timestamp at which the fragment starts (in epoch millis).
- * @param deadline Timestamp at which the fragment ends (in epoch millis).
+ * @param duration The duration of the fragment (in epoch millis).
* @param usage CPU usage of this fragment.
* @param cores Number of cores used.
*/
@@ -257,6 +225,6 @@ public class ComputeWorkloadLoader(private val baseDir: File) {
/**
* Build the trace.
*/
- fun build(): SimTrace = builder.build()
+ fun build(): TraceWorkload = builder.build()
}
}
diff --git a/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/VirtualMachine.kt b/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/Task.kt
index 66d51127..d121b381 100644
--- a/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/VirtualMachine.kt
+++ b/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/Task.kt
@@ -22,8 +22,7 @@
package org.opendc.compute.workload
-import org.opendc.simulator.compute.kernel.interference.VmInterferenceProfile
-import org.opendc.simulator.compute.workload.SimTrace
+import org.opendc.simulator.compute.workload.TraceWorkload
import java.time.Instant
import java.util.UUID
@@ -35,20 +34,18 @@ import java.util.UUID
* @param cpuCapacity The required CPU capacity for the VM in MHz.
* @param cpuCount The number of vCPUs in the VM.
* @param memCapacity The provisioned memory for the VM in MB.
- * @param startTime The start time of the VM.
- * @param stopTime The stop time of the VM.
+ * @param submissionTime The start time of the VM.
* @param trace The trace that belong to this VM.
* @param interferenceProfile The interference profile of this virtual machine.
*/
-public data class VirtualMachine(
+public data class Task(
val uid: UUID,
val name: String,
val cpuCount: Int,
val cpuCapacity: Double,
val memCapacity: Long,
val totalLoad: Double,
- val startTime: Instant,
+ val submissionTime: Instant,
val duration: Long,
- val trace: SimTrace,
- val interferenceProfile: VmInterferenceProfile?,
+ val trace: TraceWorkload,
)
diff --git a/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/internal/CompositeComputeWorkload.kt b/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/internal/CompositeComputeWorkload.kt
index aba493b6..998dbb34 100644
--- a/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/internal/CompositeComputeWorkload.kt
+++ b/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/internal/CompositeComputeWorkload.kt
@@ -25,7 +25,7 @@ package org.opendc.compute.workload.internal
import mu.KotlinLogging
import org.opendc.compute.workload.ComputeWorkload
import org.opendc.compute.workload.ComputeWorkloadLoader
-import org.opendc.compute.workload.VirtualMachine
+import org.opendc.compute.workload.Task
import java.util.random.RandomGenerator
/**
@@ -40,12 +40,12 @@ internal class CompositeComputeWorkload(val sources: Map<ComputeWorkload, Double
override fun resolve(
loader: ComputeWorkloadLoader,
random: RandomGenerator,
- ): List<VirtualMachine> {
+ ): List<Task> {
val traces = sources.map { (source, fraction) -> fraction to source.resolve(loader, random) }
val totalLoad = traces.sumOf { (_, vms) -> vms.sumOf { it.totalLoad } }
- val res = mutableListOf<VirtualMachine>()
+ val res = mutableListOf<Task>()
for ((fraction, vms) in traces) {
var currentLoad = 0.0
diff --git a/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/internal/HpcSampledComputeWorkload.kt b/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/internal/HpcSampledComputeWorkload.kt
index 4207b2be..d3bdde31 100644
--- a/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/internal/HpcSampledComputeWorkload.kt
+++ b/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/internal/HpcSampledComputeWorkload.kt
@@ -25,7 +25,7 @@ package org.opendc.compute.workload.internal
import mu.KotlinLogging
import org.opendc.compute.workload.ComputeWorkload
import org.opendc.compute.workload.ComputeWorkloadLoader
-import org.opendc.compute.workload.VirtualMachine
+import org.opendc.compute.workload.Task
import java.util.UUID
import java.util.random.RandomGenerator
@@ -53,7 +53,7 @@ internal class HpcSampledComputeWorkload(
override fun resolve(
loader: ComputeWorkloadLoader,
random: RandomGenerator,
- ): List<VirtualMachine> {
+ ): List<Task> {
val vms = source.resolve(loader, random)
val (hpc, nonHpc) =
@@ -65,7 +65,7 @@ internal class HpcSampledComputeWorkload(
val hpcSequence =
generateSequence(0) { it + 1 }
.map { index ->
- val res = mutableListOf<VirtualMachine>()
+ val res = mutableListOf<Task>()
hpc.mapTo(res) { sample(it, index) }
res
}
@@ -74,7 +74,7 @@ internal class HpcSampledComputeWorkload(
val nonHpcSequence =
generateSequence(0) { it + 1 }
.map { index ->
- val res = mutableListOf<VirtualMachine>()
+ val res = mutableListOf<Task>()
nonHpc.mapTo(res) { sample(it, index) }
res
}
@@ -90,7 +90,7 @@ internal class HpcSampledComputeWorkload(
var nonHpcCount = 0
var nonHpcLoad = 0.0
- val res = mutableListOf<VirtualMachine>()
+ val res = mutableListOf<Task>()
if (sampleLoad) {
var currentLoad = 0.0
@@ -146,9 +146,9 @@ internal class HpcSampledComputeWorkload(
* Sample a random trace entry.
*/
private fun sample(
- entry: VirtualMachine,
+ entry: Task,
i: Int,
- ): VirtualMachine {
+ ): Task {
val uid = UUID.nameUUIDFromBytes("${entry.uid}-$i".toByteArray())
return entry.copy(uid = uid)
}
diff --git a/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/internal/LoadSampledComputeWorkload.kt b/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/internal/LoadSampledComputeWorkload.kt
index 51ddb27c..534ac6a0 100644
--- a/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/internal/LoadSampledComputeWorkload.kt
+++ b/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/internal/LoadSampledComputeWorkload.kt
@@ -25,7 +25,7 @@ package org.opendc.compute.workload.internal
import mu.KotlinLogging
import org.opendc.compute.workload.ComputeWorkload
import org.opendc.compute.workload.ComputeWorkloadLoader
-import org.opendc.compute.workload.VirtualMachine
+import org.opendc.compute.workload.Task
import java.util.random.RandomGenerator
/**
@@ -40,9 +40,9 @@ internal class LoadSampledComputeWorkload(val source: ComputeWorkload, val fract
override fun resolve(
loader: ComputeWorkloadLoader,
random: RandomGenerator,
- ): List<VirtualMachine> {
+ ): List<Task> {
val vms = source.resolve(loader, random) // fixme: Should be shuffled, otherwise the first fraction is always chosen
- val res = mutableListOf<VirtualMachine>()
+ val res = mutableListOf<Task>()
val totalLoad = vms.sumOf { it.totalLoad }
var currentLoad = 0.0
diff --git a/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/internal/TraceComputeWorkload.kt b/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/internal/TraceComputeWorkload.kt
index 39255c59..d796341b 100644
--- a/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/internal/TraceComputeWorkload.kt
+++ b/opendc-compute/opendc-compute-workload/src/main/kotlin/org/opendc/compute/workload/internal/TraceComputeWorkload.kt
@@ -24,7 +24,7 @@ package org.opendc.compute.workload.internal
import org.opendc.compute.workload.ComputeWorkload
import org.opendc.compute.workload.ComputeWorkloadLoader
-import org.opendc.compute.workload.VirtualMachine
+import org.opendc.compute.workload.Task
import java.util.random.RandomGenerator
/**
@@ -34,7 +34,7 @@ internal class TraceComputeWorkload(val name: String, val format: String) : Comp
override fun resolve(
loader: ComputeWorkloadLoader,
random: RandomGenerator,
- ): List<VirtualMachine> {
+ ): List<Task> {
return loader.get(name, format)
}
}
diff --git a/opendc-experiments/opendc-experiments-base/build.gradle.kts b/opendc-experiments/opendc-experiments-base/build.gradle.kts
index 98ec6723..d8921ffb 100644
--- a/opendc-experiments/opendc-experiments-base/build.gradle.kts
+++ b/opendc-experiments/opendc-experiments-base/build.gradle.kts
@@ -33,7 +33,6 @@ plugins {
dependencies {
- api(projects.opendcCompute.opendcComputeService)
api(projects.opendcCompute.opendcComputeSimulator)
implementation(libs.clikt)
@@ -42,7 +41,6 @@ dependencies {
implementation(project(mapOf("path" to ":opendc-simulator:opendc-simulator-core")))
implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-workload")))
- implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-telemetry")))
implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-topology")))
implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-carbon")))
implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-failure")))
diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioReplayer.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioReplayer.kt
index 49fa409e..c82e2557 100644
--- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioReplayer.kt
+++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioReplayer.kt
@@ -29,13 +29,12 @@ import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.yield
-import org.opendc.compute.api.Task
import org.opendc.compute.api.TaskState
-import org.opendc.compute.api.TaskWatcher
import org.opendc.compute.failure.models.FailureModel
-import org.opendc.compute.service.ComputeService
-import org.opendc.compute.workload.VirtualMachine
-import org.opendc.experiments.base.scenario.specs.CheckpointModelSpec
+import org.opendc.compute.simulator.TaskWatcher
+import org.opendc.compute.simulator.service.ComputeService
+import org.opendc.compute.simulator.service.ServiceTask
+import org.opendc.compute.workload.Task
import org.opendc.experiments.base.scenario.specs.FailureModelSpec
import org.opendc.experiments.base.scenario.specs.createFailureModel
import java.time.InstantSource
@@ -50,7 +49,7 @@ import kotlin.math.max
*/
public class RunningTaskWatcher : TaskWatcher {
// TODO: make this changeable
- private val unlockStates: List<TaskState> = listOf(TaskState.DELETED, TaskState.TERMINATED)
+ private val unlockStates: List<TaskState> = listOf(TaskState.DELETED)
private val mutex: Mutex = Mutex()
@@ -63,7 +62,7 @@ public class RunningTaskWatcher : TaskWatcher {
}
override fun onStateChanged(
- task: Task,
+ task: ServiceTask,
newState: TaskState,
) {
if (unlockStates.contains(newState)) {
@@ -73,7 +72,7 @@ public class RunningTaskWatcher : TaskWatcher {
}
/**
- * Helper method to replay the specified list of [VirtualMachine] and suspend execution util all VMs have finished.
+ * Helper method to replay the specified list of [Task] and suspend execution util all VMs have finished.
*
* @param clock The simulation clock.
* @param trace The trace to simulate.
@@ -83,9 +82,8 @@ public class RunningTaskWatcher : TaskWatcher {
*/
public suspend fun ComputeService.replay(
clock: InstantSource,
- trace: List<VirtualMachine>,
+ trace: List<Task>,
failureModelSpec: FailureModelSpec? = null,
- checkpointModelSpec: CheckpointModelSpec? = null,
seed: Long = 0,
submitImmediately: Boolean = false,
) {
@@ -97,9 +95,6 @@ public suspend fun ComputeService.replay(
createFailureModel(coroutineContext, clock, this, Random(seed), it)
}
- // Create new image for the virtual machine
- val image = client.newImage("vm-image")
-
try {
coroutineScope {
// Start the fault injector
@@ -107,9 +102,9 @@ public suspend fun ComputeService.replay(
var simulationOffset = Long.MIN_VALUE
- for (entry in trace.sortedBy { it.startTime }) {
+ for (entry in trace.sortedBy { it.submissionTime }) {
val now = clock.millis()
- val start = entry.startTime.toEpochMilli()
+ val start = entry.submissionTime.toEpochMilli()
// Set the simulationOffset based on the starting time of the first task
if (simulationOffset == Long.MIN_VALUE) {
@@ -121,25 +116,21 @@ public suspend fun ComputeService.replay(
delay(max(0, (start - now - simulationOffset)))
}
- val checkpointInterval = checkpointModelSpec?.checkpointInterval ?: 0L
- val checkpointDuration = checkpointModelSpec?.checkpointDuration ?: 0L
- val checkpointIntervalScaling = checkpointModelSpec?.checkpointIntervalScaling ?: 1.0
-
- val workload = entry.trace.createWorkload(start, checkpointInterval, checkpointDuration, checkpointIntervalScaling)
+ val workload = entry.trace
val meta = mutableMapOf<String, Any>("workload" to workload)
launch {
val task =
client.newTask(
entry.name,
- image,
client.newFlavor(
entry.name,
entry.cpuCount,
entry.memCapacity,
- meta = if (entry.cpuCapacity > 0.0) mapOf("cpu-capacity" to entry.cpuCapacity) else emptyMap(),
+ if (entry.cpuCapacity > 0.0) mapOf("cpu-capacity" to entry.cpuCapacity) else emptyMap(),
),
- meta = meta,
+ workload,
+ meta,
)
val taskWatcher = RunningTaskWatcher()
@@ -150,7 +141,7 @@ public suspend fun ComputeService.replay(
taskWatcher.wait()
// Stop the task after reaching the end-time of the virtual machine
- task.delete()
+// task.delete()
}
}
}
diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt
index 2bd9dfa3..df5aabf7 100644
--- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt
+++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ScenarioRunner.kt
@@ -26,13 +26,13 @@ import me.tongfei.progressbar.ProgressBarBuilder
import me.tongfei.progressbar.ProgressBarStyle
import org.opendc.compute.carbon.CarbonTrace
import org.opendc.compute.carbon.getCarbonTrace
-import org.opendc.compute.service.ComputeService
-import org.opendc.compute.service.scheduler.createComputeScheduler
import org.opendc.compute.simulator.provisioner.Provisioner
import org.opendc.compute.simulator.provisioner.registerComputeMonitor
import org.opendc.compute.simulator.provisioner.setupComputeService
import org.opendc.compute.simulator.provisioner.setupHosts
-import org.opendc.compute.telemetry.export.parquet.ParquetComputeMonitor
+import org.opendc.compute.simulator.scheduler.createComputeScheduler
+import org.opendc.compute.simulator.service.ComputeService
+import org.opendc.compute.simulator.telemetry.parquet.ParquetComputeMonitor
import org.opendc.compute.topology.clusterTopology
import org.opendc.compute.workload.ComputeWorkloadLoader
import org.opendc.experiments.base.scenario.Scenario
@@ -89,14 +89,24 @@ public fun runScenario(
{ createComputeScheduler(scenario.allocationPolicySpec.policyType, Random(it.seeder.nextLong())) },
maxNumFailures = scenario.maxNumFailures,
),
- setupHosts(serviceDomain, topology, optimize = true),
+ setupHosts(serviceDomain, topology),
)
- val workloadLoader = ComputeWorkloadLoader(File(scenario.workloadSpec.pathToFile))
+ val checkpointInterval = scenario.checkpointModelSpec?.checkpointInterval ?: 0L
+ val checkpointDuration = scenario.checkpointModelSpec?.checkpointDuration ?: 0L
+ val checkpointIntervalScaling = scenario.checkpointModelSpec?.checkpointIntervalScaling ?: 1.0
+
+ val workloadLoader =
+ ComputeWorkloadLoader(
+ File(scenario.workloadSpec.pathToFile),
+ checkpointInterval,
+ checkpointDuration,
+ checkpointIntervalScaling,
+ )
val tasks = getWorkloadType(scenario.workloadSpec.type).resolve(workloadLoader, Random(seed))
val carbonTrace = getCarbonTrace(scenario.carbonTracePath)
- val startTime = Duration.ofMillis(tasks.minOf { it.startTime }.toEpochMilli())
+ val startTime = Duration.ofMillis(tasks.minOf { it.submissionTime }.toEpochMilli())
addExportModel(provisioner, serviceDomain, scenario, seed, startTime, carbonTrace, scenario.id)
val service = provisioner.registry.resolve(serviceDomain, ComputeService::class.java)!!
@@ -104,7 +114,6 @@ public fun runScenario(
timeSource,
tasks,
failureModelSpec = scenario.failureModelSpec,
- checkpointModelSpec = scenario.checkpointModelSpec,
seed = seed,
)
}
diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/ExperimentReader.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/ExperimentReader.kt
index 160bd783..8ed60b08 100644
--- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/ExperimentReader.kt
+++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/ExperimentReader.kt
@@ -25,7 +25,7 @@ package org.opendc.experiments.base.scenario
import kotlinx.serialization.ExperimentalSerializationApi
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.decodeFromStream
-import org.opendc.compute.telemetry.export.parquet.ComputeExportConfig
+import org.opendc.compute.simulator.telemetry.parquet.ComputeExportConfig
import org.opendc.experiments.base.scenario.specs.ExperimentSpec
import java.io.File
import java.io.InputStream
diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/Scenario.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/Scenario.kt
index 91cd09ba..f649e4f8 100644
--- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/Scenario.kt
+++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/Scenario.kt
@@ -22,7 +22,7 @@
package org.opendc.experiments.base.scenario
-import org.opendc.compute.telemetry.export.parquet.ComputeExportConfig
+import org.opendc.compute.simulator.telemetry.parquet.ComputeExportConfig
import org.opendc.experiments.base.scenario.specs.AllocationPolicySpec
import org.opendc.experiments.base.scenario.specs.CheckpointModelSpec
import org.opendc.experiments.base.scenario.specs.ExportModelSpec
diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/specs/AllocationPolicySpec.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/specs/AllocationPolicySpec.kt
index edfdfaf5..ddc11a50 100644
--- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/specs/AllocationPolicySpec.kt
+++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/specs/AllocationPolicySpec.kt
@@ -23,7 +23,7 @@
package org.opendc.experiments.base.scenario.specs
import kotlinx.serialization.Serializable
-import org.opendc.compute.service.scheduler.ComputeSchedulerEnum
+import org.opendc.compute.simulator.scheduler.ComputeSchedulerEnum
/**
* specification describing how tasks are allocated
diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/specs/ExperimentSpec.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/specs/ExperimentSpec.kt
index 60fcf51a..b957ea18 100644
--- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/specs/ExperimentSpec.kt
+++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/specs/ExperimentSpec.kt
@@ -25,7 +25,7 @@ package org.opendc.experiments.base.scenario.specs
import kotlinx.serialization.Serializable
import org.opendc.common.logger.infoNewLine
import org.opendc.common.logger.logger
-import org.opendc.compute.telemetry.export.parquet.ComputeExportConfig
+import org.opendc.compute.simulator.telemetry.parquet.ComputeExportConfig
import java.util.UUID
/**
diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/specs/FailureModelSpec.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/specs/FailureModelSpec.kt
index a27e77bc..c20b4467 100644
--- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/specs/FailureModelSpec.kt
+++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/specs/FailureModelSpec.kt
@@ -61,7 +61,7 @@ import org.opendc.compute.failure.models.SampleBasedFailureModel
import org.opendc.compute.failure.models.TraceBasedFailureModel
import org.opendc.compute.failure.prefab.FailurePrefab
import org.opendc.compute.failure.prefab.createFailureModelPrefab
-import org.opendc.compute.service.ComputeService
+import org.opendc.compute.simulator.service.ComputeService
import java.io.File
import java.time.InstantSource
import kotlin.coroutines.CoroutineContext
diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/specs/ScenarioSpec.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/specs/ScenarioSpec.kt
index d7fdb8f4..8f2146f1 100644
--- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/specs/ScenarioSpec.kt
+++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/scenario/specs/ScenarioSpec.kt
@@ -23,7 +23,7 @@
package org.opendc.experiments.base.scenario.specs
import kotlinx.serialization.Serializable
-import org.opendc.compute.telemetry.export.parquet.ComputeExportConfig
+import org.opendc.compute.simulator.telemetry.parquet.ComputeExportConfig
@Serializable
public data class ScenarioSpec(
diff --git a/opendc-experiments/opendc-experiments-base/src/test/kotlin/org/opendc/experiments/base/ScenarioIntegrationTest.kt b/opendc-experiments/opendc-experiments-base/src/test/kotlin/org/opendc/experiments/base/ScenarioIntegrationTest.kt
index 08eddca0..41d18225 100644
--- a/opendc-experiments/opendc-experiments-base/src/test/kotlin/org/opendc/experiments/base/ScenarioIntegrationTest.kt
+++ b/opendc-experiments/opendc-experiments-base/src/test/kotlin/org/opendc/experiments/base/ScenarioIntegrationTest.kt
@@ -26,26 +26,27 @@ import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.assertAll
-import org.opendc.compute.service.ComputeService
-import org.opendc.compute.service.scheduler.FilterScheduler
-import org.opendc.compute.service.scheduler.filters.ComputeFilter
-import org.opendc.compute.service.scheduler.filters.RamFilter
-import org.opendc.compute.service.scheduler.filters.VCpuFilter
-import org.opendc.compute.service.scheduler.weights.CoreRamWeigher
import org.opendc.compute.simulator.provisioner.Provisioner
import org.opendc.compute.simulator.provisioner.registerComputeMonitor
import org.opendc.compute.simulator.provisioner.setupComputeService
import org.opendc.compute.simulator.provisioner.setupHosts
-import org.opendc.compute.telemetry.ComputeMonitor
-import org.opendc.compute.telemetry.table.HostTableReader
-import org.opendc.compute.telemetry.table.ServiceTableReader
+import org.opendc.compute.simulator.scheduler.FilterScheduler
+import org.opendc.compute.simulator.scheduler.filters.ComputeFilter
+import org.opendc.compute.simulator.scheduler.filters.RamFilter
+import org.opendc.compute.simulator.scheduler.filters.VCpuFilter
+import org.opendc.compute.simulator.scheduler.weights.CoreRamWeigher
+import org.opendc.compute.simulator.service.ComputeService
+import org.opendc.compute.simulator.telemetry.ComputeMonitor
+import org.opendc.compute.simulator.telemetry.table.HostTableReader
+import org.opendc.compute.simulator.telemetry.table.ServiceTableReader
import org.opendc.compute.topology.clusterTopology
import org.opendc.compute.topology.specs.HostSpec
import org.opendc.compute.workload.ComputeWorkloadLoader
-import org.opendc.compute.workload.VirtualMachine
+import org.opendc.compute.workload.Task
import org.opendc.compute.workload.sampleByLoad
import org.opendc.compute.workload.trace
import org.opendc.experiments.base.runner.replay
+import org.opendc.experiments.base.scenario.specs.TraceBasedFailureModelSpec
import org.opendc.simulator.kotlin.runSimulation
import java.io.File
import java.util.Random
@@ -80,18 +81,18 @@ class ScenarioIntegrationTest {
filters = listOf(ComputeFilter(), VCpuFilter(16.0), RamFilter(1.0)),
weighers = listOf(CoreRamWeigher(multiplier = 1.0)),
)
- workloadLoader = ComputeWorkloadLoader(File("src/test/resources/trace"))
+ workloadLoader = ComputeWorkloadLoader(File("src/test/resources/traces"), 0L, 0L, 0.0)
}
/**
- * Test a large simulation setup.
+ * Test a small simulation setup.
*/
@Test
- fun testLarge() =
+ fun testSingleTask() =
runSimulation {
- val seed = 0L
- val workload = createTestWorkload(1.0, seed)
- val topology = createTopology("multi.json")
+ val seed = 1L
+ val workload = createTestWorkload("single_task", 1.0, seed)
+ val topology = createTopology("single.json")
val monitor = monitor
Provisioner(dispatcher, seed).use { provisioner ->
@@ -116,16 +117,11 @@ class ScenarioIntegrationTest {
// Note that these values have been verified beforehand
assertAll(
- { assertEquals(50, monitor.attemptsSuccess, "The scheduler should schedule 50 VMs") },
- { assertEquals(0, monitor.tasksActive, "All VMs should finish after a run") },
- { assertEquals(0, monitor.attemptsFailure, "No VM should be unscheduled") },
- { assertEquals(0, monitor.tasksPending, "No VM should not be in the queue") },
- { assertEquals(43101769345, monitor.idleTime) { "Incorrect idle time" } },
- { assertEquals(3489430672, monitor.activeTime) { "Incorrect active time" } },
- { assertEquals(0, monitor.stealTime) { "Incorrect steal time" } },
- { assertEquals(0, monitor.lostTime) { "Incorrect lost time" } },
- { assertEquals(3.3388920269258898E7, monitor.powerDraw, 1E4) { "Incorrect power draw" } },
- { assertEquals(1.0016127451211525E10, monitor.energyUsage, 1E4) { "Incorrect energy usage" } },
+ { assertEquals(0, monitor.idleTime) { "Idle time incorrect" } },
+ { assertEquals(3000000, monitor.activeTime) { "Active time incorrect" } },
+ { assertEquals(0, monitor.stealTime) { "Steal time incorrect" } },
+ { assertEquals(0, monitor.lostTime) { "Lost time incorrect" } },
+ { assertEquals(1200000.0, monitor.energyUsage, 1E4) { "Incorrect energy usage" } },
)
}
@@ -133,12 +129,13 @@ class ScenarioIntegrationTest {
* Test a small simulation setup.
*/
@Test
- fun testSmall() =
+ fun testSingleTaskSingleFailure() =
runSimulation {
val seed = 1L
- val workload = createTestWorkload(0.25, seed)
+ val workload = createTestWorkload("single_task", 1.0, seed)
val topology = createTopology("single.json")
val monitor = monitor
+ val failureModelSpec = TraceBasedFailureModelSpec("src/test/resources/failureTraces/single_failure.parquet")
Provisioner(dispatcher, seed).use { provisioner ->
provisioner.runSteps(
@@ -148,7 +145,7 @@ class ScenarioIntegrationTest {
)
val service = provisioner.registry.resolve("compute.opendc.org", ComputeService::class.java)!!
- service.replay(timeSource, workload, seed = seed)
+ service.replay(timeSource, workload, failureModelSpec = failureModelSpec, seed = seed)
}
println(
@@ -162,24 +159,25 @@ class ScenarioIntegrationTest {
// Note that these values have been verified beforehand
assertAll(
- { assertEquals(1373419781, monitor.idleTime) { "Idle time incorrect" } },
- { assertEquals(1217668222, monitor.activeTime) { "Active time incorrect" } },
+ { assertEquals(2200000, monitor.idleTime) { "Idle time incorrect" } },
+ { assertEquals(5000000, monitor.activeTime) { "Active time incorrect" } },
{ assertEquals(0, monitor.stealTime) { "Steal time incorrect" } },
{ assertEquals(0, monitor.lostTime) { "Lost time incorrect" } },
- { assertEquals(2539987.394500494, monitor.powerDraw, 1E4) { "Incorrect power draw" } },
- { assertEquals(7.617527900379665E8, monitor.energyUsage, 1E4) { "Incorrect energy usage" } },
+ { assertEquals(2440000.0, monitor.energyUsage, 1E4) { "Incorrect energy usage" } },
)
}
/**
- * Test a small simulation setup with interference.
- * TODO: Interference is currently removed from OpenDC. Reactivate when interference is back in.
+ * Test a small simulation setup.
*/
- fun testInterference() =
+ @Test
+ fun testSingleTask11Failures() =
runSimulation {
- val seed = 0L
- val workload = createTestWorkload(1.0, seed)
+ val seed = 1L
+ val workload = createTestWorkload("single_task", 1.0, seed)
val topology = createTopology("single.json")
+ val monitor = monitor
+ val failureModelSpec = TraceBasedFailureModelSpec("src/test/resources/failureTraces/11_failures.parquet")
Provisioner(dispatcher, seed).use { provisioner ->
provisioner.runSteps(
@@ -189,7 +187,7 @@ class ScenarioIntegrationTest {
)
val service = provisioner.registry.resolve("compute.opendc.org", ComputeService::class.java)!!
- service.replay(timeSource, workload, seed = seed)
+ service.replay(timeSource, workload, failureModelSpec = failureModelSpec, seed = seed)
}
println(
@@ -203,22 +201,69 @@ class ScenarioIntegrationTest {
// Note that these values have been verified beforehand
assertAll(
- { assertEquals(42814948316, monitor.idleTime) { "Idle time incorrect" } },
- { assertEquals(40138266225, monitor.activeTime) { "Active time incorrect" } },
- { assertEquals(23489356981, monitor.stealTime) { "Steal time incorrect" } },
+ { assertEquals(1, monitor.tasksTerminated) { "Idle time incorrect" } },
+ { assertEquals(18100000, monitor.idleTime) { "Idle time incorrect" } },
+ { assertEquals(20000000, monitor.activeTime) { "Active time incorrect" } },
+ { assertEquals(0, monitor.stealTime) { "Steal time incorrect" } },
{ assertEquals(0, monitor.lostTime) { "Lost time incorrect" } },
+ { assertEquals(1.162E7, monitor.energyUsage, 1E4) { "Incorrect energy usage" } },
)
}
/**
- * Test a small simulation setup with failures.
- * FIXME: Currently failures do not work. reactivate this test when Failures are implemented again
+ * Test a small simulation setup.
*/
- fun testFailures() =
+ @Test
+ fun testSingleTaskCheckpoint() =
runSimulation {
- val seed = 0L
+ val seed = 1L
+ workloadLoader = ComputeWorkloadLoader(File("src/test/resources/traces"), 1000000L, 1000L, 1.0)
+ val workload = createTestWorkload("single_task", 1.0, seed)
+ val topology = createTopology("single.json")
+ val monitor = monitor
+ val failureModelSpec = TraceBasedFailureModelSpec("src/test/resources/failureTraces/11_failures.parquet")
+
+ Provisioner(dispatcher, seed).use { provisioner ->
+ provisioner.runSteps(
+ setupComputeService(serviceDomain = "compute.opendc.org", { computeScheduler }),
+ registerComputeMonitor(serviceDomain = "compute.opendc.org", monitor),
+ setupHosts(serviceDomain = "compute.opendc.org", topology),
+ )
+
+ val service = provisioner.registry.resolve("compute.opendc.org", ComputeService::class.java)!!
+ service.replay(timeSource, workload, failureModelSpec = failureModelSpec, seed = seed)
+ }
+
+ println(
+ "Scheduler " +
+ "Success=${monitor.attemptsSuccess} " +
+ "Failure=${monitor.attemptsFailure} " +
+ "Error=${monitor.attemptsError} " +
+ "Pending=${monitor.tasksPending} " +
+ "Active=${monitor.tasksActive}",
+ )
+
+ // Note that these values have been verified beforehand
+ assertAll(
+ { assertEquals(0, monitor.tasksTerminated) { "Idle time incorrect" } },
+ { assertEquals(1, monitor.tasksCompleted) { "Idle time incorrect" } },
+ { assertEquals(4296000, monitor.idleTime) { "Idle time incorrect" } },
+ { assertEquals(5004000, monitor.activeTime) { "Active time incorrect" } },
+ { assertEquals(0, monitor.stealTime) { "Steal time incorrect" } },
+ { assertEquals(0, monitor.lostTime) { "Lost time incorrect" } },
+ { assertEquals(2860800.0, monitor.energyUsage, 1E4) { "Incorrect energy usage" } },
+ )
+ }
+
+ /**
+ * Test a small simulation setup.
+ */
+ @Test
+ fun testSmall() =
+ runSimulation {
+ val seed = 1L
+ val workload = createTestWorkload("bitbrains-small", 0.25, seed)
val topology = createTopology("single.json")
- val workload = createTestWorkload(0.25, seed)
val monitor = monitor
Provisioner(dispatcher, seed).use { provisioner ->
@@ -229,16 +274,72 @@ class ScenarioIntegrationTest {
)
val service = provisioner.registry.resolve("compute.opendc.org", ComputeService::class.java)!!
- service.replay(timeSource, workload, seed = seed, failureModelSpec = null)
+ service.replay(timeSource, workload, seed = seed)
}
+ println(
+ "Scheduler " +
+ "Success=${monitor.attemptsSuccess} " +
+ "Failure=${monitor.attemptsFailure} " +
+ "Error=${monitor.attemptsError} " +
+ "Pending=${monitor.tasksPending} " +
+ "Active=${monitor.tasksActive}",
+ )
+
// Note that these values have been verified beforehand
assertAll(
- { assertEquals(1404277711, monitor.idleTime) { "Idle time incorrect" } },
- { assertEquals(1478675712, monitor.activeTime) { "Active time incorrect" } },
- { assertEquals(152, monitor.stealTime) { "Steal time incorrect" } },
+ { assertEquals(1803918601, monitor.idleTime) { "Idle time incorrect" } },
+ { assertEquals(787181585, monitor.activeTime) { "Active time incorrect" } },
+ { assertEquals(0, monitor.stealTime) { "Steal time incorrect" } },
{ assertEquals(0, monitor.lostTime) { "Lost time incorrect" } },
- { assertEquals(360369187, monitor.uptime) { "Uptime incorrect" } },
+ { assertEquals(6.756768E8, monitor.energyUsage, 1E4) { "Incorrect energy usage" } },
+ )
+ }
+
+ /**
+ * Test a large simulation setup.
+ */
+ @Test
+ fun testLarge() =
+ runSimulation {
+ val seed = 0L
+ val workload = createTestWorkload("bitbrains-small", 1.0, seed)
+ val topology = createTopology("multi.json")
+ val monitor = monitor
+
+ Provisioner(dispatcher, seed).use { provisioner ->
+ provisioner.runSteps(
+ setupComputeService(serviceDomain = "compute.opendc.org", { computeScheduler }),
+ registerComputeMonitor(serviceDomain = "compute.opendc.org", monitor),
+ setupHosts(serviceDomain = "compute.opendc.org", topology),
+ )
+
+ val service = provisioner.registry.resolve("compute.opendc.org", ComputeService::class.java)!!
+ service.replay(timeSource, workload, seed = seed)
+ }
+
+ println(
+ "Scheduler " +
+ "Success=${monitor.attemptsSuccess} " +
+ "Failure=${monitor.attemptsFailure} " +
+ "Error=${monitor.attemptsError} " +
+ "Pending=${monitor.tasksPending} " +
+ "Active=${monitor.tasksActive}",
+ )
+
+ // Note that these values have been verified beforehand
+ assertAll(
+ { assertEquals(50, monitor.attemptsSuccess, "The scheduler should schedule 50 VMs") },
+ { assertEquals(50, monitor.tasksCompleted, "The scheduler should schedule 50 VMs") },
+ { assertEquals(0, monitor.tasksTerminated, "The scheduler should schedule 50 VMs") },
+ { assertEquals(0, monitor.tasksActive, "All VMs should finish after a run") },
+ { assertEquals(0, monitor.attemptsFailure, "No VM should be unscheduled") },
+ { assertEquals(0, monitor.tasksPending, "No VM should not be in the queue") },
+ { assertEquals(43101788258, monitor.idleTime) { "Incorrect idle time" } },
+ { assertEquals(3489412702, monitor.activeTime) { "Incorrect active time" } },
+ { assertEquals(0, monitor.stealTime) { "Incorrect steal time" } },
+ { assertEquals(0, monitor.lostTime) { "Incorrect lost time" } },
+ { assertEquals(1.0016592256E10, monitor.energyUsage, 1E4) { "Incorrect energy usage" } },
)
}
@@ -246,10 +347,11 @@ class ScenarioIntegrationTest {
* Obtain the trace reader for the test.
*/
private fun createTestWorkload(
+ traceName: String,
fraction: Double,
seed: Long,
- ): List<VirtualMachine> {
- val source = trace("bitbrains-small").sampleByLoad(fraction)
+ ): List<Task> {
+ val source = trace(traceName).sampleByLoad(fraction)
return source.resolve(workloadLoader, Random(seed))
}
@@ -257,7 +359,7 @@ class ScenarioIntegrationTest {
* Obtain the topology factory for the test.
*/
private fun createTopology(name: String): List<HostSpec> {
- val stream = checkNotNull(object {}.javaClass.getResourceAsStream("/env/$name"))
+ val stream = checkNotNull(object {}.javaClass.getResourceAsStream("/topologies/$name"))
return stream.use { clusterTopology(stream) }
}
@@ -267,13 +369,17 @@ class ScenarioIntegrationTest {
var attemptsError = 0
var tasksPending = 0
var tasksActive = 0
+ var tasksTerminated = 0
+ var tasksCompleted = 0
override fun record(reader: ServiceTableReader) {
attemptsSuccess = reader.attemptsSuccess
attemptsFailure = reader.attemptsFailure
- attemptsError = reader.attemptsError
+ attemptsError = 0
tasksPending = reader.tasksPending
tasksActive = reader.tasksActive
+ tasksTerminated = reader.tasksTerminated
+ tasksCompleted = reader.tasksCompleted
}
var idleTime = 0L
diff --git a/opendc-experiments/opendc-experiments-base/src/test/resources/failureTraces/11_failures.parquet b/opendc-experiments/opendc-experiments-base/src/test/resources/failureTraces/11_failures.parquet
new file mode 100644
index 00000000..dbd93acb
--- /dev/null
+++ b/opendc-experiments/opendc-experiments-base/src/test/resources/failureTraces/11_failures.parquet
Binary files differ
diff --git a/opendc-experiments/opendc-experiments-base/src/test/resources/failureTraces/single_failure.parquet b/opendc-experiments/opendc-experiments-base/src/test/resources/failureTraces/single_failure.parquet
new file mode 100644
index 00000000..d1f8b853
--- /dev/null
+++ b/opendc-experiments/opendc-experiments-base/src/test/resources/failureTraces/single_failure.parquet
Binary files differ
diff --git a/opendc-experiments/opendc-experiments-base/src/test/resources/env/multi.json b/opendc-experiments/opendc-experiments-base/src/test/resources/topologies/multi.json
index c3a060cc..c3a060cc 100644
--- a/opendc-experiments/opendc-experiments-base/src/test/resources/env/multi.json
+++ b/opendc-experiments/opendc-experiments-base/src/test/resources/topologies/multi.json
diff --git a/opendc-experiments/opendc-experiments-base/src/test/resources/env/single.json b/opendc-experiments/opendc-experiments-base/src/test/resources/topologies/single.json
index f69b21be..de66bfc2 100644
--- a/opendc-experiments/opendc-experiments-base/src/test/resources/env/single.json
+++ b/opendc-experiments/opendc-experiments-base/src/test/resources/topologies/single.json
@@ -9,15 +9,15 @@
"name": "H01",
"cpu":
{
- "coreCount": 8,
- "coreSpeed": 3200
+ "coreCount": 12,
+ "coreSpeed": 3300,
+ "count": 1
},
"memory": {
- "memorySize": 128000
+ "memorySize": 140457600000
}
}
]
}
]
}
-
diff --git a/opendc-experiments/opendc-experiments-base/src/test/resources/trace/bitbrains-small/fragments.parquet b/opendc-experiments/opendc-experiments-base/src/test/resources/traces/bitbrains-small/fragments.parquet
index 240f58e3..240f58e3 100644
--- a/opendc-experiments/opendc-experiments-base/src/test/resources/trace/bitbrains-small/fragments.parquet
+++ b/opendc-experiments/opendc-experiments-base/src/test/resources/traces/bitbrains-small/fragments.parquet
Binary files differ
diff --git a/opendc-experiments/opendc-experiments-base/src/test/resources/trace/bitbrains-small/interference-model.json b/opendc-experiments/opendc-experiments-base/src/test/resources/traces/bitbrains-small/interference-model.json
index 51fc6366..51fc6366 100644
--- a/opendc-experiments/opendc-experiments-base/src/test/resources/trace/bitbrains-small/interference-model.json
+++ b/opendc-experiments/opendc-experiments-base/src/test/resources/traces/bitbrains-small/interference-model.json
diff --git a/opendc-experiments/opendc-experiments-base/src/test/resources/trace/bitbrains-small/tasks.parquet b/opendc-experiments/opendc-experiments-base/src/test/resources/traces/bitbrains-small/tasks.parquet
index 8e9dcea7..8e9dcea7 100644
--- a/opendc-experiments/opendc-experiments-base/src/test/resources/trace/bitbrains-small/tasks.parquet
+++ b/opendc-experiments/opendc-experiments-base/src/test/resources/traces/bitbrains-small/tasks.parquet
Binary files differ
diff --git a/opendc-experiments/opendc-experiments-base/src/test/resources/traces/single_task/fragments.parquet b/opendc-experiments/opendc-experiments-base/src/test/resources/traces/single_task/fragments.parquet
new file mode 100644
index 00000000..94a2d69e
--- /dev/null
+++ b/opendc-experiments/opendc-experiments-base/src/test/resources/traces/single_task/fragments.parquet
Binary files differ
diff --git a/opendc-experiments/opendc-experiments-base/src/test/resources/traces/single_task/tasks.parquet b/opendc-experiments/opendc-experiments-base/src/test/resources/traces/single_task/tasks.parquet
new file mode 100644
index 00000000..2a7da2eb
--- /dev/null
+++ b/opendc-experiments/opendc-experiments-base/src/test/resources/traces/single_task/tasks.parquet
Binary files differ
diff --git a/opendc-experiments/opendc-experiments-faas/build.gradle.kts b/opendc-experiments/opendc-experiments-faas/build.gradle.kts
deleted file mode 100644
index d217f320..00000000
--- a/opendc-experiments/opendc-experiments-faas/build.gradle.kts
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-description = "Support library for simulating FaaS workloads with OpenDC"
-
-// Build configuration
-plugins {
- `kotlin-library-conventions`
- `testing-conventions`
- `jacoco-conventions`
-}
-
-dependencies {
- api(projects.opendcFaas.opendcFaasSimulator)
-
- implementation(libs.kotlin.logging)
- implementation(libs.jackson.dataformat.csv)
- implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-simulator")))
-
- testImplementation(libs.slf4j.simple)
- testImplementation(projects.opendcSimulator.opendcSimulatorCore)
-}
diff --git a/opendc-experiments/opendc-experiments-faas/src/main/kotlin/org/opendc/experiments/faas/FaaSServiceProvisioningStep.kt b/opendc-experiments/opendc-experiments-faas/src/main/kotlin/org/opendc/experiments/faas/FaaSServiceProvisioningStep.kt
deleted file mode 100644
index 6c8cc0a2..00000000
--- a/opendc-experiments/opendc-experiments-faas/src/main/kotlin/org/opendc/experiments/faas/FaaSServiceProvisioningStep.kt
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.faas
-
-import org.opendc.compute.simulator.provisioner.ProvisioningContext
-import org.opendc.compute.simulator.provisioner.ProvisioningStep
-import org.opendc.faas.service.FaaSService
-import org.opendc.faas.service.autoscaler.FunctionTerminationPolicy
-import org.opendc.faas.service.router.RoutingPolicy
-import org.opendc.faas.simulator.SimFunctionDeployer
-import org.opendc.faas.simulator.delay.ColdStartModel
-import org.opendc.faas.simulator.delay.StochasticDelayInjector
-import org.opendc.faas.simulator.delay.ZeroDelayInjector
-import org.opendc.simulator.compute.model.MachineModel
-import java.util.Random
-
-/**
- * A [ProvisioningStep] implementation for a [FaaSService].
- *
- * @param serviceDomain The domain name under which to register the compute service.
- * @param routingPolicy The routing policy to use.
- * @param terminationPolicy The function termination policy to use.
- * @param machineModel The [MachineModel] that models the physical machine on which the functions run.
- * @param coldStartModel The cold start models to test.
- */
-public class FaaSServiceProvisioningStep internal constructor(
- private val serviceDomain: String,
- private val routingPolicy: (ProvisioningContext) -> RoutingPolicy,
- private val terminationPolicy: (ProvisioningContext) -> FunctionTerminationPolicy,
- private val machineModel: MachineModel,
- private val coldStartModel: ColdStartModel?,
-) : ProvisioningStep {
- override fun apply(ctx: ProvisioningContext): AutoCloseable {
- val delayInjector =
- if (coldStartModel != null) {
- StochasticDelayInjector(coldStartModel, Random(ctx.seeder.nextLong()))
- } else {
- ZeroDelayInjector
- }
- val deployer = SimFunctionDeployer(ctx.dispatcher, machineModel, delayInjector)
- val service =
- FaaSService(
- ctx.dispatcher,
- deployer,
- routingPolicy(ctx),
- terminationPolicy(ctx),
- )
-
- ctx.registry.register(serviceDomain, FaaSService::class.java, service)
-
- return AutoCloseable { service.close() }
- }
-}
diff --git a/opendc-experiments/opendc-experiments-faas/src/main/kotlin/org/opendc/experiments/faas/FaaSSteps.kt b/opendc-experiments/opendc-experiments-faas/src/main/kotlin/org/opendc/experiments/faas/FaaSSteps.kt
deleted file mode 100644
index a84fe092..00000000
--- a/opendc-experiments/opendc-experiments-faas/src/main/kotlin/org/opendc/experiments/faas/FaaSSteps.kt
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-@file:JvmName("FaaSSteps")
-
-package org.opendc.experiments.faas
-
-import org.opendc.compute.simulator.provisioner.ProvisioningContext
-import org.opendc.compute.simulator.provisioner.ProvisioningStep
-import org.opendc.faas.service.FaaSService
-import org.opendc.faas.service.autoscaler.FunctionTerminationPolicy
-import org.opendc.faas.service.router.RoutingPolicy
-import org.opendc.faas.simulator.delay.ColdStartModel
-import org.opendc.simulator.compute.model.MachineModel
-
-/**
- * Return a [ProvisioningStep] that sets up a [FaaSService].
- *
- * @param serviceDomain The domain name under which to register the compute service.
- * @param routingPolicy The routing policy to use.
- * @param terminationPolicy The function termination policy to use.
- * @param machineModel The [MachineModel] that models the physical machine on which the functions run.
- * @param coldStartModel The cold start models to test.
- */
-public fun setupFaaSService(
- serviceDomain: String,
- routingPolicy: (ProvisioningContext) -> RoutingPolicy,
- terminationPolicy: (ProvisioningContext) -> FunctionTerminationPolicy,
- machineModel: MachineModel,
- coldStartModel: ColdStartModel? = null,
-): ProvisioningStep {
- return FaaSServiceProvisioningStep(serviceDomain, routingPolicy, terminationPolicy, machineModel, coldStartModel)
-}
diff --git a/opendc-experiments/opendc-experiments-faas/src/main/kotlin/org/opendc/experiments/faas/FunctionSample.kt b/opendc-experiments/opendc-experiments-faas/src/main/kotlin/org/opendc/experiments/faas/FunctionSample.kt
deleted file mode 100644
index 4ca84da7..00000000
--- a/opendc-experiments/opendc-experiments-faas/src/main/kotlin/org/opendc/experiments/faas/FunctionSample.kt
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.faas
-
-/**
- * A sample of a single function.
- *
- * @param timestamp The timestamp of the function.
- * @param duration The average execution time of the function.
- * @param invocations The number of invocations.
- * @param provisionedCpu The provisioned CPU for this function in MHz.
- * @param provisionedMem The amount of memory provisioned for this function in MB.
- * @param cpuUsage The actual CPU usage in MHz.
- * @param memUsage The actual memory usage in MB.
- */
-public data class FunctionSample(
- val timestamp: Long,
- val duration: Long,
- val invocations: Int,
- val provisionedCpu: Int,
- val provisionedMem: Int,
- val cpuUsage: Double,
- val memUsage: Double,
-)
diff --git a/opendc-experiments/opendc-experiments-faas/src/main/kotlin/org/opendc/experiments/faas/FunctionTrace.kt b/opendc-experiments/opendc-experiments-faas/src/main/kotlin/org/opendc/experiments/faas/FunctionTrace.kt
deleted file mode 100644
index 5268811c..00000000
--- a/opendc-experiments/opendc-experiments-faas/src/main/kotlin/org/opendc/experiments/faas/FunctionTrace.kt
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.faas
-
-/**
- * A trace for a single function
- */
-public data class FunctionTrace(val id: String, val maxMemory: Int, val samples: List<FunctionSample>)
diff --git a/opendc-experiments/opendc-experiments-faas/src/main/kotlin/org/opendc/experiments/faas/FunctionTraceWorkload.kt b/opendc-experiments/opendc-experiments-faas/src/main/kotlin/org/opendc/experiments/faas/FunctionTraceWorkload.kt
deleted file mode 100644
index e3345fb4..00000000
--- a/opendc-experiments/opendc-experiments-faas/src/main/kotlin/org/opendc/experiments/faas/FunctionTraceWorkload.kt
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.faas
-
-import org.opendc.faas.simulator.workload.SimFaaSWorkload
-import org.opendc.simulator.compute.workload.SimTrace
-import org.opendc.simulator.compute.workload.SimTraceFragment
-import org.opendc.simulator.compute.workload.SimWorkload
-
-/**
- * A [SimFaaSWorkload] for a [FunctionTrace].
- */
-public class FunctionTraceWorkload(trace: FunctionTrace) :
- SimFaaSWorkload,
- SimWorkload by SimTrace.ofFragments(
- trace.samples.map {
- SimTraceFragment(it.timestamp + it.duration, it.cpuUsage, 1)
- },
- ).createWorkload(0) {
- override suspend fun invoke() {}
-}
diff --git a/opendc-experiments/opendc-experiments-faas/src/main/kotlin/org/opendc/experiments/faas/ServerlessTraceReader.kt b/opendc-experiments/opendc-experiments-faas/src/main/kotlin/org/opendc/experiments/faas/ServerlessTraceReader.kt
deleted file mode 100644
index 09412961..00000000
--- a/opendc-experiments/opendc-experiments-faas/src/main/kotlin/org/opendc/experiments/faas/ServerlessTraceReader.kt
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.faas
-
-import com.fasterxml.jackson.core.JsonToken
-import com.fasterxml.jackson.dataformat.csv.CsvFactory
-import com.fasterxml.jackson.dataformat.csv.CsvParser
-import com.fasterxml.jackson.dataformat.csv.CsvSchema
-import mu.KotlinLogging
-import java.io.File
-import kotlin.math.max
-
-/**
- * A trace reader for the serverless workload trace used in the OpenDC Serverless thesis.
- */
-public class ServerlessTraceReader {
- /**
- * The logger for this trace reader instance.
- */
- private val logger = KotlinLogging.logger {}
-
- /**
- * The [CsvFactory] used to create the parser.
- */
- private val factory =
- CsvFactory()
- .enable(CsvParser.Feature.ALLOW_COMMENTS)
- .enable(CsvParser.Feature.TRIM_SPACES)
-
- /**
- * Parse the traces at the specified [path].
- */
- public fun parse(path: File): List<FunctionTrace> {
- return if (path.isFile) {
- listOf(parseSingle(path))
- } else {
- path.walk()
- .filterNot { it.isDirectory }
- .sorted()
- .map { file ->
- logger.info { "Parsing $file" }
- parseSingle(file)
- }
- .toList()
- }
- }
-
- /**
- * Parse a single trace.
- */
- private fun parseSingle(path: File): FunctionTrace {
- val samples = mutableListOf<FunctionSample>()
-
- val parser = factory.createParser(path)
- parser.schema = schema
-
- var id = ""
- var timestamp = 0L
- var invocations = 0
- var execTime = 0L
- var provisionedCpu = 0
- var provisionedMem = 0
- var cpuUsage = 0.0
- var memUsage = 0.0
- var maxMemory = 0
-
- while (!parser.isClosed) {
- val token = parser.nextValue()
- if (token == JsonToken.END_OBJECT) {
- maxMemory = max(maxMemory, provisionedMem)
- samples.add(FunctionSample(timestamp, execTime, invocations, provisionedCpu, provisionedMem, cpuUsage, memUsage))
-
- id = ""
- timestamp = 0
- invocations = 0
- execTime = 0
- provisionedCpu = 0
- provisionedMem = 0
- cpuUsage = 0.0
- memUsage = 0.0
-
- continue
- }
-
- when (parser.currentName) {
- "Timestamp [ms]" -> timestamp = parser.valueAsLong
- "Invocations" -> invocations = parser.valueAsInt
- "Avg Exec time per Invocation" -> execTime = parser.valueAsLong
- "Provisioned CPU [Mhz]" -> provisionedCpu = parser.valueAsInt
- "Provisioned Memory [mb]" -> provisionedMem = parser.valueAsInt
- "Avg cpu usage per Invocation [Mhz]" -> cpuUsage = parser.valueAsDouble
- "Avg mem usage per Invocation [mb]" -> memUsage = parser.valueAsDouble
- "name" -> id = parser.text
- }
- }
-
- return FunctionTrace(id, maxMemory, samples)
- }
-
- private companion object {
- /**
- * The [CsvSchema] that is used to parse the trace.
- */
- val schema =
- CsvSchema.builder()
- .addColumn("Timestamp [ms]", CsvSchema.ColumnType.NUMBER)
- .addColumn("Invocations", CsvSchema.ColumnType.NUMBER)
- .addColumn("Avg Exec time per Invocation", CsvSchema.ColumnType.NUMBER)
- .addColumn("Provisioned CPU [Mhz]", CsvSchema.ColumnType.NUMBER)
- .addColumn("Provisioned Memory [mb]", CsvSchema.ColumnType.NUMBER)
- .addColumn("Avg cpu usage per Invocation [Mhz]", CsvSchema.ColumnType.NUMBER)
- .addColumn("Avg mem usage per Invocation [mb]", CsvSchema.ColumnType.NUMBER)
- .addColumn("name", CsvSchema.ColumnType.STRING)
- .setAllowComments(true)
- .setUseHeader(true)
- .build()
- }
-}
diff --git a/opendc-experiments/opendc-experiments-faas/src/main/kotlin/org/opendc/experiments/faas/TraceHelpers.kt b/opendc-experiments/opendc-experiments-faas/src/main/kotlin/org/opendc/experiments/faas/TraceHelpers.kt
deleted file mode 100644
index faa13fa2..00000000
--- a/opendc-experiments/opendc-experiments-faas/src/main/kotlin/org/opendc/experiments/faas/TraceHelpers.kt
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-@file:JvmName("TraceHelpers")
-
-package org.opendc.experiments.faas
-
-import kotlinx.coroutines.coroutineScope
-import kotlinx.coroutines.delay
-import kotlinx.coroutines.launch
-import org.opendc.faas.service.FaaSService
-import java.time.InstantSource
-import kotlin.math.max
-
-/**
- * Run a simulation of the [FaaSService] by replaying the workload trace given by [trace].
- *
- * @param clock An [InstantSource] instance tracking simulation time.
- * @param trace The trace to simulate.
- */
-public suspend fun FaaSService.replay(
- clock: InstantSource,
- trace: List<FunctionTrace>,
-) {
- val client = newClient()
- try {
- coroutineScope {
- for (entry in trace) {
- launch {
- val workload = FunctionTraceWorkload(entry)
- val function = client.newFunction(entry.id, entry.maxMemory.toLong(), meta = mapOf("workload" to workload))
-
- var offset = Long.MIN_VALUE
-
- for (sample in entry.samples) {
- if (sample.invocations == 0) {
- continue
- }
-
- if (offset < 0) {
- offset = sample.timestamp - clock.millis()
- }
-
- delay(max(0, (sample.timestamp - offset) - clock.millis()))
-
- repeat(sample.invocations) {
- function.invoke()
- }
- }
- }
- }
- }
- } finally {
- client.close()
- }
-}
diff --git a/opendc-experiments/opendc-experiments-faas/src/test/kotlin/org/opendc/experiments/faas/FaaSExperiment.kt b/opendc-experiments/opendc-experiments-faas/src/test/kotlin/org/opendc/experiments/faas/FaaSExperiment.kt
deleted file mode 100644
index 49d7d489..00000000
--- a/opendc-experiments/opendc-experiments-faas/src/test/kotlin/org/opendc/experiments/faas/FaaSExperiment.kt
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.faas
-
-import org.junit.jupiter.api.Assertions.assertAll
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.Test
-import org.opendc.compute.simulator.provisioner.Provisioner
-import org.opendc.faas.service.FaaSService
-import org.opendc.faas.service.autoscaler.FunctionTerminationPolicyFixed
-import org.opendc.faas.service.router.RandomRoutingPolicy
-import org.opendc.faas.simulator.delay.ColdStartModel
-import org.opendc.simulator.compute.model.Cpu
-import org.opendc.simulator.compute.model.MachineModel
-import org.opendc.simulator.compute.model.MemoryUnit
-import org.opendc.simulator.kotlin.runSimulation
-import java.io.File
-import java.time.Duration
-
-/**
- * Integration test to demonstrate a FaaS experiment.
- */
-class FaaSExperiment {
- /**
- * Smoke test that simulates a small trace.
- */
- @Test
- fun testSmoke() =
- runSimulation {
- val faasService = "faas.opendc.org"
-
- Provisioner(dispatcher, seed = 0L).use { provisioner ->
- provisioner.runStep(
- setupFaaSService(
- faasService,
- { RandomRoutingPolicy() },
- { FunctionTerminationPolicyFixed(it.dispatcher, timeout = Duration.ofMinutes(10)) },
- createMachineModel(),
- coldStartModel = ColdStartModel.GOOGLE,
- ),
- )
-
- val service = provisioner.registry.resolve(faasService, FaaSService::class.java)!!
-
- val trace = ServerlessTraceReader().parse(File("src/test/resources/trace"))
- service.replay(timeSource, trace)
-
- val stats = service.getSchedulerStats()
-
- assertAll(
- { assertEquals(14, stats.totalInvocations) },
- { assertEquals(2, stats.timelyInvocations) },
- { assertEquals(12, stats.delayedInvocations) },
- )
- }
- }
-
- /**
- * Construct the machine model to test with.
- */
- private fun createMachineModel(): MachineModel {
- return MachineModel(
- // cpus
- Cpu(0, 2, 1000.0, "Intel", "Xeon", "amd64"),
- // memory
- MemoryUnit("Crucial", "MTA18ASF4G72AZ-3G2B1", 3200.0, 32_000 * 4),
- )
- }
-}
diff --git a/opendc-experiments/opendc-experiments-faas/src/test/kotlin/org/opendc/experiments/faas/ServerlessTraceReaderTest.kt b/opendc-experiments/opendc-experiments-faas/src/test/kotlin/org/opendc/experiments/faas/ServerlessTraceReaderTest.kt
deleted file mode 100644
index bc4f5457..00000000
--- a/opendc-experiments/opendc-experiments-faas/src/test/kotlin/org/opendc/experiments/faas/ServerlessTraceReaderTest.kt
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.faas
-
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.Test
-import org.junit.jupiter.api.assertAll
-import java.io.File
-
-/**
- * Test suite for [ServerlessTraceReader].
- */
-class ServerlessTraceReaderTest {
- @Test
- fun testSmoke() {
- val path = File("src/test/resources/trace")
- val trace = ServerlessTraceReader().parse(path)
-
- assertAll(
- { assertEquals(2, trace.size) },
- { assertEquals("004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78", trace[0].id) },
- { assertEquals(256, trace[0].maxMemory) },
- )
- }
-}
diff --git a/opendc-experiments/opendc-experiments-faas/src/test/resources/trace/1.csv b/opendc-experiments/opendc-experiments-faas/src/test/resources/trace/1.csv
deleted file mode 100644
index 03a10d07..00000000
--- a/opendc-experiments/opendc-experiments-faas/src/test/resources/trace/1.csv
+++ /dev/null
@@ -1,10081 +0,0 @@
-Timestamp [ms],Invocations, Avg Exec time per Invocation,Provisioned CPU [Mhz],Provisioned Memory [mb], Avg cpu usage per Invocation [Mhz], Avg mem usage per Invocation [mb],name
-60000,1,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-120000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-180000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-240000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-300000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-360000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-420000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-480000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-540000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-600000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-660000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-720000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-780000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-840000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-900000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-960000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-1020000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-1080000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-1140000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-1200000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-1260000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-1320000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-1380000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-1440000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-1500000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-1560000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-1620000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-1680000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-1740000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-1800000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-1860000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-1920000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-1980000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-2040000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-2100000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-2160000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-2220000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-2280000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-2340000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-2400000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-2460000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-2520000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-2580000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-2640000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-2700000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-2760000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-2820000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-2880000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-2940000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-3000000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-3060000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-3120000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-3180000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-3240000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-3300000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-3360000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-3420000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-3480000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-3540000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-3600000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-3660000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-3720000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-3780000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-3840000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-3900000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-3960000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-4020000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-4080000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-4140000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-4200000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-4260000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-4320000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-4380000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-4440000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-4500000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-4560000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-4620000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-4680000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-4740000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-4800000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-4860000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-4920000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-4980000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-5040000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-5100000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-5160000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-5220000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-5280000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-5340000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-5400000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-5460000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-5520000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-5580000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-5640000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-5700000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-5760000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-5820000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-5880000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-5940000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-6000000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-6060000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-6120000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-6180000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-6240000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-6300000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-6360000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-6420000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-6480000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-6540000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-6600000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-6660000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-6720000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-6780000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-6840000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-6900000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-6960000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-7020000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-7080000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-7140000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-7200000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-7260000,1,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-7320000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-7380000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-7440000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-7500000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-7560000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-7620000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-7680000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-7740000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-7800000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-7860000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-7920000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-7980000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-8040000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-8100000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-8160000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-8220000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-8280000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-8340000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-8400000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-8460000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-8520000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-8580000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-8640000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-8700000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-8760000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-8820000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-8880000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-8940000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-9000000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-9060000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-9120000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-9180000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-9240000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-9300000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-9360000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-9420000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-9480000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-9540000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-9600000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-9660000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-9720000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-9780000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-9840000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-9900000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-9960000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-10020000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-10080000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-10140000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-10200000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-10260000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-10320000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-10380000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-10440000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-10500000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-10560000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-10620000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-10680000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-10740000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-10800000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-10860000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-10920000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-10980000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-11040000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-11100000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-11160000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-11220000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-11280000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-11340000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-11400000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-11460000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-11520000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-11580000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-11640000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-11700000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-11760000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-11820000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-11880000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-11940000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-12000000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-12060000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-12120000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-12180000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-12240000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-12300000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-12360000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-12420000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-12480000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-12540000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-12600000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-12660000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-12720000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-12780000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-12840000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-12900000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-12960000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-13020000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-13080000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-13140000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-13200000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-13260000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-13320000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-13380000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-13440000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-13500000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-13560000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-13620000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-13680000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-13740000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-13800000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-13860000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-13920000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-13980000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-14040000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-14100000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-14160000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-14220000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-14280000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-14340000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-14400000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-14460000,1,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-14520000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-14580000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-14640000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-14700000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-14760000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-14820000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-14880000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-14940000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-15000000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-15060000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-15120000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-15180000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-15240000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-15300000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-15360000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-15420000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-15480000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-15540000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-15600000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-15660000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-15720000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-15780000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-15840000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-15900000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-15960000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-16020000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-16080000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-16140000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-16200000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-16260000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-16320000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-16380000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-16440000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-16500000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-16560000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-16620000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-16680000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-16740000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-16800000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-16860000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-16920000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-16980000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-17040000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-17100000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-17160000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-17220000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-17280000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-17340000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-17400000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-17460000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-17520000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-17580000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-17640000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-17700000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-17760000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-17820000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-17880000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-17940000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-18000000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-18060000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-18120000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-18180000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-18240000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-18300000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-18360000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-18420000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-18480000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-18540000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-18600000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-18660000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-18720000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-18780000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-18840000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-18900000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-18960000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-19020000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-19080000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-19140000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-19200000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-19260000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-19320000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-19380000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-19440000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-19500000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-19560000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-19620000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-19680000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-19740000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-19800000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-19860000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-19920000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-19980000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-20040000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-20100000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-20160000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-20220000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-20280000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-20340000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-20400000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-20460000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-20520000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-20580000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-20640000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-20700000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-20760000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-20820000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-20880000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-20940000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-21000000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-21060000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-21120000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-21180000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-21240000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-21300000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-21360000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-21420000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-21480000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-21540000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-21600000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-21660000,2,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-21720000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-21780000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-21840000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-21900000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-21960000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-22020000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-22080000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-22140000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-22200000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-22260000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-22320000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-22380000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-22440000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-22500000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-22560000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-22620000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-22680000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-22740000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-22800000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-22860000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-22920000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-22980000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-23040000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-23100000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-23160000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-23220000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-23280000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-23340000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-23400000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-23460000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-23520000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-23580000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-23640000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-23700000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-23760000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-23820000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-23880000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-23940000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-24000000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-24060000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-24120000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-24180000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-24240000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-24300000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-24360000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-24420000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-24480000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-24540000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-24600000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-24660000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-24720000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-24780000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-24840000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-24900000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-24960000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-25020000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-25080000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-25140000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-25200000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-25260000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-25320000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-25380000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-25440000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-25500000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-25560000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-25620000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-25680000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-25740000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-25800000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-25860000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-25920000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-25980000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-26040000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-26100000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-26160000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-26220000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-26280000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-26340000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-26400000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-26460000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-26520000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-26580000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-26640000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-26700000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-26760000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-26820000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-26880000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-26940000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-27000000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-27060000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-27120000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-27180000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-27240000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-27300000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-27360000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-27420000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-27480000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-27540000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-27600000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-27660000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-27720000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-27780000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-27840000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-27900000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-27960000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-28020000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-28080000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-28140000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-28200000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-28260000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-28320000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-28380000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-28440000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-28500000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-28560000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-28620000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-28680000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-28740000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-28800000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-28860000,1,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-28920000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-28980000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-29040000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-29100000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-29160000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-29220000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-29280000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-29340000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-29400000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-29460000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-29520000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-29580000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-29640000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-29700000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-29760000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-29820000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-29880000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-29940000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-30000000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-30060000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-30120000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-30180000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-30240000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-30300000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-30360000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-30420000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-30480000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-30540000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-30600000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-30660000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-30720000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-30780000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-30840000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-30900000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-30960000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-31020000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-31080000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-31140000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-31200000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-31260000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-31320000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-31380000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-31440000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-31500000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-31560000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-31620000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-31680000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-31740000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-31800000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-31860000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-31920000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-31980000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-32040000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-32100000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-32160000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-32220000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-32280000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-32340000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-32400000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-32460000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-32520000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-32580000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-32640000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-32700000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-32760000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-32820000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-32880000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-32940000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-33000000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-33060000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-33120000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-33180000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-33240000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-33300000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-33360000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-33420000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-33480000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-33540000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-33600000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-33660000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-33720000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-33780000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-33840000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-33900000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-33960000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-34020000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-34080000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-34140000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-34200000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-34260000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-34320000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-34380000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-34440000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-34500000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-34560000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-34620000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-34680000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-34740000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-34800000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-34860000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-34920000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-34980000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-35040000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-35100000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-35160000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-35220000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-35280000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-35340000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-35400000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-35460000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-35520000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-35580000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-35640000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-35700000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-35760000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-35820000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-35880000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-35940000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-36000000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-36060000,1,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-36120000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-36180000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-36240000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-36300000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-36360000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-36420000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-36480000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-36540000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-36600000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-36660000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-36720000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-36780000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-36840000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-36900000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-36960000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-37020000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-37080000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-37140000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-37200000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-37260000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-37320000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-37380000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-37440000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-37500000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-37560000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-37620000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-37680000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-37740000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-37800000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-37860000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-37920000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-37980000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-38040000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-38100000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-38160000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-38220000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-38280000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-38340000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-38400000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-38460000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-38520000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-38580000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-38640000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-38700000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-38760000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-38820000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-38880000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-38940000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-39000000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-39060000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-39120000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-39180000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-39240000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-39300000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-39360000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-39420000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-39480000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-39540000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-39600000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-39660000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-39720000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-39780000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-39840000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-39900000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-39960000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-40020000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-40080000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-40140000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-40200000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-40260000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-40320000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-40380000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-40440000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-40500000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-40560000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-40620000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-40680000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-40740000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-40800000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-40860000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-40920000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-40980000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-41040000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-41100000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-41160000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-41220000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-41280000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-41340000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-41400000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-41460000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-41520000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-41580000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-41640000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-41700000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-41760000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-41820000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-41880000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-41940000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-42000000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-42060000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-42120000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-42180000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-42240000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-42300000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-42360000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-42420000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-42480000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-42540000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-42600000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-42660000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-42720000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-42780000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-42840000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-42900000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-42960000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-43020000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-43080000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-43140000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-43200000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-43260000,1,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-43320000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-43380000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-43440000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-43500000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-43560000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-43620000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-43680000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-43740000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-43800000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-43860000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-43920000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-43980000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-44040000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-44100000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-44160000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-44220000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-44280000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-44340000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-44400000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-44460000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-44520000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-44580000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-44640000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-44700000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-44760000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-44820000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-44880000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-44940000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-45000000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-45060000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-45120000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-45180000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-45240000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-45300000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-45360000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-45420000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-45480000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-45540000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-45600000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-45660000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-45720000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-45780000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-45840000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-45900000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-45960000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-46020000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-46080000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-46140000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-46200000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-46260000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-46320000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-46380000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-46440000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-46500000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-46560000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-46620000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-46680000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-46740000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-46800000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-46860000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-46920000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-46980000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-47040000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-47100000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-47160000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-47220000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-47280000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-47340000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-47400000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-47460000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-47520000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-47580000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-47640000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-47700000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-47760000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-47820000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-47880000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-47940000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-48000000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-48060000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-48120000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-48180000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-48240000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-48300000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-48360000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-48420000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-48480000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-48540000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-48600000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-48660000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-48720000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-48780000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-48840000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-48900000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-48960000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-49020000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-49080000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-49140000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-49200000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-49260000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-49320000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-49380000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-49440000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-49500000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-49560000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-49620000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-49680000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-49740000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-49800000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-49860000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-49920000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-49980000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-50040000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-50100000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-50160000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-50220000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-50280000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-50340000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-50400000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-50460000,1,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-50520000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-50580000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-50640000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-50700000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-50760000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-50820000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-50880000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-50940000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-51000000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-51060000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-51120000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-51180000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-51240000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-51300000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-51360000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-51420000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-51480000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-51540000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-51600000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-51660000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-51720000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-51780000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-51840000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-51900000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-51960000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-52020000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-52080000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-52140000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-52200000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-52260000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-52320000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-52380000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-52440000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-52500000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-52560000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-52620000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-52680000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-52740000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-52800000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-52860000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-52920000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-52980000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-53040000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-53100000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-53160000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-53220000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-53280000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-53340000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-53400000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-53460000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-53520000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-53580000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-53640000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-53700000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-53760000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-53820000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-53880000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-53940000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-54000000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-54060000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-54120000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-54180000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-54240000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-54300000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-54360000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-54420000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-54480000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-54540000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-54600000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-54660000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-54720000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-54780000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-54840000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-54900000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-54960000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-55020000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-55080000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-55140000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-55200000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-55260000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-55320000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-55380000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-55440000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-55500000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-55560000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-55620000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-55680000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-55740000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-55800000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-55860000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-55920000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-55980000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-56040000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-56100000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-56160000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-56220000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-56280000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-56340000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-56400000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-56460000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-56520000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-56580000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-56640000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-56700000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-56760000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-56820000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-56880000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-56940000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-57000000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-57060000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-57120000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-57180000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-57240000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-57300000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-57360000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-57420000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-57480000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-57540000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-57600000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-57660000,1,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-57720000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-57780000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-57840000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-57900000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-57960000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-58020000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-58080000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-58140000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-58200000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-58260000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-58320000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-58380000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-58440000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-58500000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-58560000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-58620000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-58680000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-58740000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-58800000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-58860000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-58920000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-58980000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-59040000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-59100000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-59160000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-59220000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-59280000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-59340000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-59400000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-59460000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-59520000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-59580000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-59640000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-59700000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-59760000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-59820000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-59880000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-59940000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-60000000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-60060000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-60120000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-60180000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-60240000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-60300000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-60360000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-60420000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-60480000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-60540000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-60600000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-60660000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-60720000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-60780000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-60840000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-60900000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-60960000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-61020000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-61080000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-61140000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-61200000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-61260000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-61320000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-61380000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-61440000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-61500000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-61560000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-61620000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-61680000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-61740000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-61800000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-61860000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-61920000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-61980000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-62040000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-62100000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-62160000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-62220000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-62280000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-62340000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-62400000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-62460000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-62520000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-62580000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-62640000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-62700000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-62760000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-62820000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-62880000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-62940000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-63000000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-63060000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-63120000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-63180000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-63240000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-63300000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-63360000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-63420000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-63480000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-63540000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-63600000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-63660000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-63720000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-63780000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-63840000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-63900000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-63960000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-64020000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-64080000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-64140000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-64200000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-64260000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-64320000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-64380000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-64440000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-64500000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-64560000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-64620000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-64680000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-64740000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-64800000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-64860000,1,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-64920000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-64980000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-65040000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-65100000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-65160000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-65220000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-65280000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-65340000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-65400000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-65460000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-65520000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-65580000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-65640000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-65700000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-65760000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-65820000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-65880000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-65940000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-66000000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-66060000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-66120000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-66180000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-66240000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-66300000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-66360000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-66420000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-66480000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-66540000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-66600000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-66660000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-66720000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-66780000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-66840000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-66900000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-66960000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-67020000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-67080000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-67140000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-67200000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-67260000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-67320000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-67380000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-67440000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-67500000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-67560000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-67620000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-67680000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-67740000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-67800000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-67860000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-67920000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-67980000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-68040000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-68100000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-68160000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-68220000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-68280000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-68340000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-68400000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-68460000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-68520000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-68580000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-68640000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-68700000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-68760000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-68820000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-68880000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-68940000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-69000000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-69060000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-69120000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-69180000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-69240000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-69300000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-69360000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-69420000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-69480000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-69540000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-69600000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-69660000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-69720000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-69780000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-69840000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-69900000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-69960000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-70020000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-70080000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-70140000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-70200000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-70260000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-70320000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-70380000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-70440000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-70500000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-70560000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-70620000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-70680000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-70740000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-70800000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-70860000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-70920000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-70980000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-71040000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-71100000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-71160000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-71220000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-71280000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-71340000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-71400000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-71460000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-71520000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-71580000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-71640000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-71700000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-71760000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-71820000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-71880000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-71940000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-72000000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-72060000,1,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-72120000,1,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-72180000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-72240000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-72300000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-72360000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-72420000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-72480000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-72540000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-72600000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-72660000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-72720000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-72780000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-72840000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-72900000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-72960000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-73020000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-73080000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-73140000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-73200000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-73260000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-73320000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-73380000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-73440000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-73500000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-73560000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-73620000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-73680000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-73740000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-73800000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-73860000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-73920000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-73980000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-74040000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-74100000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-74160000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-74220000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-74280000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-74340000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-74400000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-74460000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-74520000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-74580000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-74640000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-74700000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-74760000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-74820000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-74880000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-74940000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-75000000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-75060000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-75120000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-75180000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-75240000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-75300000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-75360000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-75420000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-75480000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-75540000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-75600000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-75660000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-75720000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-75780000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-75840000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-75900000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-75960000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-76020000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-76080000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-76140000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-76200000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-76260000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-76320000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-76380000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-76440000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-76500000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-76560000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-76620000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-76680000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-76740000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-76800000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-76860000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-76920000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-76980000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-77040000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-77100000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-77160000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-77220000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-77280000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-77340000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-77400000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-77460000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-77520000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-77580000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-77640000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-77700000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-77760000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-77820000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-77880000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-77940000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-78000000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-78060000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-78120000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-78180000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-78240000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-78300000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-78360000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-78420000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-78480000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-78540000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-78600000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-78660000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-78720000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-78780000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-78840000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-78900000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-78960000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-79020000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-79080000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-79140000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-79200000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-79260000,1,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-79320000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-79380000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-79440000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-79500000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-79560000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-79620000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-79680000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-79740000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-79800000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-79860000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-79920000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-79980000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-80040000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-80100000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-80160000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-80220000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-80280000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-80340000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-80400000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-80460000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-80520000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-80580000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-80640000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-80700000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-80760000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-80820000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-80880000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-80940000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-81000000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-81060000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-81120000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-81180000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-81240000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-81300000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-81360000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-81420000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-81480000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-81540000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-81600000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-81660000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-81720000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-81780000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-81840000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-81900000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-81960000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-82020000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-82080000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-82140000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-82200000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-82260000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-82320000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-82380000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-82440000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-82500000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-82560000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-82620000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-82680000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-82740000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-82800000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-82860000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-82920000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-82980000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-83040000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-83100000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-83160000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-83220000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-83280000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-83340000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-83400000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-83460000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-83520000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-83580000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-83640000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-83700000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-83760000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-83820000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-83880000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-83940000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-84000000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-84060000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-84120000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-84180000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-84240000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-84300000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-84360000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-84420000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-84480000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-84540000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-84600000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-84660000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-84720000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-84780000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-84840000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-84900000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-84960000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-85020000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-85080000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-85140000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-85200000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-85260000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-85320000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-85380000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-85440000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-85500000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-85560000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-85620000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-85680000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-85740000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-85800000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-85860000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-85920000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-85980000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-86040000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-86100000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-86160000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-86220000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-86280000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-86340000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-86400000,0,300262,100,256,0.0,2.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-86460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-86520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-86580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-86640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-86700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-86760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-86820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-86880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-86940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-87000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-87060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-87120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-87180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-87240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-87300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-87360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-87420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-87480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-87540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-87600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-87660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-87720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-87780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-87840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-87900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-87960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-88020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-88080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-88140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-88200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-88260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-88320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-88380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-88440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-88500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-88560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-88620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-88680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-88740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-88800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-88860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-88920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-88980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-89040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-89100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-89160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-89220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-89280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-89340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-89400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-89460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-89520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-89580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-89640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-89700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-89760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-89820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-89880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-89940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-90000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-90060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-90120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-90180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-90240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-90300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-90360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-90420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-90480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-90540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-90600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-90660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-90720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-90780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-90840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-90900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-90960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-91020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-91080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-91140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-91200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-91260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-91320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-91380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-91440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-91500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-91560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-91620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-91680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-91740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-91800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-91860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-91920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-91980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-92040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-92100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-92160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-92220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-92280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-92340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-92400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-92460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-92520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-92580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-92640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-92700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-92760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-92820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-92880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-92940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-93000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-93060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-93120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-93180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-93240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-93300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-93360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-93420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-93480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-93540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-93600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-93660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-93720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-93780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-93840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-93900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-93960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-94020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-94080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-94140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-94200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-94260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-94320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-94380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-94440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-94500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-94560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-94620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-94680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-94740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-94800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-94860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-94920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-94980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-95040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-95100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-95160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-95220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-95280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-95340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-95400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-95460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-95520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-95580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-95640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-95700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-95760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-95820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-95880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-95940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-96000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-96060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-96120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-96180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-96240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-96300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-96360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-96420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-96480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-96540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-96600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-96660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-96720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-96780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-96840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-96900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-96960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-97020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-97080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-97140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-97200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-97260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-97320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-97380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-97440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-97500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-97560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-97620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-97680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-97740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-97800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-97860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-97920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-97980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-98040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-98100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-98160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-98220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-98280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-98340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-98400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-98460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-98520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-98580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-98640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-98700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-98760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-98820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-98880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-98940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-99000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-99060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-99120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-99180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-99240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-99300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-99360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-99420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-99480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-99540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-99600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-99660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-99720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-99780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-99840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-99900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-99960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-100020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-100080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-100140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-100200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-100260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-100320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-100380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-100440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-100500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-100560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-100620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-100680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-100740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-100800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-100860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-100920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-100980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-101040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-101100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-101160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-101220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-101280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-101340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-101400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-101460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-101520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-101580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-101640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-101700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-101760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-101820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-101880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-101940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-102000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-102060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-102120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-102180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-102240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-102300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-102360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-102420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-102480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-102540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-102600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-102660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-102720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-102780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-102840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-102900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-102960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-103020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-103080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-103140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-103200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-103260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-103320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-103380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-103440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-103500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-103560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-103620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-103680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-103740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-103800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-103860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-103920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-103980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-104040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-104100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-104160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-104220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-104280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-104340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-104400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-104460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-104520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-104580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-104640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-104700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-104760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-104820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-104880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-104940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-105000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-105060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-105120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-105180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-105240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-105300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-105360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-105420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-105480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-105540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-105600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-105660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-105720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-105780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-105840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-105900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-105960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-106020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-106080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-106140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-106200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-106260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-106320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-106380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-106440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-106500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-106560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-106620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-106680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-106740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-106800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-106860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-106920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-106980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-107040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-107100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-107160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-107220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-107280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-107340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-107400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-107460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-107520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-107580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-107640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-107700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-107760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-107820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-107880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-107940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-108000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-108060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-108120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-108180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-108240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-108300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-108360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-108420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-108480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-108540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-108600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-108660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-108720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-108780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-108840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-108900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-108960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-109020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-109080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-109140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-109200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-109260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-109320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-109380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-109440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-109500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-109560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-109620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-109680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-109740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-109800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-109860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-109920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-109980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-110040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-110100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-110160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-110220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-110280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-110340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-110400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-110460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-110520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-110580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-110640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-110700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-110760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-110820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-110880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-110940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-111000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-111060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-111120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-111180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-111240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-111300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-111360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-111420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-111480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-111540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-111600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-111660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-111720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-111780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-111840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-111900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-111960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-112020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-112080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-112140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-112200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-112260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-112320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-112380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-112440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-112500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-112560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-112620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-112680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-112740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-112800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-112860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-112920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-112980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-113040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-113100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-113160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-113220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-113280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-113340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-113400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-113460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-113520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-113580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-113640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-113700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-113760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-113820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-113880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-113940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-114000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-114060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-114120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-114180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-114240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-114300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-114360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-114420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-114480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-114540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-114600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-114660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-114720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-114780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-114840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-114900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-114960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-115020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-115080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-115140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-115200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-115260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-115320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-115380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-115440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-115500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-115560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-115620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-115680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-115740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-115800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-115860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-115920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-115980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-116040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-116100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-116160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-116220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-116280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-116340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-116400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-116460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-116520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-116580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-116640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-116700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-116760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-116820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-116880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-116940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-117000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-117060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-117120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-117180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-117240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-117300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-117360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-117420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-117480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-117540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-117600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-117660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-117720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-117780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-117840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-117900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-117960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-118020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-118080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-118140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-118200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-118260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-118320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-118380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-118440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-118500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-118560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-118620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-118680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-118740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-118800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-118860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-118920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-118980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-119040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-119100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-119160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-119220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-119280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-119340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-119400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-119460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-119520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-119580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-119640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-119700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-119760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-119820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-119880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-119940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-120000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-120060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-120120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-120180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-120240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-120300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-120360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-120420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-120480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-120540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-120600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-120660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-120720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-120780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-120840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-120900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-120960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-121020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-121080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-121140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-121200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-121260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-121320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-121380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-121440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-121500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-121560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-121620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-121680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-121740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-121800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-121860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-121920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-121980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-122040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-122100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-122160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-122220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-122280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-122340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-122400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-122460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-122520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-122580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-122640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-122700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-122760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-122820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-122880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-122940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-123000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-123060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-123120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-123180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-123240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-123300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-123360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-123420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-123480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-123540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-123600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-123660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-123720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-123780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-123840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-123900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-123960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-124020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-124080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-124140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-124200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-124260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-124320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-124380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-124440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-124500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-124560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-124620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-124680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-124740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-124800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-124860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-124920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-124980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-125040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-125100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-125160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-125220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-125280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-125340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-125400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-125460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-125520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-125580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-125640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-125700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-125760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-125820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-125880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-125940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-126000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-126060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-126120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-126180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-126240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-126300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-126360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-126420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-126480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-126540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-126600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-126660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-126720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-126780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-126840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-126900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-126960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-127020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-127080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-127140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-127200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-127260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-127320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-127380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-127440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-127500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-127560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-127620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-127680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-127740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-127800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-127860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-127920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-127980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-128040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-128100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-128160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-128220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-128280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-128340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-128400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-128460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-128520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-128580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-128640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-128700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-128760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-128820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-128880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-128940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-129000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-129060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-129120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-129180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-129240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-129300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-129360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-129420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-129480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-129540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-129600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-129660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-129720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-129780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-129840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-129900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-129960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-130020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-130080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-130140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-130200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-130260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-130320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-130380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-130440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-130500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-130560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-130620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-130680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-130740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-130800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-130860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-130920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-130980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-131040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-131100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-131160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-131220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-131280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-131340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-131400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-131460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-131520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-131580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-131640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-131700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-131760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-131820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-131880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-131940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-132000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-132060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-132120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-132180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-132240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-132300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-132360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-132420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-132480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-132540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-132600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-132660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-132720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-132780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-132840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-132900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-132960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-133020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-133080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-133140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-133200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-133260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-133320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-133380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-133440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-133500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-133560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-133620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-133680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-133740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-133800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-133860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-133920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-133980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-134040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-134100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-134160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-134220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-134280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-134340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-134400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-134460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-134520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-134580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-134640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-134700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-134760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-134820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-134880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-134940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-135000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-135060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-135120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-135180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-135240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-135300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-135360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-135420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-135480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-135540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-135600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-135660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-135720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-135780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-135840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-135900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-135960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-136020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-136080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-136140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-136200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-136260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-136320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-136380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-136440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-136500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-136560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-136620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-136680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-136740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-136800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-136860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-136920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-136980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-137040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-137100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-137160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-137220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-137280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-137340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-137400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-137460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-137520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-137580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-137640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-137700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-137760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-137820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-137880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-137940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-138000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-138060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-138120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-138180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-138240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-138300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-138360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-138420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-138480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-138540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-138600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-138660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-138720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-138780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-138840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-138900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-138960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-139020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-139080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-139140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-139200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-139260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-139320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-139380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-139440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-139500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-139560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-139620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-139680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-139740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-139800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-139860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-139920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-139980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-140040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-140100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-140160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-140220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-140280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-140340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-140400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-140460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-140520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-140580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-140640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-140700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-140760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-140820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-140880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-140940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-141000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-141060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-141120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-141180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-141240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-141300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-141360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-141420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-141480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-141540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-141600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-141660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-141720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-141780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-141840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-141900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-141960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-142020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-142080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-142140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-142200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-142260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-142320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-142380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-142440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-142500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-142560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-142620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-142680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-142740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-142800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-142860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-142920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-142980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-143040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-143100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-143160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-143220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-143280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-143340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-143400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-143460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-143520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-143580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-143640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-143700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-143760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-143820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-143880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-143940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-144000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-144060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-144120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-144180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-144240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-144300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-144360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-144420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-144480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-144540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-144600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-144660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-144720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-144780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-144840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-144900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-144960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-145020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-145080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-145140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-145200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-145260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-145320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-145380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-145440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-145500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-145560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-145620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-145680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-145740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-145800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-145860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-145920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-145980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-146040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-146100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-146160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-146220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-146280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-146340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-146400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-146460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-146520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-146580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-146640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-146700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-146760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-146820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-146880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-146940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-147000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-147060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-147120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-147180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-147240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-147300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-147360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-147420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-147480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-147540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-147600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-147660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-147720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-147780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-147840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-147900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-147960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-148020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-148080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-148140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-148200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-148260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-148320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-148380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-148440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-148500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-148560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-148620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-148680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-148740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-148800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-148860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-148920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-148980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-149040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-149100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-149160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-149220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-149280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-149340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-149400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-149460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-149520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-149580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-149640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-149700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-149760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-149820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-149880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-149940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-150000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-150060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-150120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-150180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-150240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-150300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-150360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-150420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-150480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-150540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-150600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-150660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-150720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-150780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-150840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-150900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-150960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-151020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-151080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-151140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-151200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-151260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-151320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-151380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-151440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-151500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-151560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-151620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-151680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-151740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-151800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-151860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-151920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-151980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-152040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-152100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-152160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-152220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-152280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-152340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-152400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-152460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-152520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-152580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-152640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-152700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-152760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-152820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-152880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-152940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-153000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-153060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-153120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-153180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-153240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-153300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-153360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-153420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-153480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-153540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-153600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-153660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-153720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-153780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-153840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-153900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-153960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-154020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-154080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-154140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-154200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-154260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-154320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-154380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-154440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-154500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-154560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-154620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-154680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-154740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-154800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-154860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-154920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-154980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-155040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-155100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-155160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-155220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-155280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-155340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-155400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-155460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-155520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-155580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-155640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-155700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-155760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-155820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-155880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-155940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-156000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-156060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-156120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-156180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-156240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-156300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-156360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-156420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-156480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-156540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-156600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-156660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-156720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-156780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-156840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-156900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-156960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-157020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-157080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-157140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-157200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-157260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-157320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-157380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-157440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-157500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-157560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-157620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-157680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-157740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-157800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-157860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-157920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-157980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-158040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-158100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-158160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-158220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-158280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-158340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-158400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-158460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-158520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-158580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-158640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-158700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-158760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-158820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-158880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-158940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-159000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-159060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-159120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-159180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-159240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-159300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-159360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-159420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-159480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-159540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-159600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-159660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-159720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-159780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-159840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-159900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-159960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-160020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-160080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-160140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-160200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-160260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-160320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-160380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-160440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-160500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-160560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-160620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-160680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-160740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-160800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-160860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-160920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-160980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-161040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-161100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-161160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-161220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-161280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-161340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-161400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-161460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-161520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-161580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-161640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-161700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-161760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-161820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-161880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-161940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-162000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-162060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-162120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-162180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-162240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-162300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-162360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-162420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-162480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-162540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-162600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-162660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-162720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-162780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-162840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-162900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-162960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-163020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-163080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-163140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-163200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-163260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-163320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-163380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-163440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-163500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-163560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-163620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-163680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-163740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-163800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-163860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-163920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-163980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-164040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-164100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-164160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-164220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-164280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-164340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-164400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-164460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-164520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-164580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-164640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-164700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-164760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-164820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-164880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-164940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-165000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-165060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-165120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-165180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-165240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-165300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-165360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-165420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-165480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-165540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-165600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-165660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-165720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-165780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-165840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-165900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-165960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-166020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-166080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-166140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-166200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-166260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-166320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-166380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-166440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-166500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-166560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-166620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-166680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-166740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-166800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-166860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-166920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-166980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-167040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-167100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-167160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-167220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-167280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-167340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-167400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-167460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-167520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-167580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-167640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-167700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-167760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-167820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-167880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-167940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-168000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-168060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-168120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-168180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-168240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-168300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-168360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-168420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-168480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-168540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-168600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-168660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-168720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-168780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-168840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-168900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-168960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-169020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-169080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-169140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-169200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-169260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-169320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-169380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-169440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-169500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-169560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-169620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-169680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-169740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-169800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-169860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-169920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-169980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-170040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-170100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-170160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-170220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-170280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-170340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-170400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-170460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-170520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-170580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-170640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-170700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-170760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-170820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-170880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-170940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-171000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-171060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-171120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-171180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-171240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-171300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-171360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-171420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-171480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-171540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-171600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-171660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-171720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-171780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-171840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-171900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-171960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-172020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-172080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-172140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-172200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-172260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-172320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-172380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-172440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-172500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-172560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-172620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-172680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-172740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-172800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-172860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-172920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-172980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-173040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-173100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-173160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-173220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-173280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-173340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-173400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-173460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-173520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-173580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-173640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-173700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-173760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-173820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-173880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-173940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-174000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-174060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-174120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-174180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-174240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-174300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-174360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-174420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-174480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-174540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-174600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-174660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-174720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-174780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-174840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-174900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-174960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-175020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-175080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-175140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-175200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-175260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-175320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-175380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-175440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-175500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-175560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-175620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-175680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-175740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-175800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-175860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-175920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-175980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-176040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-176100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-176160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-176220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-176280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-176340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-176400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-176460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-176520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-176580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-176640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-176700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-176760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-176820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-176880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-176940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-177000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-177060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-177120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-177180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-177240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-177300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-177360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-177420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-177480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-177540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-177600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-177660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-177720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-177780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-177840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-177900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-177960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-178020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-178080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-178140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-178200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-178260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-178320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-178380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-178440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-178500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-178560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-178620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-178680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-178740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-178800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-178860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-178920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-178980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-179040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-179100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-179160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-179220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-179280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-179340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-179400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-179460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-179520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-179580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-179640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-179700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-179760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-179820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-179880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-179940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-180000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-180060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-180120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-180180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-180240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-180300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-180360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-180420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-180480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-180540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-180600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-180660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-180720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-180780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-180840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-180900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-180960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-181020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-181080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-181140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-181200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-181260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-181320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-181380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-181440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-181500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-181560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-181620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-181680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-181740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-181800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-181860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-181920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-181980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-182040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-182100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-182160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-182220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-182280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-182340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-182400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-182460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-182520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-182580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-182640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-182700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-182760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-182820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-182880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-182940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-183000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-183060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-183120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-183180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-183240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-183300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-183360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-183420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-183480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-183540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-183600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-183660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-183720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-183780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-183840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-183900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-183960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-184020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-184080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-184140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-184200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-184260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-184320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-184380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-184440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-184500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-184560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-184620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-184680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-184740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-184800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-184860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-184920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-184980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-185040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-185100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-185160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-185220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-185280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-185340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-185400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-185460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-185520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-185580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-185640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-185700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-185760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-185820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-185880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-185940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-186000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-186060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-186120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-186180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-186240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-186300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-186360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-186420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-186480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-186540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-186600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-186660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-186720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-186780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-186840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-186900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-186960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-187020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-187080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-187140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-187200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-187260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-187320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-187380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-187440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-187500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-187560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-187620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-187680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-187740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-187800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-187860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-187920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-187980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-188040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-188100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-188160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-188220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-188280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-188340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-188400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-188460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-188520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-188580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-188640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-188700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-188760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-188820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-188880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-188940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-189000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-189060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-189120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-189180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-189240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-189300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-189360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-189420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-189480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-189540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-189600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-189660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-189720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-189780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-189840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-189900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-189960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-190020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-190080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-190140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-190200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-190260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-190320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-190380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-190440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-190500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-190560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-190620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-190680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-190740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-190800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-190860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-190920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-190980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-191040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-191100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-191160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-191220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-191280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-191340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-191400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-191460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-191520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-191580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-191640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-191700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-191760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-191820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-191880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-191940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-192000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-192060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-192120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-192180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-192240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-192300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-192360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-192420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-192480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-192540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-192600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-192660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-192720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-192780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-192840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-192900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-192960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-193020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-193080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-193140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-193200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-193260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-193320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-193380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-193440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-193500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-193560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-193620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-193680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-193740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-193800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-193860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-193920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-193980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-194040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-194100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-194160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-194220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-194280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-194340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-194400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-194460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-194520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-194580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-194640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-194700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-194760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-194820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-194880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-194940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-195000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-195060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-195120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-195180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-195240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-195300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-195360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-195420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-195480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-195540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-195600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-195660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-195720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-195780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-195840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-195900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-195960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-196020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-196080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-196140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-196200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-196260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-196320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-196380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-196440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-196500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-196560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-196620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-196680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-196740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-196800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-196860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-196920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-196980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-197040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-197100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-197160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-197220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-197280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-197340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-197400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-197460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-197520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-197580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-197640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-197700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-197760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-197820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-197880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-197940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-198000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-198060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-198120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-198180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-198240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-198300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-198360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-198420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-198480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-198540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-198600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-198660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-198720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-198780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-198840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-198900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-198960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-199020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-199080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-199140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-199200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-199260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-199320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-199380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-199440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-199500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-199560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-199620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-199680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-199740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-199800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-199860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-199920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-199980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-200040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-200100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-200160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-200220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-200280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-200340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-200400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-200460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-200520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-200580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-200640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-200700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-200760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-200820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-200880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-200940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-201000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-201060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-201120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-201180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-201240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-201300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-201360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-201420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-201480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-201540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-201600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-201660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-201720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-201780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-201840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-201900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-201960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-202020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-202080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-202140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-202200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-202260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-202320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-202380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-202440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-202500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-202560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-202620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-202680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-202740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-202800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-202860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-202920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-202980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-203040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-203100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-203160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-203220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-203280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-203340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-203400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-203460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-203520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-203580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-203640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-203700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-203760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-203820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-203880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-203940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-204000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-204060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-204120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-204180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-204240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-204300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-204360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-204420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-204480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-204540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-204600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-204660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-204720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-204780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-204840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-204900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-204960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-205020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-205080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-205140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-205200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-205260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-205320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-205380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-205440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-205500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-205560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-205620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-205680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-205740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-205800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-205860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-205920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-205980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-206040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-206100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-206160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-206220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-206280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-206340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-206400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-206460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-206520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-206580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-206640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-206700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-206760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-206820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-206880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-206940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-207000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-207060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-207120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-207180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-207240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-207300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-207360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-207420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-207480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-207540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-207600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-207660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-207720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-207780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-207840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-207900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-207960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-208020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-208080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-208140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-208200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-208260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-208320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-208380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-208440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-208500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-208560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-208620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-208680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-208740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-208800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-208860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-208920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-208980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-209040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-209100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-209160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-209220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-209280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-209340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-209400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-209460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-209520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-209580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-209640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-209700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-209760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-209820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-209880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-209940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-210000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-210060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-210120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-210180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-210240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-210300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-210360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-210420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-210480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-210540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-210600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-210660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-210720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-210780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-210840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-210900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-210960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-211020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-211080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-211140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-211200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-211260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-211320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-211380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-211440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-211500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-211560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-211620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-211680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-211740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-211800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-211860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-211920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-211980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-212040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-212100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-212160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-212220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-212280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-212340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-212400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-212460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-212520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-212580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-212640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-212700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-212760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-212820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-212880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-212940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-213000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-213060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-213120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-213180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-213240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-213300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-213360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-213420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-213480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-213540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-213600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-213660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-213720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-213780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-213840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-213900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-213960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-214020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-214080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-214140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-214200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-214260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-214320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-214380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-214440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-214500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-214560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-214620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-214680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-214740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-214800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-214860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-214920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-214980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-215040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-215100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-215160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-215220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-215280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-215340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-215400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-215460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-215520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-215580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-215640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-215700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-215760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-215820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-215880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-215940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-216000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-216060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-216120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-216180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-216240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-216300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-216360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-216420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-216480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-216540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-216600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-216660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-216720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-216780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-216840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-216900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-216960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-217020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-217080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-217140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-217200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-217260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-217320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-217380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-217440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-217500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-217560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-217620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-217680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-217740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-217800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-217860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-217920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-217980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-218040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-218100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-218160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-218220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-218280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-218340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-218400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-218460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-218520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-218580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-218640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-218700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-218760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-218820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-218880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-218940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-219000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-219060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-219120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-219180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-219240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-219300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-219360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-219420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-219480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-219540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-219600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-219660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-219720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-219780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-219840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-219900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-219960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-220020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-220080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-220140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-220200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-220260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-220320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-220380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-220440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-220500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-220560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-220620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-220680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-220740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-220800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-220860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-220920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-220980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-221040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-221100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-221160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-221220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-221280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-221340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-221400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-221460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-221520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-221580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-221640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-221700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-221760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-221820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-221880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-221940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-222000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-222060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-222120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-222180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-222240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-222300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-222360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-222420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-222480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-222540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-222600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-222660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-222720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-222780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-222840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-222900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-222960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-223020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-223080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-223140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-223200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-223260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-223320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-223380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-223440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-223500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-223560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-223620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-223680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-223740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-223800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-223860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-223920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-223980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-224040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-224100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-224160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-224220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-224280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-224340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-224400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-224460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-224520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-224580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-224640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-224700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-224760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-224820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-224880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-224940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-225000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-225060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-225120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-225180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-225240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-225300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-225360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-225420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-225480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-225540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-225600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-225660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-225720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-225780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-225840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-225900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-225960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-226020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-226080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-226140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-226200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-226260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-226320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-226380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-226440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-226500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-226560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-226620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-226680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-226740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-226800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-226860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-226920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-226980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-227040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-227100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-227160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-227220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-227280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-227340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-227400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-227460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-227520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-227580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-227640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-227700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-227760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-227820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-227880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-227940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-228000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-228060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-228120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-228180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-228240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-228300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-228360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-228420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-228480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-228540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-228600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-228660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-228720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-228780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-228840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-228900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-228960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-229020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-229080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-229140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-229200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-229260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-229320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-229380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-229440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-229500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-229560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-229620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-229680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-229740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-229800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-229860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-229920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-229980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-230040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-230100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-230160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-230220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-230280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-230340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-230400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-230460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-230520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-230580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-230640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-230700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-230760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-230820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-230880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-230940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-231000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-231060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-231120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-231180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-231240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-231300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-231360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-231420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-231480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-231540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-231600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-231660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-231720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-231780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-231840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-231900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-231960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-232020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-232080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-232140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-232200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-232260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-232320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-232380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-232440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-232500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-232560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-232620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-232680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-232740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-232800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-232860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-232920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-232980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-233040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-233100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-233160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-233220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-233280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-233340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-233400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-233460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-233520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-233580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-233640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-233700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-233760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-233820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-233880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-233940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-234000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-234060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-234120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-234180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-234240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-234300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-234360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-234420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-234480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-234540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-234600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-234660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-234720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-234780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-234840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-234900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-234960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-235020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-235080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-235140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-235200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-235260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-235320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-235380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-235440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-235500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-235560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-235620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-235680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-235740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-235800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-235860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-235920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-235980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-236040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-236100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-236160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-236220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-236280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-236340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-236400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-236460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-236520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-236580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-236640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-236700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-236760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-236820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-236880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-236940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-237000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-237060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-237120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-237180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-237240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-237300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-237360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-237420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-237480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-237540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-237600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-237660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-237720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-237780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-237840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-237900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-237960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-238020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-238080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-238140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-238200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-238260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-238320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-238380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-238440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-238500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-238560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-238620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-238680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-238740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-238800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-238860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-238920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-238980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-239040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-239100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-239160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-239220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-239280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-239340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-239400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-239460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-239520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-239580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-239640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-239700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-239760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-239820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-239880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-239940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-240000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-240060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-240120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-240180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-240240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-240300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-240360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-240420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-240480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-240540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-240600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-240660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-240720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-240780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-240840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-240900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-240960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-241020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-241080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-241140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-241200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-241260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-241320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-241380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-241440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-241500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-241560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-241620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-241680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-241740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-241800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-241860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-241920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-241980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-242040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-242100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-242160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-242220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-242280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-242340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-242400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-242460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-242520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-242580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-242640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-242700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-242760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-242820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-242880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-242940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-243000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-243060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-243120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-243180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-243240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-243300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-243360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-243420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-243480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-243540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-243600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-243660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-243720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-243780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-243840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-243900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-243960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-244020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-244080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-244140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-244200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-244260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-244320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-244380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-244440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-244500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-244560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-244620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-244680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-244740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-244800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-244860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-244920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-244980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-245040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-245100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-245160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-245220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-245280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-245340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-245400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-245460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-245520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-245580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-245640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-245700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-245760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-245820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-245880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-245940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-246000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-246060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-246120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-246180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-246240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-246300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-246360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-246420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-246480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-246540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-246600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-246660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-246720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-246780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-246840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-246900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-246960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-247020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-247080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-247140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-247200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-247260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-247320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-247380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-247440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-247500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-247560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-247620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-247680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-247740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-247800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-247860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-247920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-247980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-248040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-248100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-248160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-248220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-248280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-248340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-248400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-248460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-248520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-248580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-248640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-248700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-248760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-248820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-248880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-248940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-249000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-249060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-249120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-249180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-249240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-249300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-249360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-249420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-249480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-249540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-249600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-249660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-249720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-249780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-249840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-249900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-249960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-250020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-250080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-250140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-250200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-250260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-250320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-250380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-250440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-250500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-250560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-250620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-250680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-250740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-250800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-250860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-250920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-250980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-251040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-251100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-251160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-251220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-251280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-251340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-251400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-251460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-251520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-251580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-251640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-251700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-251760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-251820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-251880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-251940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-252000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-252060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-252120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-252180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-252240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-252300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-252360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-252420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-252480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-252540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-252600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-252660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-252720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-252780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-252840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-252900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-252960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-253020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-253080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-253140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-253200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-253260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-253320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-253380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-253440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-253500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-253560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-253620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-253680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-253740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-253800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-253860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-253920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-253980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-254040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-254100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-254160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-254220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-254280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-254340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-254400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-254460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-254520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-254580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-254640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-254700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-254760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-254820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-254880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-254940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-255000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-255060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-255120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-255180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-255240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-255300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-255360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-255420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-255480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-255540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-255600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-255660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-255720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-255780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-255840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-255900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-255960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-256020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-256080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-256140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-256200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-256260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-256320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-256380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-256440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-256500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-256560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-256620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-256680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-256740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-256800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-256860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-256920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-256980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-257040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-257100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-257160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-257220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-257280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-257340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-257400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-257460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-257520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-257580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-257640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-257700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-257760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-257820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-257880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-257940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-258000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-258060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-258120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-258180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-258240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-258300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-258360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-258420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-258480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-258540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-258600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-258660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-258720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-258780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-258840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-258900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-258960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-259020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-259080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-259140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-259200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-259260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-259320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-259380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-259440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-259500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-259560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-259620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-259680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-259740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-259800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-259860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-259920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-259980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-260040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-260100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-260160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-260220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-260280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-260340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-260400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-260460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-260520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-260580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-260640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-260700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-260760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-260820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-260880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-260940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-261000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-261060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-261120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-261180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-261240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-261300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-261360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-261420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-261480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-261540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-261600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-261660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-261720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-261780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-261840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-261900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-261960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-262020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-262080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-262140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-262200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-262260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-262320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-262380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-262440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-262500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-262560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-262620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-262680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-262740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-262800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-262860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-262920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-262980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-263040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-263100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-263160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-263220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-263280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-263340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-263400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-263460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-263520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-263580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-263640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-263700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-263760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-263820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-263880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-263940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-264000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-264060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-264120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-264180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-264240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-264300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-264360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-264420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-264480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-264540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-264600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-264660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-264720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-264780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-264840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-264900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-264960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-265020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-265080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-265140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-265200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-265260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-265320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-265380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-265440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-265500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-265560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-265620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-265680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-265740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-265800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-265860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-265920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-265980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-266040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-266100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-266160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-266220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-266280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-266340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-266400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-266460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-266520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-266580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-266640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-266700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-266760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-266820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-266880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-266940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-267000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-267060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-267120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-267180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-267240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-267300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-267360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-267420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-267480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-267540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-267600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-267660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-267720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-267780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-267840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-267900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-267960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-268020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-268080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-268140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-268200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-268260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-268320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-268380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-268440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-268500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-268560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-268620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-268680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-268740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-268800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-268860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-268920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-268980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-269040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-269100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-269160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-269220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-269280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-269340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-269400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-269460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-269520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-269580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-269640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-269700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-269760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-269820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-269880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-269940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-270000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-270060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-270120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-270180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-270240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-270300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-270360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-270420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-270480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-270540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-270600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-270660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-270720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-270780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-270840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-270900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-270960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-271020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-271080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-271140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-271200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-271260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-271320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-271380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-271440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-271500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-271560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-271620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-271680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-271740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-271800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-271860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-271920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-271980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-272040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-272100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-272160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-272220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-272280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-272340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-272400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-272460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-272520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-272580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-272640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-272700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-272760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-272820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-272880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-272940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-273000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-273060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-273120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-273180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-273240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-273300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-273360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-273420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-273480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-273540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-273600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-273660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-273720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-273780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-273840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-273900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-273960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-274020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-274080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-274140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-274200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-274260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-274320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-274380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-274440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-274500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-274560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-274620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-274680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-274740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-274800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-274860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-274920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-274980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-275040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-275100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-275160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-275220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-275280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-275340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-275400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-275460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-275520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-275580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-275640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-275700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-275760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-275820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-275880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-275940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-276000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-276060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-276120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-276180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-276240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-276300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-276360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-276420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-276480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-276540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-276600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-276660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-276720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-276780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-276840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-276900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-276960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-277020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-277080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-277140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-277200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-277260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-277320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-277380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-277440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-277500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-277560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-277620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-277680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-277740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-277800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-277860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-277920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-277980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-278040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-278100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-278160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-278220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-278280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-278340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-278400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-278460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-278520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-278580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-278640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-278700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-278760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-278820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-278880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-278940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-279000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-279060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-279120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-279180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-279240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-279300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-279360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-279420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-279480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-279540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-279600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-279660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-279720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-279780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-279840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-279900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-279960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-280020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-280080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-280140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-280200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-280260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-280320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-280380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-280440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-280500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-280560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-280620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-280680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-280740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-280800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-280860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-280920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-280980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-281040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-281100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-281160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-281220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-281280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-281340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-281400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-281460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-281520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-281580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-281640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-281700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-281760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-281820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-281880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-281940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-282000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-282060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-282120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-282180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-282240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-282300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-282360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-282420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-282480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-282540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-282600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-282660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-282720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-282780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-282840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-282900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-282960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-283020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-283080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-283140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-283200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-283260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-283320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-283380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-283440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-283500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-283560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-283620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-283680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-283740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-283800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-283860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-283920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-283980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-284040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-284100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-284160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-284220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-284280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-284340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-284400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-284460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-284520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-284580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-284640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-284700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-284760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-284820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-284880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-284940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-285000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-285060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-285120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-285180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-285240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-285300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-285360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-285420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-285480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-285540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-285600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-285660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-285720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-285780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-285840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-285900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-285960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-286020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-286080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-286140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-286200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-286260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-286320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-286380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-286440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-286500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-286560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-286620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-286680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-286740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-286800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-286860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-286920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-286980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-287040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-287100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-287160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-287220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-287280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-287340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-287400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-287460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-287520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-287580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-287640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-287700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-287760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-287820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-287880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-287940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-288000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-288060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-288120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-288180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-288240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-288300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-288360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-288420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-288480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-288540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-288600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-288660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-288720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-288780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-288840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-288900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-288960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-289020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-289080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-289140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-289200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-289260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-289320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-289380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-289440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-289500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-289560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-289620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-289680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-289740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-289800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-289860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-289920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-289980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-290040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-290100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-290160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-290220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-290280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-290340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-290400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-290460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-290520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-290580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-290640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-290700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-290760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-290820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-290880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-290940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-291000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-291060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-291120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-291180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-291240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-291300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-291360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-291420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-291480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-291540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-291600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-291660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-291720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-291780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-291840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-291900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-291960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-292020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-292080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-292140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-292200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-292260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-292320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-292380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-292440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-292500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-292560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-292620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-292680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-292740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-292800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-292860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-292920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-292980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-293040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-293100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-293160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-293220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-293280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-293340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-293400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-293460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-293520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-293580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-293640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-293700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-293760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-293820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-293880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-293940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-294000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-294060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-294120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-294180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-294240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-294300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-294360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-294420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-294480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-294540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-294600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-294660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-294720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-294780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-294840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-294900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-294960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-295020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-295080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-295140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-295200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-295260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-295320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-295380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-295440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-295500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-295560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-295620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-295680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-295740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-295800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-295860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-295920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-295980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-296040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-296100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-296160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-296220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-296280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-296340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-296400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-296460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-296520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-296580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-296640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-296700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-296760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-296820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-296880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-296940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-297000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-297060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-297120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-297180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-297240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-297300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-297360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-297420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-297480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-297540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-297600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-297660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-297720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-297780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-297840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-297900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-297960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-298020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-298080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-298140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-298200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-298260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-298320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-298380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-298440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-298500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-298560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-298620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-298680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-298740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-298800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-298860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-298920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-298980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-299040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-299100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-299160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-299220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-299280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-299340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-299400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-299460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-299520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-299580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-299640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-299700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-299760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-299820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-299880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-299940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-300000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-300060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-300120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-300180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-300240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-300300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-300360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-300420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-300480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-300540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-300600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-300660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-300720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-300780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-300840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-300900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-300960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-301020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-301080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-301140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-301200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-301260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-301320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-301380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-301440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-301500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-301560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-301620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-301680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-301740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-301800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-301860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-301920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-301980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-302040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-302100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-302160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-302220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-302280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-302340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-302400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-302460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-302520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-302580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-302640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-302700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-302760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-302820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-302880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-302940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-303000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-303060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-303120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-303180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-303240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-303300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-303360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-303420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-303480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-303540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-303600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-303660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-303720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-303780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-303840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-303900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-303960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-304020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-304080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-304140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-304200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-304260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-304320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-304380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-304440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-304500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-304560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-304620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-304680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-304740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-304800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-304860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-304920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-304980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-305040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-305100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-305160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-305220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-305280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-305340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-305400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-305460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-305520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-305580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-305640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-305700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-305760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-305820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-305880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-305940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-306000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-306060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-306120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-306180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-306240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-306300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-306360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-306420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-306480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-306540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-306600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-306660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-306720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-306780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-306840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-306900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-306960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-307020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-307080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-307140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-307200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-307260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-307320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-307380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-307440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-307500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-307560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-307620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-307680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-307740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-307800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-307860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-307920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-307980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-308040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-308100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-308160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-308220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-308280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-308340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-308400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-308460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-308520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-308580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-308640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-308700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-308760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-308820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-308880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-308940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-309000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-309060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-309120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-309180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-309240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-309300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-309360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-309420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-309480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-309540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-309600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-309660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-309720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-309780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-309840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-309900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-309960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-310020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-310080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-310140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-310200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-310260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-310320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-310380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-310440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-310500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-310560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-310620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-310680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-310740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-310800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-310860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-310920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-310980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-311040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-311100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-311160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-311220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-311280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-311340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-311400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-311460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-311520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-311580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-311640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-311700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-311760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-311820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-311880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-311940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-312000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-312060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-312120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-312180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-312240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-312300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-312360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-312420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-312480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-312540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-312600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-312660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-312720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-312780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-312840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-312900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-312960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-313020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-313080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-313140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-313200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-313260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-313320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-313380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-313440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-313500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-313560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-313620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-313680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-313740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-313800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-313860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-313920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-313980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-314040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-314100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-314160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-314220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-314280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-314340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-314400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-314460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-314520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-314580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-314640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-314700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-314760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-314820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-314880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-314940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-315000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-315060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-315120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-315180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-315240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-315300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-315360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-315420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-315480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-315540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-315600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-315660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-315720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-315780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-315840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-315900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-315960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-316020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-316080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-316140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-316200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-316260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-316320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-316380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-316440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-316500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-316560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-316620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-316680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-316740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-316800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-316860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-316920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-316980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-317040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-317100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-317160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-317220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-317280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-317340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-317400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-317460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-317520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-317580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-317640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-317700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-317760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-317820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-317880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-317940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-318000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-318060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-318120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-318180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-318240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-318300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-318360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-318420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-318480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-318540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-318600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-318660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-318720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-318780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-318840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-318900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-318960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-319020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-319080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-319140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-319200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-319260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-319320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-319380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-319440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-319500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-319560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-319620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-319680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-319740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-319800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-319860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-319920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-319980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-320040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-320100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-320160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-320220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-320280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-320340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-320400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-320460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-320520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-320580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-320640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-320700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-320760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-320820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-320880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-320940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-321000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-321060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-321120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-321180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-321240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-321300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-321360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-321420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-321480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-321540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-321600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-321660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-321720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-321780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-321840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-321900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-321960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-322020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-322080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-322140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-322200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-322260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-322320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-322380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-322440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-322500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-322560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-322620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-322680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-322740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-322800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-322860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-322920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-322980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-323040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-323100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-323160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-323220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-323280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-323340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-323400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-323460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-323520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-323580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-323640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-323700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-323760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-323820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-323880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-323940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-324000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-324060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-324120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-324180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-324240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-324300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-324360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-324420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-324480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-324540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-324600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-324660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-324720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-324780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-324840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-324900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-324960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-325020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-325080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-325140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-325200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-325260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-325320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-325380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-325440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-325500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-325560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-325620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-325680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-325740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-325800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-325860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-325920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-325980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-326040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-326100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-326160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-326220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-326280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-326340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-326400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-326460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-326520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-326580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-326640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-326700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-326760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-326820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-326880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-326940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-327000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-327060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-327120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-327180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-327240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-327300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-327360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-327420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-327480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-327540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-327600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-327660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-327720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-327780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-327840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-327900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-327960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-328020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-328080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-328140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-328200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-328260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-328320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-328380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-328440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-328500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-328560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-328620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-328680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-328740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-328800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-328860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-328920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-328980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-329040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-329100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-329160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-329220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-329280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-329340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-329400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-329460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-329520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-329580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-329640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-329700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-329760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-329820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-329880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-329940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-330000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-330060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-330120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-330180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-330240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-330300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-330360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-330420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-330480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-330540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-330600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-330660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-330720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-330780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-330840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-330900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-330960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-331020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-331080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-331140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-331200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-331260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-331320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-331380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-331440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-331500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-331560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-331620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-331680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-331740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-331800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-331860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-331920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-331980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-332040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-332100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-332160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-332220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-332280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-332340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-332400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-332460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-332520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-332580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-332640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-332700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-332760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-332820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-332880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-332940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-333000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-333060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-333120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-333180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-333240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-333300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-333360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-333420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-333480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-333540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-333600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-333660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-333720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-333780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-333840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-333900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-333960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-334020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-334080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-334140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-334200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-334260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-334320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-334380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-334440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-334500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-334560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-334620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-334680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-334740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-334800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-334860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-334920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-334980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-335040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-335100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-335160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-335220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-335280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-335340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-335400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-335460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-335520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-335580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-335640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-335700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-335760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-335820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-335880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-335940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-336000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-336060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-336120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-336180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-336240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-336300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-336360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-336420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-336480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-336540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-336600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-336660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-336720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-336780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-336840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-336900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-336960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-337020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-337080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-337140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-337200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-337260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-337320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-337380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-337440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-337500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-337560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-337620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-337680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-337740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-337800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-337860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-337920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-337980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-338040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-338100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-338160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-338220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-338280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-338340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-338400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-338460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-338520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-338580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-338640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-338700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-338760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-338820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-338880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-338940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-339000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-339060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-339120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-339180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-339240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-339300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-339360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-339420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-339480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-339540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-339600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-339660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-339720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-339780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-339840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-339900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-339960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-340020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-340080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-340140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-340200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-340260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-340320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-340380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-340440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-340500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-340560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-340620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-340680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-340740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-340800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-340860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-340920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-340980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-341040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-341100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-341160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-341220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-341280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-341340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-341400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-341460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-341520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-341580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-341640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-341700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-341760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-341820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-341880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-341940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-342000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-342060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-342120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-342180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-342240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-342300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-342360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-342420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-342480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-342540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-342600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-342660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-342720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-342780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-342840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-342900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-342960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-343020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-343080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-343140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-343200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-343260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-343320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-343380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-343440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-343500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-343560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-343620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-343680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-343740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-343800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-343860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-343920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-343980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-344040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-344100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-344160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-344220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-344280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-344340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-344400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-344460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-344520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-344580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-344640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-344700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-344760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-344820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-344880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-344940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-345000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-345060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-345120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-345180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-345240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-345300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-345360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-345420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-345480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-345540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-345600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-345660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-345720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-345780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-345840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-345900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-345960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-346020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-346080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-346140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-346200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-346260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-346320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-346380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-346440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-346500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-346560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-346620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-346680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-346740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-346800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-346860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-346920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-346980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-347040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-347100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-347160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-347220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-347280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-347340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-347400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-347460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-347520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-347580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-347640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-347700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-347760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-347820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-347880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-347940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-348000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-348060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-348120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-348180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-348240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-348300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-348360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-348420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-348480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-348540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-348600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-348660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-348720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-348780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-348840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-348900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-348960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-349020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-349080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-349140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-349200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-349260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-349320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-349380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-349440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-349500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-349560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-349620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-349680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-349740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-349800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-349860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-349920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-349980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-350040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-350100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-350160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-350220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-350280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-350340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-350400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-350460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-350520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-350580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-350640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-350700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-350760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-350820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-350880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-350940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-351000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-351060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-351120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-351180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-351240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-351300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-351360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-351420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-351480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-351540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-351600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-351660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-351720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-351780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-351840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-351900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-351960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-352020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-352080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-352140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-352200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-352260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-352320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-352380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-352440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-352500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-352560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-352620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-352680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-352740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-352800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-352860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-352920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-352980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-353040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-353100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-353160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-353220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-353280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-353340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-353400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-353460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-353520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-353580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-353640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-353700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-353760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-353820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-353880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-353940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-354000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-354060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-354120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-354180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-354240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-354300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-354360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-354420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-354480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-354540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-354600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-354660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-354720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-354780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-354840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-354900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-354960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-355020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-355080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-355140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-355200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-355260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-355320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-355380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-355440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-355500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-355560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-355620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-355680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-355740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-355800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-355860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-355920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-355980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-356040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-356100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-356160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-356220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-356280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-356340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-356400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-356460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-356520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-356580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-356640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-356700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-356760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-356820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-356880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-356940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-357000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-357060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-357120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-357180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-357240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-357300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-357360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-357420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-357480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-357540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-357600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-357660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-357720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-357780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-357840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-357900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-357960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-358020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-358080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-358140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-358200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-358260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-358320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-358380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-358440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-358500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-358560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-358620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-358680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-358740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-358800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-358860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-358920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-358980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-359040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-359100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-359160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-359220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-359280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-359340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-359400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-359460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-359520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-359580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-359640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-359700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-359760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-359820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-359880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-359940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-360000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-360060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-360120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-360180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-360240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-360300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-360360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-360420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-360480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-360540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-360600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-360660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-360720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-360780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-360840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-360900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-360960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-361020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-361080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-361140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-361200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-361260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-361320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-361380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-361440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-361500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-361560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-361620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-361680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-361740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-361800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-361860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-361920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-361980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-362040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-362100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-362160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-362220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-362280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-362340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-362400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-362460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-362520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-362580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-362640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-362700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-362760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-362820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-362880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-362940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-363000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-363060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-363120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-363180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-363240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-363300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-363360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-363420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-363480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-363540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-363600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-363660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-363720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-363780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-363840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-363900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-363960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-364020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-364080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-364140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-364200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-364260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-364320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-364380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-364440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-364500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-364560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-364620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-364680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-364740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-364800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-364860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-364920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-364980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-365040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-365100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-365160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-365220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-365280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-365340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-365400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-365460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-365520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-365580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-365640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-365700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-365760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-365820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-365880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-365940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-366000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-366060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-366120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-366180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-366240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-366300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-366360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-366420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-366480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-366540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-366600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-366660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-366720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-366780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-366840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-366900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-366960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-367020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-367080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-367140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-367200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-367260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-367320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-367380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-367440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-367500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-367560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-367620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-367680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-367740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-367800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-367860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-367920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-367980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-368040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-368100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-368160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-368220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-368280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-368340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-368400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-368460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-368520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-368580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-368640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-368700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-368760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-368820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-368880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-368940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-369000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-369060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-369120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-369180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-369240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-369300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-369360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-369420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-369480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-369540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-369600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-369660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-369720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-369780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-369840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-369900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-369960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-370020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-370080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-370140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-370200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-370260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-370320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-370380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-370440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-370500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-370560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-370620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-370680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-370740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-370800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-370860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-370920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-370980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-371040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-371100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-371160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-371220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-371280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-371340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-371400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-371460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-371520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-371580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-371640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-371700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-371760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-371820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-371880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-371940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-372000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-372060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-372120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-372180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-372240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-372300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-372360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-372420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-372480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-372540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-372600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-372660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-372720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-372780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-372840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-372900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-372960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-373020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-373080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-373140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-373200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-373260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-373320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-373380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-373440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-373500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-373560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-373620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-373680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-373740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-373800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-373860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-373920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-373980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-374040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-374100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-374160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-374220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-374280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-374340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-374400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-374460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-374520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-374580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-374640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-374700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-374760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-374820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-374880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-374940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-375000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-375060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-375120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-375180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-375240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-375300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-375360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-375420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-375480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-375540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-375600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-375660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-375720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-375780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-375840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-375900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-375960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-376020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-376080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-376140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-376200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-376260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-376320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-376380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-376440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-376500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-376560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-376620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-376680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-376740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-376800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-376860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-376920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-376980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-377040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-377100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-377160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-377220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-377280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-377340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-377400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-377460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-377520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-377580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-377640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-377700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-377760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-377820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-377880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-377940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-378000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-378060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-378120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-378180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-378240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-378300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-378360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-378420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-378480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-378540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-378600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-378660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-378720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-378780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-378840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-378900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-378960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-379020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-379080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-379140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-379200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-379260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-379320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-379380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-379440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-379500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-379560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-379620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-379680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-379740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-379800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-379860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-379920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-379980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-380040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-380100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-380160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-380220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-380280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-380340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-380400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-380460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-380520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-380580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-380640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-380700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-380760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-380820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-380880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-380940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-381000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-381060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-381120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-381180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-381240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-381300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-381360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-381420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-381480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-381540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-381600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-381660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-381720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-381780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-381840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-381900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-381960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-382020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-382080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-382140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-382200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-382260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-382320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-382380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-382440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-382500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-382560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-382620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-382680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-382740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-382800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-382860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-382920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-382980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-383040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-383100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-383160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-383220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-383280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-383340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-383400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-383460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-383520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-383580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-383640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-383700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-383760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-383820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-383880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-383940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-384000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-384060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-384120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-384180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-384240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-384300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-384360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-384420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-384480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-384540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-384600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-384660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-384720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-384780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-384840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-384900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-384960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-385020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-385080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-385140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-385200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-385260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-385320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-385380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-385440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-385500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-385560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-385620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-385680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-385740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-385800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-385860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-385920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-385980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-386040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-386100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-386160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-386220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-386280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-386340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-386400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-386460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-386520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-386580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-386640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-386700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-386760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-386820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-386880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-386940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-387000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-387060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-387120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-387180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-387240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-387300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-387360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-387420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-387480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-387540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-387600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-387660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-387720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-387780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-387840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-387900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-387960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-388020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-388080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-388140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-388200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-388260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-388320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-388380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-388440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-388500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-388560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-388620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-388680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-388740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-388800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-388860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-388920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-388980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-389040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-389100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-389160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-389220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-389280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-389340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-389400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-389460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-389520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-389580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-389640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-389700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-389760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-389820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-389880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-389940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-390000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-390060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-390120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-390180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-390240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-390300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-390360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-390420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-390480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-390540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-390600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-390660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-390720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-390780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-390840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-390900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-390960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-391020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-391080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-391140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-391200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-391260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-391320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-391380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-391440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-391500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-391560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-391620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-391680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-391740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-391800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-391860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-391920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-391980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-392040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-392100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-392160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-392220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-392280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-392340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-392400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-392460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-392520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-392580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-392640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-392700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-392760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-392820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-392880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-392940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-393000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-393060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-393120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-393180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-393240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-393300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-393360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-393420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-393480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-393540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-393600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-393660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-393720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-393780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-393840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-393900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-393960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-394020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-394080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-394140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-394200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-394260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-394320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-394380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-394440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-394500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-394560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-394620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-394680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-394740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-394800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-394860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-394920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-394980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-395040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-395100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-395160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-395220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-395280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-395340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-395400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-395460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-395520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-395580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-395640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-395700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-395760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-395820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-395880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-395940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-396000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-396060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-396120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-396180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-396240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-396300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-396360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-396420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-396480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-396540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-396600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-396660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-396720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-396780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-396840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-396900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-396960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-397020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-397080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-397140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-397200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-397260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-397320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-397380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-397440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-397500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-397560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-397620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-397680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-397740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-397800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-397860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-397920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-397980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-398040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-398100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-398160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-398220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-398280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-398340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-398400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-398460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-398520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-398580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-398640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-398700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-398760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-398820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-398880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-398940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-399000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-399060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-399120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-399180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-399240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-399300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-399360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-399420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-399480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-399540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-399600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-399660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-399720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-399780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-399840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-399900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-399960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-400020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-400080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-400140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-400200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-400260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-400320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-400380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-400440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-400500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-400560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-400620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-400680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-400740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-400800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-400860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-400920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-400980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-401040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-401100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-401160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-401220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-401280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-401340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-401400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-401460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-401520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-401580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-401640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-401700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-401760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-401820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-401880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-401940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-402000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-402060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-402120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-402180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-402240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-402300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-402360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-402420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-402480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-402540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-402600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-402660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-402720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-402780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-402840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-402900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-402960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-403020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-403080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-403140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-403200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-403260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-403320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-403380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-403440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-403500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-403560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-403620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-403680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-403740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-403800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-403860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-403920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-403980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-404040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-404100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-404160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-404220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-404280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-404340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-404400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-404460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-404520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-404580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-404640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-404700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-404760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-404820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-404880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-404940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-405000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-405060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-405120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-405180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-405240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-405300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-405360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-405420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-405480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-405540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-405600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-405660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-405720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-405780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-405840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-405900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-405960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-406020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-406080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-406140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-406200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-406260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-406320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-406380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-406440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-406500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-406560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-406620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-406680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-406740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-406800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-406860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-406920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-406980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-407040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-407100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-407160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-407220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-407280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-407340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-407400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-407460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-407520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-407580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-407640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-407700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-407760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-407820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-407880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-407940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-408000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-408060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-408120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-408180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-408240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-408300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-408360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-408420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-408480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-408540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-408600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-408660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-408720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-408780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-408840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-408900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-408960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-409020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-409080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-409140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-409200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-409260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-409320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-409380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-409440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-409500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-409560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-409620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-409680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-409740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-409800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-409860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-409920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-409980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-410040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-410100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-410160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-410220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-410280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-410340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-410400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-410460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-410520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-410580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-410640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-410700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-410760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-410820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-410880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-410940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-411000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-411060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-411120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-411180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-411240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-411300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-411360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-411420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-411480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-411540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-411600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-411660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-411720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-411780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-411840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-411900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-411960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-412020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-412080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-412140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-412200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-412260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-412320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-412380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-412440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-412500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-412560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-412620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-412680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-412740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-412800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-412860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-412920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-412980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-413040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-413100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-413160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-413220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-413280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-413340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-413400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-413460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-413520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-413580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-413640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-413700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-413760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-413820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-413880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-413940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-414000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-414060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-414120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-414180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-414240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-414300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-414360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-414420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-414480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-414540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-414600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-414660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-414720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-414780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-414840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-414900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-414960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-415020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-415080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-415140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-415200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-415260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-415320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-415380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-415440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-415500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-415560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-415620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-415680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-415740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-415800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-415860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-415920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-415980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-416040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-416100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-416160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-416220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-416280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-416340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-416400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-416460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-416520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-416580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-416640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-416700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-416760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-416820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-416880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-416940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-417000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-417060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-417120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-417180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-417240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-417300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-417360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-417420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-417480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-417540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-417600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-417660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-417720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-417780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-417840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-417900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-417960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-418020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-418080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-418140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-418200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-418260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-418320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-418380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-418440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-418500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-418560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-418620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-418680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-418740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-418800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-418860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-418920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-418980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-419040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-419100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-419160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-419220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-419280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-419340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-419400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-419460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-419520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-419580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-419640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-419700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-419760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-419820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-419880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-419940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-420000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-420060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-420120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-420180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-420240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-420300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-420360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-420420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-420480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-420540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-420600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-420660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-420720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-420780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-420840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-420900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-420960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-421020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-421080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-421140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-421200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-421260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-421320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-421380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-421440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-421500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-421560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-421620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-421680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-421740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-421800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-421860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-421920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-421980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-422040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-422100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-422160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-422220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-422280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-422340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-422400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-422460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-422520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-422580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-422640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-422700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-422760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-422820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-422880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-422940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-423000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-423060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-423120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-423180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-423240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-423300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-423360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-423420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-423480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-423540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-423600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-423660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-423720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-423780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-423840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-423900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-423960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-424020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-424080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-424140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-424200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-424260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-424320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-424380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-424440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-424500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-424560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-424620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-424680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-424740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-424800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-424860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-424920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-424980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-425040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-425100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-425160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-425220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-425280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-425340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-425400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-425460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-425520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-425580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-425640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-425700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-425760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-425820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-425880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-425940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-426000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-426060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-426120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-426180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-426240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-426300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-426360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-426420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-426480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-426540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-426600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-426660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-426720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-426780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-426840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-426900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-426960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-427020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-427080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-427140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-427200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-427260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-427320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-427380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-427440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-427500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-427560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-427620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-427680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-427740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-427800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-427860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-427920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-427980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-428040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-428100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-428160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-428220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-428280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-428340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-428400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-428460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-428520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-428580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-428640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-428700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-428760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-428820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-428880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-428940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-429000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-429060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-429120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-429180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-429240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-429300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-429360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-429420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-429480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-429540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-429600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-429660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-429720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-429780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-429840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-429900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-429960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-430020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-430080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-430140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-430200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-430260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-430320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-430380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-430440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-430500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-430560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-430620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-430680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-430740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-430800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-430860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-430920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-430980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-431040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-431100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-431160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-431220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-431280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-431340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-431400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-431460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-431520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-431580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-431640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-431700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-431760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-431820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-431880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-431940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-432000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-432060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-432120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-432180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-432240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-432300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-432360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-432420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-432480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-432540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-432600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-432660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-432720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-432780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-432840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-432900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-432960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-433020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-433080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-433140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-433200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-433260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-433320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-433380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-433440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-433500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-433560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-433620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-433680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-433740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-433800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-433860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-433920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-433980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-434040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-434100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-434160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-434220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-434280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-434340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-434400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-434460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-434520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-434580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-434640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-434700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-434760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-434820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-434880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-434940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-435000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-435060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-435120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-435180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-435240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-435300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-435360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-435420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-435480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-435540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-435600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-435660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-435720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-435780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-435840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-435900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-435960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-436020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-436080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-436140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-436200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-436260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-436320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-436380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-436440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-436500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-436560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-436620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-436680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-436740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-436800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-436860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-436920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-436980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-437040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-437100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-437160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-437220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-437280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-437340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-437400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-437460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-437520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-437580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-437640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-437700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-437760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-437820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-437880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-437940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-438000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-438060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-438120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-438180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-438240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-438300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-438360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-438420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-438480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-438540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-438600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-438660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-438720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-438780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-438840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-438900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-438960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-439020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-439080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-439140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-439200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-439260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-439320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-439380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-439440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-439500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-439560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-439620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-439680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-439740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-439800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-439860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-439920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-439980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-440040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-440100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-440160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-440220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-440280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-440340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-440400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-440460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-440520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-440580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-440640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-440700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-440760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-440820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-440880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-440940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-441000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-441060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-441120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-441180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-441240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-441300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-441360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-441420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-441480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-441540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-441600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-441660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-441720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-441780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-441840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-441900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-441960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-442020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-442080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-442140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-442200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-442260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-442320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-442380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-442440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-442500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-442560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-442620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-442680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-442740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-442800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-442860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-442920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-442980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-443040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-443100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-443160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-443220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-443280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-443340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-443400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-443460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-443520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-443580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-443640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-443700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-443760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-443820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-443880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-443940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-444000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-444060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-444120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-444180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-444240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-444300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-444360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-444420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-444480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-444540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-444600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-444660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-444720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-444780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-444840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-444900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-444960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-445020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-445080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-445140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-445200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-445260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-445320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-445380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-445440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-445500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-445560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-445620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-445680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-445740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-445800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-445860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-445920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-445980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-446040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-446100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-446160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-446220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-446280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-446340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-446400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-446460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-446520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-446580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-446640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-446700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-446760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-446820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-446880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-446940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-447000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-447060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-447120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-447180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-447240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-447300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-447360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-447420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-447480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-447540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-447600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-447660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-447720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-447780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-447840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-447900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-447960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-448020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-448080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-448140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-448200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-448260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-448320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-448380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-448440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-448500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-448560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-448620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-448680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-448740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-448800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-448860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-448920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-448980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-449040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-449100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-449160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-449220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-449280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-449340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-449400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-449460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-449520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-449580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-449640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-449700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-449760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-449820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-449880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-449940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-450000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-450060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-450120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-450180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-450240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-450300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-450360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-450420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-450480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-450540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-450600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-450660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-450720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-450780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-450840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-450900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-450960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-451020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-451080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-451140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-451200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-451260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-451320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-451380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-451440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-451500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-451560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-451620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-451680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-451740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-451800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-451860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-451920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-451980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-452040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-452100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-452160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-452220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-452280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-452340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-452400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-452460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-452520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-452580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-452640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-452700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-452760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-452820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-452880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-452940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-453000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-453060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-453120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-453180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-453240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-453300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-453360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-453420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-453480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-453540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-453600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-453660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-453720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-453780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-453840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-453900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-453960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-454020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-454080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-454140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-454200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-454260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-454320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-454380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-454440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-454500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-454560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-454620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-454680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-454740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-454800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-454860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-454920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-454980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-455040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-455100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-455160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-455220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-455280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-455340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-455400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-455460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-455520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-455580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-455640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-455700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-455760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-455820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-455880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-455940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-456000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-456060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-456120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-456180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-456240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-456300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-456360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-456420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-456480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-456540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-456600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-456660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-456720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-456780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-456840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-456900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-456960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-457020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-457080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-457140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-457200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-457260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-457320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-457380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-457440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-457500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-457560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-457620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-457680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-457740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-457800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-457860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-457920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-457980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-458040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-458100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-458160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-458220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-458280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-458340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-458400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-458460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-458520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-458580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-458640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-458700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-458760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-458820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-458880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-458940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-459000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-459060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-459120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-459180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-459240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-459300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-459360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-459420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-459480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-459540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-459600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-459660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-459720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-459780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-459840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-459900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-459960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-460020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-460080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-460140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-460200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-460260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-460320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-460380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-460440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-460500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-460560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-460620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-460680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-460740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-460800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-460860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-460920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-460980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-461040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-461100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-461160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-461220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-461280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-461340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-461400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-461460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-461520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-461580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-461640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-461700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-461760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-461820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-461880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-461940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-462000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-462060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-462120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-462180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-462240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-462300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-462360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-462420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-462480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-462540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-462600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-462660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-462720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-462780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-462840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-462900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-462960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-463020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-463080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-463140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-463200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-463260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-463320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-463380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-463440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-463500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-463560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-463620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-463680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-463740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-463800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-463860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-463920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-463980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-464040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-464100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-464160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-464220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-464280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-464340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-464400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-464460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-464520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-464580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-464640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-464700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-464760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-464820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-464880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-464940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-465000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-465060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-465120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-465180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-465240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-465300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-465360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-465420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-465480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-465540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-465600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-465660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-465720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-465780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-465840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-465900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-465960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-466020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-466080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-466140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-466200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-466260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-466320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-466380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-466440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-466500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-466560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-466620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-466680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-466740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-466800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-466860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-466920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-466980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-467040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-467100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-467160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-467220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-467280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-467340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-467400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-467460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-467520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-467580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-467640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-467700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-467760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-467820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-467880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-467940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-468000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-468060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-468120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-468180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-468240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-468300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-468360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-468420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-468480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-468540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-468600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-468660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-468720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-468780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-468840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-468900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-468960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-469020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-469080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-469140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-469200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-469260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-469320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-469380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-469440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-469500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-469560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-469620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-469680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-469740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-469800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-469860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-469920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-469980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-470040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-470100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-470160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-470220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-470280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-470340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-470400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-470460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-470520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-470580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-470640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-470700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-470760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-470820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-470880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-470940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-471000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-471060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-471120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-471180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-471240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-471300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-471360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-471420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-471480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-471540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-471600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-471660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-471720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-471780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-471840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-471900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-471960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-472020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-472080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-472140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-472200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-472260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-472320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-472380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-472440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-472500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-472560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-472620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-472680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-472740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-472800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-472860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-472920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-472980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-473040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-473100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-473160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-473220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-473280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-473340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-473400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-473460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-473520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-473580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-473640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-473700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-473760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-473820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-473880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-473940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-474000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-474060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-474120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-474180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-474240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-474300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-474360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-474420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-474480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-474540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-474600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-474660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-474720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-474780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-474840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-474900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-474960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-475020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-475080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-475140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-475200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-475260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-475320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-475380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-475440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-475500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-475560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-475620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-475680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-475740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-475800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-475860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-475920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-475980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-476040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-476100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-476160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-476220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-476280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-476340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-476400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-476460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-476520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-476580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-476640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-476700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-476760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-476820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-476880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-476940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-477000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-477060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-477120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-477180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-477240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-477300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-477360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-477420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-477480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-477540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-477600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-477660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-477720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-477780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-477840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-477900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-477960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-478020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-478080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-478140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-478200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-478260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-478320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-478380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-478440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-478500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-478560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-478620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-478680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-478740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-478800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-478860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-478920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-478980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-479040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-479100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-479160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-479220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-479280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-479340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-479400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-479460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-479520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-479580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-479640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-479700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-479760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-479820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-479880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-479940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-480000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-480060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-480120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-480180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-480240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-480300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-480360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-480420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-480480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-480540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-480600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-480660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-480720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-480780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-480840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-480900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-480960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-481020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-481080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-481140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-481200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-481260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-481320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-481380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-481440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-481500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-481560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-481620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-481680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-481740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-481800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-481860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-481920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-481980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-482040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-482100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-482160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-482220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-482280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-482340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-482400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-482460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-482520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-482580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-482640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-482700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-482760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-482820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-482880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-482940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-483000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-483060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-483120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-483180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-483240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-483300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-483360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-483420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-483480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-483540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-483600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-483660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-483720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-483780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-483840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-483900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-483960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-484020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-484080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-484140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-484200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-484260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-484320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-484380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-484440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-484500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-484560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-484620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-484680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-484740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-484800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-484860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-484920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-484980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-485040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-485100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-485160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-485220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-485280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-485340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-485400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-485460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-485520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-485580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-485640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-485700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-485760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-485820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-485880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-485940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-486000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-486060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-486120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-486180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-486240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-486300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-486360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-486420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-486480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-486540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-486600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-486660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-486720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-486780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-486840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-486900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-486960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-487020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-487080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-487140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-487200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-487260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-487320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-487380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-487440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-487500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-487560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-487620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-487680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-487740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-487800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-487860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-487920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-487980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-488040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-488100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-488160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-488220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-488280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-488340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-488400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-488460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-488520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-488580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-488640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-488700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-488760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-488820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-488880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-488940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-489000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-489060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-489120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-489180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-489240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-489300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-489360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-489420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-489480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-489540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-489600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-489660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-489720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-489780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-489840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-489900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-489960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-490020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-490080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-490140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-490200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-490260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-490320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-490380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-490440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-490500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-490560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-490620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-490680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-490740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-490800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-490860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-490920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-490980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-491040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-491100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-491160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-491220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-491280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-491340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-491400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-491460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-491520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-491580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-491640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-491700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-491760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-491820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-491880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-491940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-492000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-492060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-492120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-492180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-492240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-492300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-492360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-492420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-492480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-492540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-492600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-492660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-492720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-492780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-492840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-492900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-492960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-493020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-493080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-493140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-493200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-493260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-493320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-493380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-493440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-493500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-493560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-493620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-493680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-493740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-493800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-493860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-493920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-493980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-494040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-494100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-494160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-494220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-494280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-494340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-494400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-494460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-494520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-494580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-494640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-494700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-494760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-494820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-494880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-494940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-495000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-495060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-495120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-495180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-495240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-495300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-495360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-495420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-495480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-495540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-495600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-495660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-495720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-495780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-495840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-495900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-495960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-496020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-496080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-496140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-496200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-496260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-496320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-496380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-496440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-496500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-496560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-496620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-496680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-496740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-496800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-496860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-496920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-496980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-497040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-497100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-497160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-497220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-497280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-497340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-497400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-497460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-497520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-497580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-497640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-497700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-497760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-497820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-497880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-497940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-498000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-498060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-498120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-498180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-498240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-498300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-498360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-498420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-498480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-498540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-498600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-498660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-498720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-498780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-498840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-498900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-498960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-499020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-499080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-499140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-499200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-499260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-499320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-499380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-499440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-499500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-499560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-499620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-499680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-499740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-499800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-499860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-499920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-499980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-500040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-500100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-500160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-500220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-500280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-500340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-500400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-500460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-500520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-500580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-500640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-500700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-500760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-500820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-500880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-500940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-501000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-501060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-501120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-501180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-501240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-501300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-501360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-501420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-501480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-501540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-501600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-501660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-501720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-501780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-501840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-501900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-501960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-502020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-502080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-502140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-502200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-502260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-502320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-502380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-502440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-502500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-502560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-502620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-502680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-502740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-502800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-502860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-502920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-502980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-503040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-503100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-503160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-503220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-503280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-503340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-503400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-503460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-503520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-503580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-503640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-503700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-503760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-503820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-503880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-503940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-504000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-504060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-504120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-504180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-504240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-504300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-504360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-504420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-504480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-504540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-504600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-504660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-504720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-504780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-504840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-504900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-504960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-505020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-505080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-505140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-505200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-505260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-505320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-505380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-505440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-505500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-505560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-505620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-505680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-505740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-505800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-505860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-505920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-505980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-506040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-506100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-506160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-506220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-506280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-506340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-506400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-506460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-506520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-506580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-506640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-506700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-506760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-506820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-506880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-506940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-507000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-507060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-507120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-507180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-507240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-507300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-507360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-507420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-507480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-507540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-507600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-507660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-507720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-507780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-507840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-507900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-507960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-508020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-508080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-508140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-508200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-508260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-508320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-508380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-508440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-508500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-508560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-508620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-508680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-508740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-508800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-508860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-508920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-508980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-509040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-509100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-509160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-509220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-509280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-509340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-509400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-509460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-509520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-509580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-509640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-509700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-509760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-509820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-509880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-509940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-510000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-510060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-510120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-510180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-510240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-510300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-510360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-510420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-510480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-510540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-510600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-510660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-510720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-510780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-510840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-510900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-510960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-511020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-511080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-511140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-511200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-511260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-511320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-511380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-511440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-511500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-511560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-511620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-511680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-511740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-511800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-511860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-511920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-511980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-512040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-512100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-512160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-512220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-512280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-512340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-512400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-512460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-512520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-512580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-512640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-512700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-512760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-512820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-512880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-512940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-513000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-513060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-513120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-513180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-513240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-513300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-513360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-513420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-513480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-513540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-513600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-513660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-513720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-513780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-513840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-513900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-513960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-514020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-514080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-514140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-514200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-514260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-514320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-514380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-514440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-514500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-514560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-514620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-514680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-514740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-514800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-514860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-514920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-514980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-515040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-515100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-515160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-515220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-515280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-515340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-515400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-515460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-515520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-515580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-515640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-515700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-515760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-515820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-515880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-515940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-516000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-516060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-516120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-516180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-516240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-516300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-516360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-516420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-516480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-516540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-516600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-516660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-516720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-516780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-516840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-516900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-516960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-517020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-517080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-517140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-517200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-517260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-517320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-517380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-517440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-517500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-517560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-517620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-517680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-517740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-517800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-517860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-517920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-517980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-518040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-518100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-518160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-518220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-518280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-518340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-518400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-518460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-518520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-518580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-518640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-518700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-518760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-518820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-518880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-518940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-519000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-519060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-519120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-519180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-519240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-519300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-519360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-519420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-519480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-519540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-519600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-519660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-519720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-519780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-519840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-519900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-519960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-520020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-520080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-520140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-520200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-520260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-520320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-520380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-520440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-520500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-520560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-520620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-520680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-520740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-520800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-520860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-520920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-520980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-521040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-521100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-521160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-521220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-521280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-521340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-521400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-521460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-521520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-521580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-521640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-521700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-521760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-521820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-521880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-521940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-522000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-522060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-522120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-522180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-522240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-522300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-522360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-522420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-522480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-522540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-522600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-522660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-522720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-522780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-522840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-522900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-522960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-523020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-523080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-523140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-523200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-523260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-523320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-523380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-523440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-523500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-523560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-523620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-523680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-523740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-523800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-523860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-523920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-523980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-524040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-524100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-524160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-524220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-524280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-524340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-524400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-524460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-524520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-524580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-524640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-524700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-524760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-524820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-524880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-524940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-525000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-525060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-525120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-525180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-525240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-525300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-525360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-525420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-525480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-525540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-525600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-525660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-525720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-525780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-525840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-525900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-525960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-526020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-526080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-526140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-526200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-526260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-526320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-526380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-526440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-526500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-526560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-526620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-526680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-526740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-526800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-526860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-526920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-526980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-527040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-527100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-527160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-527220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-527280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-527340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-527400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-527460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-527520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-527580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-527640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-527700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-527760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-527820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-527880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-527940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-528000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-528060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-528120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-528180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-528240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-528300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-528360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-528420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-528480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-528540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-528600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-528660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-528720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-528780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-528840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-528900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-528960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-529020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-529080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-529140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-529200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-529260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-529320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-529380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-529440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-529500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-529560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-529620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-529680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-529740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-529800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-529860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-529920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-529980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-530040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-530100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-530160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-530220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-530280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-530340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-530400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-530460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-530520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-530580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-530640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-530700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-530760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-530820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-530880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-530940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-531000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-531060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-531120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-531180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-531240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-531300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-531360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-531420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-531480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-531540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-531600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-531660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-531720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-531780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-531840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-531900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-531960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-532020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-532080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-532140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-532200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-532260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-532320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-532380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-532440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-532500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-532560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-532620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-532680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-532740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-532800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-532860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-532920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-532980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-533040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-533100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-533160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-533220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-533280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-533340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-533400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-533460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-533520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-533580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-533640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-533700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-533760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-533820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-533880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-533940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-534000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-534060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-534120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-534180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-534240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-534300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-534360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-534420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-534480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-534540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-534600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-534660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-534720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-534780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-534840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-534900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-534960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-535020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-535080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-535140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-535200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-535260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-535320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-535380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-535440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-535500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-535560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-535620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-535680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-535740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-535800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-535860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-535920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-535980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-536040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-536100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-536160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-536220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-536280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-536340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-536400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-536460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-536520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-536580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-536640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-536700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-536760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-536820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-536880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-536940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-537000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-537060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-537120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-537180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-537240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-537300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-537360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-537420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-537480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-537540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-537600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-537660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-537720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-537780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-537840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-537900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-537960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-538020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-538080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-538140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-538200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-538260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-538320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-538380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-538440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-538500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-538560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-538620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-538680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-538740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-538800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-538860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-538920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-538980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-539040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-539100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-539160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-539220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-539280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-539340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-539400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-539460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-539520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-539580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-539640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-539700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-539760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-539820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-539880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-539940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-540000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-540060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-540120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-540180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-540240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-540300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-540360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-540420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-540480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-540540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-540600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-540660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-540720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-540780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-540840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-540900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-540960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-541020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-541080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-541140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-541200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-541260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-541320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-541380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-541440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-541500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-541560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-541620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-541680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-541740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-541800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-541860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-541920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-541980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-542040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-542100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-542160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-542220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-542280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-542340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-542400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-542460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-542520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-542580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-542640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-542700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-542760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-542820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-542880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-542940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-543000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-543060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-543120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-543180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-543240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-543300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-543360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-543420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-543480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-543540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-543600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-543660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-543720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-543780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-543840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-543900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-543960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-544020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-544080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-544140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-544200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-544260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-544320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-544380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-544440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-544500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-544560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-544620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-544680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-544740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-544800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-544860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-544920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-544980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-545040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-545100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-545160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-545220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-545280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-545340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-545400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-545460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-545520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-545580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-545640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-545700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-545760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-545820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-545880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-545940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-546000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-546060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-546120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-546180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-546240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-546300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-546360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-546420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-546480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-546540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-546600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-546660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-546720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-546780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-546840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-546900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-546960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-547020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-547080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-547140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-547200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-547260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-547320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-547380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-547440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-547500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-547560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-547620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-547680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-547740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-547800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-547860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-547920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-547980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-548040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-548100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-548160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-548220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-548280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-548340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-548400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-548460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-548520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-548580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-548640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-548700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-548760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-548820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-548880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-548940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-549000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-549060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-549120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-549180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-549240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-549300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-549360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-549420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-549480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-549540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-549600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-549660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-549720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-549780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-549840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-549900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-549960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-550020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-550080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-550140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-550200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-550260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-550320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-550380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-550440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-550500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-550560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-550620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-550680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-550740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-550800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-550860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-550920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-550980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-551040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-551100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-551160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-551220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-551280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-551340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-551400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-551460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-551520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-551580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-551640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-551700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-551760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-551820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-551880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-551940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-552000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-552060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-552120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-552180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-552240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-552300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-552360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-552420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-552480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-552540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-552600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-552660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-552720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-552780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-552840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-552900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-552960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-553020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-553080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-553140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-553200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-553260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-553320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-553380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-553440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-553500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-553560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-553620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-553680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-553740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-553800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-553860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-553920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-553980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-554040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-554100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-554160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-554220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-554280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-554340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-554400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-554460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-554520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-554580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-554640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-554700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-554760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-554820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-554880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-554940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-555000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-555060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-555120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-555180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-555240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-555300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-555360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-555420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-555480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-555540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-555600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-555660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-555720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-555780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-555840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-555900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-555960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-556020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-556080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-556140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-556200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-556260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-556320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-556380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-556440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-556500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-556560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-556620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-556680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-556740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-556800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-556860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-556920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-556980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-557040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-557100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-557160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-557220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-557280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-557340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-557400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-557460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-557520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-557580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-557640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-557700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-557760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-557820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-557880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-557940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-558000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-558060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-558120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-558180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-558240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-558300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-558360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-558420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-558480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-558540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-558600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-558660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-558720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-558780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-558840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-558900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-558960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-559020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-559080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-559140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-559200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-559260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-559320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-559380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-559440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-559500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-559560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-559620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-559680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-559740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-559800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-559860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-559920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-559980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-560040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-560100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-560160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-560220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-560280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-560340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-560400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-560460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-560520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-560580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-560640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-560700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-560760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-560820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-560880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-560940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-561000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-561060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-561120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-561180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-561240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-561300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-561360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-561420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-561480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-561540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-561600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-561660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-561720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-561780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-561840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-561900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-561960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-562020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-562080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-562140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-562200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-562260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-562320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-562380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-562440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-562500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-562560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-562620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-562680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-562740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-562800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-562860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-562920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-562980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-563040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-563100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-563160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-563220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-563280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-563340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-563400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-563460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-563520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-563580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-563640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-563700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-563760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-563820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-563880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-563940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-564000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-564060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-564120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-564180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-564240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-564300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-564360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-564420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-564480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-564540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-564600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-564660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-564720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-564780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-564840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-564900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-564960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-565020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-565080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-565140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-565200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-565260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-565320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-565380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-565440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-565500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-565560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-565620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-565680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-565740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-565800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-565860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-565920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-565980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-566040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-566100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-566160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-566220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-566280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-566340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-566400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-566460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-566520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-566580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-566640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-566700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-566760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-566820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-566880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-566940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-567000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-567060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-567120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-567180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-567240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-567300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-567360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-567420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-567480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-567540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-567600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-567660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-567720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-567780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-567840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-567900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-567960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-568020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-568080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-568140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-568200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-568260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-568320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-568380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-568440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-568500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-568560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-568620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-568680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-568740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-568800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-568860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-568920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-568980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-569040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-569100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-569160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-569220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-569280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-569340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-569400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-569460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-569520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-569580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-569640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-569700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-569760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-569820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-569880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-569940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-570000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-570060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-570120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-570180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-570240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-570300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-570360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-570420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-570480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-570540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-570600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-570660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-570720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-570780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-570840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-570900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-570960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-571020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-571080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-571140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-571200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-571260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-571320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-571380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-571440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-571500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-571560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-571620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-571680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-571740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-571800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-571860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-571920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-571980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-572040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-572100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-572160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-572220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-572280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-572340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-572400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-572460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-572520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-572580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-572640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-572700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-572760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-572820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-572880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-572940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-573000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-573060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-573120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-573180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-573240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-573300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-573360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-573420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-573480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-573540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-573600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-573660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-573720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-573780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-573840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-573900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-573960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-574020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-574080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-574140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-574200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-574260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-574320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-574380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-574440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-574500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-574560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-574620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-574680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-574740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-574800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-574860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-574920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-574980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-575040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-575100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-575160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-575220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-575280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-575340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-575400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-575460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-575520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-575580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-575640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-575700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-575760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-575820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-575880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-575940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-576000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-576060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-576120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-576180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-576240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-576300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-576360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-576420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-576480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-576540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-576600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-576660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-576720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-576780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-576840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-576900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-576960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-577020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-577080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-577140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-577200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-577260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-577320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-577380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-577440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-577500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-577560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-577620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-577680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-577740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-577800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-577860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-577920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-577980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-578040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-578100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-578160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-578220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-578280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-578340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-578400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-578460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-578520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-578580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-578640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-578700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-578760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-578820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-578880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-578940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-579000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-579060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-579120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-579180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-579240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-579300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-579360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-579420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-579480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-579540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-579600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-579660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-579720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-579780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-579840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-579900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-579960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-580020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-580080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-580140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-580200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-580260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-580320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-580380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-580440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-580500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-580560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-580620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-580680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-580740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-580800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-580860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-580920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-580980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-581040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-581100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-581160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-581220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-581280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-581340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-581400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-581460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-581520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-581580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-581640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-581700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-581760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-581820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-581880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-581940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-582000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-582060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-582120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-582180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-582240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-582300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-582360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-582420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-582480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-582540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-582600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-582660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-582720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-582780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-582840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-582900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-582960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-583020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-583080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-583140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-583200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-583260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-583320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-583380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-583440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-583500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-583560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-583620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-583680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-583740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-583800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-583860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-583920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-583980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-584040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-584100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-584160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-584220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-584280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-584340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-584400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-584460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-584520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-584580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-584640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-584700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-584760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-584820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-584880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-584940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-585000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-585060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-585120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-585180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-585240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-585300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-585360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-585420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-585480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-585540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-585600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-585660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-585720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-585780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-585840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-585900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-585960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-586020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-586080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-586140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-586200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-586260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-586320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-586380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-586440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-586500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-586560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-586620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-586680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-586740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-586800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-586860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-586920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-586980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-587040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-587100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-587160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-587220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-587280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-587340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-587400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-587460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-587520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-587580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-587640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-587700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-587760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-587820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-587880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-587940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-588000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-588060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-588120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-588180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-588240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-588300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-588360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-588420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-588480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-588540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-588600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-588660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-588720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-588780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-588840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-588900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-588960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-589020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-589080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-589140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-589200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-589260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-589320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-589380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-589440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-589500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-589560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-589620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-589680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-589740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-589800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-589860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-589920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-589980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-590040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-590100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-590160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-590220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-590280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-590340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-590400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-590460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-590520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-590580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-590640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-590700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-590760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-590820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-590880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-590940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-591000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-591060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-591120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-591180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-591240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-591300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-591360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-591420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-591480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-591540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-591600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-591660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-591720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-591780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-591840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-591900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-591960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-592020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-592080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-592140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-592200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-592260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-592320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-592380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-592440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-592500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-592560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-592620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-592680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-592740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-592800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-592860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-592920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-592980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-593040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-593100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-593160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-593220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-593280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-593340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-593400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-593460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-593520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-593580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-593640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-593700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-593760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-593820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-593880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-593940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-594000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-594060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-594120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-594180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-594240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-594300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-594360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-594420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-594480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-594540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-594600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-594660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-594720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-594780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-594840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-594900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-594960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-595020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-595080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-595140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-595200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-595260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-595320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-595380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-595440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-595500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-595560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-595620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-595680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-595740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-595800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-595860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-595920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-595980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-596040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-596100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-596160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-596220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-596280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-596340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-596400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-596460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-596520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-596580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-596640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-596700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-596760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-596820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-596880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-596940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-597000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-597060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-597120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-597180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-597240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-597300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-597360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-597420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-597480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-597540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-597600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-597660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-597720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-597780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-597840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-597900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-597960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-598020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-598080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-598140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-598200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-598260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-598320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-598380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-598440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-598500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-598560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-598620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-598680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-598740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-598800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-598860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-598920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-598980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-599040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-599100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-599160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-599220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-599280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-599340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-599400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-599460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-599520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-599580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-599640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-599700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-599760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-599820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-599880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-599940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-600000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-600060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-600120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-600180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-600240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-600300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-600360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-600420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-600480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-600540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-600600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-600660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-600720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-600780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-600840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-600900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-600960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-601020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-601080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-601140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-601200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-601260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-601320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-601380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-601440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-601500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-601560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-601620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-601680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-601740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-601800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-601860000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-601920000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-601980000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-602040000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-602100000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-602160000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-602220000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-602280000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-602340000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-602400000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-602460000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-602520000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-602580000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-602640000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-602700000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-602760000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-602820000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-602880000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-602940000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-603000000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-603060000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-603120000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-603180000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-603240000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-603300000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-603360000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-603420000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-603480000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-603540000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-603600000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-603660000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-603720000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-603780000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-603840000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-603900000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-603960000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-604020000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-604080000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-604140000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-604200000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-604260000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-604320000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-604380000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-604440000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-604500000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-604560000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-604620000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-604680000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-604740000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
-604800000,0,0,100,256,0.0,0.0,004c1ea5eb15978682b00ab659aed21e2835d5287668da8d5267f751fdfbdd78
diff --git a/opendc-experiments/opendc-experiments-faas/src/test/resources/trace/10.csv b/opendc-experiments/opendc-experiments-faas/src/test/resources/trace/10.csv
deleted file mode 100644
index 0046b0e5..00000000
--- a/opendc-experiments/opendc-experiments-faas/src/test/resources/trace/10.csv
+++ /dev/null
@@ -1,10081 +0,0 @@
-Timestamp [ms],Invocations, Avg Exec time per Invocation,Provisioned CPU [Mhz],Provisioned Memory [mb], Avg cpu usage per Invocation [Mhz], Avg mem usage per Invocation [mb],name
-60000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-1020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-1080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-1140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-1200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-1260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-1320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-1380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-1440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-1500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-1560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-1620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-1680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-1740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-1800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-1860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-1920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-1980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-2040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-2100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-2160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-2220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-2280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-2340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-2400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-2460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-2520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-2580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-2640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-2700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-2760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-2820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-2880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-2940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-3000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-3060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-3120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-3180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-3240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-3300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-3360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-3420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-3480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-3540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-3600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-3660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-3720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-3780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-3840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-3900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-3960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-4020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-4080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-4140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-4200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-4260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-4320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-4380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-4440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-4500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-4560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-4620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-4680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-4740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-4800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-4860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-4920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-4980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-5040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-5100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-5160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-5220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-5280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-5340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-5400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-5460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-5520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-5580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-5640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-5700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-5760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-5820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-5880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-5940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-6000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-6060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-6120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-6180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-6240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-6300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-6360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-6420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-6480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-6540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-6600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-6660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-6720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-6780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-6840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-6900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-6960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-7020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-7080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-7140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-7200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-7260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-7320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-7380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-7440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-7500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-7560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-7620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-7680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-7740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-7800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-7860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-7920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-7980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-8040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-8100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-8160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-8220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-8280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-8340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-8400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-8460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-8520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-8580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-8640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-8700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-8760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-8820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-8880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-8940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-9000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-9060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-9120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-9180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-9240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-9300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-9360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-9420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-9480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-9540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-9600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-9660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-9720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-9780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-9840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-9900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-9960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-10020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-10080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-10140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-10200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-10260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-10320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-10380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-10440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-10500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-10560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-10620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-10680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-10740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-10800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-10860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-10920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-10980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-11040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-11100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-11160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-11220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-11280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-11340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-11400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-11460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-11520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-11580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-11640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-11700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-11760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-11820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-11880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-11940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-12000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-12060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-12120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-12180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-12240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-12300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-12360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-12420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-12480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-12540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-12600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-12660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-12720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-12780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-12840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-12900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-12960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-13020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-13080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-13140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-13200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-13260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-13320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-13380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-13440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-13500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-13560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-13620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-13680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-13740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-13800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-13860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-13920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-13980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-14040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-14100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-14160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-14220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-14280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-14340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-14400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-14460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-14520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-14580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-14640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-14700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-14760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-14820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-14880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-14940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-15000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-15060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-15120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-15180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-15240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-15300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-15360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-15420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-15480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-15540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-15600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-15660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-15720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-15780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-15840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-15900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-15960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-16020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-16080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-16140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-16200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-16260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-16320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-16380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-16440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-16500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-16560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-16620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-16680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-16740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-16800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-16860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-16920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-16980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-17040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-17100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-17160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-17220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-17280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-17340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-17400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-17460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-17520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-17580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-17640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-17700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-17760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-17820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-17880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-17940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-18000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-18060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-18120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-18180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-18240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-18300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-18360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-18420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-18480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-18540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-18600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-18660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-18720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-18780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-18840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-18900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-18960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-19020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-19080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-19140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-19200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-19260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-19320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-19380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-19440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-19500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-19560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-19620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-19680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-19740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-19800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-19860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-19920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-19980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-20040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-20100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-20160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-20220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-20280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-20340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-20400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-20460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-20520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-20580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-20640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-20700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-20760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-20820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-20880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-20940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-21000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-21060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-21120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-21180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-21240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-21300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-21360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-21420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-21480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-21540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-21600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-21660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-21720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-21780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-21840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-21900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-21960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-22020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-22080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-22140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-22200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-22260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-22320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-22380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-22440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-22500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-22560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-22620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-22680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-22740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-22800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-22860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-22920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-22980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-23040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-23100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-23160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-23220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-23280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-23340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-23400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-23460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-23520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-23580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-23640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-23700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-23760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-23820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-23880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-23940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-24000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-24060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-24120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-24180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-24240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-24300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-24360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-24420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-24480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-24540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-24600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-24660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-24720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-24780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-24840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-24900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-24960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-25020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-25080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-25140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-25200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-25260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-25320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-25380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-25440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-25500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-25560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-25620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-25680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-25740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-25800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-25860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-25920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-25980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-26040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-26100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-26160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-26220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-26280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-26340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-26400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-26460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-26520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-26580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-26640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-26700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-26760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-26820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-26880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-26940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-27000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-27060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-27120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-27180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-27240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-27300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-27360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-27420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-27480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-27540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-27600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-27660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-27720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-27780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-27840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-27900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-27960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-28020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-28080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-28140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-28200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-28260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-28320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-28380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-28440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-28500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-28560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-28620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-28680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-28740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-28800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-28860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-28920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-28980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-29040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-29100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-29160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-29220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-29280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-29340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-29400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-29460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-29520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-29580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-29640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-29700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-29760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-29820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-29880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-29940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-30000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-30060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-30120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-30180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-30240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-30300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-30360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-30420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-30480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-30540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-30600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-30660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-30720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-30780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-30840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-30900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-30960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-31020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-31080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-31140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-31200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-31260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-31320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-31380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-31440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-31500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-31560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-31620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-31680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-31740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-31800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-31860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-31920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-31980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-32040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-32100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-32160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-32220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-32280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-32340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-32400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-32460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-32520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-32580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-32640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-32700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-32760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-32820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-32880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-32940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-33000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-33060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-33120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-33180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-33240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-33300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-33360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-33420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-33480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-33540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-33600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-33660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-33720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-33780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-33840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-33900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-33960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-34020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-34080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-34140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-34200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-34260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-34320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-34380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-34440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-34500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-34560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-34620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-34680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-34740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-34800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-34860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-34920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-34980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-35040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-35100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-35160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-35220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-35280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-35340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-35400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-35460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-35520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-35580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-35640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-35700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-35760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-35820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-35880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-35940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-36000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-36060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-36120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-36180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-36240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-36300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-36360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-36420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-36480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-36540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-36600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-36660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-36720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-36780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-36840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-36900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-36960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-37020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-37080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-37140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-37200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-37260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-37320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-37380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-37440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-37500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-37560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-37620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-37680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-37740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-37800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-37860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-37920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-37980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-38040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-38100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-38160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-38220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-38280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-38340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-38400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-38460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-38520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-38580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-38640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-38700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-38760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-38820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-38880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-38940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-39000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-39060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-39120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-39180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-39240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-39300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-39360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-39420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-39480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-39540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-39600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-39660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-39720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-39780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-39840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-39900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-39960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-40020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-40080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-40140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-40200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-40260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-40320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-40380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-40440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-40500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-40560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-40620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-40680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-40740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-40800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-40860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-40920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-40980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-41040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-41100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-41160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-41220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-41280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-41340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-41400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-41460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-41520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-41580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-41640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-41700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-41760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-41820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-41880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-41940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-42000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-42060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-42120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-42180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-42240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-42300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-42360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-42420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-42480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-42540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-42600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-42660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-42720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-42780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-42840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-42900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-42960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-43020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-43080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-43140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-43200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-43260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-43320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-43380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-43440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-43500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-43560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-43620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-43680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-43740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-43800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-43860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-43920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-43980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-44040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-44100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-44160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-44220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-44280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-44340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-44400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-44460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-44520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-44580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-44640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-44700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-44760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-44820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-44880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-44940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-45000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-45060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-45120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-45180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-45240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-45300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-45360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-45420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-45480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-45540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-45600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-45660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-45720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-45780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-45840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-45900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-45960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-46020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-46080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-46140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-46200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-46260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-46320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-46380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-46440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-46500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-46560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-46620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-46680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-46740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-46800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-46860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-46920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-46980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-47040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-47100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-47160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-47220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-47280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-47340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-47400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-47460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-47520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-47580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-47640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-47700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-47760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-47820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-47880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-47940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-48000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-48060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-48120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-48180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-48240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-48300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-48360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-48420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-48480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-48540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-48600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-48660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-48720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-48780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-48840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-48900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-48960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-49020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-49080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-49140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-49200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-49260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-49320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-49380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-49440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-49500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-49560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-49620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-49680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-49740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-49800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-49860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-49920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-49980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-50040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-50100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-50160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-50220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-50280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-50340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-50400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-50460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-50520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-50580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-50640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-50700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-50760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-50820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-50880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-50940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-51000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-51060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-51120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-51180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-51240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-51300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-51360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-51420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-51480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-51540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-51600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-51660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-51720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-51780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-51840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-51900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-51960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-52020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-52080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-52140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-52200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-52260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-52320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-52380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-52440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-52500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-52560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-52620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-52680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-52740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-52800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-52860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-52920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-52980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-53040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-53100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-53160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-53220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-53280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-53340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-53400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-53460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-53520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-53580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-53640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-53700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-53760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-53820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-53880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-53940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-54000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-54060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-54120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-54180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-54240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-54300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-54360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-54420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-54480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-54540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-54600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-54660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-54720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-54780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-54840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-54900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-54960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-55020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-55080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-55140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-55200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-55260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-55320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-55380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-55440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-55500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-55560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-55620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-55680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-55740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-55800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-55860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-55920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-55980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-56040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-56100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-56160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-56220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-56280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-56340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-56400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-56460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-56520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-56580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-56640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-56700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-56760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-56820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-56880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-56940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-57000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-57060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-57120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-57180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-57240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-57300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-57360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-57420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-57480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-57540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-57600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-57660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-57720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-57780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-57840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-57900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-57960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-58020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-58080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-58140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-58200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-58260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-58320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-58380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-58440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-58500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-58560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-58620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-58680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-58740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-58800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-58860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-58920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-58980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-59040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-59100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-59160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-59220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-59280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-59340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-59400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-59460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-59520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-59580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-59640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-59700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-59760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-59820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-59880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-59940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-60000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-60060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-60120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-60180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-60240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-60300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-60360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-60420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-60480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-60540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-60600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-60660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-60720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-60780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-60840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-60900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-60960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-61020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-61080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-61140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-61200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-61260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-61320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-61380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-61440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-61500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-61560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-61620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-61680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-61740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-61800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-61860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-61920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-61980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-62040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-62100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-62160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-62220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-62280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-62340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-62400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-62460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-62520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-62580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-62640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-62700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-62760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-62820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-62880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-62940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-63000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-63060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-63120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-63180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-63240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-63300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-63360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-63420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-63480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-63540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-63600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-63660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-63720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-63780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-63840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-63900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-63960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-64020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-64080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-64140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-64200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-64260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-64320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-64380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-64440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-64500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-64560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-64620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-64680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-64740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-64800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-64860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-64920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-64980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-65040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-65100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-65160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-65220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-65280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-65340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-65400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-65460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-65520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-65580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-65640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-65700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-65760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-65820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-65880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-65940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-66000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-66060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-66120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-66180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-66240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-66300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-66360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-66420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-66480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-66540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-66600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-66660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-66720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-66780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-66840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-66900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-66960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-67020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-67080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-67140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-67200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-67260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-67320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-67380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-67440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-67500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-67560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-67620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-67680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-67740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-67800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-67860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-67920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-67980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-68040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-68100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-68160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-68220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-68280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-68340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-68400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-68460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-68520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-68580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-68640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-68700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-68760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-68820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-68880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-68940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-69000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-69060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-69120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-69180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-69240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-69300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-69360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-69420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-69480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-69540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-69600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-69660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-69720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-69780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-69840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-69900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-69960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-70020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-70080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-70140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-70200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-70260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-70320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-70380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-70440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-70500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-70560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-70620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-70680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-70740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-70800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-70860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-70920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-70980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-71040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-71100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-71160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-71220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-71280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-71340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-71400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-71460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-71520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-71580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-71640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-71700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-71760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-71820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-71880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-71940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-72000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-72060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-72120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-72180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-72240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-72300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-72360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-72420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-72480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-72540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-72600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-72660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-72720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-72780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-72840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-72900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-72960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-73020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-73080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-73140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-73200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-73260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-73320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-73380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-73440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-73500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-73560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-73620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-73680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-73740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-73800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-73860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-73920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-73980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-74040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-74100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-74160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-74220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-74280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-74340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-74400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-74460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-74520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-74580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-74640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-74700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-74760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-74820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-74880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-74940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-75000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-75060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-75120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-75180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-75240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-75300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-75360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-75420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-75480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-75540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-75600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-75660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-75720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-75780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-75840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-75900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-75960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-76020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-76080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-76140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-76200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-76260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-76320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-76380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-76440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-76500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-76560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-76620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-76680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-76740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-76800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-76860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-76920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-76980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-77040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-77100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-77160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-77220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-77280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-77340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-77400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-77460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-77520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-77580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-77640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-77700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-77760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-77820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-77880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-77940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-78000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-78060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-78120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-78180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-78240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-78300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-78360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-78420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-78480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-78540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-78600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-78660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-78720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-78780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-78840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-78900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-78960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-79020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-79080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-79140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-79200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-79260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-79320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-79380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-79440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-79500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-79560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-79620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-79680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-79740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-79800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-79860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-79920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-79980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-80040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-80100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-80160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-80220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-80280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-80340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-80400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-80460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-80520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-80580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-80640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-80700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-80760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-80820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-80880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-80940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-81000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-81060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-81120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-81180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-81240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-81300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-81360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-81420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-81480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-81540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-81600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-81660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-81720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-81780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-81840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-81900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-81960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-82020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-82080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-82140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-82200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-82260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-82320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-82380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-82440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-82500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-82560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-82620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-82680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-82740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-82800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-82860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-82920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-82980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-83040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-83100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-83160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-83220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-83280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-83340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-83400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-83460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-83520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-83580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-83640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-83700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-83760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-83820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-83880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-83940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-84000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-84060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-84120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-84180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-84240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-84300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-84360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-84420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-84480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-84540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-84600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-84660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-84720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-84780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-84840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-84900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-84960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-85020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-85080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-85140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-85200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-85260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-85320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-85380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-85440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-85500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-85560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-85620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-85680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-85740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-85800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-85860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-85920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-85980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-86040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-86100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-86160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-86220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-86280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-86340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-86400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-86460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-86520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-86580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-86640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-86700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-86760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-86820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-86880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-86940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-87000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-87060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-87120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-87180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-87240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-87300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-87360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-87420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-87480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-87540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-87600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-87660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-87720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-87780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-87840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-87900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-87960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-88020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-88080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-88140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-88200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-88260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-88320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-88380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-88440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-88500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-88560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-88620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-88680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-88740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-88800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-88860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-88920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-88980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-89040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-89100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-89160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-89220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-89280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-89340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-89400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-89460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-89520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-89580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-89640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-89700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-89760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-89820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-89880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-89940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-90000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-90060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-90120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-90180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-90240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-90300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-90360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-90420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-90480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-90540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-90600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-90660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-90720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-90780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-90840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-90900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-90960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-91020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-91080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-91140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-91200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-91260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-91320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-91380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-91440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-91500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-91560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-91620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-91680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-91740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-91800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-91860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-91920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-91980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-92040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-92100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-92160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-92220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-92280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-92340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-92400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-92460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-92520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-92580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-92640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-92700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-92760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-92820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-92880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-92940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-93000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-93060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-93120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-93180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-93240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-93300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-93360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-93420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-93480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-93540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-93600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-93660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-93720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-93780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-93840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-93900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-93960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-94020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-94080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-94140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-94200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-94260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-94320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-94380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-94440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-94500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-94560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-94620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-94680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-94740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-94800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-94860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-94920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-94980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-95040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-95100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-95160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-95220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-95280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-95340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-95400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-95460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-95520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-95580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-95640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-95700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-95760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-95820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-95880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-95940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-96000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-96060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-96120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-96180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-96240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-96300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-96360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-96420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-96480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-96540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-96600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-96660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-96720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-96780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-96840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-96900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-96960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-97020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-97080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-97140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-97200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-97260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-97320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-97380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-97440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-97500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-97560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-97620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-97680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-97740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-97800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-97860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-97920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-97980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-98040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-98100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-98160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-98220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-98280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-98340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-98400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-98460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-98520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-98580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-98640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-98700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-98760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-98820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-98880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-98940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-99000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-99060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-99120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-99180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-99240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-99300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-99360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-99420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-99480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-99540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-99600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-99660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-99720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-99780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-99840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-99900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-99960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-100020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-100080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-100140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-100200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-100260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-100320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-100380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-100440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-100500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-100560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-100620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-100680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-100740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-100800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-100860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-100920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-100980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-101040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-101100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-101160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-101220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-101280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-101340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-101400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-101460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-101520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-101580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-101640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-101700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-101760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-101820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-101880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-101940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-102000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-102060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-102120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-102180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-102240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-102300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-102360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-102420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-102480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-102540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-102600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-102660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-102720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-102780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-102840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-102900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-102960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-103020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-103080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-103140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-103200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-103260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-103320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-103380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-103440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-103500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-103560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-103620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-103680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-103740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-103800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-103860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-103920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-103980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-104040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-104100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-104160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-104220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-104280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-104340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-104400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-104460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-104520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-104580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-104640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-104700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-104760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-104820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-104880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-104940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-105000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-105060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-105120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-105180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-105240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-105300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-105360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-105420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-105480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-105540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-105600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-105660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-105720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-105780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-105840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-105900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-105960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-106020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-106080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-106140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-106200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-106260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-106320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-106380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-106440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-106500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-106560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-106620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-106680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-106740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-106800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-106860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-106920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-106980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-107040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-107100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-107160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-107220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-107280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-107340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-107400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-107460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-107520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-107580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-107640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-107700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-107760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-107820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-107880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-107940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-108000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-108060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-108120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-108180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-108240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-108300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-108360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-108420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-108480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-108540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-108600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-108660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-108720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-108780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-108840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-108900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-108960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-109020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-109080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-109140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-109200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-109260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-109320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-109380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-109440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-109500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-109560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-109620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-109680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-109740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-109800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-109860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-109920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-109980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-110040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-110100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-110160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-110220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-110280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-110340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-110400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-110460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-110520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-110580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-110640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-110700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-110760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-110820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-110880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-110940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-111000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-111060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-111120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-111180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-111240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-111300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-111360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-111420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-111480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-111540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-111600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-111660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-111720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-111780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-111840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-111900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-111960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-112020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-112080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-112140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-112200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-112260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-112320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-112380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-112440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-112500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-112560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-112620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-112680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-112740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-112800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-112860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-112920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-112980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-113040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-113100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-113160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-113220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-113280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-113340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-113400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-113460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-113520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-113580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-113640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-113700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-113760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-113820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-113880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-113940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-114000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-114060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-114120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-114180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-114240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-114300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-114360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-114420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-114480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-114540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-114600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-114660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-114720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-114780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-114840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-114900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-114960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-115020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-115080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-115140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-115200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-115260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-115320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-115380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-115440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-115500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-115560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-115620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-115680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-115740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-115800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-115860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-115920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-115980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-116040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-116100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-116160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-116220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-116280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-116340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-116400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-116460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-116520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-116580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-116640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-116700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-116760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-116820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-116880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-116940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-117000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-117060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-117120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-117180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-117240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-117300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-117360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-117420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-117480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-117540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-117600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-117660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-117720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-117780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-117840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-117900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-117960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-118020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-118080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-118140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-118200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-118260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-118320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-118380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-118440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-118500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-118560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-118620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-118680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-118740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-118800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-118860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-118920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-118980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-119040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-119100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-119160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-119220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-119280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-119340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-119400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-119460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-119520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-119580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-119640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-119700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-119760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-119820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-119880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-119940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-120000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-120060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-120120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-120180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-120240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-120300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-120360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-120420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-120480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-120540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-120600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-120660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-120720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-120780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-120840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-120900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-120960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-121020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-121080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-121140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-121200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-121260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-121320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-121380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-121440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-121500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-121560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-121620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-121680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-121740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-121800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-121860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-121920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-121980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-122040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-122100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-122160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-122220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-122280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-122340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-122400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-122460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-122520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-122580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-122640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-122700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-122760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-122820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-122880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-122940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-123000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-123060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-123120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-123180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-123240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-123300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-123360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-123420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-123480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-123540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-123600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-123660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-123720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-123780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-123840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-123900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-123960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-124020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-124080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-124140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-124200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-124260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-124320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-124380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-124440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-124500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-124560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-124620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-124680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-124740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-124800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-124860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-124920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-124980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-125040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-125100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-125160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-125220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-125280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-125340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-125400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-125460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-125520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-125580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-125640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-125700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-125760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-125820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-125880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-125940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-126000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-126060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-126120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-126180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-126240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-126300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-126360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-126420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-126480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-126540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-126600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-126660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-126720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-126780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-126840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-126900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-126960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-127020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-127080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-127140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-127200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-127260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-127320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-127380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-127440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-127500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-127560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-127620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-127680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-127740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-127800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-127860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-127920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-127980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-128040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-128100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-128160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-128220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-128280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-128340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-128400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-128460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-128520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-128580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-128640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-128700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-128760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-128820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-128880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-128940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-129000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-129060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-129120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-129180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-129240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-129300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-129360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-129420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-129480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-129540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-129600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-129660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-129720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-129780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-129840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-129900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-129960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-130020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-130080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-130140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-130200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-130260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-130320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-130380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-130440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-130500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-130560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-130620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-130680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-130740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-130800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-130860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-130920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-130980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-131040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-131100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-131160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-131220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-131280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-131340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-131400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-131460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-131520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-131580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-131640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-131700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-131760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-131820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-131880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-131940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-132000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-132060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-132120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-132180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-132240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-132300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-132360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-132420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-132480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-132540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-132600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-132660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-132720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-132780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-132840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-132900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-132960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-133020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-133080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-133140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-133200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-133260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-133320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-133380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-133440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-133500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-133560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-133620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-133680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-133740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-133800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-133860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-133920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-133980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-134040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-134100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-134160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-134220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-134280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-134340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-134400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-134460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-134520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-134580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-134640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-134700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-134760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-134820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-134880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-134940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-135000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-135060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-135120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-135180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-135240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-135300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-135360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-135420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-135480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-135540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-135600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-135660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-135720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-135780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-135840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-135900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-135960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-136020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-136080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-136140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-136200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-136260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-136320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-136380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-136440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-136500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-136560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-136620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-136680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-136740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-136800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-136860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-136920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-136980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-137040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-137100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-137160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-137220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-137280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-137340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-137400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-137460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-137520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-137580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-137640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-137700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-137760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-137820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-137880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-137940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-138000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-138060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-138120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-138180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-138240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-138300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-138360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-138420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-138480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-138540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-138600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-138660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-138720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-138780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-138840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-138900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-138960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-139020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-139080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-139140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-139200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-139260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-139320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-139380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-139440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-139500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-139560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-139620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-139680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-139740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-139800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-139860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-139920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-139980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-140040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-140100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-140160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-140220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-140280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-140340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-140400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-140460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-140520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-140580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-140640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-140700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-140760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-140820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-140880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-140940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-141000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-141060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-141120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-141180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-141240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-141300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-141360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-141420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-141480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-141540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-141600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-141660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-141720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-141780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-141840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-141900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-141960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-142020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-142080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-142140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-142200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-142260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-142320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-142380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-142440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-142500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-142560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-142620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-142680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-142740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-142800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-142860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-142920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-142980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-143040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-143100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-143160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-143220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-143280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-143340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-143400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-143460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-143520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-143580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-143640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-143700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-143760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-143820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-143880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-143940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-144000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-144060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-144120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-144180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-144240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-144300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-144360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-144420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-144480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-144540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-144600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-144660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-144720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-144780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-144840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-144900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-144960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-145020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-145080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-145140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-145200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-145260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-145320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-145380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-145440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-145500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-145560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-145620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-145680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-145740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-145800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-145860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-145920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-145980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-146040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-146100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-146160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-146220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-146280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-146340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-146400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-146460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-146520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-146580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-146640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-146700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-146760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-146820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-146880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-146940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-147000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-147060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-147120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-147180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-147240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-147300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-147360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-147420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-147480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-147540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-147600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-147660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-147720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-147780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-147840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-147900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-147960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-148020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-148080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-148140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-148200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-148260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-148320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-148380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-148440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-148500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-148560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-148620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-148680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-148740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-148800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-148860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-148920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-148980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-149040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-149100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-149160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-149220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-149280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-149340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-149400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-149460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-149520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-149580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-149640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-149700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-149760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-149820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-149880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-149940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-150000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-150060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-150120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-150180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-150240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-150300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-150360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-150420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-150480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-150540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-150600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-150660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-150720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-150780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-150840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-150900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-150960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-151020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-151080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-151140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-151200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-151260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-151320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-151380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-151440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-151500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-151560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-151620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-151680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-151740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-151800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-151860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-151920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-151980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-152040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-152100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-152160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-152220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-152280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-152340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-152400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-152460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-152520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-152580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-152640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-152700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-152760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-152820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-152880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-152940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-153000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-153060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-153120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-153180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-153240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-153300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-153360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-153420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-153480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-153540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-153600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-153660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-153720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-153780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-153840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-153900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-153960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-154020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-154080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-154140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-154200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-154260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-154320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-154380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-154440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-154500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-154560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-154620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-154680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-154740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-154800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-154860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-154920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-154980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-155040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-155100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-155160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-155220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-155280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-155340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-155400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-155460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-155520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-155580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-155640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-155700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-155760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-155820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-155880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-155940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-156000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-156060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-156120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-156180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-156240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-156300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-156360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-156420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-156480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-156540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-156600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-156660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-156720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-156780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-156840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-156900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-156960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-157020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-157080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-157140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-157200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-157260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-157320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-157380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-157440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-157500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-157560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-157620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-157680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-157740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-157800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-157860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-157920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-157980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-158040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-158100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-158160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-158220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-158280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-158340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-158400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-158460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-158520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-158580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-158640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-158700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-158760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-158820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-158880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-158940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-159000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-159060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-159120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-159180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-159240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-159300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-159360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-159420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-159480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-159540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-159600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-159660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-159720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-159780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-159840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-159900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-159960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-160020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-160080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-160140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-160200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-160260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-160320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-160380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-160440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-160500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-160560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-160620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-160680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-160740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-160800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-160860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-160920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-160980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-161040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-161100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-161160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-161220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-161280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-161340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-161400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-161460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-161520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-161580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-161640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-161700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-161760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-161820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-161880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-161940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-162000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-162060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-162120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-162180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-162240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-162300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-162360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-162420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-162480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-162540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-162600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-162660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-162720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-162780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-162840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-162900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-162960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-163020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-163080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-163140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-163200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-163260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-163320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-163380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-163440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-163500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-163560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-163620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-163680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-163740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-163800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-163860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-163920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-163980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-164040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-164100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-164160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-164220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-164280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-164340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-164400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-164460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-164520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-164580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-164640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-164700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-164760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-164820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-164880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-164940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-165000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-165060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-165120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-165180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-165240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-165300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-165360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-165420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-165480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-165540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-165600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-165660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-165720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-165780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-165840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-165900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-165960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-166020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-166080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-166140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-166200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-166260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-166320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-166380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-166440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-166500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-166560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-166620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-166680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-166740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-166800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-166860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-166920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-166980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-167040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-167100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-167160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-167220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-167280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-167340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-167400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-167460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-167520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-167580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-167640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-167700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-167760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-167820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-167880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-167940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-168000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-168060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-168120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-168180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-168240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-168300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-168360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-168420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-168480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-168540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-168600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-168660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-168720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-168780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-168840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-168900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-168960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-169020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-169080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-169140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-169200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-169260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-169320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-169380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-169440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-169500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-169560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-169620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-169680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-169740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-169800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-169860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-169920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-169980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-170040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-170100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-170160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-170220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-170280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-170340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-170400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-170460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-170520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-170580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-170640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-170700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-170760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-170820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-170880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-170940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-171000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-171060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-171120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-171180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-171240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-171300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-171360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-171420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-171480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-171540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-171600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-171660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-171720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-171780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-171840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-171900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-171960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-172020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-172080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-172140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-172200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-172260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-172320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-172380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-172440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-172500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-172560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-172620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-172680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-172740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-172800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-172860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-172920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-172980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-173040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-173100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-173160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-173220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-173280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-173340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-173400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-173460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-173520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-173580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-173640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-173700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-173760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-173820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-173880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-173940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-174000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-174060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-174120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-174180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-174240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-174300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-174360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-174420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-174480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-174540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-174600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-174660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-174720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-174780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-174840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-174900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-174960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-175020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-175080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-175140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-175200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-175260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-175320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-175380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-175440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-175500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-175560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-175620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-175680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-175740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-175800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-175860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-175920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-175980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-176040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-176100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-176160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-176220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-176280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-176340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-176400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-176460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-176520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-176580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-176640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-176700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-176760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-176820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-176880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-176940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-177000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-177060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-177120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-177180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-177240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-177300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-177360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-177420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-177480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-177540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-177600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-177660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-177720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-177780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-177840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-177900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-177960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-178020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-178080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-178140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-178200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-178260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-178320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-178380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-178440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-178500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-178560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-178620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-178680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-178740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-178800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-178860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-178920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-178980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-179040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-179100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-179160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-179220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-179280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-179340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-179400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-179460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-179520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-179580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-179640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-179700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-179760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-179820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-179880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-179940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-180000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-180060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-180120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-180180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-180240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-180300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-180360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-180420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-180480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-180540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-180600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-180660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-180720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-180780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-180840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-180900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-180960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-181020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-181080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-181140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-181200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-181260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-181320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-181380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-181440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-181500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-181560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-181620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-181680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-181740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-181800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-181860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-181920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-181980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-182040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-182100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-182160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-182220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-182280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-182340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-182400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-182460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-182520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-182580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-182640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-182700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-182760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-182820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-182880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-182940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-183000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-183060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-183120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-183180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-183240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-183300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-183360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-183420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-183480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-183540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-183600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-183660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-183720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-183780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-183840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-183900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-183960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-184020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-184080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-184140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-184200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-184260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-184320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-184380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-184440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-184500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-184560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-184620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-184680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-184740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-184800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-184860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-184920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-184980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-185040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-185100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-185160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-185220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-185280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-185340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-185400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-185460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-185520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-185580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-185640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-185700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-185760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-185820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-185880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-185940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-186000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-186060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-186120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-186180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-186240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-186300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-186360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-186420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-186480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-186540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-186600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-186660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-186720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-186780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-186840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-186900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-186960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-187020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-187080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-187140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-187200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-187260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-187320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-187380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-187440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-187500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-187560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-187620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-187680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-187740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-187800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-187860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-187920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-187980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-188040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-188100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-188160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-188220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-188280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-188340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-188400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-188460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-188520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-188580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-188640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-188700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-188760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-188820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-188880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-188940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-189000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-189060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-189120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-189180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-189240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-189300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-189360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-189420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-189480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-189540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-189600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-189660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-189720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-189780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-189840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-189900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-189960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-190020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-190080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-190140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-190200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-190260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-190320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-190380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-190440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-190500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-190560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-190620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-190680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-190740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-190800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-190860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-190920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-190980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-191040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-191100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-191160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-191220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-191280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-191340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-191400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-191460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-191520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-191580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-191640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-191700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-191760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-191820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-191880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-191940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-192000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-192060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-192120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-192180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-192240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-192300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-192360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-192420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-192480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-192540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-192600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-192660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-192720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-192780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-192840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-192900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-192960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-193020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-193080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-193140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-193200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-193260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-193320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-193380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-193440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-193500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-193560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-193620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-193680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-193740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-193800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-193860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-193920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-193980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-194040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-194100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-194160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-194220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-194280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-194340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-194400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-194460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-194520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-194580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-194640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-194700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-194760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-194820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-194880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-194940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-195000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-195060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-195120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-195180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-195240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-195300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-195360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-195420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-195480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-195540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-195600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-195660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-195720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-195780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-195840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-195900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-195960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-196020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-196080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-196140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-196200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-196260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-196320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-196380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-196440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-196500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-196560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-196620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-196680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-196740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-196800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-196860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-196920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-196980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-197040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-197100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-197160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-197220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-197280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-197340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-197400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-197460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-197520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-197580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-197640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-197700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-197760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-197820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-197880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-197940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-198000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-198060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-198120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-198180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-198240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-198300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-198360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-198420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-198480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-198540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-198600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-198660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-198720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-198780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-198840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-198900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-198960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-199020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-199080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-199140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-199200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-199260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-199320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-199380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-199440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-199500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-199560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-199620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-199680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-199740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-199800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-199860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-199920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-199980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-200040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-200100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-200160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-200220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-200280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-200340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-200400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-200460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-200520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-200580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-200640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-200700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-200760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-200820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-200880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-200940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-201000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-201060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-201120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-201180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-201240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-201300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-201360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-201420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-201480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-201540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-201600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-201660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-201720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-201780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-201840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-201900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-201960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-202020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-202080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-202140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-202200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-202260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-202320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-202380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-202440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-202500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-202560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-202620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-202680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-202740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-202800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-202860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-202920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-202980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-203040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-203100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-203160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-203220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-203280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-203340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-203400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-203460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-203520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-203580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-203640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-203700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-203760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-203820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-203880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-203940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-204000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-204060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-204120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-204180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-204240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-204300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-204360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-204420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-204480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-204540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-204600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-204660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-204720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-204780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-204840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-204900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-204960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-205020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-205080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-205140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-205200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-205260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-205320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-205380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-205440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-205500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-205560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-205620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-205680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-205740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-205800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-205860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-205920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-205980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-206040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-206100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-206160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-206220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-206280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-206340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-206400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-206460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-206520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-206580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-206640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-206700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-206760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-206820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-206880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-206940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-207000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-207060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-207120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-207180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-207240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-207300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-207360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-207420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-207480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-207540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-207600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-207660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-207720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-207780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-207840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-207900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-207960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-208020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-208080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-208140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-208200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-208260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-208320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-208380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-208440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-208500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-208560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-208620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-208680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-208740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-208800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-208860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-208920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-208980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-209040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-209100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-209160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-209220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-209280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-209340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-209400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-209460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-209520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-209580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-209640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-209700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-209760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-209820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-209880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-209940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-210000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-210060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-210120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-210180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-210240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-210300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-210360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-210420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-210480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-210540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-210600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-210660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-210720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-210780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-210840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-210900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-210960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-211020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-211080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-211140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-211200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-211260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-211320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-211380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-211440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-211500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-211560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-211620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-211680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-211740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-211800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-211860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-211920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-211980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-212040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-212100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-212160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-212220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-212280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-212340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-212400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-212460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-212520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-212580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-212640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-212700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-212760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-212820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-212880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-212940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-213000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-213060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-213120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-213180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-213240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-213300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-213360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-213420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-213480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-213540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-213600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-213660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-213720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-213780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-213840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-213900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-213960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-214020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-214080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-214140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-214200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-214260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-214320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-214380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-214440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-214500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-214560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-214620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-214680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-214740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-214800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-214860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-214920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-214980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-215040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-215100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-215160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-215220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-215280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-215340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-215400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-215460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-215520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-215580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-215640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-215700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-215760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-215820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-215880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-215940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-216000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-216060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-216120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-216180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-216240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-216300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-216360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-216420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-216480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-216540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-216600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-216660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-216720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-216780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-216840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-216900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-216960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-217020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-217080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-217140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-217200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-217260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-217320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-217380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-217440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-217500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-217560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-217620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-217680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-217740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-217800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-217860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-217920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-217980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-218040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-218100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-218160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-218220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-218280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-218340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-218400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-218460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-218520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-218580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-218640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-218700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-218760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-218820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-218880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-218940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-219000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-219060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-219120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-219180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-219240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-219300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-219360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-219420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-219480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-219540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-219600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-219660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-219720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-219780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-219840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-219900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-219960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-220020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-220080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-220140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-220200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-220260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-220320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-220380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-220440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-220500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-220560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-220620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-220680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-220740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-220800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-220860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-220920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-220980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-221040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-221100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-221160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-221220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-221280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-221340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-221400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-221460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-221520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-221580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-221640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-221700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-221760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-221820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-221880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-221940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-222000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-222060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-222120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-222180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-222240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-222300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-222360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-222420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-222480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-222540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-222600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-222660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-222720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-222780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-222840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-222900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-222960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-223020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-223080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-223140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-223200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-223260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-223320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-223380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-223440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-223500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-223560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-223620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-223680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-223740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-223800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-223860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-223920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-223980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-224040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-224100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-224160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-224220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-224280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-224340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-224400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-224460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-224520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-224580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-224640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-224700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-224760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-224820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-224880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-224940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-225000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-225060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-225120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-225180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-225240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-225300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-225360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-225420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-225480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-225540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-225600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-225660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-225720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-225780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-225840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-225900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-225960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-226020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-226080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-226140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-226200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-226260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-226320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-226380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-226440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-226500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-226560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-226620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-226680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-226740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-226800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-226860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-226920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-226980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-227040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-227100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-227160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-227220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-227280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-227340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-227400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-227460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-227520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-227580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-227640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-227700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-227760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-227820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-227880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-227940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-228000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-228060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-228120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-228180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-228240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-228300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-228360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-228420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-228480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-228540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-228600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-228660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-228720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-228780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-228840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-228900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-228960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-229020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-229080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-229140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-229200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-229260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-229320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-229380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-229440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-229500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-229560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-229620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-229680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-229740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-229800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-229860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-229920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-229980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-230040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-230100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-230160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-230220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-230280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-230340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-230400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-230460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-230520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-230580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-230640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-230700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-230760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-230820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-230880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-230940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-231000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-231060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-231120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-231180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-231240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-231300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-231360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-231420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-231480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-231540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-231600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-231660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-231720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-231780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-231840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-231900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-231960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-232020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-232080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-232140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-232200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-232260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-232320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-232380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-232440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-232500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-232560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-232620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-232680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-232740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-232800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-232860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-232920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-232980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-233040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-233100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-233160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-233220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-233280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-233340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-233400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-233460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-233520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-233580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-233640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-233700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-233760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-233820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-233880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-233940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-234000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-234060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-234120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-234180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-234240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-234300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-234360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-234420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-234480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-234540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-234600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-234660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-234720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-234780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-234840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-234900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-234960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-235020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-235080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-235140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-235200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-235260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-235320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-235380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-235440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-235500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-235560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-235620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-235680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-235740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-235800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-235860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-235920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-235980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-236040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-236100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-236160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-236220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-236280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-236340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-236400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-236460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-236520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-236580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-236640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-236700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-236760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-236820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-236880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-236940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-237000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-237060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-237120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-237180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-237240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-237300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-237360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-237420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-237480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-237540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-237600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-237660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-237720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-237780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-237840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-237900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-237960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-238020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-238080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-238140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-238200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-238260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-238320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-238380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-238440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-238500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-238560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-238620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-238680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-238740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-238800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-238860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-238920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-238980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-239040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-239100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-239160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-239220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-239280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-239340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-239400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-239460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-239520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-239580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-239640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-239700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-239760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-239820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-239880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-239940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-240000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-240060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-240120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-240180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-240240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-240300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-240360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-240420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-240480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-240540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-240600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-240660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-240720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-240780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-240840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-240900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-240960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-241020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-241080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-241140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-241200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-241260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-241320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-241380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-241440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-241500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-241560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-241620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-241680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-241740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-241800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-241860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-241920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-241980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-242040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-242100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-242160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-242220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-242280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-242340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-242400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-242460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-242520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-242580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-242640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-242700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-242760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-242820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-242880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-242940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-243000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-243060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-243120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-243180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-243240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-243300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-243360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-243420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-243480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-243540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-243600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-243660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-243720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-243780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-243840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-243900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-243960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-244020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-244080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-244140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-244200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-244260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-244320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-244380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-244440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-244500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-244560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-244620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-244680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-244740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-244800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-244860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-244920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-244980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-245040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-245100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-245160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-245220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-245280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-245340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-245400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-245460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-245520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-245580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-245640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-245700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-245760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-245820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-245880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-245940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-246000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-246060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-246120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-246180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-246240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-246300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-246360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-246420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-246480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-246540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-246600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-246660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-246720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-246780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-246840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-246900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-246960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-247020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-247080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-247140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-247200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-247260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-247320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-247380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-247440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-247500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-247560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-247620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-247680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-247740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-247800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-247860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-247920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-247980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-248040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-248100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-248160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-248220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-248280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-248340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-248400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-248460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-248520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-248580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-248640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-248700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-248760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-248820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-248880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-248940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-249000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-249060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-249120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-249180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-249240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-249300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-249360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-249420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-249480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-249540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-249600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-249660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-249720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-249780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-249840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-249900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-249960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-250020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-250080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-250140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-250200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-250260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-250320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-250380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-250440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-250500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-250560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-250620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-250680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-250740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-250800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-250860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-250920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-250980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-251040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-251100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-251160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-251220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-251280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-251340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-251400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-251460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-251520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-251580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-251640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-251700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-251760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-251820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-251880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-251940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-252000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-252060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-252120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-252180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-252240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-252300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-252360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-252420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-252480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-252540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-252600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-252660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-252720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-252780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-252840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-252900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-252960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-253020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-253080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-253140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-253200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-253260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-253320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-253380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-253440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-253500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-253560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-253620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-253680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-253740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-253800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-253860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-253920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-253980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-254040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-254100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-254160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-254220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-254280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-254340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-254400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-254460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-254520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-254580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-254640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-254700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-254760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-254820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-254880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-254940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-255000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-255060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-255120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-255180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-255240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-255300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-255360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-255420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-255480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-255540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-255600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-255660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-255720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-255780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-255840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-255900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-255960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-256020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-256080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-256140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-256200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-256260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-256320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-256380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-256440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-256500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-256560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-256620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-256680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-256740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-256800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-256860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-256920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-256980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-257040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-257100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-257160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-257220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-257280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-257340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-257400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-257460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-257520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-257580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-257640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-257700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-257760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-257820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-257880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-257940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-258000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-258060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-258120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-258180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-258240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-258300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-258360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-258420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-258480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-258540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-258600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-258660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-258720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-258780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-258840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-258900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-258960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-259020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-259080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-259140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-259200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-259260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-259320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-259380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-259440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-259500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-259560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-259620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-259680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-259740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-259800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-259860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-259920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-259980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-260040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-260100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-260160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-260220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-260280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-260340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-260400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-260460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-260520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-260580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-260640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-260700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-260760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-260820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-260880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-260940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-261000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-261060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-261120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-261180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-261240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-261300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-261360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-261420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-261480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-261540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-261600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-261660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-261720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-261780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-261840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-261900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-261960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-262020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-262080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-262140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-262200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-262260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-262320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-262380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-262440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-262500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-262560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-262620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-262680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-262740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-262800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-262860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-262920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-262980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-263040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-263100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-263160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-263220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-263280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-263340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-263400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-263460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-263520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-263580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-263640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-263700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-263760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-263820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-263880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-263940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-264000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-264060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-264120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-264180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-264240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-264300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-264360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-264420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-264480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-264540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-264600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-264660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-264720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-264780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-264840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-264900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-264960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-265020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-265080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-265140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-265200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-265260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-265320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-265380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-265440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-265500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-265560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-265620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-265680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-265740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-265800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-265860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-265920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-265980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-266040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-266100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-266160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-266220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-266280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-266340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-266400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-266460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-266520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-266580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-266640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-266700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-266760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-266820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-266880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-266940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-267000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-267060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-267120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-267180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-267240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-267300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-267360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-267420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-267480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-267540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-267600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-267660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-267720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-267780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-267840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-267900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-267960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-268020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-268080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-268140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-268200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-268260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-268320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-268380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-268440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-268500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-268560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-268620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-268680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-268740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-268800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-268860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-268920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-268980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-269040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-269100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-269160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-269220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-269280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-269340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-269400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-269460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-269520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-269580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-269640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-269700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-269760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-269820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-269880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-269940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-270000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-270060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-270120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-270180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-270240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-270300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-270360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-270420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-270480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-270540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-270600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-270660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-270720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-270780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-270840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-270900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-270960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-271020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-271080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-271140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-271200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-271260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-271320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-271380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-271440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-271500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-271560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-271620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-271680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-271740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-271800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-271860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-271920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-271980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-272040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-272100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-272160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-272220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-272280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-272340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-272400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-272460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-272520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-272580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-272640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-272700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-272760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-272820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-272880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-272940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-273000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-273060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-273120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-273180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-273240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-273300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-273360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-273420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-273480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-273540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-273600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-273660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-273720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-273780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-273840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-273900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-273960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-274020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-274080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-274140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-274200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-274260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-274320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-274380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-274440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-274500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-274560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-274620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-274680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-274740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-274800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-274860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-274920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-274980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-275040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-275100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-275160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-275220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-275280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-275340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-275400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-275460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-275520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-275580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-275640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-275700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-275760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-275820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-275880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-275940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-276000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-276060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-276120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-276180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-276240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-276300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-276360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-276420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-276480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-276540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-276600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-276660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-276720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-276780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-276840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-276900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-276960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-277020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-277080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-277140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-277200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-277260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-277320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-277380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-277440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-277500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-277560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-277620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-277680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-277740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-277800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-277860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-277920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-277980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-278040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-278100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-278160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-278220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-278280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-278340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-278400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-278460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-278520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-278580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-278640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-278700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-278760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-278820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-278880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-278940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-279000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-279060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-279120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-279180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-279240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-279300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-279360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-279420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-279480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-279540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-279600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-279660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-279720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-279780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-279840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-279900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-279960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-280020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-280080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-280140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-280200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-280260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-280320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-280380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-280440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-280500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-280560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-280620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-280680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-280740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-280800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-280860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-280920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-280980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-281040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-281100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-281160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-281220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-281280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-281340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-281400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-281460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-281520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-281580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-281640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-281700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-281760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-281820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-281880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-281940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-282000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-282060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-282120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-282180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-282240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-282300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-282360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-282420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-282480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-282540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-282600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-282660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-282720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-282780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-282840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-282900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-282960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-283020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-283080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-283140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-283200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-283260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-283320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-283380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-283440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-283500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-283560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-283620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-283680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-283740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-283800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-283860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-283920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-283980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-284040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-284100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-284160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-284220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-284280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-284340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-284400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-284460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-284520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-284580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-284640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-284700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-284760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-284820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-284880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-284940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-285000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-285060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-285120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-285180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-285240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-285300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-285360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-285420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-285480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-285540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-285600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-285660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-285720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-285780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-285840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-285900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-285960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-286020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-286080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-286140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-286200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-286260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-286320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-286380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-286440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-286500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-286560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-286620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-286680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-286740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-286800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-286860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-286920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-286980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-287040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-287100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-287160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-287220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-287280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-287340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-287400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-287460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-287520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-287580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-287640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-287700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-287760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-287820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-287880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-287940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-288000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-288060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-288120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-288180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-288240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-288300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-288360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-288420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-288480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-288540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-288600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-288660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-288720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-288780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-288840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-288900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-288960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-289020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-289080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-289140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-289200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-289260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-289320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-289380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-289440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-289500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-289560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-289620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-289680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-289740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-289800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-289860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-289920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-289980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-290040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-290100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-290160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-290220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-290280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-290340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-290400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-290460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-290520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-290580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-290640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-290700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-290760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-290820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-290880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-290940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-291000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-291060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-291120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-291180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-291240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-291300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-291360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-291420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-291480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-291540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-291600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-291660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-291720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-291780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-291840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-291900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-291960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-292020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-292080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-292140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-292200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-292260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-292320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-292380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-292440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-292500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-292560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-292620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-292680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-292740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-292800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-292860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-292920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-292980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-293040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-293100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-293160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-293220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-293280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-293340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-293400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-293460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-293520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-293580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-293640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-293700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-293760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-293820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-293880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-293940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-294000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-294060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-294120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-294180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-294240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-294300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-294360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-294420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-294480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-294540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-294600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-294660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-294720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-294780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-294840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-294900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-294960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-295020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-295080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-295140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-295200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-295260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-295320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-295380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-295440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-295500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-295560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-295620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-295680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-295740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-295800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-295860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-295920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-295980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-296040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-296100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-296160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-296220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-296280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-296340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-296400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-296460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-296520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-296580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-296640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-296700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-296760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-296820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-296880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-296940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-297000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-297060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-297120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-297180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-297240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-297300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-297360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-297420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-297480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-297540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-297600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-297660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-297720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-297780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-297840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-297900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-297960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-298020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-298080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-298140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-298200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-298260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-298320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-298380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-298440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-298500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-298560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-298620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-298680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-298740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-298800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-298860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-298920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-298980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-299040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-299100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-299160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-299220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-299280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-299340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-299400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-299460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-299520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-299580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-299640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-299700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-299760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-299820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-299880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-299940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-300000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-300060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-300120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-300180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-300240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-300300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-300360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-300420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-300480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-300540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-300600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-300660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-300720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-300780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-300840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-300900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-300960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-301020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-301080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-301140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-301200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-301260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-301320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-301380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-301440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-301500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-301560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-301620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-301680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-301740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-301800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-301860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-301920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-301980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-302040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-302100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-302160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-302220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-302280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-302340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-302400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-302460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-302520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-302580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-302640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-302700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-302760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-302820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-302880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-302940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-303000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-303060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-303120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-303180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-303240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-303300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-303360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-303420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-303480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-303540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-303600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-303660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-303720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-303780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-303840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-303900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-303960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-304020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-304080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-304140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-304200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-304260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-304320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-304380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-304440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-304500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-304560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-304620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-304680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-304740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-304800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-304860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-304920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-304980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-305040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-305100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-305160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-305220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-305280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-305340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-305400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-305460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-305520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-305580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-305640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-305700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-305760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-305820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-305880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-305940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-306000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-306060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-306120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-306180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-306240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-306300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-306360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-306420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-306480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-306540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-306600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-306660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-306720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-306780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-306840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-306900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-306960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-307020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-307080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-307140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-307200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-307260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-307320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-307380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-307440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-307500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-307560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-307620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-307680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-307740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-307800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-307860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-307920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-307980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-308040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-308100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-308160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-308220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-308280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-308340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-308400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-308460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-308520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-308580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-308640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-308700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-308760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-308820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-308880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-308940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-309000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-309060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-309120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-309180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-309240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-309300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-309360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-309420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-309480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-309540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-309600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-309660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-309720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-309780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-309840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-309900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-309960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-310020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-310080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-310140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-310200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-310260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-310320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-310380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-310440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-310500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-310560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-310620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-310680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-310740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-310800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-310860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-310920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-310980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-311040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-311100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-311160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-311220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-311280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-311340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-311400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-311460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-311520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-311580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-311640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-311700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-311760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-311820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-311880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-311940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-312000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-312060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-312120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-312180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-312240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-312300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-312360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-312420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-312480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-312540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-312600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-312660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-312720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-312780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-312840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-312900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-312960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-313020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-313080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-313140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-313200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-313260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-313320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-313380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-313440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-313500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-313560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-313620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-313680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-313740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-313800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-313860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-313920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-313980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-314040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-314100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-314160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-314220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-314280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-314340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-314400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-314460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-314520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-314580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-314640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-314700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-314760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-314820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-314880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-314940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-315000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-315060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-315120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-315180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-315240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-315300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-315360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-315420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-315480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-315540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-315600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-315660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-315720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-315780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-315840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-315900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-315960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-316020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-316080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-316140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-316200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-316260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-316320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-316380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-316440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-316500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-316560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-316620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-316680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-316740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-316800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-316860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-316920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-316980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-317040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-317100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-317160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-317220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-317280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-317340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-317400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-317460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-317520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-317580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-317640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-317700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-317760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-317820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-317880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-317940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-318000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-318060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-318120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-318180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-318240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-318300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-318360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-318420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-318480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-318540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-318600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-318660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-318720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-318780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-318840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-318900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-318960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-319020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-319080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-319140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-319200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-319260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-319320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-319380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-319440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-319500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-319560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-319620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-319680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-319740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-319800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-319860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-319920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-319980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-320040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-320100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-320160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-320220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-320280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-320340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-320400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-320460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-320520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-320580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-320640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-320700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-320760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-320820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-320880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-320940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-321000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-321060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-321120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-321180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-321240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-321300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-321360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-321420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-321480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-321540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-321600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-321660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-321720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-321780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-321840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-321900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-321960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-322020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-322080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-322140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-322200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-322260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-322320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-322380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-322440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-322500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-322560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-322620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-322680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-322740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-322800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-322860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-322920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-322980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-323040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-323100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-323160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-323220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-323280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-323340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-323400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-323460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-323520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-323580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-323640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-323700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-323760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-323820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-323880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-323940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-324000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-324060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-324120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-324180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-324240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-324300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-324360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-324420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-324480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-324540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-324600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-324660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-324720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-324780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-324840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-324900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-324960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-325020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-325080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-325140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-325200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-325260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-325320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-325380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-325440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-325500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-325560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-325620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-325680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-325740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-325800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-325860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-325920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-325980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-326040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-326100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-326160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-326220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-326280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-326340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-326400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-326460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-326520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-326580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-326640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-326700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-326760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-326820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-326880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-326940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-327000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-327060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-327120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-327180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-327240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-327300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-327360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-327420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-327480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-327540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-327600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-327660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-327720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-327780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-327840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-327900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-327960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-328020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-328080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-328140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-328200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-328260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-328320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-328380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-328440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-328500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-328560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-328620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-328680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-328740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-328800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-328860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-328920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-328980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-329040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-329100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-329160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-329220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-329280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-329340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-329400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-329460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-329520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-329580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-329640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-329700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-329760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-329820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-329880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-329940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-330000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-330060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-330120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-330180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-330240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-330300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-330360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-330420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-330480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-330540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-330600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-330660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-330720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-330780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-330840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-330900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-330960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-331020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-331080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-331140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-331200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-331260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-331320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-331380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-331440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-331500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-331560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-331620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-331680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-331740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-331800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-331860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-331920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-331980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-332040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-332100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-332160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-332220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-332280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-332340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-332400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-332460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-332520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-332580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-332640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-332700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-332760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-332820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-332880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-332940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-333000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-333060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-333120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-333180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-333240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-333300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-333360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-333420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-333480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-333540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-333600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-333660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-333720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-333780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-333840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-333900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-333960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-334020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-334080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-334140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-334200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-334260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-334320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-334380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-334440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-334500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-334560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-334620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-334680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-334740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-334800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-334860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-334920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-334980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-335040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-335100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-335160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-335220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-335280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-335340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-335400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-335460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-335520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-335580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-335640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-335700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-335760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-335820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-335880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-335940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-336000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-336060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-336120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-336180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-336240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-336300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-336360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-336420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-336480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-336540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-336600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-336660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-336720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-336780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-336840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-336900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-336960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-337020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-337080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-337140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-337200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-337260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-337320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-337380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-337440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-337500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-337560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-337620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-337680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-337740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-337800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-337860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-337920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-337980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-338040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-338100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-338160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-338220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-338280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-338340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-338400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-338460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-338520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-338580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-338640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-338700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-338760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-338820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-338880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-338940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-339000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-339060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-339120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-339180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-339240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-339300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-339360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-339420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-339480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-339540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-339600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-339660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-339720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-339780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-339840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-339900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-339960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-340020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-340080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-340140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-340200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-340260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-340320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-340380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-340440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-340500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-340560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-340620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-340680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-340740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-340800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-340860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-340920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-340980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-341040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-341100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-341160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-341220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-341280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-341340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-341400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-341460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-341520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-341580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-341640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-341700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-341760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-341820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-341880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-341940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-342000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-342060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-342120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-342180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-342240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-342300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-342360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-342420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-342480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-342540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-342600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-342660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-342720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-342780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-342840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-342900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-342960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-343020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-343080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-343140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-343200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-343260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-343320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-343380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-343440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-343500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-343560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-343620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-343680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-343740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-343800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-343860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-343920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-343980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-344040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-344100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-344160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-344220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-344280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-344340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-344400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-344460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-344520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-344580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-344640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-344700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-344760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-344820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-344880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-344940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-345000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-345060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-345120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-345180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-345240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-345300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-345360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-345420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-345480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-345540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-345600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-345660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-345720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-345780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-345840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-345900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-345960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-346020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-346080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-346140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-346200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-346260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-346320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-346380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-346440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-346500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-346560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-346620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-346680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-346740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-346800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-346860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-346920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-346980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-347040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-347100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-347160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-347220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-347280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-347340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-347400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-347460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-347520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-347580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-347640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-347700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-347760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-347820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-347880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-347940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-348000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-348060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-348120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-348180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-348240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-348300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-348360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-348420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-348480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-348540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-348600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-348660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-348720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-348780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-348840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-348900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-348960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-349020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-349080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-349140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-349200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-349260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-349320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-349380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-349440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-349500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-349560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-349620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-349680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-349740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-349800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-349860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-349920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-349980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-350040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-350100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-350160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-350220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-350280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-350340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-350400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-350460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-350520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-350580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-350640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-350700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-350760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-350820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-350880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-350940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-351000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-351060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-351120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-351180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-351240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-351300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-351360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-351420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-351480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-351540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-351600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-351660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-351720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-351780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-351840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-351900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-351960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-352020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-352080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-352140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-352200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-352260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-352320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-352380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-352440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-352500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-352560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-352620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-352680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-352740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-352800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-352860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-352920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-352980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-353040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-353100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-353160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-353220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-353280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-353340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-353400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-353460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-353520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-353580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-353640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-353700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-353760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-353820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-353880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-353940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-354000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-354060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-354120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-354180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-354240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-354300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-354360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-354420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-354480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-354540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-354600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-354660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-354720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-354780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-354840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-354900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-354960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-355020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-355080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-355140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-355200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-355260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-355320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-355380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-355440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-355500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-355560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-355620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-355680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-355740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-355800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-355860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-355920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-355980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-356040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-356100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-356160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-356220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-356280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-356340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-356400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-356460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-356520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-356580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-356640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-356700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-356760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-356820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-356880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-356940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-357000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-357060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-357120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-357180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-357240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-357300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-357360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-357420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-357480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-357540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-357600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-357660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-357720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-357780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-357840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-357900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-357960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-358020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-358080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-358140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-358200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-358260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-358320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-358380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-358440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-358500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-358560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-358620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-358680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-358740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-358800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-358860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-358920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-358980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-359040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-359100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-359160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-359220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-359280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-359340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-359400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-359460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-359520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-359580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-359640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-359700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-359760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-359820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-359880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-359940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-360000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-360060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-360120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-360180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-360240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-360300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-360360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-360420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-360480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-360540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-360600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-360660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-360720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-360780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-360840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-360900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-360960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-361020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-361080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-361140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-361200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-361260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-361320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-361380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-361440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-361500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-361560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-361620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-361680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-361740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-361800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-361860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-361920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-361980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-362040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-362100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-362160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-362220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-362280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-362340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-362400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-362460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-362520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-362580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-362640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-362700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-362760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-362820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-362880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-362940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-363000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-363060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-363120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-363180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-363240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-363300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-363360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-363420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-363480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-363540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-363600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-363660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-363720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-363780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-363840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-363900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-363960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-364020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-364080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-364140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-364200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-364260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-364320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-364380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-364440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-364500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-364560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-364620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-364680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-364740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-364800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-364860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-364920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-364980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-365040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-365100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-365160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-365220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-365280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-365340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-365400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-365460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-365520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-365580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-365640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-365700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-365760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-365820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-365880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-365940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-366000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-366060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-366120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-366180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-366240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-366300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-366360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-366420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-366480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-366540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-366600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-366660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-366720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-366780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-366840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-366900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-366960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-367020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-367080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-367140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-367200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-367260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-367320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-367380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-367440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-367500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-367560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-367620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-367680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-367740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-367800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-367860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-367920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-367980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-368040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-368100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-368160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-368220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-368280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-368340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-368400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-368460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-368520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-368580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-368640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-368700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-368760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-368820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-368880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-368940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-369000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-369060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-369120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-369180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-369240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-369300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-369360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-369420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-369480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-369540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-369600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-369660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-369720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-369780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-369840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-369900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-369960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-370020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-370080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-370140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-370200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-370260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-370320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-370380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-370440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-370500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-370560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-370620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-370680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-370740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-370800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-370860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-370920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-370980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-371040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-371100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-371160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-371220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-371280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-371340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-371400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-371460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-371520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-371580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-371640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-371700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-371760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-371820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-371880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-371940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-372000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-372060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-372120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-372180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-372240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-372300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-372360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-372420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-372480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-372540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-372600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-372660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-372720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-372780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-372840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-372900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-372960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-373020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-373080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-373140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-373200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-373260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-373320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-373380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-373440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-373500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-373560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-373620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-373680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-373740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-373800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-373860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-373920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-373980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-374040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-374100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-374160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-374220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-374280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-374340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-374400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-374460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-374520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-374580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-374640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-374700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-374760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-374820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-374880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-374940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-375000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-375060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-375120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-375180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-375240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-375300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-375360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-375420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-375480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-375540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-375600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-375660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-375720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-375780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-375840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-375900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-375960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-376020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-376080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-376140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-376200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-376260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-376320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-376380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-376440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-376500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-376560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-376620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-376680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-376740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-376800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-376860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-376920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-376980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-377040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-377100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-377160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-377220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-377280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-377340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-377400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-377460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-377520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-377580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-377640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-377700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-377760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-377820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-377880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-377940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-378000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-378060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-378120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-378180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-378240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-378300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-378360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-378420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-378480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-378540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-378600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-378660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-378720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-378780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-378840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-378900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-378960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-379020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-379080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-379140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-379200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-379260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-379320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-379380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-379440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-379500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-379560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-379620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-379680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-379740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-379800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-379860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-379920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-379980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-380040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-380100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-380160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-380220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-380280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-380340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-380400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-380460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-380520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-380580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-380640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-380700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-380760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-380820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-380880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-380940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-381000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-381060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-381120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-381180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-381240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-381300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-381360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-381420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-381480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-381540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-381600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-381660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-381720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-381780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-381840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-381900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-381960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-382020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-382080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-382140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-382200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-382260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-382320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-382380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-382440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-382500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-382560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-382620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-382680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-382740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-382800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-382860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-382920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-382980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-383040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-383100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-383160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-383220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-383280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-383340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-383400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-383460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-383520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-383580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-383640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-383700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-383760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-383820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-383880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-383940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-384000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-384060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-384120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-384180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-384240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-384300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-384360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-384420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-384480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-384540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-384600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-384660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-384720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-384780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-384840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-384900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-384960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-385020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-385080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-385140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-385200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-385260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-385320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-385380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-385440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-385500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-385560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-385620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-385680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-385740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-385800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-385860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-385920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-385980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-386040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-386100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-386160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-386220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-386280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-386340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-386400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-386460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-386520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-386580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-386640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-386700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-386760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-386820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-386880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-386940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-387000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-387060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-387120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-387180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-387240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-387300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-387360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-387420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-387480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-387540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-387600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-387660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-387720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-387780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-387840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-387900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-387960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-388020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-388080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-388140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-388200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-388260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-388320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-388380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-388440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-388500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-388560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-388620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-388680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-388740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-388800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-388860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-388920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-388980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-389040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-389100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-389160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-389220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-389280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-389340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-389400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-389460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-389520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-389580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-389640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-389700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-389760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-389820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-389880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-389940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-390000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-390060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-390120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-390180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-390240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-390300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-390360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-390420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-390480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-390540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-390600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-390660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-390720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-390780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-390840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-390900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-390960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-391020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-391080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-391140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-391200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-391260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-391320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-391380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-391440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-391500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-391560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-391620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-391680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-391740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-391800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-391860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-391920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-391980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-392040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-392100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-392160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-392220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-392280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-392340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-392400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-392460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-392520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-392580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-392640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-392700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-392760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-392820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-392880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-392940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-393000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-393060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-393120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-393180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-393240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-393300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-393360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-393420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-393480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-393540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-393600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-393660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-393720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-393780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-393840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-393900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-393960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-394020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-394080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-394140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-394200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-394260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-394320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-394380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-394440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-394500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-394560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-394620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-394680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-394740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-394800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-394860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-394920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-394980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-395040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-395100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-395160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-395220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-395280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-395340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-395400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-395460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-395520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-395580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-395640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-395700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-395760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-395820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-395880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-395940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-396000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-396060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-396120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-396180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-396240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-396300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-396360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-396420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-396480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-396540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-396600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-396660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-396720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-396780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-396840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-396900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-396960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-397020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-397080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-397140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-397200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-397260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-397320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-397380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-397440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-397500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-397560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-397620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-397680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-397740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-397800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-397860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-397920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-397980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-398040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-398100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-398160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-398220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-398280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-398340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-398400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-398460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-398520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-398580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-398640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-398700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-398760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-398820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-398880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-398940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-399000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-399060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-399120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-399180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-399240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-399300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-399360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-399420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-399480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-399540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-399600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-399660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-399720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-399780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-399840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-399900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-399960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-400020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-400080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-400140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-400200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-400260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-400320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-400380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-400440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-400500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-400560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-400620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-400680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-400740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-400800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-400860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-400920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-400980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-401040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-401100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-401160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-401220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-401280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-401340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-401400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-401460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-401520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-401580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-401640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-401700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-401760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-401820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-401880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-401940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-402000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-402060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-402120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-402180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-402240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-402300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-402360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-402420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-402480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-402540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-402600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-402660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-402720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-402780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-402840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-402900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-402960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-403020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-403080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-403140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-403200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-403260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-403320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-403380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-403440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-403500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-403560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-403620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-403680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-403740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-403800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-403860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-403920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-403980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-404040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-404100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-404160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-404220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-404280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-404340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-404400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-404460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-404520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-404580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-404640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-404700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-404760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-404820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-404880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-404940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-405000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-405060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-405120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-405180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-405240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-405300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-405360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-405420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-405480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-405540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-405600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-405660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-405720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-405780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-405840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-405900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-405960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-406020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-406080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-406140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-406200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-406260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-406320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-406380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-406440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-406500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-406560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-406620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-406680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-406740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-406800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-406860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-406920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-406980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-407040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-407100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-407160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-407220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-407280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-407340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-407400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-407460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-407520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-407580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-407640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-407700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-407760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-407820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-407880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-407940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-408000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-408060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-408120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-408180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-408240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-408300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-408360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-408420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-408480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-408540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-408600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-408660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-408720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-408780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-408840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-408900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-408960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-409020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-409080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-409140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-409200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-409260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-409320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-409380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-409440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-409500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-409560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-409620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-409680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-409740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-409800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-409860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-409920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-409980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-410040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-410100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-410160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-410220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-410280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-410340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-410400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-410460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-410520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-410580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-410640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-410700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-410760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-410820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-410880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-410940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-411000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-411060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-411120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-411180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-411240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-411300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-411360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-411420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-411480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-411540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-411600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-411660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-411720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-411780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-411840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-411900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-411960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-412020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-412080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-412140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-412200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-412260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-412320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-412380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-412440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-412500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-412560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-412620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-412680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-412740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-412800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-412860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-412920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-412980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-413040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-413100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-413160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-413220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-413280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-413340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-413400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-413460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-413520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-413580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-413640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-413700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-413760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-413820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-413880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-413940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-414000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-414060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-414120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-414180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-414240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-414300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-414360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-414420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-414480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-414540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-414600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-414660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-414720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-414780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-414840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-414900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-414960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-415020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-415080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-415140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-415200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-415260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-415320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-415380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-415440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-415500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-415560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-415620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-415680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-415740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-415800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-415860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-415920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-415980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-416040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-416100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-416160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-416220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-416280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-416340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-416400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-416460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-416520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-416580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-416640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-416700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-416760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-416820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-416880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-416940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-417000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-417060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-417120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-417180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-417240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-417300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-417360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-417420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-417480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-417540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-417600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-417660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-417720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-417780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-417840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-417900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-417960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-418020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-418080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-418140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-418200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-418260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-418320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-418380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-418440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-418500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-418560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-418620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-418680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-418740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-418800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-418860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-418920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-418980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-419040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-419100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-419160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-419220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-419280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-419340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-419400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-419460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-419520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-419580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-419640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-419700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-419760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-419820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-419880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-419940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-420000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-420060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-420120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-420180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-420240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-420300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-420360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-420420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-420480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-420540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-420600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-420660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-420720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-420780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-420840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-420900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-420960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-421020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-421080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-421140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-421200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-421260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-421320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-421380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-421440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-421500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-421560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-421620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-421680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-421740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-421800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-421860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-421920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-421980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-422040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-422100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-422160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-422220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-422280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-422340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-422400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-422460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-422520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-422580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-422640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-422700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-422760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-422820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-422880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-422940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-423000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-423060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-423120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-423180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-423240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-423300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-423360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-423420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-423480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-423540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-423600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-423660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-423720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-423780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-423840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-423900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-423960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-424020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-424080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-424140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-424200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-424260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-424320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-424380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-424440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-424500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-424560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-424620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-424680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-424740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-424800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-424860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-424920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-424980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-425040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-425100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-425160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-425220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-425280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-425340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-425400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-425460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-425520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-425580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-425640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-425700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-425760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-425820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-425880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-425940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-426000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-426060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-426120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-426180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-426240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-426300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-426360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-426420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-426480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-426540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-426600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-426660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-426720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-426780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-426840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-426900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-426960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-427020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-427080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-427140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-427200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-427260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-427320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-427380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-427440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-427500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-427560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-427620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-427680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-427740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-427800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-427860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-427920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-427980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-428040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-428100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-428160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-428220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-428280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-428340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-428400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-428460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-428520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-428580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-428640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-428700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-428760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-428820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-428880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-428940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-429000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-429060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-429120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-429180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-429240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-429300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-429360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-429420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-429480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-429540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-429600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-429660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-429720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-429780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-429840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-429900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-429960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-430020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-430080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-430140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-430200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-430260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-430320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-430380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-430440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-430500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-430560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-430620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-430680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-430740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-430800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-430860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-430920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-430980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-431040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-431100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-431160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-431220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-431280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-431340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-431400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-431460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-431520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-431580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-431640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-431700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-431760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-431820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-431880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-431940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-432000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-432060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-432120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-432180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-432240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-432300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-432360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-432420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-432480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-432540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-432600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-432660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-432720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-432780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-432840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-432900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-432960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-433020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-433080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-433140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-433200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-433260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-433320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-433380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-433440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-433500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-433560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-433620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-433680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-433740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-433800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-433860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-433920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-433980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-434040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-434100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-434160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-434220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-434280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-434340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-434400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-434460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-434520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-434580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-434640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-434700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-434760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-434820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-434880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-434940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-435000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-435060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-435120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-435180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-435240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-435300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-435360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-435420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-435480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-435540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-435600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-435660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-435720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-435780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-435840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-435900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-435960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-436020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-436080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-436140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-436200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-436260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-436320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-436380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-436440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-436500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-436560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-436620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-436680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-436740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-436800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-436860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-436920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-436980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-437040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-437100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-437160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-437220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-437280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-437340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-437400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-437460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-437520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-437580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-437640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-437700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-437760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-437820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-437880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-437940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-438000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-438060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-438120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-438180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-438240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-438300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-438360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-438420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-438480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-438540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-438600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-438660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-438720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-438780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-438840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-438900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-438960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-439020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-439080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-439140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-439200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-439260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-439320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-439380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-439440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-439500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-439560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-439620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-439680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-439740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-439800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-439860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-439920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-439980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-440040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-440100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-440160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-440220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-440280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-440340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-440400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-440460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-440520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-440580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-440640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-440700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-440760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-440820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-440880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-440940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-441000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-441060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-441120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-441180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-441240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-441300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-441360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-441420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-441480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-441540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-441600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-441660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-441720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-441780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-441840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-441900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-441960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-442020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-442080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-442140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-442200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-442260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-442320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-442380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-442440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-442500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-442560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-442620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-442680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-442740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-442800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-442860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-442920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-442980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-443040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-443100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-443160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-443220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-443280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-443340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-443400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-443460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-443520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-443580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-443640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-443700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-443760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-443820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-443880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-443940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-444000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-444060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-444120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-444180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-444240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-444300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-444360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-444420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-444480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-444540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-444600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-444660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-444720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-444780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-444840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-444900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-444960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-445020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-445080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-445140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-445200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-445260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-445320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-445380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-445440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-445500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-445560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-445620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-445680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-445740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-445800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-445860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-445920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-445980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-446040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-446100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-446160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-446220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-446280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-446340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-446400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-446460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-446520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-446580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-446640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-446700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-446760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-446820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-446880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-446940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-447000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-447060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-447120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-447180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-447240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-447300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-447360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-447420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-447480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-447540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-447600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-447660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-447720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-447780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-447840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-447900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-447960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-448020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-448080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-448140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-448200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-448260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-448320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-448380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-448440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-448500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-448560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-448620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-448680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-448740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-448800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-448860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-448920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-448980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-449040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-449100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-449160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-449220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-449280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-449340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-449400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-449460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-449520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-449580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-449640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-449700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-449760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-449820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-449880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-449940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-450000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-450060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-450120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-450180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-450240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-450300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-450360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-450420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-450480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-450540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-450600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-450660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-450720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-450780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-450840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-450900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-450960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-451020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-451080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-451140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-451200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-451260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-451320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-451380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-451440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-451500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-451560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-451620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-451680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-451740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-451800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-451860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-451920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-451980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-452040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-452100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-452160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-452220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-452280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-452340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-452400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-452460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-452520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-452580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-452640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-452700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-452760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-452820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-452880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-452940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-453000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-453060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-453120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-453180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-453240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-453300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-453360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-453420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-453480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-453540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-453600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-453660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-453720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-453780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-453840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-453900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-453960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-454020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-454080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-454140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-454200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-454260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-454320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-454380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-454440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-454500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-454560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-454620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-454680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-454740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-454800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-454860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-454920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-454980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-455040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-455100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-455160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-455220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-455280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-455340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-455400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-455460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-455520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-455580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-455640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-455700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-455760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-455820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-455880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-455940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-456000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-456060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-456120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-456180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-456240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-456300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-456360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-456420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-456480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-456540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-456600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-456660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-456720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-456780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-456840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-456900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-456960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-457020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-457080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-457140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-457200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-457260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-457320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-457380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-457440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-457500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-457560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-457620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-457680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-457740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-457800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-457860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-457920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-457980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-458040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-458100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-458160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-458220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-458280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-458340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-458400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-458460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-458520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-458580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-458640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-458700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-458760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-458820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-458880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-458940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-459000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-459060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-459120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-459180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-459240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-459300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-459360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-459420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-459480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-459540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-459600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-459660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-459720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-459780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-459840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-459900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-459960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-460020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-460080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-460140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-460200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-460260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-460320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-460380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-460440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-460500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-460560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-460620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-460680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-460740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-460800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-460860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-460920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-460980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-461040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-461100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-461160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-461220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-461280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-461340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-461400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-461460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-461520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-461580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-461640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-461700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-461760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-461820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-461880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-461940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-462000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-462060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-462120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-462180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-462240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-462300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-462360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-462420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-462480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-462540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-462600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-462660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-462720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-462780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-462840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-462900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-462960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-463020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-463080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-463140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-463200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-463260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-463320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-463380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-463440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-463500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-463560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-463620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-463680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-463740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-463800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-463860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-463920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-463980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-464040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-464100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-464160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-464220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-464280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-464340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-464400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-464460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-464520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-464580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-464640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-464700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-464760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-464820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-464880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-464940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-465000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-465060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-465120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-465180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-465240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-465300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-465360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-465420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-465480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-465540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-465600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-465660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-465720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-465780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-465840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-465900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-465960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-466020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-466080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-466140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-466200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-466260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-466320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-466380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-466440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-466500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-466560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-466620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-466680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-466740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-466800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-466860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-466920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-466980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-467040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-467100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-467160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-467220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-467280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-467340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-467400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-467460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-467520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-467580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-467640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-467700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-467760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-467820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-467880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-467940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-468000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-468060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-468120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-468180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-468240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-468300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-468360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-468420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-468480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-468540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-468600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-468660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-468720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-468780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-468840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-468900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-468960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-469020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-469080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-469140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-469200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-469260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-469320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-469380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-469440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-469500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-469560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-469620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-469680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-469740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-469800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-469860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-469920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-469980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-470040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-470100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-470160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-470220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-470280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-470340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-470400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-470460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-470520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-470580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-470640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-470700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-470760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-470820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-470880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-470940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-471000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-471060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-471120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-471180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-471240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-471300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-471360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-471420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-471480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-471540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-471600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-471660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-471720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-471780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-471840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-471900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-471960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-472020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-472080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-472140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-472200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-472260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-472320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-472380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-472440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-472500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-472560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-472620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-472680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-472740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-472800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-472860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-472920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-472980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-473040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-473100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-473160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-473220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-473280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-473340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-473400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-473460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-473520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-473580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-473640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-473700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-473760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-473820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-473880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-473940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-474000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-474060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-474120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-474180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-474240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-474300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-474360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-474420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-474480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-474540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-474600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-474660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-474720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-474780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-474840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-474900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-474960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-475020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-475080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-475140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-475200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-475260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-475320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-475380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-475440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-475500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-475560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-475620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-475680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-475740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-475800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-475860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-475920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-475980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-476040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-476100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-476160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-476220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-476280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-476340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-476400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-476460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-476520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-476580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-476640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-476700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-476760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-476820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-476880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-476940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-477000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-477060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-477120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-477180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-477240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-477300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-477360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-477420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-477480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-477540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-477600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-477660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-477720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-477780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-477840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-477900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-477960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-478020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-478080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-478140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-478200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-478260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-478320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-478380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-478440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-478500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-478560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-478620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-478680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-478740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-478800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-478860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-478920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-478980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-479040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-479100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-479160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-479220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-479280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-479340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-479400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-479460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-479520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-479580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-479640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-479700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-479760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-479820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-479880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-479940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-480000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-480060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-480120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-480180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-480240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-480300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-480360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-480420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-480480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-480540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-480600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-480660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-480720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-480780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-480840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-480900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-480960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-481020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-481080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-481140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-481200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-481260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-481320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-481380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-481440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-481500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-481560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-481620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-481680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-481740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-481800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-481860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-481920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-481980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-482040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-482100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-482160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-482220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-482280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-482340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-482400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-482460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-482520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-482580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-482640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-482700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-482760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-482820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-482880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-482940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-483000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-483060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-483120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-483180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-483240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-483300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-483360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-483420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-483480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-483540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-483600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-483660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-483720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-483780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-483840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-483900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-483960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-484020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-484080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-484140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-484200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-484260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-484320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-484380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-484440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-484500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-484560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-484620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-484680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-484740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-484800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-484860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-484920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-484980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-485040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-485100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-485160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-485220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-485280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-485340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-485400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-485460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-485520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-485580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-485640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-485700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-485760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-485820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-485880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-485940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-486000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-486060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-486120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-486180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-486240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-486300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-486360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-486420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-486480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-486540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-486600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-486660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-486720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-486780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-486840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-486900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-486960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-487020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-487080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-487140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-487200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-487260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-487320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-487380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-487440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-487500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-487560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-487620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-487680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-487740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-487800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-487860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-487920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-487980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-488040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-488100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-488160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-488220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-488280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-488340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-488400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-488460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-488520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-488580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-488640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-488700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-488760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-488820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-488880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-488940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-489000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-489060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-489120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-489180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-489240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-489300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-489360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-489420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-489480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-489540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-489600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-489660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-489720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-489780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-489840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-489900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-489960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-490020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-490080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-490140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-490200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-490260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-490320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-490380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-490440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-490500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-490560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-490620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-490680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-490740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-490800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-490860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-490920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-490980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-491040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-491100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-491160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-491220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-491280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-491340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-491400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-491460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-491520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-491580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-491640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-491700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-491760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-491820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-491880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-491940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-492000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-492060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-492120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-492180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-492240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-492300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-492360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-492420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-492480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-492540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-492600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-492660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-492720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-492780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-492840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-492900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-492960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-493020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-493080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-493140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-493200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-493260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-493320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-493380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-493440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-493500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-493560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-493620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-493680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-493740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-493800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-493860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-493920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-493980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-494040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-494100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-494160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-494220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-494280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-494340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-494400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-494460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-494520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-494580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-494640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-494700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-494760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-494820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-494880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-494940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-495000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-495060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-495120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-495180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-495240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-495300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-495360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-495420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-495480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-495540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-495600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-495660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-495720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-495780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-495840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-495900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-495960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-496020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-496080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-496140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-496200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-496260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-496320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-496380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-496440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-496500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-496560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-496620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-496680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-496740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-496800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-496860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-496920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-496980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-497040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-497100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-497160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-497220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-497280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-497340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-497400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-497460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-497520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-497580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-497640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-497700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-497760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-497820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-497880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-497940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-498000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-498060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-498120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-498180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-498240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-498300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-498360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-498420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-498480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-498540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-498600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-498660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-498720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-498780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-498840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-498900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-498960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-499020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-499080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-499140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-499200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-499260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-499320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-499380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-499440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-499500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-499560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-499620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-499680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-499740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-499800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-499860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-499920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-499980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-500040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-500100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-500160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-500220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-500280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-500340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-500400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-500460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-500520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-500580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-500640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-500700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-500760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-500820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-500880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-500940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-501000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-501060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-501120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-501180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-501240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-501300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-501360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-501420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-501480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-501540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-501600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-501660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-501720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-501780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-501840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-501900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-501960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-502020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-502080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-502140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-502200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-502260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-502320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-502380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-502440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-502500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-502560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-502620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-502680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-502740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-502800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-502860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-502920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-502980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-503040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-503100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-503160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-503220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-503280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-503340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-503400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-503460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-503520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-503580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-503640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-503700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-503760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-503820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-503880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-503940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-504000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-504060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-504120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-504180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-504240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-504300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-504360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-504420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-504480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-504540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-504600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-504660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-504720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-504780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-504840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-504900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-504960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-505020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-505080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-505140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-505200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-505260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-505320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-505380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-505440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-505500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-505560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-505620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-505680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-505740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-505800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-505860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-505920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-505980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-506040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-506100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-506160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-506220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-506280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-506340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-506400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-506460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-506520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-506580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-506640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-506700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-506760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-506820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-506880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-506940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-507000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-507060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-507120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-507180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-507240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-507300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-507360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-507420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-507480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-507540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-507600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-507660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-507720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-507780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-507840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-507900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-507960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-508020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-508080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-508140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-508200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-508260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-508320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-508380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-508440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-508500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-508560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-508620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-508680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-508740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-508800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-508860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-508920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-508980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-509040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-509100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-509160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-509220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-509280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-509340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-509400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-509460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-509520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-509580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-509640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-509700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-509760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-509820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-509880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-509940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-510000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-510060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-510120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-510180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-510240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-510300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-510360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-510420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-510480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-510540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-510600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-510660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-510720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-510780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-510840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-510900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-510960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-511020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-511080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-511140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-511200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-511260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-511320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-511380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-511440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-511500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-511560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-511620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-511680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-511740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-511800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-511860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-511920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-511980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-512040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-512100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-512160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-512220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-512280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-512340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-512400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-512460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-512520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-512580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-512640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-512700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-512760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-512820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-512880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-512940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-513000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-513060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-513120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-513180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-513240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-513300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-513360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-513420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-513480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-513540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-513600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-513660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-513720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-513780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-513840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-513900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-513960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-514020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-514080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-514140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-514200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-514260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-514320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-514380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-514440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-514500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-514560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-514620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-514680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-514740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-514800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-514860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-514920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-514980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-515040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-515100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-515160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-515220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-515280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-515340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-515400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-515460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-515520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-515580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-515640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-515700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-515760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-515820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-515880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-515940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-516000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-516060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-516120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-516180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-516240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-516300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-516360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-516420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-516480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-516540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-516600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-516660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-516720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-516780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-516840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-516900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-516960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-517020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-517080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-517140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-517200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-517260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-517320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-517380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-517440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-517500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-517560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-517620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-517680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-517740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-517800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-517860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-517920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-517980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-518040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-518100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-518160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-518220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-518280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-518340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-518400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-518460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-518520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-518580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-518640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-518700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-518760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-518820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-518880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-518940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-519000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-519060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-519120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-519180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-519240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-519300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-519360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-519420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-519480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-519540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-519600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-519660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-519720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-519780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-519840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-519900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-519960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-520020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-520080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-520140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-520200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-520260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-520320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-520380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-520440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-520500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-520560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-520620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-520680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-520740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-520800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-520860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-520920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-520980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-521040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-521100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-521160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-521220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-521280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-521340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-521400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-521460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-521520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-521580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-521640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-521700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-521760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-521820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-521880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-521940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-522000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-522060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-522120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-522180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-522240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-522300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-522360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-522420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-522480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-522540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-522600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-522660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-522720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-522780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-522840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-522900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-522960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-523020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-523080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-523140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-523200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-523260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-523320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-523380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-523440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-523500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-523560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-523620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-523680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-523740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-523800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-523860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-523920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-523980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-524040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-524100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-524160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-524220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-524280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-524340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-524400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-524460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-524520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-524580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-524640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-524700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-524760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-524820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-524880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-524940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-525000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-525060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-525120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-525180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-525240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-525300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-525360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-525420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-525480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-525540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-525600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-525660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-525720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-525780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-525840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-525900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-525960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-526020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-526080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-526140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-526200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-526260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-526320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-526380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-526440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-526500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-526560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-526620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-526680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-526740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-526800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-526860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-526920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-526980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-527040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-527100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-527160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-527220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-527280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-527340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-527400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-527460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-527520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-527580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-527640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-527700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-527760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-527820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-527880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-527940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-528000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-528060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-528120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-528180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-528240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-528300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-528360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-528420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-528480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-528540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-528600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-528660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-528720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-528780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-528840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-528900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-528960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-529020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-529080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-529140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-529200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-529260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-529320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-529380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-529440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-529500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-529560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-529620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-529680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-529740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-529800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-529860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-529920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-529980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-530040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-530100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-530160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-530220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-530280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-530340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-530400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-530460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-530520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-530580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-530640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-530700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-530760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-530820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-530880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-530940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-531000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-531060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-531120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-531180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-531240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-531300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-531360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-531420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-531480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-531540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-531600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-531660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-531720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-531780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-531840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-531900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-531960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-532020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-532080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-532140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-532200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-532260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-532320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-532380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-532440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-532500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-532560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-532620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-532680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-532740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-532800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-532860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-532920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-532980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-533040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-533100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-533160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-533220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-533280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-533340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-533400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-533460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-533520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-533580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-533640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-533700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-533760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-533820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-533880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-533940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-534000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-534060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-534120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-534180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-534240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-534300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-534360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-534420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-534480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-534540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-534600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-534660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-534720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-534780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-534840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-534900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-534960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-535020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-535080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-535140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-535200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-535260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-535320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-535380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-535440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-535500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-535560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-535620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-535680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-535740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-535800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-535860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-535920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-535980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-536040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-536100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-536160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-536220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-536280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-536340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-536400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-536460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-536520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-536580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-536640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-536700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-536760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-536820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-536880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-536940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-537000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-537060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-537120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-537180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-537240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-537300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-537360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-537420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-537480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-537540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-537600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-537660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-537720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-537780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-537840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-537900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-537960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-538020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-538080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-538140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-538200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-538260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-538320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-538380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-538440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-538500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-538560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-538620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-538680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-538740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-538800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-538860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-538920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-538980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-539040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-539100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-539160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-539220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-539280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-539340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-539400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-539460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-539520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-539580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-539640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-539700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-539760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-539820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-539880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-539940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-540000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-540060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-540120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-540180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-540240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-540300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-540360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-540420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-540480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-540540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-540600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-540660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-540720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-540780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-540840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-540900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-540960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-541020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-541080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-541140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-541200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-541260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-541320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-541380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-541440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-541500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-541560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-541620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-541680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-541740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-541800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-541860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-541920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-541980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-542040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-542100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-542160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-542220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-542280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-542340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-542400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-542460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-542520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-542580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-542640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-542700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-542760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-542820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-542880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-542940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-543000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-543060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-543120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-543180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-543240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-543300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-543360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-543420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-543480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-543540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-543600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-543660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-543720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-543780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-543840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-543900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-543960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-544020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-544080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-544140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-544200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-544260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-544320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-544380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-544440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-544500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-544560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-544620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-544680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-544740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-544800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-544860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-544920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-544980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-545040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-545100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-545160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-545220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-545280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-545340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-545400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-545460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-545520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-545580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-545640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-545700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-545760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-545820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-545880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-545940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-546000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-546060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-546120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-546180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-546240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-546300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-546360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-546420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-546480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-546540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-546600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-546660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-546720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-546780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-546840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-546900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-546960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-547020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-547080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-547140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-547200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-547260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-547320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-547380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-547440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-547500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-547560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-547620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-547680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-547740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-547800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-547860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-547920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-547980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-548040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-548100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-548160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-548220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-548280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-548340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-548400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-548460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-548520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-548580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-548640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-548700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-548760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-548820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-548880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-548940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-549000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-549060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-549120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-549180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-549240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-549300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-549360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-549420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-549480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-549540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-549600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-549660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-549720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-549780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-549840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-549900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-549960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-550020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-550080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-550140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-550200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-550260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-550320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-550380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-550440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-550500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-550560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-550620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-550680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-550740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-550800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-550860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-550920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-550980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-551040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-551100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-551160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-551220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-551280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-551340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-551400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-551460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-551520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-551580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-551640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-551700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-551760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-551820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-551880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-551940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-552000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-552060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-552120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-552180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-552240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-552300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-552360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-552420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-552480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-552540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-552600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-552660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-552720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-552780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-552840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-552900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-552960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-553020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-553080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-553140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-553200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-553260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-553320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-553380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-553440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-553500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-553560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-553620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-553680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-553740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-553800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-553860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-553920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-553980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-554040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-554100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-554160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-554220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-554280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-554340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-554400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-554460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-554520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-554580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-554640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-554700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-554760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-554820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-554880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-554940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-555000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-555060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-555120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-555180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-555240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-555300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-555360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-555420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-555480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-555540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-555600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-555660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-555720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-555780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-555840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-555900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-555960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-556020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-556080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-556140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-556200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-556260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-556320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-556380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-556440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-556500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-556560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-556620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-556680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-556740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-556800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-556860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-556920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-556980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-557040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-557100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-557160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-557220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-557280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-557340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-557400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-557460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-557520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-557580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-557640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-557700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-557760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-557820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-557880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-557940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-558000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-558060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-558120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-558180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-558240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-558300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-558360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-558420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-558480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-558540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-558600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-558660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-558720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-558780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-558840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-558900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-558960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-559020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-559080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-559140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-559200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-559260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-559320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-559380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-559440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-559500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-559560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-559620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-559680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-559740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-559800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-559860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-559920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-559980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-560040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-560100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-560160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-560220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-560280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-560340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-560400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-560460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-560520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-560580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-560640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-560700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-560760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-560820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-560880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-560940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-561000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-561060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-561120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-561180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-561240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-561300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-561360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-561420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-561480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-561540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-561600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-561660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-561720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-561780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-561840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-561900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-561960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-562020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-562080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-562140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-562200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-562260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-562320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-562380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-562440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-562500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-562560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-562620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-562680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-562740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-562800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-562860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-562920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-562980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-563040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-563100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-563160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-563220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-563280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-563340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-563400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-563460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-563520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-563580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-563640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-563700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-563760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-563820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-563880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-563940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-564000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-564060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-564120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-564180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-564240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-564300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-564360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-564420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-564480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-564540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-564600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-564660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-564720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-564780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-564840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-564900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-564960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-565020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-565080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-565140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-565200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-565260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-565320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-565380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-565440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-565500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-565560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-565620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-565680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-565740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-565800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-565860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-565920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-565980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-566040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-566100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-566160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-566220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-566280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-566340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-566400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-566460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-566520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-566580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-566640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-566700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-566760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-566820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-566880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-566940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-567000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-567060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-567120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-567180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-567240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-567300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-567360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-567420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-567480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-567540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-567600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-567660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-567720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-567780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-567840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-567900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-567960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-568020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-568080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-568140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-568200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-568260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-568320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-568380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-568440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-568500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-568560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-568620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-568680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-568740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-568800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-568860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-568920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-568980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-569040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-569100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-569160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-569220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-569280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-569340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-569400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-569460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-569520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-569580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-569640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-569700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-569760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-569820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-569880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-569940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-570000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-570060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-570120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-570180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-570240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-570300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-570360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-570420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-570480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-570540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-570600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-570660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-570720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-570780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-570840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-570900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-570960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-571020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-571080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-571140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-571200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-571260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-571320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-571380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-571440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-571500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-571560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-571620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-571680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-571740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-571800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-571860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-571920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-571980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-572040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-572100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-572160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-572220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-572280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-572340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-572400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-572460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-572520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-572580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-572640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-572700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-572760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-572820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-572880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-572940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-573000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-573060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-573120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-573180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-573240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-573300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-573360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-573420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-573480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-573540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-573600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-573660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-573720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-573780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-573840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-573900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-573960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-574020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-574080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-574140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-574200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-574260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-574320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-574380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-574440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-574500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-574560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-574620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-574680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-574740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-574800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-574860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-574920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-574980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-575040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-575100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-575160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-575220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-575280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-575340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-575400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-575460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-575520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-575580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-575640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-575700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-575760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-575820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-575880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-575940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-576000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-576060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-576120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-576180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-576240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-576300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-576360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-576420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-576480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-576540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-576600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-576660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-576720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-576780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-576840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-576900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-576960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-577020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-577080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-577140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-577200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-577260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-577320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-577380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-577440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-577500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-577560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-577620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-577680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-577740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-577800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-577860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-577920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-577980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-578040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-578100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-578160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-578220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-578280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-578340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-578400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-578460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-578520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-578580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-578640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-578700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-578760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-578820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-578880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-578940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-579000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-579060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-579120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-579180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-579240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-579300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-579360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-579420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-579480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-579540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-579600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-579660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-579720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-579780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-579840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-579900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-579960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-580020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-580080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-580140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-580200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-580260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-580320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-580380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-580440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-580500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-580560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-580620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-580680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-580740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-580800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-580860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-580920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-580980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-581040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-581100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-581160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-581220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-581280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-581340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-581400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-581460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-581520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-581580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-581640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-581700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-581760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-581820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-581880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-581940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-582000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-582060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-582120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-582180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-582240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-582300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-582360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-582420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-582480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-582540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-582600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-582660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-582720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-582780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-582840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-582900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-582960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-583020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-583080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-583140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-583200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-583260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-583320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-583380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-583440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-583500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-583560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-583620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-583680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-583740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-583800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-583860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-583920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-583980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-584040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-584100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-584160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-584220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-584280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-584340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-584400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-584460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-584520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-584580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-584640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-584700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-584760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-584820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-584880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-584940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-585000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-585060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-585120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-585180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-585240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-585300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-585360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-585420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-585480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-585540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-585600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-585660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-585720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-585780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-585840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-585900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-585960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-586020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-586080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-586140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-586200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-586260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-586320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-586380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-586440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-586500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-586560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-586620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-586680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-586740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-586800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-586860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-586920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-586980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-587040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-587100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-587160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-587220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-587280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-587340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-587400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-587460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-587520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-587580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-587640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-587700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-587760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-587820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-587880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-587940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-588000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-588060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-588120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-588180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-588240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-588300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-588360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-588420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-588480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-588540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-588600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-588660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-588720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-588780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-588840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-588900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-588960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-589020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-589080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-589140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-589200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-589260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-589320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-589380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-589440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-589500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-589560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-589620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-589680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-589740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-589800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-589860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-589920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-589980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-590040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-590100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-590160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-590220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-590280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-590340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-590400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-590460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-590520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-590580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-590640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-590700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-590760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-590820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-590880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-590940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-591000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-591060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-591120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-591180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-591240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-591300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-591360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-591420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-591480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-591540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-591600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-591660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-591720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-591780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-591840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-591900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-591960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-592020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-592080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-592140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-592200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-592260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-592320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-592380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-592440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-592500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-592560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-592620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-592680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-592740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-592800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-592860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-592920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-592980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-593040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-593100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-593160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-593220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-593280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-593340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-593400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-593460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-593520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-593580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-593640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-593700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-593760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-593820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-593880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-593940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-594000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-594060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-594120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-594180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-594240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-594300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-594360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-594420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-594480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-594540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-594600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-594660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-594720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-594780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-594840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-594900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-594960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-595020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-595080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-595140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-595200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-595260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-595320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-595380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-595440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-595500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-595560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-595620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-595680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-595740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-595800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-595860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-595920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-595980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-596040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-596100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-596160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-596220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-596280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-596340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-596400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-596460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-596520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-596580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-596640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-596700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-596760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-596820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-596880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-596940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-597000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-597060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-597120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-597180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-597240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-597300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-597360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-597420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-597480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-597540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-597600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-597660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-597720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-597780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-597840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-597900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-597960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-598020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-598080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-598140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-598200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-598260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-598320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-598380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-598440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-598500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-598560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-598620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-598680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-598740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-598800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-598860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-598920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-598980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-599040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-599100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-599160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-599220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-599280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-599340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-599400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-599460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-599520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-599580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-599640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-599700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-599760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-599820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-599880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-599940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-600000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-600060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-600120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-600180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-600240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-600300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-600360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-600420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-600480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-600540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-600600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-600660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-600720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-600780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-600840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-600900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-600960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-601020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-601080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-601140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-601200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-601260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-601320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-601380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-601440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-601500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-601560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-601620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-601680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-601740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-601800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-601860000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-601920000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-601980000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-602040000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-602100000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-602160000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-602220000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-602280000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-602340000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-602400000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-602460000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-602520000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-602580000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-602640000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-602700000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-602760000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-602820000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-602880000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-602940000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-603000000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-603060000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-603120000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-603180000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-603240000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-603300000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-603360000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-603420000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-603480000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-603540000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-603600000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-603660000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-603720000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-603780000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-603840000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-603900000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-603960000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-604020000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-604080000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-604140000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-604200000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-604260000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-604320000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-604380000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-604440000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-604500000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-604560000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-604620000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-604680000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-604740000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
-604800000,0,0,100,256,0.0,0.0,0b74ea0856e08cfe9c52f7b239ed71b8172a20f8ab343c62988f197066977227
diff --git a/opendc-experiments/opendc-experiments-m3sa/build.gradle.kts b/opendc-experiments/opendc-experiments-m3sa/build.gradle.kts
index 6530390b..9347e525 100644
--- a/opendc-experiments/opendc-experiments-m3sa/build.gradle.kts
+++ b/opendc-experiments/opendc-experiments-m3sa/build.gradle.kts
@@ -31,7 +31,6 @@ dependencies {
api(libs.kotlinx.coroutines)
testImplementation(projects.opendcSimulator.opendcSimulatorCore)
- api(projects.opendcCompute.opendcComputeService)
api(projects.opendcCompute.opendcComputeSimulator)
implementation(libs.clikt)
@@ -42,7 +41,6 @@ dependencies {
implementation(project(mapOf("path" to ":opendc-simulator:opendc-simulator-core")))
implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-workload")))
- implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-telemetry")))
implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-topology")))
implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-carbon")))
implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-failure")))
diff --git a/opendc-experiments/opendc-experiments-m3sa/src/main/kotlin/M3saAnalyzer.kt b/opendc-experiments/opendc-experiments-m3sa/src/main/kotlin/org/opendc/experiments/m3sa/M3saAnalyzer.kt
index 6b8f8422..545ed656 100644
--- a/opendc-experiments/opendc-experiments-m3sa/src/main/kotlin/M3saAnalyzer.kt
+++ b/opendc-experiments/opendc-experiments-m3sa/src/main/kotlin/org/opendc/experiments/m3sa/M3saAnalyzer.kt
@@ -20,6 +20,8 @@
* SOFTWARE.
*/
+package org.opendc.experiments.m3sa
+
import kotlin.io.path.Path
/**
diff --git a/opendc-experiments/opendc-experiments-m3sa/src/main/kotlin/org/opendc/experiments/m3sa/runner/M3SACli.kt b/opendc-experiments/opendc-experiments-m3sa/src/main/kotlin/org/opendc/experiments/m3sa/runner/M3SACli.kt
index 43597ff5..8036e5b7 100644
--- a/opendc-experiments/opendc-experiments-m3sa/src/main/kotlin/org/opendc/experiments/m3sa/runner/M3SACli.kt
+++ b/opendc-experiments/opendc-experiments-m3sa/src/main/kotlin/org/opendc/experiments/m3sa/runner/M3SACli.kt
@@ -22,7 +22,7 @@
@file:JvmName("M3SACli")
-package org.opendc.experiments.base.runner
+package org.opendc.experiments.m3sa.runner
import com.github.ajalt.clikt.core.CliktCommand
import com.github.ajalt.clikt.parameters.options.default
@@ -30,8 +30,9 @@ import com.github.ajalt.clikt.parameters.options.defaultLazy
import com.github.ajalt.clikt.parameters.options.option
import com.github.ajalt.clikt.parameters.types.file
import com.github.ajalt.clikt.parameters.types.int
-import m3saAnalyze
+import org.opendc.experiments.base.runner.runExperiment
import org.opendc.experiments.base.scenario.getExperiment
+import org.opendc.experiments.m3sa.m3saAnalyze
import org.opendc.experiments.m3sa.scenario.getOutputFolder
import java.io.File
diff --git a/opendc-experiments/opendc-experiments-m3sa/src/main/kotlin/org/opendc/experiments/m3sa/runner/M3SARunner.kt b/opendc-experiments/opendc-experiments-m3sa/src/main/kotlin/org/opendc/experiments/m3sa/runner/M3SARunner.kt
index 9a61ad17..89daf5f3 100644
--- a/opendc-experiments/opendc-experiments-m3sa/src/main/kotlin/org/opendc/experiments/m3sa/runner/M3SARunner.kt
+++ b/opendc-experiments/opendc-experiments-m3sa/src/main/kotlin/org/opendc/experiments/m3sa/runner/M3SARunner.kt
@@ -22,8 +22,10 @@
@file:JvmName("M3saCliKt")
-package org.opendc.experiments.base.runner
+package org.opendc.experiments.m3sa.runner
+import org.opendc.experiments.base.runner.runScenario
+import org.opendc.experiments.base.runner.setupOutputFolderStructure
import org.opendc.experiments.base.scenario.Scenario
import java.util.concurrent.ForkJoinPool
diff --git a/opendc-experiments/opendc-experiments-tf20/README.md b/opendc-experiments/opendc-experiments-tf20/README.md
deleted file mode 100644
index 3b3d00f8..00000000
--- a/opendc-experiments/opendc-experiments-tf20/README.md
+++ /dev/null
@@ -1,10 +0,0 @@
-TensorFlow with OpenDC
-=================
-
-This module contains a reproduction of the experiments of Wenchen Lai's MSc Computer Science thesis:
-Modeling and Simulation of the Google TensorFlow Ecosystem [1]
-
-The implementations in this module are still experimental and will be moved into OpenDC library space
-once the implementations stabilize.
-
-[1] https://atlarge-research.com/pdfs/lai2020thesis.pdf
diff --git a/opendc-experiments/opendc-experiments-tf20/build.gradle.kts b/opendc-experiments/opendc-experiments-tf20/build.gradle.kts
deleted file mode 100644
index b66958ca..00000000
--- a/opendc-experiments/opendc-experiments-tf20/build.gradle.kts
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-description = "TensorFlow application model in OpenDC"
-
-// Build configuration
-plugins {
- `kotlin-conventions`
- `testing-conventions`
-}
-
-dependencies {
- implementation(projects.opendcSimulator.opendcSimulatorCore)
- implementation(projects.opendcSimulator.opendcSimulatorCompute)
- implementation(projects.opendcCommon)
-
- implementation(libs.kotlin.logging)
- implementation(libs.jackson.module.kotlin)
-
- testImplementation(libs.slf4j.simple)
-}
diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/Models.kt b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/Models.kt
deleted file mode 100644
index 78a63df8..00000000
--- a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/Models.kt
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.tf20
-
-import org.opendc.experiments.tf20.keras.Sequential
-import org.opendc.experiments.tf20.keras.TrainableModel
-import org.opendc.experiments.tf20.keras.activations.Activation
-import org.opendc.experiments.tf20.keras.layer.conv.Conv2D
-import org.opendc.experiments.tf20.keras.layer.conv.ConvPadding
-import org.opendc.experiments.tf20.keras.layer.core.ActivationLayer
-import org.opendc.experiments.tf20.keras.layer.core.Input
-import org.opendc.experiments.tf20.keras.layer.pool.Pool2D
-import org.opendc.experiments.tf20.keras.layer.regularization.Dropout
-
-/**
- * Construct an AlexNet model with the given batch size.
- */
-fun getAlexNet(batchSize: Long): TrainableModel {
- return Sequential(
- Input(batchSize, 227, 227, 3, name = "Input"),
- Conv2D(longArrayOf(11, 11, 3, 96), longArrayOf(1, 4, 4, 1), padding = ConvPadding.VALID, name = "conv1"),
- Pool2D(intArrayOf(1, 3, 3, 1), intArrayOf(1, 2, 2, 1), padding = ConvPadding.VALID, name = "pool1"),
- Conv2D(longArrayOf(5, 5, 96, 256), longArrayOf(1, 1, 1, 1), padding = ConvPadding.SAME, name = "conv2"),
- Pool2D(intArrayOf(1, 3, 3, 1), intArrayOf(1, 2, 2, 1), padding = ConvPadding.VALID, name = "pool2"),
- Conv2D(longArrayOf(3, 3, 256, 384), longArrayOf(1, 1, 1, 1), padding = ConvPadding.SAME, name = "conv3"),
- Conv2D(longArrayOf(3, 3, 384, 384), longArrayOf(1, 1, 1, 1), padding = ConvPadding.SAME, name = "conv4"),
- Conv2D(longArrayOf(3, 3, 384, 256), longArrayOf(1, 1, 1, 1), padding = ConvPadding.SAME, name = "conv5"),
- Pool2D(intArrayOf(1, 3, 3, 1), intArrayOf(1, 2, 2, 1), padding = ConvPadding.VALID, name = "pool5"),
- Conv2D(longArrayOf(6, 6, 256, 4096), longArrayOf(1, 1, 1, 1), padding = ConvPadding.VALID, name = "fc6"),
- Dropout(0.5f, name = "dropout6"),
- Conv2D(longArrayOf(1, 1, 4096, 4096), longArrayOf(1, 1, 1, 1), padding = ConvPadding.SAME, name = "fc7"),
- Dropout(0.5f, name = "dropout7"),
- Conv2D(longArrayOf(1, 1, 4096, 1000), longArrayOf(1, 1, 1, 1), padding = ConvPadding.SAME, name = "f8"),
- ActivationLayer(Activation.Softmax, name = "softmax"),
- )
-}
-
-/**
- * Construct an VGG16 model with the given batch size.
- */
-fun getVGG16(batchSize: Long = 128): TrainableModel {
- return Sequential(
- Input(batchSize, 224, 224, 3, name = "Input"),
- Conv2D(longArrayOf(3, 3, 3, 64), longArrayOf(1, 1, 1, 1), padding = ConvPadding.SAME, name = "conv1-1"),
- Conv2D(longArrayOf(3, 3, 64, 64), longArrayOf(1, 1, 1, 1), padding = ConvPadding.SAME, name = "conv1-2"),
- Pool2D(intArrayOf(1, 2, 2, 1), intArrayOf(1, 2, 2, 1), padding = ConvPadding.VALID, name = "pool1"),
- Conv2D(longArrayOf(3, 3, 64, 128), longArrayOf(1, 1, 1, 1), padding = ConvPadding.SAME, name = "conv2-1"),
- Conv2D(longArrayOf(3, 3, 128, 128), longArrayOf(1, 1, 1, 1), padding = ConvPadding.SAME, name = "conv2-2"),
- Pool2D(intArrayOf(1, 2, 2, 1), intArrayOf(1, 2, 2, 1), padding = ConvPadding.VALID, name = "pool2"),
- Conv2D(longArrayOf(3, 3, 128, 256), longArrayOf(1, 1, 1, 1), padding = ConvPadding.SAME, name = "conv3-1"),
- Conv2D(longArrayOf(3, 3, 256, 256), longArrayOf(1, 1, 1, 1), padding = ConvPadding.SAME, name = "conv3-2"),
- Conv2D(longArrayOf(3, 3, 256, 256), longArrayOf(1, 1, 1, 1), padding = ConvPadding.SAME, name = "conv3-3"),
- Pool2D(intArrayOf(1, 2, 2, 1), intArrayOf(1, 2, 2, 1), padding = ConvPadding.VALID, name = "pool3"),
- Conv2D(longArrayOf(3, 3, 256, 512), longArrayOf(1, 1, 1, 1), padding = ConvPadding.SAME, name = "conv4-1"),
- Conv2D(longArrayOf(3, 3, 512, 512), longArrayOf(1, 1, 1, 1), padding = ConvPadding.SAME, name = "conv4-2"),
- Conv2D(longArrayOf(3, 3, 512, 512), longArrayOf(1, 1, 1, 1), padding = ConvPadding.SAME, name = "conv4-3"),
- Pool2D(intArrayOf(1, 2, 2, 1), intArrayOf(1, 2, 2, 1), padding = ConvPadding.VALID, name = "pool4"),
- Conv2D(longArrayOf(3, 3, 512, 512), longArrayOf(1, 1, 1, 1), padding = ConvPadding.SAME, name = "conv5-1"),
- Conv2D(longArrayOf(3, 3, 512, 512), longArrayOf(1, 1, 1, 1), padding = ConvPadding.SAME, name = "conv5-2"),
- Conv2D(longArrayOf(3, 3, 512, 512), longArrayOf(1, 1, 1, 1), padding = ConvPadding.SAME, name = "conv5-3"),
- Pool2D(intArrayOf(1, 2, 2, 1), intArrayOf(1, 2, 2, 1), padding = ConvPadding.VALID, name = "pool5"),
- Conv2D(longArrayOf(7, 7, 512, 4096), longArrayOf(1, 1, 1, 1), padding = ConvPadding.VALID, name = "fc6"),
- Dropout(0.5f, name = "dropout6"),
- Conv2D(longArrayOf(1, 1, 4096, 4096), longArrayOf(1, 1, 1, 1), padding = ConvPadding.SAME, name = "fc7"),
- Dropout(0.5f, name = "dropout7"),
- Conv2D(longArrayOf(1, 1, 4096, 1000), longArrayOf(1, 1, 1, 1), padding = ConvPadding.SAME, name = "f8"),
- ActivationLayer(Activation.Softmax, name = "softmax"),
- )
-}
diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/core/SimTFDevice.kt b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/core/SimTFDevice.kt
deleted file mode 100644
index 11e010ec..00000000
--- a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/core/SimTFDevice.kt
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.tf20.core
-
-import kotlinx.coroutines.delay
-import kotlinx.coroutines.suspendCancellableCoroutine
-import org.opendc.common.Dispatcher
-import org.opendc.simulator.compute.SimBareMetalMachine
-import org.opendc.simulator.compute.SimMachine
-import org.opendc.simulator.compute.SimMachineContext
-import org.opendc.simulator.compute.SimPsuFactories
-import org.opendc.simulator.compute.model.Cpu
-import org.opendc.simulator.compute.model.MachineModel
-import org.opendc.simulator.compute.model.MemoryUnit
-import org.opendc.simulator.compute.power.CpuPowerModel
-import org.opendc.simulator.compute.workload.SimWorkload
-import org.opendc.simulator.flow2.FlowEngine
-import org.opendc.simulator.flow2.FlowStage
-import org.opendc.simulator.flow2.FlowStageLogic
-import org.opendc.simulator.flow2.OutPort
-import java.util.ArrayDeque
-import java.util.UUID
-import kotlin.coroutines.Continuation
-import kotlin.coroutines.resume
-import kotlin.math.ceil
-import kotlin.math.roundToLong
-
-/**
- * A [TFDevice] implementation using simulated components.
- */
-public class SimTFDevice(
- override val uid: UUID,
- override val isGpu: Boolean,
- dispatcher: Dispatcher,
- pu: Cpu,
- private val memory: MemoryUnit,
- powerModel: CpuPowerModel,
-) : TFDevice {
- /**
- * The [SimMachine] representing the device.
- */
- private val machine =
- SimBareMetalMachine.create(
- FlowEngine.create(dispatcher).newGraph(),
- MachineModel(pu, memory),
- SimPsuFactories.simple(powerModel),
- )
-
- /**
- * The workload that will be run by the device.
- */
- private val workload =
- object : SimWorkload, FlowStageLogic {
- /**
- * The [FlowStage] of the workload.
- */
- var stage: FlowStage? = null
-
- /**
- * The output of the workload.
- */
- private var output: OutPort? = null
-
- /**
- * The queue of work to run.
- */
- val queue = ArrayDeque<Work>()
-
- /**
- * A flag to indicate that the workload is idle.
- */
- val isIdle
- get() = activeWork == null
-
- /**
- * The active work of the workload.
- */
- private var activeWork: Work? = null
-
- /**
- * The timestamp of the last pull.
- */
- private var lastPull: Long = 0L
-
- override fun onStart(ctx: SimMachineContext) {
- val stage = ctx.graph.newStage(this)
- this.stage = stage
- output = stage.getOutlet("out")
- lastPull = ctx.graph.engine.clock.millis()
-
- ctx.graph.connect(output, ctx.cpu.input)
- }
-
- override fun onStop(ctx: SimMachineContext) {
- stage?.close()
- stage = null
- output = null
- }
-
- override fun makeSnapshot(now: Long) {}
-
- override fun setOffset(now: Long) {}
-
- override fun getSnapshot(): SimWorkload = throw UnsupportedOperationException()
-
- override fun createCheckpointModel() {}
-
- override fun getCheckpointInterval(): Long {
- return -1
- }
-
- override fun getCheckpointDuration(): Long {
- return -1
- }
-
- override fun getCheckpointIntervalScaling(): Double {
- return -1.0
- }
-
- override fun onUpdate(
- ctx: FlowStage,
- now: Long,
- ): Long {
- val output = output ?: return Long.MAX_VALUE
- val lastPull = lastPull
- this.lastPull = now
- val delta = (now - lastPull).coerceAtLeast(0)
- val consumedWork = output.rate * delta / 1000.0
-
- val activeWork = activeWork
- if (activeWork != null) {
- if (activeWork.consume(consumedWork)) {
- this.activeWork = null
- } else {
- val duration = ceil(activeWork.flops / output.capacity * 1000).toLong()
- output.push(output.capacity)
- return now + duration
- }
- }
-
- val queue = queue
- val head = queue.poll()
- return if (head != null) {
- this.activeWork = head
- val duration = (head.flops / output.capacity * 1000).roundToLong()
- output.push(output.capacity)
- now + duration
- } else {
- output.push(0.0f)
- Long.MAX_VALUE
- }
- }
- }
-
- init {
- machine.startWorkload(workload, emptyMap()) {}
- }
-
- override suspend fun load(dataSize: Long) {
- val duration = dataSize / memory.speed * 1000
- delay(duration.toLong())
- }
-
- override suspend fun compute(flops: Double) =
- suspendCancellableCoroutine<Unit> { cont ->
- workload.queue.add(Work(flops, cont))
- if (workload.isIdle) {
- workload.stage?.invalidate()
- }
- }
-
- override fun getDeviceStats(): TFDeviceStats {
- return TFDeviceStats(machine.cpuUsage, machine.psu.powerDraw, machine.psu.energyUsage)
- }
-
- override fun close() {
- machine.cancel()
- }
-
- private data class Work(var flops: Double, val cont: Continuation<Unit>) {
- fun consume(flops: Double): Boolean {
- this.flops -= flops
-
- if (this.flops <= 0) {
- cont.resume(Unit)
- return true
- }
-
- return false
- }
- }
-}
diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/core/TFDevice.kt b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/core/TFDevice.kt
deleted file mode 100644
index 2d23f5b3..00000000
--- a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/core/TFDevice.kt
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.tf20.core
-
-import java.util.UUID
-
-/**
- * A compute device on which tensor operations are performed.
- */
-public interface TFDevice : AutoCloseable {
- /**
- * The unique identifier of the device.
- */
- public val uid: UUID
-
- /**
- * A flag to indicate whether the device is a GPU.
- */
- public val isGpu: Boolean
-
- /**
- * Transfer the specified amount of data from memory.
- */
- public suspend fun load(dataSize: Long)
-
- /**
- * Perform [flops] amount of computation on the device.
- */
- public suspend fun compute(flops: Double)
-
- /**
- * Collect device statistics.
- */
- public fun getDeviceStats(): TFDeviceStats
-}
diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/core/TFDeviceStats.kt b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/core/TFDeviceStats.kt
deleted file mode 100644
index c40982f8..00000000
--- a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/core/TFDeviceStats.kt
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.tf20.core
-
-/**
- * Statistics about a TensorFlow [TFDevice].
- *
- * @property resourceUsage The resource usage of the device (in MHz).
- * @property powerDraw The instantaneous power draw of the device (in W).
- * @property energyUsage Cumulative energy usage of the device since boot (in J).
- */
-data class TFDeviceStats(
- val resourceUsage: Double,
- val powerDraw: Double,
- val energyUsage: Double,
-)
diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/distribute/MirroredStrategy.kt b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/distribute/MirroredStrategy.kt
deleted file mode 100644
index 69d180a9..00000000
--- a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/distribute/MirroredStrategy.kt
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.tf20.distribute
-
-import kotlinx.coroutines.coroutineScope
-import kotlinx.coroutines.launch
-import org.opendc.experiments.tf20.core.TFDevice
-
-/**
- * A distribution [Strategy] that supports synchronous distributed training on multiple GPUs on one machine.
- *
- * It creates one replica per GPU device. Each variable in the model is mirrored across all the replicas.
- */
-public class MirroredStrategy(val devices: List<TFDevice>) : Strategy {
- override suspend fun run(
- forward: Double,
- backward: Double,
- batchSize: Int,
- ) = coroutineScope {
- for (device in devices) {
- launch { device.compute(forward * batchSize / devices.size + backward) }
- }
- }
-}
diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/distribute/OneDeviceStrategy.kt b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/distribute/OneDeviceStrategy.kt
deleted file mode 100644
index 05235b12..00000000
--- a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/distribute/OneDeviceStrategy.kt
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.tf20.distribute
-
-import org.opendc.experiments.tf20.core.TFDevice
-
-/**
- * A distribution [Strategy] that places all variables and computation on a single specified device.
- */
-public class OneDeviceStrategy(val device: TFDevice) : Strategy {
- override suspend fun run(
- forward: Double,
- backward: Double,
- batchSize: Int,
- ) {
- device.compute(forward * batchSize + backward)
- }
-}
diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/distribute/Strategy.kt b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/distribute/Strategy.kt
deleted file mode 100644
index d5da628a..00000000
--- a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/distribute/Strategy.kt
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.tf20.distribute
-
-/**
- * A strategy for distributing TensorFlow state and computation over multiple devices.
- */
-public interface Strategy {
- /**
- * Converge the specified batch using the given strategy.
- */
- public suspend fun run(
- forward: Double,
- backward: Double,
- batchSize: Int,
- )
-}
diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/Sequential.kt b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/Sequential.kt
deleted file mode 100644
index 83995fa1..00000000
--- a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/Sequential.kt
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.tf20.keras
-
-import org.opendc.experiments.tf20.keras.layer.Layer
-import org.opendc.experiments.tf20.keras.layer.core.Input
-import org.opendc.experiments.tf20.keras.shape.TensorShape
-
-/**
- * Sequential model groups a linear stack of layers into a TensorFlow TrainableModel.
- *
- * @param [layers] The layers to describe the model design.
- */
-public class Sequential(vararg layers: Layer) : TrainableModel(*layers) {
- override fun buildLayers() {
- val inputShape = TensorShape(*inputLayer.packedDims)
- inputLayer.inputTensor = inputShape
- inputLayer.build(inputShape)
- var nextShape: TensorShape = inputLayer.getOutputShape(inputShape)
- inputLayer.outputTensor = nextShape
-
- layers.filter { it !is Input }.forEach {
- it.inputTensor = nextShape
- it.build(nextShape)
-
- nextShape = it.getOutputShape(nextShape)
- it.outputTensor = nextShape
- }
- }
-
- override fun forward(): Double {
- return layers.sumOf { it.forward() }
- }
-
- override fun backward(): Double {
- return layers.sumOf { it.backward() }
- }
-}
diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/TrainableModel.kt b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/TrainableModel.kt
deleted file mode 100644
index 2d621d16..00000000
--- a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/TrainableModel.kt
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.tf20.keras
-
-import org.opendc.experiments.tf20.distribute.Strategy
-import org.opendc.experiments.tf20.keras.layer.Layer
-import org.opendc.experiments.tf20.keras.layer.core.Input
-
-/**
- * A model groups layers into an object with training and inference features.
- */
-public abstract class TrainableModel(vararg layers: Layer) : AutoCloseable {
- /**
- * The layers to describe the model design. Main part of the internal state of the model.
- */
- public val layers: List<Layer> = listOf(*layers)
-
- /**
- * First layer that is responsible for the input shape of the Neural Network.
- */
- public val inputLayer: Input
- get() = layers[0] as Input
-
- /**
- * Returns input dimensions in order HWC (height, width, channels)
- */
- public val inputDimensions: LongArray
- get() = (layers[0] as Input).packedDims
-
- /**
- * Layers indexed by name.
- */
- protected val layersByName: MutableMap<String, Layer> = mutableMapOf()
-
- /**
- * A flag to indicate that the model is compiled.
- */
- public var isCompiled: Boolean = false
- private set
-
- /**
- * The strategy that is being used.
- */
- private lateinit var strategy: Strategy
-
- /**
- * Common method for building the initial part of the model static graph.
- */
- protected abstract fun buildLayers()
-
- /**
- * Perform a forward propagation.
- */
- protected abstract fun forward(): Double
-
- /**
- * Perform a backward propagation.
- */
- protected abstract fun backward(): Double
-
- init {
- for (layer in layers) {
- if (layersByName.containsKey(layer.name)) {
- throw IllegalArgumentException(layer.name)
- } else {
- layersByName[layer.name] = layer
- }
-
- layer.parentModel = this
- }
- }
-
- /**
- * Configures the model for training.
- *
- * @param strategy The distribution strategy for training.
- */
- public fun compile(strategy: Strategy) {
- check(!isCompiled) { "Model is already compiled." }
-
- buildLayers()
-
- this.strategy = strategy
- this.isCompiled = true
- }
-
- /**
- * Train the model for a fixed number of [epochs] (iterations over a dataset).
- *
- * @param [epochs] Number of epochs to train the model. An epoch is an iteration over the entire x and y data provided.
- * @param [batchSize] Number of samples per gradient update.
- */
- public suspend fun fit(
- epochs: Int = 5,
- batchSize: Int = 32,
- ) {
- check(isCompiled) { "Model not yet compiled." }
-
- val forwardFlops = forward()
- val backwardFlops = backward()
-
- for (i in 1..epochs) {
- strategy.run(forwardFlops, backwardFlops, batchSize)
- }
- }
-
- override fun close() {
- }
-
- override fun toString(): String {
- return "TrainableModel ${super.toString()}"
- }
-}
diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/activations/Activation.kt b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/activations/Activation.kt
deleted file mode 100644
index cb3b778e..00000000
--- a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/activations/Activation.kt
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.tf20.keras.activations
-
-/**
- * Neural network hyper-parameter, activation function of a node defines the output of that node given an input or
- * set of inputs.
- */
-public enum class Activation {
- /**
- * Linear unit. Returns unmodified input.
- *
- * NOTE: Doing nothing useful. Returns to ancient times of linear perceptron.
- */
- Linear,
-
- /**
- * Sigmoid activation function.
- *
- * Transforms input 'x' according formula:
- * ```
- * sigmoid(x) = 1 / (1 + exp(-x))
- * ```
- *
- * For small values (<-5), `sigmoid` returns a value close to zero, and for large values (>5)
- * the result of the function gets close to 1.
- *
- * NOTE: Sigmoid is equivalent to a 2-element ActivationLayer, where the second element is
- * assumed to be zero. The sigmoid function always returns a value between 0 and 1.
- */
- Sigmoid,
-
- /**
- * Hyperbolic tangent activation function.
- *
- * Transforms input 'x' according formula:
- * ```
- * tanh(x) = sinh(x)/cosh(x) = ((exp(x) - exp(-x))/(exp(x) + exp(-x)))
- * ```
- */
- Tanh,
-
- /**
- * Rectified linear unit (ReLU).
- *
- * With default values, this returns the standard ReLU activation:
- * `max(x, 0)`, the element-wise maximum of 0 and the input tensor.
- */
- Relu,
-
- /**
- * Computes Rectified Linear 6:
- * ```
- * min(max(features, 0), 6)
- * ```
- * @see <a href="http://www.cs.utoronto.ca/~kriz/conv-cifar10-aug2010.pdf">
- * Convolutional Deep Belief Networks on CIFAR-10. A. Krizhevsky</a>
- */
- Relu6,
-
- /**
- * Exponential Linear Unit.
- *
- * The exponential linear unit (ELU) with `alpha > 0` is:
- * `x` if `x > 0` and `alpha * (exp(x) - 1)` if `x < 0`
- *
- * For this implementations alpha is equal to 1.0.
- *
- * The ELU hyperparameter `alpha` controls the value to which an
- * ELU saturates for negative net inputs. ELUs diminish the
- * vanishing gradient effect.
- *
- * ELUs have negative values which pushes the mean of the activations closer to zero.
- *
- * Mean activations that are closer to zero enable faster learning as they
- * bring the gradient closer to the natural gradient.
- *
- * ELUs saturate to a negative value when the argument gets smaller.
- * Saturation means a small derivative which decreases the variation
- * and the information that is propagated to the next layer.
- *
- * @see <a href="https://arxiv.org/abs/1511.07289">Fast and Accurate Deep Network Learning by Exponential Linear Units
- * (ELUs) (Clevert et al, 2016)</a>
- */
- Elu,
-
- /**
- * Scaled Exponential Linear Unit (SELU).
- *
- * The Scaled Exponential Linear Unit (SELU) activation function is defined as:
- * ```
- * if x > 0: return scale * x
- * if x < 0: return scale * alpha * (exp(x) - 1)
- * ```
- * where `alpha` and `scale` are pre-defined constants (`alpha=1.67326324` and `scale=1.05070098`).
- *
- * Basically, the SELU activation function multiplies `scale` (> 1) with the
- * output of the `tf.keras.activations.elu` function to ensure a slope larger
- * than one for positive inputs.
- *
- * @see <a href="https://arxiv.org/abs/1706.02515">Klambauer et al., 2017</a>
- */
- Selu,
-
- /**
- * ActivationLayer converts a real vector to a vector of categorical probabilities.
- * The elements of the output vector are in range (0, 1) and sum to 1.
- *
- * ActivationLayer is often used as the activation for the last
- * layer of a classification network because the result could be interpreted as
- * a probability distribution.
- */
- Softmax,
-
- /**
- *
- */
- LogSoftmax,
-
- /**
- * Exponential activation function.
- *
- * Transforms input 'x' according formula:
- * ```
- * exp(x)
- * ```
- */
- Exponential,
-
- /**
- * Softplus activation function.
- *
- * Transforms input 'x' according formula:
- * ```
- * softplus(x) = log(exp(x) + 1)
- * ```
- */
- SoftPlus,
-
- /***
- * Softsign activation function.
- *
- * Transforms input 'x' according formula:
- * ```
- * softsign(x) = x / (abs(x) + 1)
- * ```
- */
- SoftSign,
-
- /**
- * Hard sigmoid activation function.
- *
- * Transforms input 'x' according formula:
- * ```
- * if x < -2.5: return 0
- * if x > 2.5: return 1
- * if -2.5 <= x <= 2.5: return 0.2 * x + 0.5
- * ```
- * A faster approximation of the sigmoid activation.
- */
- HardSigmoid,
-
- /**
- * Swish activation function.
- *
- * Transforms input 'x' according formula:
- * ```
- * swish(x) = x * sigmoid(x)
- * ```
- *
- * It is a smooth, non-monotonic function that consistently matches
- * or outperforms ReLU on deep networks, it is unbounded above and
- * bounded below.
- *
- * @see <a href="https://arxiv.org/abs/1710.05941">Ramachandran et al., 2017</a>
- */
- Swish,
-}
diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/layer/Layer.kt b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/layer/Layer.kt
deleted file mode 100644
index 143b27f0..00000000
--- a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/layer/Layer.kt
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.tf20.keras.layer
-
-import org.opendc.experiments.tf20.keras.TrainableModel
-import org.opendc.experiments.tf20.keras.shape.TensorShape
-
-/**
- * Abstract class from which all layers inherit.
- *
- * @param name The name of the layer.
- */
-public abstract class Layer(public val name: String) {
- /**
- * TrainableModel in which the layer exists.
- */
- internal var parentModel: TrainableModel? = null
-
- /**
- * The input shape of the layer.
- */
- public lateinit var inputTensor: TensorShape
- internal set
-
- /**
- * The output shape of the layer.
- */
- public lateinit var outputTensor: TensorShape
- internal set
-
- /**
- * Build the layer for the specified [inputShape].
- *
- * @param [inputShape] Input shape, result of [getOutputShape] call from previous layer.
- */
- public abstract fun build(inputShape: TensorShape)
-
- /**
- * Compute output shape of this layer, based on [inputShape] and [Layer] type.
- */
- public abstract fun getOutputShape(inputShape: TensorShape): TensorShape
-
- /**
- * Perform a forward propagation
- */
- public abstract fun forward(): Double
-
- /**
- * Perform a backward propagation.
- */
- public abstract fun backward(): Double
-}
diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/layer/conv/Conv2D.kt b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/layer/conv/Conv2D.kt
deleted file mode 100644
index f89c47c6..00000000
--- a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/layer/conv/Conv2D.kt
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.tf20.keras.layer.conv
-
-import org.opendc.experiments.tf20.keras.activations.Activation
-import org.opendc.experiments.tf20.keras.layer.Layer
-import org.opendc.experiments.tf20.keras.shape.TensorShape
-import kotlin.math.ceil
-
-/**
- * 2D convolution layer (e.g. spatial convolution over images).
- *
- * This layer creates a convolution kernel that is convolved (actually cross-correlated)
- * with the layer input to produce a tensor of outputs.
- * Finally, if `activation` is applied to the outputs as well.
- */
-public class Conv2D(
- public val filter: LongArray = LongArray(4),
- public val strides: LongArray = LongArray(4),
- public val activation: Activation = Activation.Relu,
- public val padding: ConvPadding = ConvPadding.VALID,
- name: String = "",
-) : Layer(name) {
- private var padHeight: Double = 0.0
- private var padWidth: Double = 0.0
-
- override fun build(inputShape: TensorShape) {}
-
- override fun getOutputShape(inputShape: TensorShape): TensorShape {
- check(filter[2] == inputShape[3]) { "Input channel ${filter[2]} and ${inputShape[3]} shall match" }
-
- var outHeight = 0L
- var outWidth = 0L
-
- if (padding == ConvPadding.VALID) {
- outHeight = ceil((inputShape[1] - filter[0] + 1).toDouble() / strides[1].toDouble()).toLong()
- outWidth = ceil((inputShape[2] - filter[1] + 1).toDouble() / strides[2].toDouble()).toLong()
- padHeight = 0.0
- padWidth = 0.0
- } else if (padding == ConvPadding.SAME) {
- outHeight = ceil(inputShape[1].toFloat() / strides[1].toFloat()).toLong()
- outWidth = ceil(inputShape[2].toFloat() / strides[2].toFloat()).toLong()
-
- val padAlongHeight = (outHeight - 1) * strides[1] + filter[0] - inputShape[1]
- val padAlongWidth = (outWidth - 1) * strides[2] + filter[1] - inputShape[2]
-
- padHeight = (padAlongHeight / 2).toDouble()
- padWidth = (padAlongWidth / 2).toDouble()
- }
-
- return TensorShape(inputShape[0], outHeight, outWidth, filter[3])
- }
-
- override fun forward(): Double {
- // Mul and add per output pixel: kernel_w x kernel_h x in_channel
- var flops: Long = (2 * filter[0] * filter[1] * filter[2])
-
- val output = outputTensor
- // Flops per output map.
- flops *= output[1] * output[2] * filter[3]
-
- // Flops across multiple input patches.
- flops *= inputTensor[0]
-
- if (activation == Activation.Relu) {
- flops += output[0] * output[1] * output[2] * output[3]
- }
-
- // return paramsNum() * output.H * output.W * FLOAT_BYTES / MILLION
- return flops * 4.0 / 1_000_000
- }
-
- override fun backward(): Double = forward()
-
- override fun toString(): String {
- return "Conv2D[filter=${filter.contentToString()}, strides=${strides.contentToString()}, activation=$activation, padding=$padding]"
- }
-}
diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/layer/conv/ConvPadding.kt b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/layer/conv/ConvPadding.kt
deleted file mode 100644
index a47c435a..00000000
--- a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/layer/conv/ConvPadding.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.tf20.keras.layer.conv
-
-/**
- * Enumeration of convolution padding types.
- */
-public enum class ConvPadding {
- /**
- * Pad evenly to the left/right or up/down of the input such that output has the same
- * height/width dimension as the input.
- */
- SAME,
-
- /**
- * No padding.
- */
- VALID,
-}
diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/layer/core/ActivationLayer.kt b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/layer/core/ActivationLayer.kt
deleted file mode 100644
index 000401b9..00000000
--- a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/layer/core/ActivationLayer.kt
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.tf20.keras.layer.core
-
-import org.opendc.experiments.tf20.keras.activations.Activation
-import org.opendc.experiments.tf20.keras.layer.Layer
-import org.opendc.experiments.tf20.keras.shape.TensorShape
-
-/**
- * This layer applies an activation function to an output.
- */
-public class ActivationLayer(
- public val activation: Activation = Activation.Relu,
- name: String = "",
-) : Layer(name) {
- override fun build(inputShape: TensorShape) {
- // Intentionally left empty
- }
-
- override fun getOutputShape(inputShape: TensorShape): TensorShape = inputShape
-
- override fun forward(): Double = 0.0
-
- override fun backward(): Double = forward()
-
- override fun toString(): String {
- return "ActivationLayer[activation=$activation]"
- }
-}
diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/layer/core/Input.kt b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/layer/core/Input.kt
deleted file mode 100644
index 6619ccc0..00000000
--- a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/layer/core/Input.kt
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.tf20.keras.layer.core
-
-import org.opendc.experiments.tf20.keras.layer.Layer
-import org.opendc.experiments.tf20.keras.shape.TensorShape
-
-/**
- * This layer is responsible for the input shape of the built model.
- */
-public class Input(vararg dims: Long, name: String) : Layer(name) {
- /**
- * Input data dimensions. Rank = 3 or 4 for most popular supported cases.
- */
- public val packedDims: LongArray = dims
-
- override fun build(inputShape: TensorShape) {}
-
- override fun getOutputShape(inputShape: TensorShape): TensorShape {
- return inputShape
- }
-
- override fun forward(): Double = 0.0
-
- override fun backward(): Double = 0.0
-
- override fun toString(): String {
- return "Input[shape=${packedDims.contentToString()}]"
- }
-}
diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/layer/pool/Pool2D.kt b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/layer/pool/Pool2D.kt
deleted file mode 100644
index a9a54938..00000000
--- a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/layer/pool/Pool2D.kt
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.tf20.keras.layer.pool
-
-import org.opendc.experiments.tf20.keras.layer.Layer
-import org.opendc.experiments.tf20.keras.layer.conv.ConvPadding
-import org.opendc.experiments.tf20.keras.shape.TensorShape
-import kotlin.math.ceil
-
-/**
- * Max pooling layer for 2D inputs (e.g. images).
- *
- * @property [poolSize] The size of the sliding window for each dimension of input tensor (pool batch, pool height, pool width, pool channels).
- * Usually, pool batch and pool channels are equal to 1.
- * @property [strides] Strides of the pooling operation for each dimension of input tensor.
- * @property [padding] The padding method, either 'valid' or 'same' or 'full'.
- * @property [name] Custom layer name.
- */
-public class Pool2D(
- public val poolSize: IntArray = intArrayOf(1, 2, 2, 1),
- public val strides: IntArray = intArrayOf(1, 2, 2, 1),
- public val padding: ConvPadding = ConvPadding.VALID,
- name: String,
-) : Layer(name) {
- private var padHeight = 0L
- private var padWidth = 0L
-
- override fun build(inputShape: TensorShape) {
- }
-
- override fun getOutputShape(inputShape: TensorShape): TensorShape {
- var outHeight = 0L
- var outWidth = 0L
- // return the output tensor shape
- if (padding == ConvPadding.VALID) {
- outHeight = ceil((inputShape[1] - poolSize[1] + 1).toDouble() / strides[1].toDouble()).toLong()
- outWidth = ceil((inputShape[2] - poolSize[2] + 1).toDouble() / strides[2].toDouble()).toLong()
- padHeight = 0
- padWidth = 0
- } else if (padding == ConvPadding.SAME) {
- outHeight = ceil(inputShape[1].toFloat() / strides[1].toFloat()).toLong()
- outWidth = ceil(inputShape[2].toFloat() / strides[2].toFloat()).toLong()
- val padAlongHeight = (outHeight - 1) * strides[1] + poolSize[1] - inputShape[1]
- val padAlongWidth = (outWidth - 1) * strides[2] + poolSize[2] - inputShape[2]
-
- padHeight = padAlongHeight / 2
- padWidth = padAlongWidth / 2
- }
-
- return TensorShape(inputShape[0], outHeight, outWidth, inputShape[3])
- }
-
- override fun forward(): Double {
- val output = outputTensor
- // Per output pixel: kernel_w x kernel_h x in_channel
- var flops: Long = 2 * poolSize[1] * poolSize[2] * inputTensor[3]
-
- // Flops per output map.
- flops *= output[2] * output[1]
-
- // Flops across multiple input patches.
- flops *= inputTensor[0]
-
- return flops * 4.0 / 1_000_000
- }
-
- override fun backward(): Double = forward()
-
- override fun toString(): String {
- return "MaxPool2D[poolSize=${poolSize.contentToString()}, strides=${strides.contentToString()}, padding=$padding]"
- }
-}
diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/layer/regularization/Dropout.kt b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/layer/regularization/Dropout.kt
deleted file mode 100644
index 8198f98c..00000000
--- a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/layer/regularization/Dropout.kt
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.tf20.keras.layer.regularization
-
-import org.opendc.experiments.tf20.keras.layer.Layer
-import org.opendc.experiments.tf20.keras.shape.TensorShape
-
-/**
- * This layer applies dropout to the input.
- *
- * Dropout consists in randomly setting a fraction `rate` of input units to 0
- * at each update during training time, which helps prevent overfitting.
- * The units that are kept are scaled by `1 / (1 - rate)`, so that their
- * sum is unchanged at training time and inference time.
- *
- * @property keepProbability The dropout rate, between 0 and 1. E.g. `rate=0.1` would drop out 10% of input units.
- * @property [name] Custom layer name.
- */
-public class Dropout(
- public val keepProbability: Float = 0.1f,
- name: String,
-) : Layer(name) {
- override fun build(inputShape: TensorShape) {}
-
- override fun getOutputShape(inputShape: TensorShape): TensorShape {
- return inputShape
- }
-
- override fun forward(): Double {
- val output = outputTensor
- return output[0] * output[1] * output[2] * output[3] * 4.0 / 1_000_000
- }
-
- override fun backward(): Double = forward()
-
- override fun toString(): String = "Dropout[keepProbability=$keepProbability]"
-}
diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/shape/TensorShape.kt b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/shape/TensorShape.kt
deleted file mode 100644
index 67e00e24..00000000
--- a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/keras/shape/TensorShape.kt
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.tf20.keras.shape
-
-import kotlin.math.abs
-
-/**
- * Represents the shape of a tensor.
- *
- * @param dims The sizes of the tensor dimensions.
- */
-public class TensorShape(vararg dims: Long) {
- /**
- * The dimensions of the tensor represented as [LongArray].
- */
- private val localDims: LongArray = dims
-
- /**
- * Return amount of elements in Tensor with the given shape.
- */
- public val numElements: Long
- get() {
- var prod = 1L
- for (i in 0 until rank) {
- prod *= abs(localDims[i])
- }
- return prod
- }
-
- /**
- * Returns the rank of this shape.
- */
- public val rank: Int
- get() = localDims.size
-
- /**
- * Returns the value of a dimension
- *
- * @param i The index at which to retrieve a dimension.
- * @return The size of dimension i
- */
- public operator fun get(i: Int): Long {
- return localDims[i]
- }
-
- /**
- * Test whether dimension i in this shape is known
- *
- * @param i Target dimension to test
- * @return Whether dimension i is unknown (equal to -1)
- */
- private fun isKnown(i: Int): Boolean {
- return localDims[i] != -1L
- }
-
- /**
- * Get the size of a target dimension.
- *
- * @param i Target dimension.
- * @return The size of dimension i
- */
- public fun size(i: Int): Long {
- return localDims[i]
- }
-
- /**
- * Clone the [TensorShape] and return a new instance.
- */
- public fun clone(): TensorShape {
- return TensorShape(*localDims)
- }
-
- /**
- * Create a string representation of this [TensorShape].
- */
- override fun toString(): String {
- return localDims.contentToString().replace("-1", "None")
- }
-
- override fun equals(other: Any?): Boolean {
- if (this === other) return true
- if (javaClass != other?.javaClass) return false
-
- other as TensorShape
-
- if (!localDims.contentEquals(other.localDims)) return false
-
- return true
- }
-
- override fun hashCode(): Int {
- return localDims.contentHashCode()
- }
-}
diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/network/Message.kt b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/network/Message.kt
deleted file mode 100644
index fddcc779..00000000
--- a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/network/Message.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.tf20.network
-
-/**
- * A communication message between TensorFlow worker and master nodes.
- *
- * @property from The source node.
- * @property to The destination node.
- * @property type The type of message sent.
- * @property dataSize message data size.
- */
-public data class Message(
- val from: NetworkNode,
- val to: NetworkNode,
- val type: MessageType,
- val dataSize: Long,
- val iterations: Int,
-)
diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/network/MessageType.kt b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/network/MessageType.kt
deleted file mode 100644
index d7130137..00000000
--- a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/network/MessageType.kt
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.tf20.network
-
-/**
- * Enumeration of the types of messages exchanged between worker and master nodes during TensorFlow execution.
- */
-public enum class MessageType {
- REQUEST,
- WEIGHTS,
-}
diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/network/NetworkController.kt b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/network/NetworkController.kt
deleted file mode 100644
index a4e79b4e..00000000
--- a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/network/NetworkController.kt
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.tf20.network
-
-import kotlinx.coroutines.channels.Channel
-import org.opendc.common.Dispatcher
-import org.opendc.common.util.TimerScheduler
-
-/**
- * The network controller represents a simple network model between the worker and master nodes during
- * TensorFlow execution.
- */
-public class NetworkController(dispatcher: Dispatcher) : AutoCloseable {
- /**
- * The scheduler for the message.
- */
- private val scheduler = TimerScheduler<Message>(dispatcher)
-
- /**
- * The outbound communication channels.
- */
- private val channels = mutableMapOf<NetworkNode, Channel<Message>>()
-
- /**
- * A map of the bandwidth between the different nodes.
- */
- private val bandwidthMatrix: MutableMap<Pair<NetworkNode, NetworkNode>, Long> = mutableMapOf()
-
- /**
- * A counter representing the amount of messages sent via the controller.
- */
- private var messageCounter = 0
-
- /**
- * Add the specified link to this controller.
- */
- public fun addLink(node: NetworkNode): Channel<Message> {
- val channel = Channel<Message>(Channel.UNLIMITED)
- channels[node] = channel
- return channel
- }
-
- /**
- * Add a connection between two links.
- */
- public fun addConnection(
- node1: NetworkNode,
- node2: NetworkNode,
- bandwidth: Long,
- ) {
- bandwidthMatrix[Pair(node1, node2)] = bandwidth
- }
-
- /**
- * Route the specified [message].
- */
- public fun send(message: Message) {
- val from = message.from
- val to = message.to
- val bandwidth = bandwidthMatrix[Pair(from, to)] ?: bandwidthMatrix[Pair(to, from)] ?: 1
- val size = message.dataSize / 1_000_000
- val delayTime = size / bandwidth + (0..5).random()
-
- messageCounter++
-
- val target = channels[to] ?: return // Drop if destination not found
-
- scheduler.startSingleTimer(message, delayTime) { target.trySend(message) }
- }
-
- /**
- * Stop the network controller.
- */
- override fun close() {
- scheduler.cancelAll()
- }
-}
diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/network/NetworkNode.kt b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/network/NetworkNode.kt
deleted file mode 100644
index 46fb5ce9..00000000
--- a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/network/NetworkNode.kt
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.tf20.network
-
-/**
- * A node represents a machine with which other nodes can communicate.
- */
-public data class NetworkNode(val hostname: String)
diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/util/MLEnvironmentReader.kt b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/util/MLEnvironmentReader.kt
deleted file mode 100644
index 34b4bc7b..00000000
--- a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/util/MLEnvironmentReader.kt
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.tf20.util
-
-import com.fasterxml.jackson.databind.ObjectMapper
-import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
-import com.fasterxml.jackson.module.kotlin.readValue
-import org.opendc.simulator.compute.model.Cpu
-import org.opendc.simulator.compute.model.MachineModel
-import org.opendc.simulator.compute.model.MemoryUnit
-import org.opendc.simulator.compute.power.CpuPowerModels
-import java.io.InputStream
-import java.util.UUID
-
-/**
- * An environment reader for the TensorFlow experiments.
- */
-public class MLEnvironmentReader {
- /**
- * The [ObjectMapper] to convert the format.
- */
- private val mapper = jacksonObjectMapper()
-
- public fun readEnvironment(input: InputStream): List<MachineDef> {
- val setup: Setup = mapper.readValue(input)
- var counter = 0
- return setup.rooms.flatMap { room ->
- room.objects.flatMap { roomObject ->
- when (roomObject) {
- is RoomObject.Rack -> {
- roomObject.machines.map { machine ->
- var isGpuFlag = true
- var maxPower = 350.0
- var minPower = 200.0
- val cores =
- machine.cpus.map { id ->
- when (id) {
- 1 -> {
- // ref: https://www.guru3d.com/articles-pages/nvidia-geforce-gtx-titan-x-review,8.html#:~:text=GeForce%20GTX%20Titan%20X%20%2D%20On,power%20supply%20unit%20as%20minimum.
- Cpu(
- 0,
- 4992,
- 824.0,
- "NVidia",
- "TITAN X",
- "Pascal",
- )
- }
- 2 -> {
- // ref: https://www.microway.com/hpc-tech-tips/nvidia-tesla-p100-pci-e-16gb-gpu-accelerator-pascal-gp100-close/
- Cpu(
- 0,
- 3584,
- 1190.0,
- "NVIDIA",
- "Tesla P100",
- "Pascal",
- )
- }
- 3 -> {
- // ref: https://www.anandtech.com/show/10923/openpower-saga-tyans-1u-power8-gt75/7
- Cpu(
- 0,
- 24,
- 3498.0,
- "Intel",
- "E5-2690v3 Haswell24",
- "amd64",
- )
- }
- 4 -> {
- Cpu(
- 0,
- 10,
- 143000.0,
- "IBM",
- "POWER8",
- "RISC",
- )
- }
- else -> throw IllegalArgumentException("The cpu id $id is not recognized")
- }
- }
- val memories =
- machine.memories.map { id ->
- when (id) {
- 1 -> MemoryUnit("NVidia", "GDDR5X", 480.0, 24L)
- 2 -> MemoryUnit("NVidia", "GDDR5X", 720.0, 16L)
- 3 -> MemoryUnit("IBM", "GDDR5X", 115.0, 160L)
- 4 -> MemoryUnit("Inter", "GDDR5X", 68.0, 512L)
- else -> throw IllegalArgumentException("The cpu id $id is not recognized")
- }
- }
-
- MachineDef(
- UUID(0, counter.toLong()),
- "node-${counter++}",
- mapOf("gpu" to isGpuFlag),
- MachineModel(cores, memories[0]),
- CpuPowerModels.linear(maxPower, minPower),
- )
- }
- }
- }
- }
- }
- }
-}
diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/util/MachineDef.kt b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/util/MachineDef.kt
deleted file mode 100644
index 7ff91797..00000000
--- a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/util/MachineDef.kt
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.tf20.util
-
-import org.opendc.simulator.compute.model.MachineModel
-import org.opendc.simulator.compute.power.CpuPowerModel
-import java.util.UUID
-
-/**
- * A definition of a machine in a cluster.
- */
-public data class MachineDef(
- val uid: UUID,
- val name: String,
- val meta: Map<String, Any>,
- val model: MachineModel,
- val powerModel: CpuPowerModel,
-)
diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/util/Model.kt b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/util/Model.kt
deleted file mode 100644
index 0487a36f..00000000
--- a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/util/Model.kt
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.tf20.util
-
-import com.fasterxml.jackson.annotation.JsonSubTypes
-import com.fasterxml.jackson.annotation.JsonTypeInfo
-
-/**
- * A datacenter setup.
- *
- * @property name The name of the setup.
- * @property rooms The rooms in the datacenter.
- */
-internal data class Setup(val name: String, val rooms: List<Room>)
-
-/**
- * A room in a datacenter.
- *
- * @property type The type of room in the datacenter.
- * @property objects The objects in the room.
- */
-internal data class Room(val type: String, val objects: List<RoomObject>)
-
-/**
- * An object in a [Room].
- *
- * @property type The type of the room object.
- */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
-@JsonSubTypes(value = [JsonSubTypes.Type(name = "RACK", value = RoomObject.Rack::class)])
-internal sealed class RoomObject(val type: String) {
- /**
- * A rack in a server room.
- *
- * @property machines The machines in the rack.
- */
- internal data class Rack(val machines: List<Machine>) : RoomObject("RACK")
-}
-
-/**
- * A machine in the setup that consists of the specified CPU's represented as
- * integer identifiers and ethernet speed.
- *
- * @property cpus The Processing Units(CPUs/GPUs) in the machine represented as integer identifiers.
- * @property memories The memories in the machine represented as integer identifiers.
- */
-internal data class Machine(val cpus: List<Int>, val memories: List<Int>)
diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/resources/ibm.json b/opendc-experiments/opendc-experiments-tf20/src/main/resources/ibm.json
deleted file mode 100644
index b16d1b18..00000000
--- a/opendc-experiments/opendc-experiments-tf20/src/main/resources/ibm.json
+++ /dev/null
@@ -1,113 +0,0 @@
-{
- "name": "IBM Environment Setup",
- "rooms": [
- {
- "type": "SERVER",
- "objects": [
- {
- "type": "RACK",
- "machines": [
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]}
- ]
- },
- {
- "type": "RACK",
- "machines": [
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]}
- ]
- },
- {
- "type": "RACK",
- "machines": [
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]}
- ]
- },
- {
- "type": "RACK",
- "machines": [
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]},
- { "cpus": [2], "memories": [2]}
- ]
- },
- {
- "type": "RACK",
- "machines": [
- { "cpus": [4], "memories": [4]},
- { "cpus": [4], "memories": [4]},
- { "cpus": [4], "memories": [4]},
- { "cpus": [4], "memories": [4]},
- { "cpus": [4], "memories": [4]},
- { "cpus": [4], "memories": [4]},
- { "cpus": [4], "memories": [4]},
- { "cpus": [4], "memories": [4]},
- { "cpus": [4], "memories": [4]},
- { "cpus": [4], "memories": [4]},
- { "cpus": [4], "memories": [4]},
- { "cpus": [4], "memories": [4]}
- ]
- },
- {
- "type": "RACK",
- "machines": [
- { "cpus": [4], "memories": [4]},
- { "cpus": [4], "memories": [4]},
- { "cpus": [4], "memories": [4]},
- { "cpus": [4], "memories": [4]},
- { "cpus": [4], "memories": [4]},
- { "cpus": [4], "memories": [4]},
- { "cpus": [4], "memories": [4]},
- { "cpus": [4], "memories": [4]},
- { "cpus": [4], "memories": [4]},
- { "cpus": [4], "memories": [4]},
- { "cpus": [4], "memories": [4]},
- { "cpus": [4], "memories": [4]}
- ]
- }
-
- ]
- }
- ]
-}
diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/resources/kth.json b/opendc-experiments/opendc-experiments-tf20/src/main/resources/kth.json
deleted file mode 100644
index 50eecb47..00000000
--- a/opendc-experiments/opendc-experiments-tf20/src/main/resources/kth.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "name": "KTH Environment Setup",
- "rooms": [
- {
- "type": "SERVER",
- "objects": [
- {
- "type": "RACK",
- "machines": [
- {"cpus": [1], "memories": [1]},
- {"cpus": [1], "memories": [1]},
- {"cpus": [1], "memories": [1]},
- {"cpus": [1], "memories": [1]},
- {"cpus": [1], "memories": [1]},
- {"cpus": [1], "memories": [1]},
- {"cpus": [1], "memories": [1]},
- {"cpus": [1], "memories": [1]},
- {"cpus": [1], "memories": [1]},
- {"cpus": [3], "memories": [3]},
- {"cpus": [3], "memories": [3]},
- {"cpus": [3], "memories": [3]},
- {"cpus": [3], "memories": [3]},
- {"cpus": [3], "memories": [3]},
- {"cpus": [3], "memories": [3]},
- {"cpus": [3], "memories": [3]},
- {"cpus": [3], "memories": [3]},
- {"cpus": [3], "memories": [3]}
- ]
- }
- ]
- }
- ]
-}
diff --git a/opendc-experiments/opendc-experiments-tf20/src/test/kotlin/org/opendc/experiments/tf20/TensorFlowTest.kt b/opendc-experiments/opendc-experiments-tf20/src/test/kotlin/org/opendc/experiments/tf20/TensorFlowTest.kt
deleted file mode 100644
index 447827e9..00000000
--- a/opendc-experiments/opendc-experiments-tf20/src/test/kotlin/org/opendc/experiments/tf20/TensorFlowTest.kt
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.tf20
-
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.assertAll
-import org.opendc.experiments.tf20.core.SimTFDevice
-import org.opendc.experiments.tf20.distribute.MirroredStrategy
-import org.opendc.experiments.tf20.distribute.OneDeviceStrategy
-import org.opendc.experiments.tf20.util.MLEnvironmentReader
-import org.opendc.simulator.compute.power.CpuPowerModels
-import org.opendc.simulator.kotlin.runSimulation
-import java.util.UUID
-
-/**
- * Integration test suite for the TensorFlow application model in OpenDC.
- */
-class TensorFlowTest {
- /**
- * Smoke test that tests the capabilities of the TensorFlow application model in OpenDC.
- */
- fun testSmokeAlexNet() =
- runSimulation {
- val envInput = checkNotNull(TensorFlowTest::class.java.getResourceAsStream("/kth.json"))
- val def = MLEnvironmentReader().readEnvironment(envInput).first()
-
- val device =
- SimTFDevice(
- def.uid,
- def.meta["gpu"] as Boolean,
- dispatcher,
- def.model.cpu,
- def.model.memory,
- CpuPowerModels.linear(250.0, 60.0),
- )
- val strategy = OneDeviceStrategy(device)
- val batchSize = 32
- val model = getAlexNet(batchSize.toLong())
- model.use {
- it.compile(strategy)
-
- it.fit(epochs = 9088 / batchSize, batchSize = batchSize)
- }
-
- device.close()
-
- val stats = device.getDeviceStats()
- assertAll(
- { assertEquals(3309694252, timeSource.millis()) },
- { assertEquals(8.27423563E8, stats.energyUsage) },
- )
- }
-
- /**
- * Smoke test that tests the capabilities of the TensorFlow application model in OpenDC.
- */
- fun testSmokeVGG() =
- runSimulation {
- val envInput = checkNotNull(TensorFlowTest::class.java.getResourceAsStream("/kth.json"))
- val def = MLEnvironmentReader().readEnvironment(envInput).first()
-
- val device =
- SimTFDevice(
- def.uid,
- def.meta["gpu"] as Boolean,
- dispatcher,
- def.model.cpu,
- def.model.memory,
- CpuPowerModels.linear(250.0, 60.0),
- )
- val strategy = OneDeviceStrategy(device)
- val batchSize = 128
- val model = getVGG16(batchSize.toLong())
- model.use {
- it.compile(strategy)
-
- it.fit(epochs = 9088 / batchSize, batchSize = batchSize)
- }
-
- device.close()
-
- val stats = device.getDeviceStats()
- assertAll(
- { assertEquals(176230328513, timeSource.millis()) },
- { assertEquals(4.405758212825E10, stats.energyUsage) },
- )
- }
-
- /**
- * Smoke test that tests the capabilities of the TensorFlow application model in OpenDC.
- */
- fun testSmokeDistribute() =
- runSimulation {
- val envInput = checkNotNull(TensorFlowTest::class.java.getResourceAsStream("/kth.json"))
- val def = MLEnvironmentReader().readEnvironment(envInput).first()
-
- val deviceA =
- SimTFDevice(
- def.uid,
- def.meta["gpu"] as Boolean,
- dispatcher,
- def.model.cpu,
- def.model.memory,
- CpuPowerModels.linear(250.0, 60.0),
- )
-
- val deviceB =
- SimTFDevice(
- UUID.randomUUID(),
- def.meta["gpu"] as Boolean,
- dispatcher,
- def.model.cpu,
- def.model.memory,
- CpuPowerModels.linear(250.0, 60.0),
- )
-
- val strategy = MirroredStrategy(listOf(deviceA, deviceB))
- val batchSize = 32
- val model = getAlexNet(batchSize.toLong())
- model.use {
- it.compile(strategy)
-
- it.fit(epochs = 9088 / batchSize, batchSize = batchSize)
- }
-
- deviceA.close()
- deviceB.close()
-
- val statsA = deviceA.getDeviceStats()
- val statsB = deviceB.getDeviceStats()
- assertAll(
- { assertEquals(1704994000, timeSource.millis()) },
- { assertEquals(4.262485E8, statsA.energyUsage) },
- { assertEquals(4.262485E8, statsB.energyUsage) },
- )
- }
-}
diff --git a/opendc-experiments/opendc-experiments-tf20/src/test/kotlin/org/opendc/experiments/tf20/core/SimTFDeviceTest.kt b/opendc-experiments/opendc-experiments-tf20/src/test/kotlin/org/opendc/experiments/tf20/core/SimTFDeviceTest.kt
deleted file mode 100644
index e0c4599a..00000000
--- a/opendc-experiments/opendc-experiments-tf20/src/test/kotlin/org/opendc/experiments/tf20/core/SimTFDeviceTest.kt
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.experiments.tf20.core
-
-import kotlinx.coroutines.coroutineScope
-import kotlinx.coroutines.launch
-import org.junit.jupiter.api.Assertions.assertAll
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.Test
-import org.opendc.simulator.compute.model.Cpu
-import org.opendc.simulator.compute.model.MemoryUnit
-import org.opendc.simulator.compute.power.CpuPowerModels
-import org.opendc.simulator.kotlin.runSimulation
-import java.util.UUID
-
-/**
- * Test suite for the [SimTFDevice] class.
- */
-internal class SimTFDeviceTest {
- @Test
- fun testSmoke() =
- runSimulation {
- val pu = Cpu(0, 1, 960 * 1230.0, "NVIDIA", "Tesla V100", "unknown")
- val memory = MemoryUnit("NVIDIA", "Tesla V100", 877.0, 32_000)
-
- val device =
- SimTFDevice(
- UUID.randomUUID(),
- isGpu = true,
- dispatcher,
- pu,
- memory,
- CpuPowerModels.linear(250.0, 100.0),
- )
-
- // Load 1 GiB into GPU memory
- device.load(1000)
- assertEquals(1140, timeSource.millis())
-
- coroutineScope {
- launch { device.compute(1e6) }
- launch { device.compute(2e6) }
- }
-
- device.close()
-
- val stats = device.getDeviceStats()
-
- assertAll(
- { assertEquals(3681, timeSource.millis()) },
- { assertEquals(749.25, stats.energyUsage) },
- )
- }
-}
diff --git a/opendc-faas/README.md b/opendc-faas/README.md
deleted file mode 100644
index fe6e5b80..00000000
--- a/opendc-faas/README.md
+++ /dev/null
@@ -1,7 +0,0 @@
-OpenDC FaaS
-=================
-
-This module contains a reproduction of Soufiane Jounaid's BSc Computer Science thesis:
-OpenDC Serverless: Design, Implementation and Evaluation of a FaaS Platform Simulator [1]
-
-[1] https://drive.google.com/file/d/12hox3PwagpD0jNFA57tO4r2HqvOonkY3/view?usp=sharing
diff --git a/opendc-faas/build.gradle.kts b/opendc-faas/build.gradle.kts
deleted file mode 100644
index 002582bb..00000000
--- a/opendc-faas/build.gradle.kts
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-description = "Function-as-a-Service (FaaS) platform for OpenDC"
-
-subprojects {
- group = "org.opendc.faas"
-}
diff --git a/opendc-faas/opendc-faas-api/build.gradle.kts b/opendc-faas/opendc-faas-api/build.gradle.kts
deleted file mode 100644
index 2e4b5776..00000000
--- a/opendc-faas/opendc-faas-api/build.gradle.kts
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-description = "API for the OpenDC FaaS platform"
-
-// Build configuration
-plugins {
- `kotlin-library-conventions`
-}
diff --git a/opendc-faas/opendc-faas-api/src/main/kotlin/org/opendc/faas/api/FaaSClient.kt b/opendc-faas/opendc-faas-api/src/main/kotlin/org/opendc/faas/api/FaaSClient.kt
deleted file mode 100644
index 297d3065..00000000
--- a/opendc-faas/opendc-faas-api/src/main/kotlin/org/opendc/faas/api/FaaSClient.kt
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.faas.api
-
-import java.util.UUID
-
-/**
- * Client interface to the OpenDC FaaS platform.
- */
-public interface FaaSClient : AutoCloseable {
- /**
- * Obtain the list of [FaaSFunction]s accessible by the requesting user.
- */
- public suspend fun queryFunctions(): List<FaaSFunction>
-
- /**
- * Obtain a [FaaSFunction] by its unique identifier.
- *
- * @param id The identifier of the flavor.
- */
- public suspend fun findFunction(id: UUID): FaaSFunction?
-
- /**
- * Obtain a [FaaSFunction] by its name.
- *
- * @param name The name of the function.
- */
- public suspend fun findFunction(name: String): FaaSFunction?
-
- /**
- * Create a new serverless function.
- *
- * @param name The name of the function.
- * @param memorySize The memory allocated for the function in MB.
- * @param labels The labels associated with the function.
- * @param meta The metadata associated with the function.
- */
- public suspend fun newFunction(
- name: String,
- memorySize: Long,
- labels: Map<String, String> = emptyMap(),
- meta: Map<String, Any> = emptyMap(),
- ): FaaSFunction
-
- /**
- * Invoke the function with the specified [name].
- */
- public suspend fun invoke(name: String)
-
- /**
- * Release the resources associated with this client, preventing any further API calls.
- */
- public override fun close()
-}
diff --git a/opendc-faas/opendc-faas-api/src/main/kotlin/org/opendc/faas/api/FaaSFunction.kt b/opendc-faas/opendc-faas-api/src/main/kotlin/org/opendc/faas/api/FaaSFunction.kt
deleted file mode 100644
index 40f0092f..00000000
--- a/opendc-faas/opendc-faas-api/src/main/kotlin/org/opendc/faas/api/FaaSFunction.kt
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.faas.api
-
-import java.util.UUID
-
-/**
- * A serverless function instance.
- */
-public interface FaaSFunction {
- /**
- * The unique identifier of the function.
- */
- public val uid: UUID
-
- /**
- * The name of the function.
- */
- public val name: String
-
- /**
- * The amount of memory allocated for this function in MB.
- */
- public val memorySize: Long
-
- /**
- * The identifying labels attached to the resource.
- */
- public val labels: Map<String, String>
-
- /**
- * The non-identifying metadata attached to the resource.
- */
- public val meta: Map<String, Any>
-
- /**
- * Invoke the serverless function.
- */
- public suspend operator fun invoke()
-
- /**
- * Request the function to be deleted.
- */
- public suspend fun delete()
-
- /**
- * Refresh the local state of this object.
- */
- public suspend fun refresh()
-}
diff --git a/opendc-faas/opendc-faas-service/build.gradle.kts b/opendc-faas/opendc-faas-service/build.gradle.kts
deleted file mode 100644
index 90cb8f56..00000000
--- a/opendc-faas/opendc-faas-service/build.gradle.kts
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-description = "FaaS service for OpenDC"
-
-// Build configuration
-plugins {
- `kotlin-library-conventions`
-}
-
-dependencies {
- api(projects.opendcFaas.opendcFaasApi)
- api(libs.commons.math3)
- implementation(projects.opendcCommon)
- implementation(libs.kotlin.logging)
-
- testImplementation(projects.opendcSimulator.opendcSimulatorCore)
- testRuntimeOnly(libs.log4j.core)
- testRuntimeOnly(libs.log4j.slf4j)
-}
diff --git a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/FaaSService.kt b/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/FaaSService.kt
deleted file mode 100644
index e9634ccc..00000000
--- a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/FaaSService.kt
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.faas.service
-
-import org.opendc.common.Dispatcher
-import org.opendc.faas.api.FaaSClient
-import org.opendc.faas.api.FaaSFunction
-import org.opendc.faas.service.autoscaler.FunctionTerminationPolicy
-import org.opendc.faas.service.deployer.FunctionDeployer
-import org.opendc.faas.service.internal.FaaSServiceImpl
-import org.opendc.faas.service.router.RoutingPolicy
-import org.opendc.faas.service.telemetry.FunctionStats
-import org.opendc.faas.service.telemetry.SchedulerStats
-import java.time.Duration
-
-/**
- * The [FaaSService] hosts the service implementation of the OpenDC FaaS platform.
- */
-public interface FaaSService : AutoCloseable {
- /**
- * Create a new [FaaSClient] to control the compute service.
- */
- public fun newClient(): FaaSClient
-
- /**
- * Collect statistics about the scheduler of the service.
- */
- public fun getSchedulerStats(): SchedulerStats
-
- /**
- * Collect statistics about the specified [function].
- */
- public fun getFunctionStats(function: FaaSFunction): FunctionStats
-
- /**
- * Terminate the lifecycle of the FaaS service, stopping all running function instances.
- */
- public override fun close()
-
- public companion object {
- /**
- * Construct a new [FaaSService] implementation.
- *
- * @param dispatcher The [Dispatcher] used for scheduling events.
- * @param deployer the [FunctionDeployer] to use for deploying function instances.
- * @param routingPolicy The policy to route function invocations.
- * @param terminationPolicy The policy for terminating function instances.
- * @param quantum The scheduling quantum of the service (100 ms default)
- */
- public operator fun invoke(
- dispatcher: Dispatcher,
- deployer: FunctionDeployer,
- routingPolicy: RoutingPolicy,
- terminationPolicy: FunctionTerminationPolicy,
- quantum: Duration = Duration.ofMillis(100),
- ): FaaSService {
- return FaaSServiceImpl(dispatcher, deployer, routingPolicy, terminationPolicy, quantum)
- }
- }
-}
diff --git a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/FunctionObject.kt b/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/FunctionObject.kt
deleted file mode 100644
index 0ed96b96..00000000
--- a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/FunctionObject.kt
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.faas.service
-
-import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics
-import org.opendc.faas.service.deployer.FunctionInstance
-import org.opendc.faas.service.telemetry.FunctionStats
-import java.util.UUID
-
-/**
- * An [FunctionObject] represents the service's view of a serverless function.
- */
-public class FunctionObject(
- public val uid: UUID,
- name: String,
- allocatedMemory: Long,
- labels: Map<String, String>,
- meta: Map<String, Any>,
-) : AutoCloseable {
- /**
- * Metrics tracked per function.
- */
- private var localInvocations = 0L
- private var localTimelyInvocations = 0L
- private var localDelayedInvocations = 0L
- private var localFailedInvocations = 0L
- private var localActiveInstances = 0
- private var localIdleInstances = 0
- private val localWaitTime =
- DescriptiveStatistics()
- .apply { windowSize = 100 }
- private val localActiveTime =
- DescriptiveStatistics()
- .apply { windowSize = 100 }
-
- /**
- * The instances associated with this function.
- */
- public val instances: MutableList<FunctionInstance> = mutableListOf()
-
- public var name: String = name
- private set
-
- public var memorySize: Long = allocatedMemory
- private set
-
- public val labels: MutableMap<String, String> = labels.toMutableMap()
-
- public val meta: MutableMap<String, Any> = meta.toMutableMap()
-
- /**
- * Report a scheduled invocation.
- */
- internal fun reportSubmission() {
- localInvocations++
- }
-
- /**
- * Report the deployment of an invocation.
- */
- internal fun reportDeployment(isDelayed: Boolean) {
- if (isDelayed) {
- localDelayedInvocations++
- localIdleInstances++
- } else {
- localTimelyInvocations++
- }
- }
-
- /**
- * Report the start of a function invocation.
- */
- internal fun reportStart(
- start: Long,
- submitTime: Long,
- ) {
- val wait = start - submitTime
- localWaitTime.addValue(wait.toDouble())
-
- localIdleInstances--
- localActiveInstances++
- }
-
- /**
- * Report the failure of a function invocation.
- */
- internal fun reportFailure() {
- localFailedInvocations++
- }
-
- /**
- * Report the end of a function invocation.
- */
- internal fun reportEnd(duration: Long) {
- localActiveTime.addValue(duration.toDouble())
- localIdleInstances++
- localActiveInstances--
- }
-
- /**
- * Collect the statistics of this function.
- */
- internal fun getStats(): FunctionStats {
- return FunctionStats(
- localInvocations,
- localTimelyInvocations,
- localDelayedInvocations,
- localFailedInvocations,
- localActiveInstances,
- localIdleInstances,
- localWaitTime.copy(),
- localActiveTime.copy(),
- )
- }
-
- override fun close() {
- val copy = instances.toList() // Make copy to prevent concurrent modification
- copy.forEach(FunctionInstance::close)
- instances.clear()
- }
-
- override fun equals(other: Any?): Boolean = other is FunctionObject && uid == other.uid
-
- override fun hashCode(): Int = uid.hashCode()
-}
diff --git a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/autoscaler/FunctionTerminationPolicy.kt b/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/autoscaler/FunctionTerminationPolicy.kt
deleted file mode 100644
index 2ab3638b..00000000
--- a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/autoscaler/FunctionTerminationPolicy.kt
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.faas.service.autoscaler
-
-import org.opendc.faas.service.deployer.FunctionInstance
-import org.opendc.faas.service.deployer.FunctionInstanceListener
-
-/**
- * A management policy that is responsible for downscaling the active function instances for a function.
- */
-public interface FunctionTerminationPolicy : FunctionInstanceListener {
- /**
- * Enqueue the specified [instance] to be scheduled for termination a
- */
- public fun enqueue(instance: FunctionInstance)
-}
diff --git a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/autoscaler/FunctionTerminationPolicyFixed.kt b/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/autoscaler/FunctionTerminationPolicyFixed.kt
deleted file mode 100644
index 9edb8c1d..00000000
--- a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/autoscaler/FunctionTerminationPolicyFixed.kt
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.faas.service.autoscaler
-
-import org.opendc.common.Dispatcher
-import org.opendc.common.util.TimerScheduler
-import org.opendc.faas.service.deployer.FunctionInstance
-import org.opendc.faas.service.deployer.FunctionInstanceState
-import java.time.Duration
-
-/**
- * A [FunctionTerminationPolicy] that terminates idle function instances after a fixed keep-alive time.
- *
- * @param timeout The idle timeout after which the function instance is terminated.
- */
-public class FunctionTerminationPolicyFixed(
- dispatcher: Dispatcher,
- public val timeout: Duration,
-) : FunctionTerminationPolicy {
- /**
- * The [TimerScheduler] used to schedule the function terminations.
- */
- private val scheduler = TimerScheduler<FunctionInstance>(dispatcher)
-
- override fun enqueue(instance: FunctionInstance) {
- // Cancel the existing timeout timer
- scheduler.cancel(instance)
- }
-
- override fun onStateChanged(
- instance: FunctionInstance,
- newState: FunctionInstanceState,
- ) {
- when (newState) {
- FunctionInstanceState.Active -> scheduler.cancel(instance)
- FunctionInstanceState.Idle -> schedule(instance)
- else -> {}
- }
- }
-
- /**
- * Schedule termination for the specified [instance].
- */
- private fun schedule(instance: FunctionInstance) {
- scheduler.startSingleTimer(instance, timeout.toMillis()) { instance.close() }
- }
-}
diff --git a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/autoscaler/FunctionTerminationPolicyNull.kt b/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/autoscaler/FunctionTerminationPolicyNull.kt
deleted file mode 100644
index 957e569b..00000000
--- a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/autoscaler/FunctionTerminationPolicyNull.kt
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.faas.service.autoscaler
-
-import org.opendc.faas.service.deployer.FunctionInstance
-
-/**
- * A [FunctionTerminationPolicy] that never terminates function instances.
- */
-public class FunctionTerminationPolicyNull : FunctionTerminationPolicy {
- override fun enqueue(instance: FunctionInstance) {
- // No-op
- }
-}
diff --git a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/deployer/FunctionDeployer.kt b/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/deployer/FunctionDeployer.kt
deleted file mode 100644
index 13d48fbf..00000000
--- a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/deployer/FunctionDeployer.kt
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.faas.service.deployer
-
-import org.opendc.faas.service.FunctionObject
-
-/**
- * A [FunctionDeployer] is responsible for ensuring that an instance of an arbitrary function, a [FunctionInstance],
- * is deployed.
- *
- * The function deployer should combine the configuration stored in the function registry, the parameters supplied by
- * the requester, and other factors into a decision of how the function should be deployed, including how many and
- * what kind of resources it should receive.
- *
- * Though it decides how the function instance should be deployed, the deployment of the function instance itself is
- * delegated to the Resource Orchestration Layer.
- */
-public interface FunctionDeployer {
- /**
- * Deploy the specified [function].
- */
- public fun deploy(
- function: FunctionObject,
- listener: FunctionInstanceListener,
- ): FunctionInstance
-}
diff --git a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/deployer/FunctionInstance.kt b/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/deployer/FunctionInstance.kt
deleted file mode 100644
index 77eadbbe..00000000
--- a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/deployer/FunctionInstance.kt
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.faas.service.deployer
-
-import org.opendc.faas.service.FunctionObject
-
-/**
- * A [FunctionInstance] is a self-contained worker—typically a container—capable of handling function executions.
- *
- * Multiple, concurrent function instances can exist for a single function, for scalability purposes.
- */
-public interface FunctionInstance : AutoCloseable {
- /**
- * The state of the instance.
- */
- public val state: FunctionInstanceState
-
- /**
- * The [FunctionObject] that is represented by this instance.
- */
- public val function: FunctionObject
-
- /**
- * Invoke the function instance.
- *
- * This method will suspend execution util the function instance has returned.
- */
- public suspend fun invoke()
-
- /**
- * Indicate to the resource manager that the instance is not needed anymore and may be cleaned up by the resource
- * manager.
- */
- public override fun close()
-}
diff --git a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/deployer/FunctionInstanceListener.kt b/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/deployer/FunctionInstanceListener.kt
deleted file mode 100644
index e88b7104..00000000
--- a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/deployer/FunctionInstanceListener.kt
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.faas.service.deployer
-
-/**
- * Listener interface for events originating from a [FunctionInstance].
- */
-public interface FunctionInstanceListener {
- /**
- * This method is invoked when the state of a [FunctionInstance] has changed.
- */
- public fun onStateChanged(
- instance: FunctionInstance,
- newState: FunctionInstanceState,
- ) {}
-}
diff --git a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/deployer/FunctionInstanceState.kt b/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/deployer/FunctionInstanceState.kt
deleted file mode 100644
index 0c310e6b..00000000
--- a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/deployer/FunctionInstanceState.kt
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.faas.service.deployer
-
-/**
- * This enumeration describes the states of a [FunctionInstance].
- */
-public enum class FunctionInstanceState {
- /**
- * The function instance is currently being provisioned.
- */
- Provisioning,
-
- /**
- * The function instance is idle and ready to execute.
- */
- Idle,
-
- /**
- * The function instance is executing.
- */
- Active,
-
- /**
- * The function instance is released and cannot be used anymore.
- */
- Deleted,
-}
diff --git a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/internal/FaaSFunctionImpl.kt b/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/internal/FaaSFunctionImpl.kt
deleted file mode 100644
index 7cc85e40..00000000
--- a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/internal/FaaSFunctionImpl.kt
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.faas.service.internal
-
-import org.opendc.faas.api.FaaSFunction
-import org.opendc.faas.service.FunctionObject
-import java.util.UUID
-
-/**
- * A [FaaSFunction] implementation that is passed to clients.
- */
-internal class FaaSFunctionImpl(
- private val service: FaaSServiceImpl,
- private val state: FunctionObject,
-) : FaaSFunction {
- override val uid: UUID = state.uid
-
- override var name: String = state.name
- private set
-
- override var memorySize: Long = state.memorySize
- private set
-
- override var labels: Map<String, String> = state.labels.toMap()
- private set
-
- override var meta: Map<String, Any> = state.meta.toMap()
- private set
-
- override suspend fun delete() {
- service.delete(state)
- }
-
- override suspend fun invoke() {
- service.invoke(state)
- }
-
- override suspend fun refresh() {
- name = state.name
- memorySize = state.memorySize
- labels = state.labels
- meta = state.meta
- }
-
- override fun equals(other: Any?): Boolean = other is FaaSFunctionImpl && uid == other.uid
-
- override fun hashCode(): Int = uid.hashCode()
-
- override fun toString(): String = "FaaSFunction[uid=$uid,name=$name]"
-}
diff --git a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/internal/FaaSServiceImpl.kt b/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/internal/FaaSServiceImpl.kt
deleted file mode 100644
index 397b0e7d..00000000
--- a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/internal/FaaSServiceImpl.kt
+++ /dev/null
@@ -1,290 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.faas.service.internal
-
-import kotlinx.coroutines.InternalCoroutinesApi
-import kotlinx.coroutines.intrinsics.startCoroutineCancellable
-import kotlinx.coroutines.suspendCancellableCoroutine
-import mu.KotlinLogging
-import org.opendc.common.Dispatcher
-import org.opendc.common.util.Pacer
-import org.opendc.faas.api.FaaSClient
-import org.opendc.faas.api.FaaSFunction
-import org.opendc.faas.service.FaaSService
-import org.opendc.faas.service.FunctionObject
-import org.opendc.faas.service.autoscaler.FunctionTerminationPolicy
-import org.opendc.faas.service.deployer.FunctionDeployer
-import org.opendc.faas.service.deployer.FunctionInstance
-import org.opendc.faas.service.deployer.FunctionInstanceListener
-import org.opendc.faas.service.deployer.FunctionInstanceState
-import org.opendc.faas.service.router.RoutingPolicy
-import org.opendc.faas.service.telemetry.FunctionStats
-import org.opendc.faas.service.telemetry.SchedulerStats
-import java.lang.IllegalStateException
-import java.time.Duration
-import java.time.InstantSource
-import java.util.ArrayDeque
-import java.util.Random
-import java.util.UUID
-import kotlin.coroutines.Continuation
-import kotlin.coroutines.resumeWithException
-
-/**
- * Implementation of the [FaaSService] interface.
- *
- * This component acts as the function router from the SPEC RG Reference Architecture for FaaS and is responsible
- * for routing incoming requests or events to the correct [FunctionInstance]. If no [FunctionInstance] is available,
- * this component queues the events to await the deployment of new instances.
- */
-internal class FaaSServiceImpl(
- dispatcher: Dispatcher,
- private val deployer: FunctionDeployer,
- private val routingPolicy: RoutingPolicy,
- private val terminationPolicy: FunctionTerminationPolicy,
- quantum: Duration,
-) : FaaSService, FunctionInstanceListener {
- /**
- * The logger instance of this server.
- */
- private val logger = KotlinLogging.logger {}
-
- /**
- * The [Pacer] to use for scheduling the scheduler cycles.
- */
- private val pacer = Pacer(dispatcher, quantum.toMillis()) { doSchedule() }
-
- /**
- * The [InstantSource] instance representing the clock.
- */
- private val clock = dispatcher.timeSource
-
- /**
- * The [Random] instance used to generate unique identifiers for the objects.
- */
- private val random = Random(0)
-
- /**
- * The registered functions for this service.
- */
- private val functions = mutableMapOf<UUID, FunctionObject>()
- private val functionsByName = mutableMapOf<String, FunctionObject>()
-
- /**
- * The queue of invocation requests.
- */
- private val queue = ArrayDeque<InvocationRequest>()
-
- /**
- * Metrics tracked by the service.
- */
- private var totalInvocations = 0L
- private var timelyInvocations = 0L
- private var delayedInvocations = 0L
-
- override fun newClient(): FaaSClient {
- return object : FaaSClient {
- private var isClosed: Boolean = false
-
- /**
- * Exposes a [FunctionObject] to a client-exposed [FaaSFunction] instance.
- */
- private fun FunctionObject.asClientFunction(): FaaSFunction {
- return FaaSFunctionImpl(this@FaaSServiceImpl, this)
- }
-
- override suspend fun queryFunctions(): List<FaaSFunction> {
- check(!isClosed) { "Client is already closed" }
-
- return functions.values.map { it.asClientFunction() }
- }
-
- override suspend fun findFunction(id: UUID): FaaSFunction? {
- check(!isClosed) { "Client is already closed" }
-
- return functions[id]?.asClientFunction()
- }
-
- override suspend fun findFunction(name: String): FaaSFunction? {
- check(!isClosed) { "Client is already closed" }
-
- return functionsByName[name]?.asClientFunction()
- }
-
- override suspend fun newFunction(
- name: String,
- memorySize: Long,
- labels: Map<String, String>,
- meta: Map<String, Any>,
- ): FaaSFunction {
- check(!isClosed) { "Client is already closed" }
- require(name !in functionsByName) { "Function with same name exists" }
-
- val uid = UUID(clock.millis(), random.nextLong())
- val function =
- FunctionObject(
- uid,
- name,
- memorySize,
- labels,
- meta,
- )
-
- functionsByName[name] = function
- functions[uid] = function
-
- return function.asClientFunction()
- }
-
- override suspend fun invoke(name: String) {
- check(!isClosed) { "Client is already closed" }
-
- val func = requireNotNull(functionsByName[name]) { "Unknown function" }
- this@FaaSServiceImpl.invoke(func)
- }
-
- override fun close() {
- isClosed = true
- }
- }
- }
-
- override fun getSchedulerStats(): SchedulerStats {
- return SchedulerStats(totalInvocations, timelyInvocations, delayedInvocations)
- }
-
- override fun getFunctionStats(function: FaaSFunction): FunctionStats {
- val func = requireNotNull(functions[function.uid]) { "Unknown function" }
- return func.getStats()
- }
-
- /**
- * Indicate that a new scheduling cycle is needed due to a change to the service's state.
- */
- private fun schedule() {
- // Bail out in case the queue is empty.
- if (queue.isEmpty()) {
- return
- }
-
- pacer.enqueue()
- }
-
- /**
- * Run a single scheduling iteration.
- */
- @OptIn(InternalCoroutinesApi::class)
- private fun doSchedule() {
- try {
- while (queue.isNotEmpty()) {
- val (submitTime, function, cont) = queue.poll()
-
- val instances = function.instances
-
- // Check if there exists an instance of the function
- val activeInstance =
- if (instances.isNotEmpty()) {
- routingPolicy.select(instances, function)
- } else {
- null
- }
-
- val instance =
- if (activeInstance != null) {
- timelyInvocations++
- function.reportDeployment(isDelayed = false)
-
- activeInstance
- } else {
- val instance = deployer.deploy(function, this)
- instances.add(instance)
- terminationPolicy.enqueue(instance)
-
- delayedInvocations++
- function.reportDeployment(isDelayed = true)
-
- instance
- }
-
- suspend {
- val start = clock.millis()
- function.reportStart(start, submitTime)
- try {
- instance.invoke()
- } catch (e: Throwable) {
- logger.debug(e) { "Function invocation failed" }
- function.reportFailure()
- } finally {
- val end = clock.millis()
- function.reportEnd(end - start)
- }
- }.startCoroutineCancellable(cont)
- }
- } catch (cause: Throwable) {
- logger.error(cause) { "Exception occurred during scheduling cycle" }
- }
- }
-
- suspend fun invoke(function: FunctionObject) {
- check(function.uid in functions) { "Function does not exist (anymore)" }
-
- totalInvocations++
- function.reportSubmission()
-
- return suspendCancellableCoroutine { cont ->
- if (!queue.add(InvocationRequest(clock.millis(), function, cont))) {
- cont.resumeWithException(IllegalStateException("Failed to enqueue request"))
- } else {
- schedule()
- }
- }
- }
-
- fun delete(function: FunctionObject) {
- functions.remove(function.uid)
- functionsByName.remove(function.name)
- }
-
- override fun close() {
- // Stop all function instances
- for ((_, function) in functions) {
- function.close()
- }
- }
-
- override fun onStateChanged(
- instance: FunctionInstance,
- newState: FunctionInstanceState,
- ) {
- terminationPolicy.onStateChanged(instance, newState)
-
- if (newState == FunctionInstanceState.Deleted) {
- val function = instance.function
- function.instances.remove(instance)
- }
- }
-
- /**
- * A request to invoke a function.
- */
- private data class InvocationRequest(val timestamp: Long, val function: FunctionObject, val cont: Continuation<Unit>)
-}
diff --git a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/router/RandomRoutingPolicy.kt b/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/router/RandomRoutingPolicy.kt
deleted file mode 100644
index 1eb03e5a..00000000
--- a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/router/RandomRoutingPolicy.kt
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.faas.service.router
-
-import org.opendc.faas.service.FunctionObject
-import org.opendc.faas.service.deployer.FunctionInstance
-import java.util.SplittableRandom
-import java.util.random.RandomGenerator
-
-/**
- * A [RoutingPolicy] that selects a random function instance.
- */
-public class RandomRoutingPolicy(private val random: RandomGenerator = SplittableRandom(0)) : RoutingPolicy {
- override fun select(
- instances: List<FunctionInstance>,
- function: FunctionObject,
- ): FunctionInstance {
- val idx = random.nextInt(instances.size)
- return instances.elementAt(idx)
- }
-}
diff --git a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/router/RoutingPolicy.kt b/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/router/RoutingPolicy.kt
deleted file mode 100644
index c8ea37fc..00000000
--- a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/router/RoutingPolicy.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.faas.service.router
-
-import org.opendc.faas.service.FunctionObject
-import org.opendc.faas.service.deployer.FunctionInstance
-
-/**
- * A [RoutingPolicy] decides to which [FunctionInstance] a function invocation should be routed.
- */
-public interface RoutingPolicy {
- /**
- * Select the instance to which the request should be routed to.
- */
- public fun select(
- instances: List<FunctionInstance>,
- function: FunctionObject,
- ): FunctionInstance?
-}
diff --git a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/telemetry/FunctionStats.kt b/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/telemetry/FunctionStats.kt
deleted file mode 100644
index db6db6c1..00000000
--- a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/telemetry/FunctionStats.kt
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.faas.service.telemetry
-
-import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics
-
-/**
- * Statistics about function invocations.
- *
- * @property totalInvocations The number of function invocations.
- * @property timelyInvocations The number of function invocations that could be handled directly.
- * @property delayedInvocations The number of function invocations that are delayed (cold starts).
- * @property failedInvocations The number of function invocations that failed.
- * @property activeInstances The number of active function instances.
- * @property idleInstances The number of idle function instances.
- * @property waitTime Statistics about the wait time of a function invocation.
- * @property activeTime Statistics about the runtime of a function invocation.
- */
-public data class FunctionStats(
- val totalInvocations: Long,
- val timelyInvocations: Long,
- val delayedInvocations: Long,
- val failedInvocations: Long,
- val activeInstances: Int,
- val idleInstances: Int,
- val waitTime: DescriptiveStatistics,
- val activeTime: DescriptiveStatistics,
-)
diff --git a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/telemetry/SchedulerStats.kt b/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/telemetry/SchedulerStats.kt
deleted file mode 100644
index b65dfb03..00000000
--- a/opendc-faas/opendc-faas-service/src/main/kotlin/org/opendc/faas/service/telemetry/SchedulerStats.kt
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.faas.service.telemetry
-
-/**
- * Statistics reported by the FaaS scheduler.
- *
- * @property totalInvocations The total amount of function invocations received by the scheduler.
- * @property timelyInvocations The amount of function invocations that could be handled directly.
- * @property delayedInvocations The amount of function invocations that were delayed due to function deployment.
- */
-public data class SchedulerStats(
- val totalInvocations: Long,
- val timelyInvocations: Long,
- val delayedInvocations: Long,
-)
diff --git a/opendc-faas/opendc-faas-service/src/test/kotlin/org/opendc/faas/service/FaaSServiceTest.kt b/opendc-faas/opendc-faas-service/src/test/kotlin/org/opendc/faas/service/FaaSServiceTest.kt
deleted file mode 100644
index 72a5f2c8..00000000
--- a/opendc-faas/opendc-faas-service/src/test/kotlin/org/opendc/faas/service/FaaSServiceTest.kt
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.faas.service
-
-import io.mockk.every
-import io.mockk.mockk
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.Assertions.assertNotNull
-import org.junit.jupiter.api.Assertions.assertNull
-import org.junit.jupiter.api.Test
-import org.junit.jupiter.api.assertDoesNotThrow
-import org.junit.jupiter.api.assertThrows
-import org.opendc.faas.api.FaaSFunction
-import org.opendc.faas.service.deployer.FunctionDeployer
-import org.opendc.faas.service.deployer.FunctionInstance
-import org.opendc.faas.service.deployer.FunctionInstanceState
-import org.opendc.simulator.kotlin.runSimulation
-import java.util.UUID
-
-/**
- * Test suite for the [FaaSService] implementation.
- */
-internal class FaaSServiceTest {
- @Test
- fun testClientState() =
- runSimulation {
- val service = FaaSService(dispatcher, mockk(), mockk(), mockk())
-
- val client = assertDoesNotThrow { service.newClient() }
- assertDoesNotThrow { client.close() }
-
- assertThrows<IllegalStateException> { client.queryFunctions() }
- assertThrows<IllegalStateException> { client.newFunction("test", 128) }
- assertThrows<IllegalStateException> { client.invoke("test") }
- assertThrows<IllegalStateException> { client.findFunction(UUID.randomUUID()) }
- assertThrows<IllegalStateException> { client.findFunction("name") }
- }
-
- @Test
- fun testClientInvokeUnknown() =
- runSimulation {
- val service = FaaSService(dispatcher, mockk(), mockk(), mockk())
-
- val client = service.newClient()
-
- assertThrows<IllegalArgumentException> { client.invoke("test") }
- }
-
- @Test
- fun testClientFunctionCreation() =
- runSimulation {
- val service = FaaSService(dispatcher, mockk(), mockk(), mockk())
-
- val client = service.newClient()
-
- val function = client.newFunction("test", 128)
-
- assertEquals("test", function.name)
- }
-
- @Test
- fun testClientFunctionQuery() =
- runSimulation {
- val service = FaaSService(dispatcher, mockk(), mockk(), mockk())
-
- val client = service.newClient()
-
- assertEquals(emptyList<FaaSFunction>(), client.queryFunctions())
-
- val function = client.newFunction("test", 128)
-
- assertEquals(listOf(function), client.queryFunctions())
- }
-
- @Test
- fun testClientFunctionFindById() =
- runSimulation {
- val service = FaaSService(dispatcher, mockk(), mockk(), mockk())
-
- val client = service.newClient()
-
- assertEquals(emptyList<FaaSFunction>(), client.queryFunctions())
-
- val function = client.newFunction("test", 128)
-
- assertNotNull(client.findFunction(function.uid))
- }
-
- @Test
- fun testClientFunctionFindByName() =
- runSimulation {
- val service = FaaSService(dispatcher, mockk(), mockk(), mockk())
-
- val client = service.newClient()
-
- assertEquals(emptyList<FaaSFunction>(), client.queryFunctions())
-
- val function = client.newFunction("test", 128)
-
- assertNotNull(client.findFunction(function.name))
- }
-
- @Test
- fun testClientFunctionDuplicateName() =
- runSimulation {
- val service = FaaSService(dispatcher, mockk(), mockk(), mockk())
-
- val client = service.newClient()
-
- client.newFunction("test", 128)
-
- assertThrows<IllegalArgumentException> { client.newFunction("test", 128) }
- }
-
- @Test
- fun testClientFunctionDelete() =
- runSimulation {
- val service = FaaSService(dispatcher, mockk(), mockk(), mockk())
-
- val client = service.newClient()
- val function = client.newFunction("test", 128)
- assertNotNull(client.findFunction(function.uid))
- function.delete()
- assertNull(client.findFunction(function.uid))
-
- // Delete should be idempotent
- function.delete()
- }
-
- @Test
- fun testClientFunctionCannotInvokeDeleted() =
- runSimulation {
- val service = FaaSService(dispatcher, mockk(), mockk(), mockk())
-
- val client = service.newClient()
- val function = client.newFunction("test", 128)
- assertNotNull(client.findFunction(function.uid))
- function.delete()
-
- assertThrows<IllegalStateException> { function.invoke() }
- }
-
- @Test
- fun testClientFunctionInvoke() =
- runSimulation {
- val deployer = mockk<FunctionDeployer>()
- val service = FaaSService(dispatcher, deployer, mockk(), mockk(relaxUnitFun = true))
-
- every { deployer.deploy(any(), any()) } answers {
- object : FunctionInstance {
- override val state: FunctionInstanceState = FunctionInstanceState.Idle
- override val function: FunctionObject = it.invocation.args[0] as FunctionObject
-
- override suspend fun invoke() {}
-
- override fun close() {}
- }
- }
-
- val client = service.newClient()
- val function = client.newFunction("test", 128)
-
- function.invoke()
- }
-}
diff --git a/opendc-faas/opendc-faas-simulator/build.gradle.kts b/opendc-faas/opendc-faas-simulator/build.gradle.kts
deleted file mode 100644
index 20374324..00000000
--- a/opendc-faas/opendc-faas-simulator/build.gradle.kts
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-description = "Simulator for the OpenDC FaaS platform"
-
-// Build configuration
-plugins {
- `kotlin-library-conventions`
-}
-
-dependencies {
- api(projects.opendcFaas.opendcFaasService)
- api(projects.opendcSimulator.opendcSimulatorCompute)
-
- testImplementation(projects.opendcSimulator.opendcSimulatorCore)
- testRuntimeOnly(libs.slf4j.simple)
-}
diff --git a/opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/SimFunctionDeployer.kt b/opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/SimFunctionDeployer.kt
deleted file mode 100644
index c81dc523..00000000
--- a/opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/SimFunctionDeployer.kt
+++ /dev/null
@@ -1,197 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.faas.simulator
-
-import kotlinx.coroutines.CancellationException
-import kotlinx.coroutines.CoroutineScope
-import kotlinx.coroutines.Job
-import kotlinx.coroutines.cancel
-import kotlinx.coroutines.channels.Channel
-import kotlinx.coroutines.delay
-import kotlinx.coroutines.isActive
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.suspendCancellableCoroutine
-import org.opendc.common.Dispatcher
-import org.opendc.common.asCoroutineDispatcher
-import org.opendc.faas.service.FunctionObject
-import org.opendc.faas.service.deployer.FunctionDeployer
-import org.opendc.faas.service.deployer.FunctionInstance
-import org.opendc.faas.service.deployer.FunctionInstanceListener
-import org.opendc.faas.service.deployer.FunctionInstanceState
-import org.opendc.faas.simulator.delay.DelayInjector
-import org.opendc.faas.simulator.workload.SimFaaSWorkloadMapper
-import org.opendc.faas.simulator.workload.SimMetaFaaSWorkloadMapper
-import org.opendc.simulator.compute.SimBareMetalMachine
-import org.opendc.simulator.compute.SimMachine
-import org.opendc.simulator.compute.model.MachineModel
-import org.opendc.simulator.compute.runWorkload
-import org.opendc.simulator.flow2.FlowEngine
-import java.util.ArrayDeque
-import kotlin.coroutines.Continuation
-import kotlin.coroutines.resume
-import kotlin.coroutines.resumeWithException
-
-/**
- * A [FunctionDeployer] that uses that simulates the [FunctionInstance]s.
- */
-public class SimFunctionDeployer(
- private val dispatcher: Dispatcher,
- private val model: MachineModel,
- private val delayInjector: DelayInjector,
- private val mapper: SimFaaSWorkloadMapper = SimMetaFaaSWorkloadMapper(),
-) : FunctionDeployer, AutoCloseable {
- /**
- * The [CoroutineScope] of this deployer.
- */
- private val scope = CoroutineScope(dispatcher.asCoroutineDispatcher() + Job())
-
- override fun deploy(
- function: FunctionObject,
- listener: FunctionInstanceListener,
- ): Instance {
- val instance = Instance(function, listener)
- instance.start()
- return instance
- }
-
- /**
- * A simulated [FunctionInstance].
- */
- public inner class Instance(override val function: FunctionObject, private val listener: FunctionInstanceListener) :
- FunctionInstance {
- /**
- * The workload associated with this instance.
- */
- private val workload = mapper.createWorkload(function)
-
- /**
- * The machine that will execute the workloads.
- */
- public val machine: SimMachine =
- SimBareMetalMachine.create(
- FlowEngine.create(dispatcher).newGraph(),
- model,
- )
-
- /**
- * The job associated with the lifecycle of the instance.
- */
- private var job: Job? = null
-
- /**
- * The invocation request queue.
- */
- private val queue = ArrayDeque<InvocationRequest>()
-
- /**
- * A channel used to signal that new invocations have been enqueued.
- */
- private val chan = Channel<Unit>(Channel.RENDEZVOUS)
-
- override var state: FunctionInstanceState = FunctionInstanceState.Provisioning
- set(value) {
- if (field != value) {
- listener.onStateChanged(this, value)
- }
-
- field = value
- }
-
- override suspend fun invoke() {
- check(state != FunctionInstanceState.Deleted) { "Function instance has been released" }
- return suspendCancellableCoroutine { cont ->
- queue.add(InvocationRequest(cont))
- chan.trySend(Unit)
- }
- }
-
- override fun close() {
- state = FunctionInstanceState.Deleted
- stop()
- machine.cancel()
- }
-
- override fun toString(): String = "FunctionInstance[state=$state]"
-
- /**
- * Start the function instance.
- */
- internal fun start() {
- check(state == FunctionInstanceState.Provisioning) { "Invalid state of function instance" }
- job =
- scope.launch {
- delay(delayInjector.getColdStartDelay(this@Instance))
-
- launch {
- try {
- machine.runWorkload(workload)
- } finally {
- state = FunctionInstanceState.Deleted
- }
- }
-
- while (isActive) {
- if (queue.isEmpty()) {
- chan.receive()
- }
-
- state = FunctionInstanceState.Active
- while (queue.isNotEmpty()) {
- val request = queue.poll()
- try {
- workload.invoke()
- request.cont.resume(Unit)
- } catch (cause: CancellationException) {
- request.cont.resumeWithException(cause)
- throw cause
- } catch (cause: Throwable) {
- request.cont.resumeWithException(cause)
- }
- }
- state = FunctionInstanceState.Idle
- }
- }
- }
-
- /**
- * Stop the function instance.
- */
- private fun stop() {
- val job = job
-
- if (job != null) {
- this.job = null
- job.cancel()
- }
- }
- }
-
- override fun close() {
- scope.cancel()
- }
-
- /**
- * A function invocation request.
- */
- private data class InvocationRequest(val cont: Continuation<Unit>)
-}
diff --git a/opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/delay/ColdStartModel.kt b/opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/delay/ColdStartModel.kt
deleted file mode 100644
index f5035ca2..00000000
--- a/opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/delay/ColdStartModel.kt
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.faas.simulator.delay
-
-/**
- * Model parameters for the cold start times of serverless services.
- */
-public enum class ColdStartModel {
- // Min and max memory values from [Peeking Behind The Curtains of Serverless Platforms][2018],
- // other values deduced from linear curve.
- LAMBDA {
- override fun coldStartParam(provisionedMemory: Int): Pair<Double, Double> {
- return when (provisionedMemory) {
- 128 -> Pair(265.21, 354.43)
- 256 -> Pair(261.46, 334.23)
- 512 -> Pair(257.71, 314.03)
- 1024 -> Pair(253.96, 293.83)
- 1536 -> Pair(250.07, 273.63)
- 2048 -> Pair(246.11, 253.43)
- else -> Pair(0.0, 1.0)
- }
- }
- },
- AZURE {
- // Azure by default uses 1.5gb memory to instantiate functions
- override fun coldStartParam(provisionedMemory: Int): Pair<Double, Double> {
- return Pair(242.66, 340.67)
- }
- },
-
- GOOGLE {
- override fun coldStartParam(provisionedMemory: Int): Pair<Double, Double> {
- return when (provisionedMemory) {
- 128 -> Pair(493.04, 345.8)
- 256 -> Pair(416.59, 301.5)
- 512 -> Pair(340.14, 257.2)
- 1024 -> Pair(263.69, 212.9)
- 1536 -> Pair(187.24, 168.6)
- 2048 -> Pair(110.77, 124.3)
- else -> Pair(0.0, 1.0)
- }
- }
- }, ;
-
- /**
- * Obtain the stochastic parameters for the cold start models.
- */
- public abstract fun coldStartParam(provisionedMemory: Int): Pair<Double, Double>
-}
diff --git a/opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/delay/DelayInjector.kt b/opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/delay/DelayInjector.kt
deleted file mode 100644
index c1df682c..00000000
--- a/opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/delay/DelayInjector.kt
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.faas.simulator.delay
-
-import org.opendc.faas.service.deployer.FunctionInstance
-
-/**
- * An interface for modeling the delay caused by function cold starts.
- */
-public interface DelayInjector {
- /**
- * Returns the cold start delay duration sampled from a normal distribution, the distribution is
- * initialized using custom mean and standard deviation based on provisioned memory, language and
- * failure model
- */
- public fun getColdStartDelay(instance: FunctionInstance): Long
-}
diff --git a/opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/delay/StochasticDelayInjector.kt b/opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/delay/StochasticDelayInjector.kt
deleted file mode 100644
index de7b4aa5..00000000
--- a/opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/delay/StochasticDelayInjector.kt
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.faas.simulator.delay
-
-import org.opendc.faas.service.deployer.FunctionInstance
-import java.util.random.RandomGenerator
-import kotlin.math.abs
-
-/*
- * Interface for instance deployment delay estimation.
- */
-public class StochasticDelayInjector(private val model: ColdStartModel, private val random: RandomGenerator) : DelayInjector {
- override fun getColdStartDelay(instance: FunctionInstance): Long {
- val (mean, sd) = model.coldStartParam(instance.function.memorySize.toInt())
- return abs(random.nextGaussian() * sd + mean).toLong()
- }
-}
diff --git a/opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/workload/SimFaaSWorkload.kt b/opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/workload/SimFaaSWorkload.kt
deleted file mode 100644
index aaee26c0..00000000
--- a/opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/workload/SimFaaSWorkload.kt
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.faas.simulator.workload
-
-import org.opendc.simulator.compute.workload.SimWorkload
-
-/**
- * A model for a serverless function workload, which may be invoked multiple times.
- */
-public interface SimFaaSWorkload : SimWorkload {
- /**
- * This method is invoked when an active function instance is invoked.
- */
- public suspend fun invoke()
-}
diff --git a/opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/workload/SimFaaSWorkloadMapper.kt b/opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/workload/SimFaaSWorkloadMapper.kt
deleted file mode 100644
index b22dd659..00000000
--- a/opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/workload/SimFaaSWorkloadMapper.kt
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.faas.simulator.workload
-
-import org.opendc.faas.api.FaaSFunction
-import org.opendc.faas.service.FunctionObject
-
-/**
- * A [SimFaaSWorkloadMapper] is responsible for mapping a [FaaSFunction] to a [SimFaaSWorkload] that
- * can be simulated.
- */
-public fun interface SimFaaSWorkloadMapper {
- /**
- * Map the specified [function] to a [SimFaaSWorkload] that can be simulated.
- */
- public fun createWorkload(function: FunctionObject): SimFaaSWorkload
-}
diff --git a/opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/workload/SimMetaFaaSWorkloadMapper.kt b/opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/workload/SimMetaFaaSWorkloadMapper.kt
deleted file mode 100644
index 8da8bd19..00000000
--- a/opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/workload/SimMetaFaaSWorkloadMapper.kt
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.faas.simulator.workload
-
-import org.opendc.faas.service.FunctionObject
-
-/**
- * A [SimFaaSWorkloadMapper] that maps a [FunctionObject] to a workload via the meta-data.
- */
-public class SimMetaFaaSWorkloadMapper(private val key: String = "workload") : SimFaaSWorkloadMapper {
- override fun createWorkload(function: FunctionObject): SimFaaSWorkload {
- return requireNotNull(function.meta[key]) as SimFaaSWorkload
- }
-}
diff --git a/opendc-faas/opendc-faas-simulator/src/test/kotlin/org/opendc/faas/simulator/SimFaaSServiceTest.kt b/opendc-faas/opendc-faas-simulator/src/test/kotlin/org/opendc/faas/simulator/SimFaaSServiceTest.kt
deleted file mode 100644
index 2d6d4ac8..00000000
--- a/opendc-faas/opendc-faas-simulator/src/test/kotlin/org/opendc/faas/simulator/SimFaaSServiceTest.kt
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.faas.simulator
-
-import io.mockk.coVerify
-import io.mockk.spyk
-import kotlinx.coroutines.delay
-import kotlinx.coroutines.yield
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.BeforeEach
-import org.junit.jupiter.api.Test
-import org.junit.jupiter.api.assertAll
-import org.opendc.faas.service.FaaSService
-import org.opendc.faas.service.autoscaler.FunctionTerminationPolicyFixed
-import org.opendc.faas.service.router.RandomRoutingPolicy
-import org.opendc.faas.simulator.delay.ColdStartModel
-import org.opendc.faas.simulator.delay.StochasticDelayInjector
-import org.opendc.faas.simulator.workload.SimFaaSWorkload
-import org.opendc.simulator.compute.model.Cpu
-import org.opendc.simulator.compute.model.MachineModel
-import org.opendc.simulator.compute.model.MemoryUnit
-import org.opendc.simulator.compute.workload.SimWorkload
-import org.opendc.simulator.compute.workload.SimWorkloads
-import org.opendc.simulator.kotlin.runSimulation
-import java.time.Duration
-import java.util.Random
-
-/**
- * A test suite for the [FaaSService] implementation under simulated conditions.
- */
-internal class SimFaaSServiceTest {
- private lateinit var machineModel: MachineModel
-
- @BeforeEach
- fun setUp() {
- machineModel =
- MachineModel(
- Cpu(
- 0,
- 2,
- 1000.0,
- "Intel",
- "Xeon",
- "amd64",
- ),
- MemoryUnit("Crucial", "MTA18ASF4G72AZ-3G2B1", 3200.0, 32_000 * 4),
- )
- }
-
- @Test
- fun testSmoke() =
- runSimulation {
- val random = Random(0)
- val workload =
- spyk(
- object : SimFaaSWorkload, SimWorkload by SimWorkloads.runtime(1000, 1.0) {
- override suspend fun invoke() {
- delay(random.nextInt(1000).toLong())
- }
- },
- )
-
- val delayInjector = StochasticDelayInjector(ColdStartModel.GOOGLE, random)
- val deployer = SimFunctionDeployer(dispatcher, machineModel, delayInjector) { workload }
- val service =
- FaaSService(
- dispatcher,
- deployer,
- RandomRoutingPolicy(),
- FunctionTerminationPolicyFixed(dispatcher, timeout = Duration.ofMillis(10000)),
- )
-
- val client = service.newClient()
-
- val function = client.newFunction("test", 128)
- function.invoke()
- delay(2000)
-
- service.close()
- deployer.close()
-
- yield()
-
- val funcStats = service.getFunctionStats(function)
-
- // fixme: waitTime is probably wrong, and should be 100
- assertAll(
- { coVerify { workload.invoke() } },
- { assertEquals(1, funcStats.totalInvocations) },
- { assertEquals(1, funcStats.delayedInvocations) },
- { assertEquals(0, funcStats.failedInvocations) },
- { assertEquals(0.0, funcStats.waitTime.mean) },
- { assertEquals(1285.0, funcStats.activeTime.mean) },
- )
- }
-}
diff --git a/opendc-simulator/opendc-simulator-compute/build.gradle.kts b/opendc-simulator/opendc-simulator-compute/build.gradle.kts
index 0ea0c252..246fa5e8 100644
--- a/opendc-simulator/opendc-simulator-compute/build.gradle.kts
+++ b/opendc-simulator/opendc-simulator-compute/build.gradle.kts
@@ -29,8 +29,6 @@ plugins {
dependencies {
api(projects.opendcSimulator.opendcSimulatorFlow)
- api(projects.opendcSimulator.opendcSimulatorPower)
- api(projects.opendcSimulator.opendcSimulatorNetwork)
implementation(projects.opendcSimulator.opendcSimulatorCore)
testImplementation(libs.slf4j.simple)
diff --git a/opendc-simulator/opendc-simulator-compute/src/jmh/kotlin/org/opendc/simulator/compute/SimMachineBenchmarks.kt b/opendc-simulator/opendc-simulator-compute/src/jmh/kotlin/org/opendc/simulator/compute/SimMachineBenchmarks.kt
index 5975f944..8d8f4ef8 100644
--- a/opendc-simulator/opendc-simulator-compute/src/jmh/kotlin/org/opendc/simulator/compute/SimMachineBenchmarks.kt
+++ b/opendc-simulator/opendc-simulator-compute/src/jmh/kotlin/org/opendc/simulator/compute/SimMachineBenchmarks.kt
@@ -24,12 +24,13 @@ package org.opendc.simulator.compute
import kotlinx.coroutines.coroutineScope
import kotlinx.coroutines.launch
-import org.opendc.simulator.compute.kernel.SimHypervisor
-import org.opendc.simulator.compute.model.Cpu
-import org.opendc.simulator.compute.model.MachineModel
-import org.opendc.simulator.compute.model.MemoryUnit
-import org.opendc.simulator.compute.model.ProcessingNode
-import org.opendc.simulator.compute.workload.SimTrace
+import org.opendc.simulator.compute.old.SimBareMetalMachine
+import org.opendc.simulator.compute.old.kernel.SimHypervisor
+import org.opendc.simulator.compute.old.model.CpuModel
+import org.opendc.simulator.compute.old.model.MachineModel
+import org.opendc.simulator.compute.old.model.MemoryUnit
+import org.opendc.simulator.compute.old.model.ProcessingNode
+import org.opendc.simulator.compute.old.workload.SimTrace
import org.opendc.simulator.flow2.FlowEngine
import org.opendc.simulator.flow2.mux.FlowMultiplexerFactory
import org.opendc.simulator.kotlin.runSimulation
@@ -60,7 +61,7 @@ class SimMachineBenchmarks {
MachineModel(
// cpus
List(cpuNode.coreCount) {
- Cpu(
+ CpuModel(
cpuNode,
it,
1000.0,
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimAbstractMachine.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimAbstractMachine.java
deleted file mode 100644
index 3a9e35c1..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimAbstractMachine.java
+++ /dev/null
@@ -1,354 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.function.Consumer;
-import org.opendc.simulator.compute.device.SimNetworkAdapter;
-import org.opendc.simulator.compute.model.MachineModel;
-import org.opendc.simulator.compute.model.MemoryUnit;
-import org.opendc.simulator.compute.workload.SimWorkload;
-import org.opendc.simulator.flow2.FlowGraph;
-import org.opendc.simulator.flow2.Inlet;
-import org.opendc.simulator.flow2.Outlet;
-import org.opendc.simulator.flow2.sink.SimpleFlowSink;
-import org.opendc.simulator.flow2.util.FlowTransformer;
-import org.opendc.simulator.flow2.util.FlowTransforms;
-
-/**
- * Abstract implementation of the {@link SimMachine} interface.
- */
-public abstract class SimAbstractMachine implements SimMachine {
- private final MachineModel model;
-
- private SimAbstractMachineContext activeContext;
-
- /**
- * Construct a {@link SimAbstractMachine} instance.
- *
- * @param model The model of the machine.
- */
- public SimAbstractMachine(MachineModel model) {
- this.model = model;
- }
-
- @Override
- public final MachineModel getModel() {
- return model;
- }
-
- @Override
- public final SimMachineContext startWorkload(
- SimWorkload workload, Map<String, Object> meta, Consumer<Exception> completion) {
- if (activeContext != null) {
- throw new IllegalStateException("A machine cannot run multiple workloads concurrently");
- }
-
- final SimAbstractMachineContext ctx = createContext(workload, new HashMap<>(meta), completion);
- ctx.start();
- return ctx;
- }
-
- @Override
- public final void cancel() {
- final SimAbstractMachineContext context = activeContext;
- if (context != null) {
- context.shutdown();
- }
- }
-
- /**
- * Construct a new {@link SimAbstractMachineContext} instance representing the active execution.
- *
- * @param workload The workload to start on the machine.
- * @param meta The metadata to pass to the workload.
- * @param completion A block that is invoked when the workload completes carrying an exception if thrown by the workload.
- */
- protected abstract SimAbstractMachineContext createContext(
- SimWorkload workload, Map<String, Object> meta, Consumer<Exception> completion);
-
- /**
- * Return the active {@link SimAbstractMachineContext} instance (if any).
- */
- protected SimAbstractMachineContext getActiveContext() {
- return activeContext;
- }
-
- /**
- * The execution context in which the workload runs.
- */
- public abstract static class SimAbstractMachineContext implements SimMachineContext {
- private final SimAbstractMachine machine;
- private final SimWorkload workload;
- private final Map<String, Object> meta;
- private final Consumer<Exception> completion;
- private boolean isClosed;
- private SimWorkload snapshot;
-
- /**
- * Construct a new {@link SimAbstractMachineContext} instance.
- *
- * @param machine The {@link SimAbstractMachine} to which the context belongs.
- * @param workload The {@link SimWorkload} to which the context belongs.
- * @param meta The metadata passed to the context.
- * @param completion A block that is invoked when the workload completes carrying an exception if thrown by the workload.
- */
- public SimAbstractMachineContext(
- SimAbstractMachine machine,
- SimWorkload workload,
- Map<String, Object> meta,
- Consumer<Exception> completion) {
- this.machine = machine;
- this.workload = workload;
- this.meta = meta;
- this.completion = completion;
- }
-
- @Override
- public final Map<String, Object> getMeta() {
- return meta;
- }
-
- @Override
- public void makeSnapshot(long now) {
- this.snapshot = workload.getSnapshot();
- }
-
- @Override
- public SimWorkload getSnapshot(long now) {
- return this.snapshot;
- }
-
- @Override
- public void reset() {
- final FlowGraph graph = getMemory().getInput().getGraph();
-
- final Inlet inlet = getCpu().getInput();
- graph.disconnect(inlet);
-
- graph.disconnect(getMemory().getInput());
-
- for (SimNetworkInterface ifx : getNetworkInterfaces()) {
- ((NetworkAdapter) ifx).disconnect();
- }
-
- for (SimStorageInterface storage : getStorageInterfaces()) {
- StorageDevice impl = (StorageDevice) storage;
- graph.disconnect(impl.getRead());
- graph.disconnect(impl.getWrite());
- }
- }
-
- @Override
- public final void shutdown() {
- shutdown(null);
- }
-
- @Override
- public final void shutdown(Exception cause) {
- if (isClosed) {
- return;
- }
-
- isClosed = true;
- final SimAbstractMachine machine = this.machine;
- assert machine.activeContext == this : "Invariant violation: multiple contexts active for a single machine";
- machine.activeContext = null;
-
- // Cancel all the resources associated with the machine
- doCancel();
-
- try {
- workload.onStop(this);
- } catch (Exception e) {
- if (cause == null) {
- cause = e;
- } else {
- cause.addSuppressed(e);
- }
- }
-
- completion.accept(cause);
- }
-
- /**
- * Start this context.
- */
- final void start() {
- try {
- machine.activeContext = this;
- workload.onStart(this);
- } catch (Exception cause) {
- shutdown(cause);
- }
- }
-
- /**
- * Run the stop procedures for the resources associated with the machine.
- */
- protected void doCancel() {
- reset();
- }
-
- @Override
- public String toString() {
- return "SimAbstractMachine.Context";
- }
- }
-
- /**
- * The [SimMemory] implementation for a machine.
- */
- public static final class Memory implements SimMemory {
- private final SimpleFlowSink sink;
- private final MemoryUnit memoryUnit;
-
- public Memory(FlowGraph graph, MemoryUnit memoryUnit) {
-
- this.memoryUnit = memoryUnit;
- this.sink = new SimpleFlowSink(graph, (float) memoryUnit.getSize());
- }
-
- @Override
- public double getCapacity() {
- return sink.getCapacity();
- }
-
- @Override
- public MemoryUnit getMemoryUnit() {
- return memoryUnit;
- }
-
- @Override
- public Inlet getInput() {
- return sink.getInput();
- }
-
- @Override
- public String toString() {
- return "SimAbstractMachine.Memory";
- }
- }
-
- /**
- * A {@link SimNetworkAdapter} implementation for a machine.
- */
- public static class NetworkAdapter extends SimNetworkAdapter implements SimNetworkInterface {
- private final org.opendc.simulator.compute.model.NetworkAdapter model;
- private final FlowTransformer tx;
- private final FlowTransformer rx;
- private final String name;
-
- /**
- * Construct a {@link NetworkAdapter}.
- */
- public NetworkAdapter(FlowGraph graph, org.opendc.simulator.compute.model.NetworkAdapter model, int index) {
- this.model = model;
- this.tx = new FlowTransformer(graph, FlowTransforms.noop());
- this.rx = new FlowTransformer(graph, FlowTransforms.noop());
- this.name = "eth" + index;
- }
-
- @Override
- public String getName() {
- return name;
- }
-
- @Override
- public Inlet getTx() {
- return tx.getInput();
- }
-
- @Override
- public Outlet getRx() {
- return rx.getOutput();
- }
-
- @Override
- public double getBandwidth() {
- return model.getBandwidth();
- }
-
- @Override
- protected Outlet getOutlet() {
- return tx.getOutput();
- }
-
- @Override
- protected Inlet getInlet() {
- return rx.getInput();
- }
-
- @Override
- public String toString() {
- return "SimAbstractMachine.NetworkAdapterImpl[name=" + name + ", bandwidth=" + model.getBandwidth()
- + "Mbps]";
- }
- }
-
- /**
- * A {@link SimStorageInterface} implementation for a machine.
- */
- public static class StorageDevice implements SimStorageInterface {
- private final org.opendc.simulator.compute.model.StorageDevice model;
- private final SimpleFlowSink read;
- private final SimpleFlowSink write;
- private final String name;
-
- /**
- * Construct a {@link StorageDevice}.
- */
- public StorageDevice(FlowGraph graph, org.opendc.simulator.compute.model.StorageDevice model, int index) {
- this.model = model;
- this.read = new SimpleFlowSink(graph, (float) model.getReadBandwidth());
- this.write = new SimpleFlowSink(graph, (float) model.getWriteBandwidth());
- this.name = "disk" + index;
- }
-
- @Override
- public String getName() {
- return name;
- }
-
- @Override
- public Inlet getRead() {
- return read.getInput();
- }
-
- @Override
- public Inlet getWrite() {
- return write.getInput();
- }
-
- @Override
- public double getCapacity() {
- return model.getCapacity();
- }
-
- @Override
- public String toString() {
- return "SimAbstractMachine.StorageDeviceImpl[name=" + name + ", capacity=" + model.getCapacity() + "MB]";
- }
- }
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimBareMetalMachine.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimBareMetalMachine.java
deleted file mode 100644
index 6acc605e..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimBareMetalMachine.java
+++ /dev/null
@@ -1,280 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.function.Consumer;
-import org.opendc.simulator.compute.device.SimPeripheral;
-import org.opendc.simulator.compute.model.Cpu;
-import org.opendc.simulator.compute.model.MachineModel;
-import org.opendc.simulator.compute.workload.SimWorkload;
-import org.opendc.simulator.flow2.FlowGraph;
-import org.opendc.simulator.flow2.InPort;
-import org.opendc.simulator.flow2.Inlet;
-
-/**
- * A simulated bare-metal machine that is able to run a single workload.
- *
- * <p>
- * A {@link SimBareMetalMachine} is a stateful object, and you should be careful when operating this object concurrently. For
- * example, the class expects only a single concurrent call to {@link #startWorkload(SimWorkload, Map, Consumer)} )}.
- */
-public final class SimBareMetalMachine extends SimAbstractMachine {
- /**
- * The {@link FlowGraph} in which the simulation takes places.
- */
- private final FlowGraph graph;
-
- /**
- * The {@link SimPsu} of this bare metal machine.
- */
- private final SimPsu psu;
-
- /**
- * The resources of this machine.
- */
- private final SimCpu cpu;
-
- private final Memory memory;
- private final List<NetworkAdapter> net;
- private final List<StorageDevice> disk;
-
- /**
- * Construct a {@link SimBareMetalMachine} instance.
- *
- * @param graph The {@link FlowGraph} to which the machine belongs.
- * @param model The machine model to simulate.
- * @param psuFactory The {@link SimPsuFactory} to construct the power supply of the machine.
- */
- private SimBareMetalMachine(FlowGraph graph, MachineModel model, SimPsuFactory psuFactory) {
- super(model);
-
- this.graph = graph;
- this.psu = psuFactory.newPsu(this, graph);
-
- this.cpu = new SimCpu(psu, model.getCpu(), 0);
- this.memory = new Memory(graph, model.getMemory());
-
- int netIndex = 0;
- final ArrayList<NetworkAdapter> net = new ArrayList<>();
- this.net = net;
- for (org.opendc.simulator.compute.model.NetworkAdapter adapter : model.getNetwork()) {
- net.add(new NetworkAdapter(graph, adapter, netIndex++));
- }
-
- int diskIndex = 0;
- final ArrayList<StorageDevice> disk = new ArrayList<>();
- this.disk = disk;
- for (org.opendc.simulator.compute.model.StorageDevice device : model.getStorage()) {
- disk.add(new StorageDevice(graph, device, diskIndex++));
- }
- }
-
- /**
- * Create a {@link SimBareMetalMachine} instance.
- *
- * @param graph The {@link FlowGraph} to which the machine belongs.
- * @param model The machine model to simulate.
- * @param psuFactory The {@link SimPsuFactory} to construct the power supply of the machine.
- */
- public static SimBareMetalMachine create(FlowGraph graph, MachineModel model, SimPsuFactory psuFactory) {
- return new SimBareMetalMachine(graph, model, psuFactory);
- }
-
- /**
- * Create a {@link SimBareMetalMachine} instance with a no-op PSU.
- *
- * @param graph The {@link FlowGraph} to which the machine belongs.
- * @param model The machine model to simulate.
- */
- public static SimBareMetalMachine create(FlowGraph graph, MachineModel model) {
- return new SimBareMetalMachine(graph, model, SimPsuFactories.noop());
- }
-
- /**
- * Return the {@link SimPsu} belonging to this bare metal machine.
- */
- public SimPsu getPsu() {
- return psu;
- }
-
- /**
- * Return the list of peripherals attached to this bare metal machine.
- */
- @Override
- public List<? extends SimPeripheral> getPeripherals() {
- return Collections.unmodifiableList(net);
- }
-
- /**
- * Return the CPU capacity of the machine in MHz.
- */
- public double getCpuCapacity() {
- final SimAbstractMachineContext context = (SimAbstractMachineContext) getActiveContext();
-
- if (context == null) {
- return 0.0;
- }
-
- return cpu.getFrequency();
- }
-
- /**
- * The CPU demand of the machine in MHz.
- */
- public double getCpuDemand() {
- final SimAbstractMachineContext context = (SimAbstractMachineContext) getActiveContext();
-
- if (context == null) {
- return 0.0;
- }
-
- return cpu.getDemand();
- }
-
- /**
- * The CPU usage of the machine in MHz.
- */
- public double getCpuUsage() {
- final SimAbstractMachineContext context = (SimAbstractMachineContext) getActiveContext();
-
- if (context == null) {
- return 0.0;
- }
-
- return cpu.getSpeed();
- }
-
- @Override
- protected SimAbstractMachine.SimAbstractMachineContext createContext(
- SimWorkload workload, Map<String, Object> meta, Consumer<Exception> completion) {
- return new SimAbstractMachineContext(this, workload, meta, completion);
- }
-
- /**
- * The execution context for a {@link SimBareMetalMachine}.
- */
- private static final class SimAbstractMachineContext extends SimAbstractMachine.SimAbstractMachineContext {
- private final FlowGraph graph;
- private final SimCpu cpu;
- private final Memory memory;
- private final List<NetworkAdapter> net;
- private final List<StorageDevice> disk;
-
- private SimAbstractMachineContext(
- SimBareMetalMachine machine,
- SimWorkload workload,
- Map<String, Object> meta,
- Consumer<Exception> completion) {
- super(machine, workload, meta, completion);
-
- this.graph = machine.graph;
- this.cpu = machine.cpu;
- this.memory = machine.memory;
- this.net = machine.net;
- this.disk = machine.disk;
- }
-
- @Override
- public FlowGraph getGraph() {
- return graph;
- }
-
- @Override
- public SimCpu getCpu() {
- return cpu;
- }
-
- @Override
- public SimMemory getMemory() {
- return memory;
- }
-
- @Override
- public List<? extends SimNetworkInterface> getNetworkInterfaces() {
- return net;
- }
-
- @Override
- public List<? extends SimStorageInterface> getStorageInterfaces() {
- return disk;
- }
- }
-
- /**
- * A {@link SimProcessingUnit} of a bare-metal machine.
- */
- private static final class SimCpu implements SimProcessingUnit {
- private final SimPsu psu;
- private final Cpu cpuModel;
- private final InPort port;
-
- private SimCpu(SimPsu psu, Cpu cpuModel, int id) {
- this.psu = psu;
- this.cpuModel = cpuModel;
- this.port = psu.getCpuPower(id, cpuModel);
-
- this.port.pull((float) cpuModel.getTotalCapacity());
- }
-
- @Override
- public double getFrequency() {
- return port.getCapacity();
- }
-
- @Override
- public void setFrequency(double frequency) {
- // Clamp the capacity of the CPU between [0.0, maxFreq]
- frequency = Math.max(0, Math.min(cpuModel.getTotalCapacity(), frequency));
- psu.setCpuFrequency(port, frequency);
- }
-
- @Override
- public double getDemand() {
- return port.getDemand();
- }
-
- @Override
- public double getSpeed() {
- return port.getRate();
- }
-
- @Override
- public org.opendc.simulator.compute.model.Cpu getCpuModel() {
- return cpuModel;
- }
-
- @Override
- public Inlet getInput() {
- return port;
- }
-
- @Override
- public String toString() {
- return "SimBareMetalMachine.Cpu[model=" + cpuModel + "]";
- }
- }
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimMachine.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimMachine.java
deleted file mode 100644
index 1f86aa02..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimMachine.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute;
-
-import java.util.List;
-import java.util.Map;
-import java.util.function.Consumer;
-import org.opendc.simulator.compute.device.SimPeripheral;
-import org.opendc.simulator.compute.model.MachineModel;
-import org.opendc.simulator.compute.workload.SimWorkload;
-
-/**
- * A generic machine that is able to execute {@link SimWorkload} objects.
- */
-public interface SimMachine {
- /**
- * Return the model of the machine containing its specifications.
- */
- MachineModel getModel();
-
- /**
- * Return the peripherals attached to the machine.
- */
- List<? extends SimPeripheral> getPeripherals();
-
- /**
- * Start the specified {@link SimWorkload} on this machine.
- *
- * @param workload The workload to start on the machine.
- * @param meta The metadata to pass to the workload.
- * @param completion A block that is invoked when the workload completes carrying an exception if thrown by the workload.
- * @return A {@link SimMachineContext} that represents the execution context for the workload.
- * @throws IllegalStateException if a workload is already active on the machine or if the machine is closed.
- */
- SimMachineContext startWorkload(SimWorkload workload, Map<String, Object> meta, Consumer<Exception> completion);
-
- /**
- * Cancel the active workload on this machine (if any).
- */
- void cancel();
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimMachineContext.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimMachineContext.java
deleted file mode 100644
index 887967fb..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimMachineContext.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute;
-
-import java.util.List;
-import java.util.Map;
-import java.util.function.Consumer;
-import org.opendc.simulator.compute.workload.SimWorkload;
-import org.opendc.simulator.flow2.FlowGraph;
-
-/**
- * A simulated execution context in which a bootable image runs.
- *
- * <p>
- * This interface represents the interface between the running image (e.g. operating system) and the physical
- * or virtual firmware on which the image runs.
- */
-public interface SimMachineContext {
- /**
- * Return the {@link FlowGraph} in which the workload executes.
- */
- FlowGraph getGraph();
-
- /**
- * Return the metadata associated with the context.
- * <p>
- * Users can pass this metadata to the workload via {@link SimMachine#startWorkload(SimWorkload, Map, Consumer)}.
- */
- Map<String, Object> getMeta();
-
- /**
- * Return the CPUs available on the machine.
- */
- SimProcessingUnit getCpu();
-
- /**
- * Return the memory interface of the machine.
- */
- SimMemory getMemory();
-
- /**
- * Return the network interfaces available to the workload.
- */
- List<? extends SimNetworkInterface> getNetworkInterfaces();
-
- /**
- * Return the storage devices available to the workload.
- */
- List<? extends SimStorageInterface> getStorageInterfaces();
-
- /**
- * Create a snapshot of the {@link SimWorkload} running on this machine.
- *
- * @throws UnsupportedOperationException if the workload does not support snapshotting.
- */
- void makeSnapshot(long now);
-
- SimWorkload getSnapshot(long now);
-
- /**
- * Reset all resources of the machine.
- */
- void reset();
-
- /**
- * Shutdown the workload.
- */
- void shutdown();
-
- /**
- * Shutdown the workload due to failure.
- *
- * @param cause The cause for shutting down the workload.
- */
- void shutdown(Exception cause);
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimMemory.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimMemory.java
deleted file mode 100644
index 85027f28..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimMemory.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute;
-
-import org.opendc.simulator.compute.model.MemoryUnit;
-import org.opendc.simulator.flow2.sink.FlowSink;
-
-/**
- * An interface to control the memory usage of simulated workloads.
- */
-public interface SimMemory extends FlowSink {
- /**
- * Return the total capacity of the memory (in MBs).
- */
- double getCapacity();
-
- /**
- * Return the models representing the static information of the memory units supporting this interface.
- */
- MemoryUnit getMemoryUnit();
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimNetworkInterface.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimNetworkInterface.java
deleted file mode 100644
index 4b623e59..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimNetworkInterface.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute;
-
-import org.opendc.simulator.flow2.Inlet;
-import org.opendc.simulator.flow2.Outlet;
-
-/**
- * A firmware interface to a network adapter.
- */
-public interface SimNetworkInterface {
- /**
- * Return the name of the network interface.
- */
- String getName();
-
- /**
- * Return the unidirectional bandwidth of the network interface in Mbps.
- */
- double getBandwidth();
-
- /**
- * Return the inlet for the "transmit" channel of the network interface.
- */
- Inlet getTx();
-
- /**
- * Return the outlet for the "receive" channel of the network interface.
- */
- Outlet getRx();
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimProcessingUnit.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimProcessingUnit.java
deleted file mode 100644
index 213c3d4f..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimProcessingUnit.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute;
-
-import org.opendc.simulator.compute.model.Cpu;
-import org.opendc.simulator.flow2.sink.FlowSink;
-
-/**
- * A simulated processing unit.
- */
-public interface SimProcessingUnit extends FlowSink {
- /**
- * Return the base clock frequency of the processing unit (in MHz).
- */
- double getFrequency();
-
- /**
- * Adjust the base clock frequency of the processing unit.
- *
- * <p>
- * The CPU may or may not round the new frequency to one of its pre-defined frequency steps.
- *
- * @param frequency The new frequency to set the clock of the processing unit to.
- * @throws UnsupportedOperationException if the base clock cannot be adjusted.
- */
- void setFrequency(double frequency);
-
- /**
- * The demand on the processing unit.
- */
- double getDemand();
-
- /**
- * The speed of the processing unit.
- */
- double getSpeed();
-
- /**
- * The model representing the static properties of the processing unit.
- */
- Cpu getCpuModel();
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimPsu.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimPsu.java
deleted file mode 100644
index e7718604..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimPsu.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute;
-
-import org.opendc.simulator.compute.model.Cpu;
-import org.opendc.simulator.flow2.InPort;
-import org.opendc.simulator.power.SimPowerInlet;
-
-/**
- * A power supply unit in a {@link SimBareMetalMachine}.
- *
- * <p>
- * This class manages the computation of power usage for a {@link SimBareMetalMachine} based on the resource usage.
- */
-public abstract class SimPsu extends SimPowerInlet {
- /**
- * Return the power demand of the machine (in W) measured in the PSU.
- * <p>
- * This method provides access to the power consumption of the machine before PSU losses are applied.
- */
- public abstract double getPowerDemand();
-
- /**
- * Return the instantaneous power usage of the machine (in W) measured at the inlet of the power supply.
- */
- public abstract double getPowerDraw();
-
- /**
- * Return the cumulated energy usage of the machine (in J) measured at the inlet of the powers supply.
- */
- public abstract double getEnergyUsage();
-
- /**
- * Return an {@link InPort} that converts processing demand (in MHz) into energy demand (J) for the specified CPU
- * <code>model</code>.
- *
- * @param id The unique identifier of the CPU for this machine.
- * @param model The details of the processing unit.
- */
- abstract InPort getCpuPower(int id, Cpu model);
-
- /**
- * This method is invoked when the CPU frequency is changed for the specified <code>port</code>.
- *
- * @param port The {@link InPort} for which the capacity is changed.
- * @param capacity The capacity to change to.
- */
- void setCpuFrequency(InPort port, double capacity) {
- port.pull((float) capacity);
- }
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimPsuFactories.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimPsuFactories.java
deleted file mode 100644
index 27327616..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimPsuFactories.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute;
-
-import java.time.InstantSource;
-import org.jetbrains.annotations.NotNull;
-import org.opendc.simulator.compute.model.Cpu;
-import org.opendc.simulator.compute.power.CpuPowerModel;
-import org.opendc.simulator.flow2.FlowGraph;
-import org.opendc.simulator.flow2.FlowStage;
-import org.opendc.simulator.flow2.FlowStageLogic;
-import org.opendc.simulator.flow2.InHandler;
-import org.opendc.simulator.flow2.InPort;
-import org.opendc.simulator.flow2.OutPort;
-import org.opendc.simulator.flow2.Outlet;
-
-/**
- * A collection {@link SimPsu} implementations.
- */
-public class SimPsuFactories {
- private SimPsuFactories() {}
-
- /**
- * Return a {@link SimPsuFactory} of {@link SimPsu} implementations that do not measure any power consumption.
- *
- * <p>
- * This implementation has the lowest performance impact and users are advised to use this factory if they do not
- * consider power consumption in their experiments.
- */
- public static SimPsuFactory noop() {
- return NoopPsu.FACTORY;
- }
-
- /**
- * Return a {@link SimPsuFactory} of {@link SimPsu} implementations that use a {@link CpuPowerModel} to estimate the
- * power consumption of a machine based on its CPU utilization.
- *
- * @param model The power model to estimate the power consumption based on the CPU usage.
- */
- public static SimPsuFactory simple(CpuPowerModel model) {
- return (machine, graph) -> new SimplePsu(graph, model);
- }
-
- /**
- * A {@link SimPsu} implementation that does not attempt to measure power consumption.
- */
- private static final class NoopPsu extends SimPsu implements FlowStageLogic {
- private static final SimPsuFactory FACTORY = (machine, graph) -> new NoopPsu(graph);
-
- private final FlowStage stage;
- private final OutPort out;
-
- NoopPsu(FlowGraph graph) {
- stage = graph.newStage(this);
- out = stage.getOutlet("out");
- out.setMask(true);
- }
-
- @Override
- public double getPowerDemand() {
- return 0;
- }
-
- @Override
- public double getPowerDraw() {
- return 0;
- }
-
- @Override
- public double getEnergyUsage() {
- return 0;
- }
-
- @Override
- InPort getCpuPower(int id, Cpu model) {
- final InPort port = stage.getInlet("cpu" + id);
- port.setMask(true);
- return port;
- }
-
- @Override
- public long onUpdate(FlowStage ctx, long now) {
- return Long.MAX_VALUE;
- }
-
- @NotNull
- @Override
- public Outlet getFlowOutlet() {
- return out;
- }
- }
-
- /**
- * A {@link SimPsu} implementation that estimates the power consumption based on CPU usage.
- */
- private static final class SimplePsu extends SimPsu implements FlowStageLogic {
- private final FlowStage stage;
- private final OutPort out;
- private final CpuPowerModel model;
- private final InstantSource clock;
-
- private double targetFreq;
- private double totalUsage;
- private long lastUpdate;
-
- private double powerDraw;
- private double energyUsage;
-
- private final InHandler handler = new InHandler() {
- @Override
- public void onPush(InPort port, float demand) {
- totalUsage += -port.getDemand() + demand;
- }
-
- @Override
- public void onUpstreamFinish(InPort port, Throwable cause) {
- totalUsage -= port.getDemand();
- }
- };
-
- SimplePsu(FlowGraph graph, CpuPowerModel model) {
- this.stage = graph.newStage(this);
- this.model = model;
- this.clock = graph.getEngine().getClock();
- this.out = stage.getOutlet("out");
- this.out.setMask(true);
-
- lastUpdate = graph.getEngine().getClock().millis();
- }
-
- @Override
- public double getPowerDemand() {
- return totalUsage;
- }
-
- @Override
- public double getPowerDraw() {
- return powerDraw;
- }
-
- @Override
- public double getEnergyUsage() {
- updateEnergyUsage(clock.millis());
- return energyUsage;
- }
-
- @Override
- InPort getCpuPower(int id, Cpu model) {
- targetFreq += model.getTotalCapacity();
-
- final InPort port = stage.getInlet("cpu" + id);
- port.setHandler(handler);
- return port;
- }
-
- @Override
- void setCpuFrequency(InPort port, double capacity) {
- targetFreq += -port.getCapacity() + capacity;
-
- super.setCpuFrequency(port, capacity);
- }
-
- @Override
- public long onUpdate(FlowStage ctx, long now) {
- updateEnergyUsage(now);
-
- double usage = model.computePower(totalUsage / targetFreq);
- out.push((float) usage);
- powerDraw = usage;
-
- return Long.MAX_VALUE;
- }
-
- @NotNull
- @Override
- public Outlet getFlowOutlet() {
- return out;
- }
-
- /**
- * Calculate the energy usage up until <code>now</code>.
- */
- private void updateEnergyUsage(long now) {
- long lastUpdate = this.lastUpdate;
- this.lastUpdate = now;
-
- long duration = now - lastUpdate;
- if (duration > 0) {
- // Compute the energy usage of the machine
- energyUsage += powerDraw * duration * 0.001;
- }
- }
- }
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimPsuFactory.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimPsuFactory.java
deleted file mode 100644
index 872e7016..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimPsuFactory.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute;
-
-import org.opendc.simulator.flow2.FlowGraph;
-
-/**
- * A factory interface for {@link SimPsu} implementations.
- */
-public interface SimPsuFactory {
- /**
- * Construct a new {@link SimPsu} for the specified <code>machine</code>.
- *
- * @param machine The machine to construct the power supply for.
- * @param graph The {@link FlowGraph} used for the simulation.
- */
- SimPsu newPsu(SimMachine machine, FlowGraph graph);
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimStorageInterface.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimStorageInterface.java
deleted file mode 100644
index 341122dc..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimStorageInterface.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute;
-
-import org.opendc.simulator.flow2.Inlet;
-
-/**
- * A firmware interface to a storage device.
- */
-public interface SimStorageInterface {
- /**
- * Return the name of the network interface.
- */
- String getName();
-
- /**
- * Return the capacity of the storage device in MBs.
- */
- double getCapacity();
-
- /**
- * Return the inlet for the read operations of the storage device.
- */
- Inlet getRead();
-
- /**
- * Return the inlet for the write operation of the storage device.
- */
- Inlet getWrite();
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/power/CPUPowerModelsFactory.kt b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/cpu/CPUPowerModelsFactory.kt
index 2c64944c..3600756b 100644
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/power/CPUPowerModelsFactory.kt
+++ b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/cpu/CPUPowerModelsFactory.kt
@@ -20,7 +20,7 @@
* SOFTWARE.
*/
-package org.opendc.simulator.compute.power
+package org.opendc.simulator.compute.cpu
// TODO: couple this correctly
public enum class CPUPowerModel {
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/power/CpuPowerModel.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/cpu/CpuPowerModel.java
index 73f9357d..4323294e 100644
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/power/CpuPowerModel.java
+++ b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/cpu/CpuPowerModel.java
@@ -20,9 +20,9 @@
* SOFTWARE.
*/
-package org.opendc.simulator.compute.power;
+package org.opendc.simulator.compute.cpu;
-import org.opendc.simulator.compute.SimMachine;
+import org.opendc.simulator.compute.machine.SimMachine;
/**
* A model for estimating the power usage of a {@link SimMachine} based on the CPU usage.
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/power/CpuPowerModels.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/cpu/CpuPowerModels.java
index 4e62e67f..b91bd7e2 100644
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/power/CpuPowerModels.java
+++ b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/cpu/CpuPowerModels.java
@@ -20,7 +20,7 @@
* SOFTWARE.
*/
-package org.opendc.simulator.compute.power;
+package org.opendc.simulator.compute.cpu;
import java.util.Arrays;
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/cpu/SimCpu.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/cpu/SimCpu.java
new file mode 100644
index 00000000..60c877e9
--- /dev/null
+++ b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/cpu/SimCpu.java
@@ -0,0 +1,260 @@
+/*
+ * Copyright (c) 2024 AtLarge Research
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+package org.opendc.simulator.compute.cpu;
+
+import org.opendc.simulator.compute.machine.PerformanceCounters;
+import org.opendc.simulator.compute.models.CpuModel;
+import org.opendc.simulator.engine.FlowConsumer;
+import org.opendc.simulator.engine.FlowEdge;
+import org.opendc.simulator.engine.FlowGraph;
+import org.opendc.simulator.engine.FlowNode;
+import org.opendc.simulator.engine.FlowSupplier;
+
+/**
+ * A {@link SimCpu} of a machine.
+ */
+public final class SimCpu extends FlowNode implements FlowSupplier, FlowConsumer {
+ private final CpuModel cpuModel;
+
+ private final CpuPowerModel cpuPowerModel;
+
+ private float currentCpuDemand = 0.0f; // cpu capacity demanded by the mux
+ private float currentCpuUtilization = 0.0f;
+ private float currentPowerDemand = 0.0f; // power demanded of the psu
+ private float currentCpuSupplied = 0.0f; // cpu capacity supplied to the mux
+ private float currentPowerSupplied = 0.0f; // cpu capacity supplied by the psu
+
+ private float maxCapacity;
+
+ private PerformanceCounters performanceCounters = new PerformanceCounters();
+ private long lastCounterUpdate;
+ private final float cpuFrequencyInv;
+
+ private FlowEdge muxEdge;
+ private FlowEdge psuEdge;
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // Basic Getters and Setters
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ public double getFrequency() {
+ return cpuModel.getTotalCapacity();
+ }
+
+ public void setFrequency(double frequency) {
+ // Clamp the capacity of the CPU between [0.0, maxFreq]
+ frequency = Math.max(0, Math.min(this.maxCapacity, frequency));
+ // psu.setCpuFrequency(muxInPort, frequency);
+ }
+
+ @Override
+ public float getCapacity() {
+ return maxCapacity;
+ }
+
+ public PerformanceCounters getPerformanceCounters() {
+ return performanceCounters;
+ }
+
+ public double getPowerDraw() {
+ return this.currentPowerSupplied;
+ }
+
+ public double getDemand() {
+ return this.currentCpuDemand;
+ }
+
+ public double getSpeed() {
+ return this.currentCpuSupplied;
+ }
+
+ public CpuModel getCpuModel() {
+ return cpuModel;
+ }
+
+ @Override
+ public String toString() {
+ return "SimBareMetalMachine.Cpu[model=" + cpuModel + "]";
+ }
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // Constructors
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ public SimCpu(FlowGraph graph, CpuModel cpuModel, int id) {
+ super(graph);
+ this.cpuModel = cpuModel;
+ this.maxCapacity = this.cpuModel.getTotalCapacity();
+
+ // TODO: connect this to the front-end
+ this.cpuPowerModel = CpuPowerModels.linear(400, 200);
+
+ this.lastCounterUpdate = graph.getEngine().getClock().millis();
+
+ this.cpuFrequencyInv = 1 / this.maxCapacity;
+ }
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // FlowNode related functionality
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ @Override
+ public long onUpdate(long now) {
+ updateCounters(now);
+
+ // Calculate Power Demand and send to PSU
+ // TODO: look at the float / double thing
+ float powerDemand = (float) this.cpuPowerModel.computePower((double) this.currentCpuUtilization);
+
+ if (powerDemand != this.currentPowerDemand) {
+ this.pushDemand(this.psuEdge, powerDemand);
+ this.currentPowerDemand = powerDemand;
+ }
+
+ // Calculate the amount of cpu this can provide
+ // TODO: This should be based on the provided power
+ float cpuSupply = this.currentCpuDemand;
+
+ if (cpuSupply != this.currentCpuSupplied) {
+ this.pushSupply(this.muxEdge, cpuSupply);
+ this.currentCpuSupplied = cpuSupply;
+ }
+
+ return Long.MAX_VALUE;
+ }
+
+ public void updateCounters() {
+ this.updateCounters(this.clock.millis());
+ }
+
+ /**
+ * Update the performance counters of the CPU.
+ *
+ * @param now The timestamp at which to update the counter.
+ */
+ public void updateCounters(long now) {
+ long lastUpdate = this.lastCounterUpdate;
+ this.lastCounterUpdate = now;
+ long delta = now - lastUpdate;
+
+ if (delta > 0) {
+ float demand = this.currentCpuDemand;
+ float rate = this.currentCpuSupplied;
+ float capacity = this.maxCapacity;
+
+ final float factor = this.cpuFrequencyInv * delta;
+
+ this.performanceCounters.addCpuActiveTime(Math.round(rate * factor));
+ this.performanceCounters.addCpuIdleTime(Math.round((capacity - rate) * factor));
+ this.performanceCounters.addCpuStealTime(Math.round((demand - rate) * factor));
+ }
+
+ this.performanceCounters.setCpuDemand(this.currentCpuDemand);
+ this.performanceCounters.setCpuSupply(this.currentCpuSupplied);
+ this.performanceCounters.setCpuCapacity(this.maxCapacity);
+ }
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // FlowGraph Related functionality
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ /**
+ * Push new demand to the psu
+ */
+ @Override
+ public void pushDemand(FlowEdge supplierEdge, float newPowerDemand) {
+ this.psuEdge.pushDemand(newPowerDemand);
+ }
+
+ /**
+ * Push updated supply to the mux
+ */
+ @Override
+ public void pushSupply(FlowEdge consumerEdge, float newCpuSupply) {
+ updateCounters();
+ this.currentCpuSupplied = newCpuSupply;
+ this.muxEdge.pushSupply(newCpuSupply);
+ }
+
+ /**
+ * Handle new demand coming in from the mux
+ */
+ @Override
+ public void handleDemand(FlowEdge consumerEdge, float newCpuDemand) {
+ if (newCpuDemand == this.currentCpuDemand) {
+ return;
+ }
+
+ updateCounters();
+ this.currentCpuDemand = newCpuDemand;
+ this.currentCpuUtilization = this.currentCpuDemand / this.maxCapacity;
+
+ this.invalidate();
+ }
+
+ /**
+ * Handle updated supply from the psu
+ */
+ @Override
+ public void handleSupply(FlowEdge supplierEdge, float newPowerSupply) {
+ // TODO: Implement this
+ updateCounters();
+ this.currentPowerSupplied = newPowerSupply;
+
+ this.invalidate();
+ }
+
+ /**
+ * Add a connection to the mux
+ */
+ @Override
+ public void addConsumerEdge(FlowEdge consumerEdge) {
+ this.muxEdge = consumerEdge;
+ }
+
+ /**
+ * Add a connection to the psu
+ */
+ @Override
+ public void addSupplierEdge(FlowEdge supplierEdge) {
+ this.psuEdge = supplierEdge;
+ }
+
+ /**
+ * Remove the connection to the mux
+ */
+ @Override
+ public void removeConsumerEdge(FlowEdge consumerEdge) {
+ this.muxEdge = null;
+ this.invalidate();
+ }
+
+ /**
+ * Remove the connection to the psu
+ */
+ @Override
+ public void removeSupplierEdge(FlowEdge supplierEdge) {
+ this.psuEdge = null;
+ this.invalidate();
+ }
+}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/device/SimNetworkAdapter.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/device/SimNetworkAdapter.java
deleted file mode 100644
index 1c16ceff..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/device/SimNetworkAdapter.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute.device;
-
-import org.opendc.simulator.compute.SimMachine;
-import org.opendc.simulator.network.SimNetworkPort;
-
-/**
- * A simulated network interface card (NIC or network adapter) that can be attached to a {@link SimMachine}.
- */
-public abstract class SimNetworkAdapter extends SimNetworkPort implements SimPeripheral {
- /**
- * Return the unidirectional bandwidth of the network adapter (in Mbps).
- */
- public abstract double getBandwidth();
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/device/SimPeripheral.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/device/SimPeripheral.java
deleted file mode 100644
index 40bd268b..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/device/SimPeripheral.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute.device;
-
-import org.opendc.simulator.compute.SimMachine;
-
-/**
- * A component that can be attached to a {@link SimMachine}.
- * <p>
- * This interface represents the physical view of the peripheral and should be used to configure the physical properties
- * of the peripheral.
- */
-public interface SimPeripheral {}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/SimHypervisor.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/SimHypervisor.java
deleted file mode 100644
index 42750b0f..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/SimHypervisor.java
+++ /dev/null
@@ -1,933 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute.kernel;
-
-import java.time.InstantSource;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.SplittableRandom;
-import java.util.function.Consumer;
-import org.opendc.simulator.compute.SimAbstractMachine;
-import org.opendc.simulator.compute.SimMachine;
-import org.opendc.simulator.compute.SimMachineContext;
-import org.opendc.simulator.compute.SimMemory;
-import org.opendc.simulator.compute.SimNetworkInterface;
-import org.opendc.simulator.compute.SimProcessingUnit;
-import org.opendc.simulator.compute.SimStorageInterface;
-import org.opendc.simulator.compute.device.SimPeripheral;
-import org.opendc.simulator.compute.kernel.cpufreq.ScalingGovernor;
-import org.opendc.simulator.compute.kernel.cpufreq.ScalingGovernorFactory;
-import org.opendc.simulator.compute.kernel.cpufreq.ScalingPolicy;
-import org.opendc.simulator.compute.kernel.interference.VmInterferenceDomain;
-import org.opendc.simulator.compute.kernel.interference.VmInterferenceMember;
-import org.opendc.simulator.compute.kernel.interference.VmInterferenceProfile;
-import org.opendc.simulator.compute.model.Cpu;
-import org.opendc.simulator.compute.model.MachineModel;
-import org.opendc.simulator.compute.workload.SimWorkload;
-import org.opendc.simulator.flow2.FlowGraph;
-import org.opendc.simulator.flow2.FlowStage;
-import org.opendc.simulator.flow2.FlowStageLogic;
-import org.opendc.simulator.flow2.InHandler;
-import org.opendc.simulator.flow2.InPort;
-import org.opendc.simulator.flow2.Inlet;
-import org.opendc.simulator.flow2.OutHandler;
-import org.opendc.simulator.flow2.OutPort;
-import org.opendc.simulator.flow2.mux.FlowMultiplexer;
-import org.opendc.simulator.flow2.mux.FlowMultiplexerFactory;
-
-/**
- * A SimHypervisor facilitates the execution of multiple concurrent {@link SimWorkload}s, while acting as a single
- * workload to another {@link SimMachine}.
- */
-public final class SimHypervisor implements SimWorkload {
- private final FlowMultiplexerFactory muxFactory;
- private final SplittableRandom random;
- private final ScalingGovernorFactory scalingGovernorFactory;
- private final VmInterferenceDomain interferenceDomain;
-
- private SimHyperVisorContext activeContext;
- private final ArrayList<SimVirtualMachine> vms = new ArrayList<>();
- private final HvCounters counters = new HvCounters();
-
- @Override
- public void setOffset(long now) {}
-
- /**
- * Construct a {@link SimHypervisor} instance.
- *
- * @param muxFactory The factory for the {@link FlowMultiplexer} to multiplex the workloads.
- * @param random A randomness generator for the interference calculations.
- * @param scalingGovernorFactory The factory for the scaling governor to use for scaling the CPU frequency.
- * @param interferenceDomain The interference domain to which the hypervisor belongs.
- */
- private SimHypervisor(
- FlowMultiplexerFactory muxFactory,
- SplittableRandom random,
- ScalingGovernorFactory scalingGovernorFactory,
- VmInterferenceDomain interferenceDomain) {
- this.muxFactory = muxFactory;
- this.random = random;
- this.scalingGovernorFactory = scalingGovernorFactory;
- this.interferenceDomain = interferenceDomain;
- }
-
- /**
- * Create a {@link SimHypervisor} instance.
- *
- * @param muxFactory The factory for the {@link FlowMultiplexer} to multiplex the workloads.
- * @param random A randomness generator for the interference calculations.
- * @param scalingGovernorFactory The factory for the scaling governor to use for scaling the CPU frequency.
- * @param interferenceDomain The interference domain to which the hypervisor belongs.
- */
- public static SimHypervisor create(
- FlowMultiplexerFactory muxFactory,
- SplittableRandom random,
- ScalingGovernorFactory scalingGovernorFactory,
- VmInterferenceDomain interferenceDomain) {
- return new SimHypervisor(muxFactory, random, scalingGovernorFactory, interferenceDomain);
- }
-
- /**
- * Create a {@link SimHypervisor} instance with a default interference domain.
- *
- * @param muxFactory The factory for the {@link FlowMultiplexer} to multiplex the workloads.
- * @param random A randomness generator for the interference calculations.
- * @param scalingGovernorFactory The factory for the scaling governor to use for scaling the CPU frequency.
- */
- public static SimHypervisor create(
- FlowMultiplexerFactory muxFactory, SplittableRandom random, ScalingGovernorFactory scalingGovernorFactory) {
- return create(muxFactory, random, scalingGovernorFactory, new VmInterferenceDomain());
- }
-
- /**
- * Create a {@link SimHypervisor} instance with a default interference domain and scaling governor.
- *
- * @param muxFactory The factory for the {@link FlowMultiplexer} to multiplex the workloads.
- * @param random A randomness generator for the interference calculations.
- */
- public static SimHypervisor create(FlowMultiplexerFactory muxFactory, SplittableRandom random) {
- return create(muxFactory, random, null);
- }
-
- /**
- * Return the performance counters of the hypervisor.
- */
- public SimHypervisorCounters getCounters() {
- return counters;
- }
-
- /**
- * Return the virtual machines running on this hypervisor.
- */
- public List<? extends SimVirtualMachine> getVirtualMachines() {
- return Collections.unmodifiableList(vms);
- }
-
- /**
- * Create a {@link SimVirtualMachine} instance on which users may run a [SimWorkload].
- *
- * @param model The machine to create.
- */
- public SimVirtualMachine newMachine(MachineModel model) {
- if (!canFit(model)) {
- throw new IllegalArgumentException("Machine does not fit");
- }
-
- SimVirtualMachine vm = new SimVirtualMachine(model);
- vms.add(vm);
- return vm;
- }
-
- /**
- * Remove the specified <code>machine</code> from the hypervisor.
- *
- * @param machine The machine to remove.
- */
- public void removeMachine(SimVirtualMachine machine) {
- if (vms.remove(machine)) {
- // This cast must always succeed, since `_vms` only contains `VirtualMachine` types.
- ((SimVirtualMachine) machine).close();
- }
- }
-
- /**
- * Return the CPU capacity of the hypervisor in MHz.
- */
- public double getCpuCapacity() {
- final SimHyperVisorContext context = activeContext;
-
- if (context == null) {
- return 0.0;
- }
-
- return context.previousCapacity;
- }
-
- /**
- * The CPU demand of the hypervisor in MHz.
- */
- public double getCpuDemand() {
- final SimHyperVisorContext context = activeContext;
-
- if (context == null) {
- return 0.0;
- }
-
- return context.previousDemand;
- }
-
- /**
- * The CPU usage of the hypervisor in MHz.
- */
- public double getCpuUsage() {
- final SimHyperVisorContext context = activeContext;
-
- if (context == null) {
- return 0.0;
- }
-
- return context.previousRate;
- }
-
- /**
- * Determine whether the specified machine characterized by <code>model</code> can fit on this hypervisor at this
- * moment.
- */
- public boolean canFit(MachineModel model) {
- final SimHyperVisorContext context = activeContext;
- if (context == null) {
- return false;
- }
-
- final FlowMultiplexer multiplexer = context.multiplexer;
- return (multiplexer.getMaxInputs() - multiplexer.getInputCount()) >= 1;
- }
-
- @Override
- public void onStart(SimMachineContext ctx) {
- final SimHyperVisorContext context =
- new SimHyperVisorContext(ctx, muxFactory, scalingGovernorFactory, counters);
- context.start();
- activeContext = context;
- }
-
- @Override
- public void onStop(SimMachineContext ctx) {
- final SimHyperVisorContext context = activeContext;
- if (context != null) {
- activeContext = null;
- context.stop();
- }
- }
-
- @Override
- public void makeSnapshot(long now) {
- throw new UnsupportedOperationException("Unable to snapshot hypervisor");
- }
-
- @Override
- public SimWorkload getSnapshot() {
- throw new UnsupportedOperationException("Unable to snapshot hypervisor");
- }
-
- @Override
- public void createCheckpointModel() {
- throw new UnsupportedOperationException("Unable to create a checkpointing system for a hypervisor");
- }
-
- @Override
- public long getCheckpointInterval() {
- return -1;
- }
-
- @Override
- public long getCheckpointDuration() {
- return -1;
- }
-
- @Override
- public double getCheckpointIntervalScaling() {
- return -1;
- }
-
- /**
- * The context which carries the state when the hypervisor is running on a machine.
- */
- private static final class SimHyperVisorContext implements FlowStageLogic {
- private final SimMachineContext ctx;
- private final FlowMultiplexer multiplexer;
- private final FlowStage stage;
- private final ScalingGovernor scalingGovernor;
- private final InstantSource clock;
- private final HvCounters counters;
-
- private long lastCounterUpdate;
- private final double d;
- private float previousDemand;
- private float previousRate;
- private float previousCapacity;
-
- private SimHyperVisorContext(
- SimMachineContext ctx,
- FlowMultiplexerFactory muxFactory,
- ScalingGovernorFactory scalingGovernorFactory,
- HvCounters counters) {
-
- this.ctx = ctx;
- this.counters = counters;
-
- final FlowGraph graph = ctx.getGraph();
- this.multiplexer = muxFactory.newMultiplexer(graph);
- this.stage = graph.newStage(this);
- this.clock = graph.getEngine().getClock();
-
- this.lastCounterUpdate = clock.millis();
-
- final SimProcessingUnit cpu = ctx.getCpu();
-
- if (scalingGovernorFactory != null) {
- this.scalingGovernor = scalingGovernorFactory.newGovernor(new ScalingPolicyImpl(cpu));
- } else {
- this.scalingGovernor = null;
- }
-
- this.d = 1 / cpu.getFrequency();
- }
-
- /**
- * Start the hypervisor on a new machine.
- */
- void start() {
- final FlowGraph graph = ctx.getGraph();
- final FlowMultiplexer multiplexer = this.multiplexer;
-
- graph.connect(multiplexer.newOutput(), ctx.getCpu().getInput());
-
- if (this.scalingGovernor != null) {
- this.scalingGovernor.onStart();
- }
- }
-
- /**
- * Stop the hypervisor.
- */
- void stop() {
- // Synchronize the counters before stopping the hypervisor. Otherwise, the last report is missed.
- updateCounters(clock.millis());
-
- stage.close();
- }
-
- /**
- * Invalidate the {@link FlowStage} of the hypervisor.
- */
- void invalidate() {
- stage.invalidate();
- }
-
- /**
- * Update the performance counters of the hypervisor.
- *
- * @param now The timestamp at which to update the counter.
- */
- void updateCounters(long now) {
- long lastUpdate = this.lastCounterUpdate;
- this.lastCounterUpdate = now;
- long delta = now - lastUpdate;
-
- if (delta > 0) {
- final HvCounters counters = this.counters;
-
- float demand = previousDemand;
- float rate = previousRate;
- float capacity = previousCapacity;
-
- final double factor = this.d * delta;
-
- counters.cpuActiveTime += Math.round(rate * factor);
- counters.cpuIdleTime += Math.round((capacity - rate) * factor);
- counters.cpuStealTime += Math.round((demand - rate) * factor);
- }
- }
-
- /**
- * Update the performance counters of the hypervisor.
- */
- void updateCounters() {
- updateCounters(clock.millis());
- }
-
- @Override
- public long onUpdate(FlowStage ctx, long now) {
- updateCounters(now);
-
- final FlowMultiplexer multiplexer = this.multiplexer;
- final ScalingGovernor scalingGovernors = this.scalingGovernor;
-
- float demand = multiplexer.getDemand();
- float rate = multiplexer.getRate();
- float capacity = multiplexer.getCapacity();
-
- this.previousDemand = demand;
- this.previousRate = rate;
- this.previousCapacity = capacity;
-
- double load = rate / Math.min(1.0, capacity);
-
- if (scalingGovernor != null) {
- scalingGovernor.onLimit(load);
- }
-
- return Long.MAX_VALUE;
- }
- }
-
- /**
- * A {@link ScalingPolicy} for a physical CPU of the hypervisor.
- */
- private static final class ScalingPolicyImpl implements ScalingPolicy {
- private final SimProcessingUnit cpu;
-
- private ScalingPolicyImpl(SimProcessingUnit cpu) {
- this.cpu = cpu;
- }
-
- @Override
- public SimProcessingUnit getCpu() {
- return cpu;
- }
-
- @Override
- public double getTarget() {
- return cpu.getFrequency();
- }
-
- @Override
- public void setTarget(double target) {
- cpu.setFrequency(target);
- }
-
- @Override
- public double getMin() {
- return 0;
- }
-
- @Override
- public double getMax() {
- return cpu.getCpuModel().getTotalCapacity();
- }
- }
-
- /**
- * A virtual machine running on the hypervisor.
- */
- public class SimVirtualMachine extends SimAbstractMachine {
- private boolean isClosed;
- private final VmCounters counters = new VmCounters(this);
-
- private SimVirtualMachine(MachineModel model) {
- super(model);
- }
-
- public SimHypervisorCounters getCounters() {
- return counters;
- }
-
- public double getCpuDemand() {
- final VmContext context = (VmContext) getActiveContext();
-
- if (context == null) {
- return 0.0;
- }
-
- return context.previousDemand;
- }
-
- public double getCpuUsage() {
- final VmContext context = (VmContext) getActiveContext();
-
- if (context == null) {
- return 0.0;
- }
-
- return context.usage;
- }
-
- public double getCpuCapacity() {
- final VmContext context = (VmContext) getActiveContext();
-
- if (context == null) {
- return 0.0;
- }
-
- return context.previousCapacity;
- }
-
- @Override
- public List<? extends SimPeripheral> getPeripherals() {
- return Collections.emptyList();
- }
-
- @Override
- protected SimAbstractMachineContext createContext(
- SimWorkload workload, Map<String, Object> meta, Consumer<Exception> completion) {
- if (isClosed) {
- throw new IllegalStateException("Virtual machine does not exist anymore");
- }
-
- final SimHyperVisorContext context = activeContext;
- if (context == null) {
- throw new IllegalStateException("Hypervisor is inactive");
- }
-
- return new VmContext(
- context,
- this,
- random,
- interferenceDomain,
- counters,
- SimHypervisor.this.counters,
- workload,
- meta,
- completion);
- }
-
- @Override
- public SimAbstractMachineContext getActiveContext() {
- return super.getActiveContext();
- }
-
- void close() {
- if (isClosed) {
- return;
- }
-
- isClosed = true;
- cancel();
- }
- }
-
- /**
- * A {@link SimAbstractMachine.SimAbstractMachineContext} for a virtual machine instance.
- */
- private static final class VmContext extends SimAbstractMachine.SimAbstractMachineContext
- implements FlowStageLogic {
- private final SimHyperVisorContext simHyperVisorContext;
- private final SplittableRandom random;
- private final VmCounters vmCounters;
- private final HvCounters hvCounters;
- private final VmInterferenceMember interferenceMember;
- private final FlowStage stage;
- private final FlowMultiplexer multiplexer;
- private final InstantSource clock;
-
- private final VCpu cpu;
- private final SimAbstractMachine.Memory memory;
- private final List<SimAbstractMachine.NetworkAdapter> net;
- private final List<SimAbstractMachine.StorageDevice> disk;
-
- private final Inlet[] muxInlets;
- private long lastUpdate;
- private long lastCounterUpdate;
- private final double d;
-
- private float demand;
- private float usage;
- private float capacity;
-
- private float previousDemand;
- private float previousCapacity;
-
- private VmContext(
- SimHyperVisorContext simHyperVisorContext,
- SimVirtualMachine machine,
- SplittableRandom random,
- VmInterferenceDomain interferenceDomain,
- VmCounters vmCounters,
- HvCounters hvCounters,
- SimWorkload workload,
- Map<String, Object> meta,
- Consumer<Exception> completion) {
- super(machine, workload, meta, completion);
-
- this.simHyperVisorContext = simHyperVisorContext;
- this.random = random;
- this.vmCounters = vmCounters;
- this.hvCounters = hvCounters;
- this.clock = simHyperVisorContext.clock;
-
- final VmInterferenceProfile interferenceProfile = (VmInterferenceProfile) meta.get("interference-profile");
- VmInterferenceMember interferenceMember = null;
- if (interferenceDomain != null && interferenceProfile != null) {
- interferenceMember = interferenceDomain.join(interferenceProfile);
- interferenceMember.activate();
- }
- this.interferenceMember = interferenceMember;
-
- final FlowGraph graph = simHyperVisorContext.ctx.getGraph();
- final FlowStage stage = graph.newStage(this);
- this.stage = stage;
- this.lastUpdate = clock.millis();
- this.lastCounterUpdate = clock.millis();
-
- final FlowMultiplexer multiplexer = simHyperVisorContext.multiplexer;
- this.multiplexer = multiplexer;
-
- final MachineModel model = machine.getModel();
- final Cpu cpuModel = model.getCpu();
- final Inlet[] muxInlets = new Inlet[1];
-
- this.muxInlets = muxInlets;
-
- final Inlet muxInlet = multiplexer.newInput();
- muxInlets[0] = muxInlet;
-
- final InPort input = stage.getInlet("cpu");
- final OutPort output = stage.getOutlet("mux");
-
- final Handler handler = new Handler(this, input, output);
- input.setHandler(handler);
- output.setHandler(handler);
-
- this.cpu = new VCpu(cpuModel, input);
-
- graph.connect(output, muxInlet);
-
- this.d = 1 / cpuModel.getTotalCapacity();
-
- this.memory = new SimAbstractMachine.Memory(graph, model.getMemory());
-
- int netIndex = 0;
- final ArrayList<SimAbstractMachine.NetworkAdapter> net = new ArrayList<>();
- this.net = net;
- for (org.opendc.simulator.compute.model.NetworkAdapter adapter : model.getNetwork()) {
- net.add(new SimAbstractMachine.NetworkAdapter(graph, adapter, netIndex++));
- }
-
- int diskIndex = 0;
- final ArrayList<SimAbstractMachine.StorageDevice> disk = new ArrayList<>();
- this.disk = disk;
- for (org.opendc.simulator.compute.model.StorageDevice device : model.getStorage()) {
- disk.add(new SimAbstractMachine.StorageDevice(graph, device, diskIndex++));
- }
- }
-
- /**
- * Update the performance counters of the virtual machine.
- *
- * @param now The timestamp at which to update the counter.
- */
- void updateCounters(long now) {
- long lastUpdate = this.lastCounterUpdate;
- this.lastCounterUpdate = now;
- long delta = now - lastUpdate; // time between updates
-
- if (delta > 0) {
- final VmCounters counters = this.vmCounters;
-
- float demand = this.previousDemand;
- float rate = this.usage;
- float capacity = this.previousCapacity;
-
- final double factor = this.d * delta; // time between divided by total capacity
- final double active = rate * factor;
-
- counters.cpuActiveTime += Math.round(active);
- counters.cpuIdleTime += Math.round((capacity - rate) * factor);
- counters.cpuStealTime += Math.round((demand - rate) * factor);
- }
- }
-
- /**
- * Update the performance counters of the virtual machine.
- */
- void updateCounters() {
- updateCounters(clock.millis());
- }
-
- @Override
- public FlowGraph getGraph() {
- return stage.getGraph();
- }
-
- @Override
- public SimProcessingUnit getCpu() {
- return cpu;
- }
-
- @Override
- public SimMemory getMemory() {
- return memory;
- }
-
- @Override
- public List<? extends SimNetworkInterface> getNetworkInterfaces() {
- return net;
- }
-
- @Override
- public List<? extends SimStorageInterface> getStorageInterfaces() {
- return disk;
- }
-
- @Override
- public long onUpdate(FlowStage ctx, long now) {
- float usage = 0.f;
- for (Inlet inlet : muxInlets) {
- usage += ((InPort) inlet).getRate();
- }
- this.usage = usage;
- this.previousDemand = demand;
- this.previousCapacity = capacity;
-
- long lastUpdate = this.lastUpdate;
- this.lastUpdate = now;
- long delta = now - lastUpdate;
-
- if (delta > 0) {
- final VmInterferenceMember interferenceMember = this.interferenceMember;
- double penalty = 0.0;
-
- if (interferenceMember != null) {
- final FlowMultiplexer multiplexer = this.multiplexer;
- double load = multiplexer.getRate() / Math.min(1.0, multiplexer.getCapacity());
- penalty = 1 - interferenceMember.apply(random, load);
- }
-
- final double factor = this.d * delta;
- final long lostTime = Math.round(factor * usage * penalty);
-
- this.vmCounters.cpuLostTime += lostTime;
- this.hvCounters.cpuLostTime += lostTime;
- }
-
- // Invalidate the FlowStage of the hypervisor to update its counters (via onUpdate)
- simHyperVisorContext.invalidate();
-
- return Long.MAX_VALUE;
- }
-
- @Override
- protected void doCancel() {
- super.doCancel();
-
- // Synchronize the counters before stopping the hypervisor. Otherwise, the last report is missed.
- updateCounters(clock.millis());
-
- stage.close();
-
- final FlowMultiplexer multiplexer = this.multiplexer;
- for (Inlet muxInlet : muxInlets) {
- multiplexer.releaseInput(muxInlet);
- }
-
- final VmInterferenceMember interferenceMember = this.interferenceMember;
- if (interferenceMember != null) {
- interferenceMember.deactivate();
- }
- }
- }
-
- /**
- * A {@link SimProcessingUnit} of a virtual machine.
- */
- private static final class VCpu implements SimProcessingUnit {
- private final Cpu model;
- private final InPort input;
-
- private VCpu(Cpu model, InPort input) {
- this.model = model;
- this.input = input;
-
- input.pull((float) model.getTotalCapacity());
- }
-
- @Override
- public double getFrequency() {
- return input.getCapacity();
- }
-
- @Override
- public void setFrequency(double frequency) {
- input.pull((float) frequency);
- }
-
- @Override
- public double getDemand() {
- return input.getDemand();
- }
-
- @Override
- public double getSpeed() {
- return input.getRate();
- }
-
- @Override
- public Cpu getCpuModel() {
- return model;
- }
-
- @Override
- public Inlet getInput() {
- return input;
- }
-
- @Override
- public String toString() {
- return "SimHypervisor.VCpu[model" + model + "]";
- }
- }
-
- /**
- * A handler for forwarding flow between an inlet and outlet.
- */
- private static class Handler implements InHandler, OutHandler {
- private final InPort input;
- private final OutPort output;
- private final VmContext context;
-
- private Handler(VmContext context, InPort input, OutPort output) {
- this.context = context;
- this.input = input;
- this.output = output;
- }
-
- @Override
- public void onPush(InPort port, float demand) {
- context.demand += -port.getDemand() + demand;
-
- output.push(demand);
- }
-
- @Override
- public void onUpstreamFinish(InPort port, Throwable cause) {
- context.demand -= port.getDemand();
-
- output.push(0.f);
- }
-
- @Override
- public float getRate(InPort port) {
- return output.getRate();
- }
-
- @Override
- public void onPull(OutPort port, float capacity) {
- context.capacity += -port.getCapacity() + capacity;
-
- input.pull(capacity);
- }
-
- @Override
- public void onDownstreamFinish(OutPort port, Throwable cause) {
- context.capacity -= port.getCapacity();
-
- input.pull(0.f);
- }
- }
-
- /**
- * Implementation of {@link SimHypervisorCounters} for the hypervisor.
- */
- private class HvCounters implements SimHypervisorCounters {
- private long cpuActiveTime;
- private long cpuIdleTime;
- private long cpuStealTime;
- private long cpuLostTime;
-
- @Override
- public long getCpuActiveTime() {
- return cpuActiveTime;
- }
-
- @Override
- public long getCpuIdleTime() {
- return cpuIdleTime;
- }
-
- @Override
- public long getCpuStealTime() {
- return cpuStealTime;
- }
-
- @Override
- public long getCpuLostTime() {
- return cpuLostTime;
- }
-
- @Override
- public void sync() {
- final SimHyperVisorContext context = activeContext;
-
- if (context != null) {
- context.updateCounters();
- }
- }
- }
-
- /**
- * Implementation of {@link SimHypervisorCounters} for the virtual machine.
- */
- private static class VmCounters implements SimHypervisorCounters {
- private final SimVirtualMachine vm;
- private long cpuActiveTime;
- private long cpuIdleTime;
- private long cpuStealTime;
- private long cpuLostTime;
-
- private VmCounters(SimVirtualMachine vm) {
- this.vm = vm;
- }
-
- @Override
- public long getCpuActiveTime() {
- return cpuActiveTime;
- }
-
- @Override
- public long getCpuIdleTime() {
- return cpuIdleTime;
- }
-
- @Override
- public long getCpuStealTime() {
- return cpuStealTime;
- }
-
- @Override
- public long getCpuLostTime() {
- return cpuLostTime;
- }
-
- @Override
- public void sync() {
- final VmContext context = (VmContext) vm.getActiveContext();
-
- if (context != null) {
- context.updateCounters();
- }
- }
- }
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/SimHypervisorCounters.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/SimHypervisorCounters.java
deleted file mode 100644
index fc77e9d6..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/SimHypervisorCounters.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute.kernel;
-
-/**
- * Performance counters of a {@link SimHypervisor}.
- */
-public interface SimHypervisorCounters {
- /**
- * Return the amount of time (in milliseconds) the CPUs of the hypervisor were actively running.
- */
- long getCpuActiveTime();
-
- /**
- * Return the amount of time (in milliseconds) the CPUs of the hypervisor were idle.
- */
- long getCpuIdleTime();
-
- /**
- * Return the amount of CPU time (in milliseconds) that virtual machines were ready to run, but were not able to.
- */
- long getCpuStealTime();
-
- /**
- * Return the amount of CPU time (in milliseconds) that was lost due to interference between virtual machines.
- */
- long getCpuLostTime();
-
- /**
- * Synchronize the counter values.
- */
- void sync();
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/cpufreq/ScalingGovernor.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/cpufreq/ScalingGovernor.java
deleted file mode 100644
index 69a371e1..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/cpufreq/ScalingGovernor.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute.kernel.cpufreq;
-
-/**
- * A [ScalingGovernor] in the CPUFreq subsystem of OpenDC is responsible for scaling the frequency of simulated CPUs
- * independent of the particular implementation of the CPU.
- *
- * <p>
- * Each of the scaling governors implements a single, possibly parametrized, performance scaling algorithm.
- *
- * @see <a href="https://www.kernel.org/doc/html/latest/admin-guide/pm/cpufreq.html">documentation of the Linux CPUFreq subsystem</a>.
- */
-public interface ScalingGovernor {
- /**
- * This method is invoked when the governor is started.
- */
- default void onStart() {}
-
- /**
- * This method is invoked when the governor should re-decide the frequency limits.
- *
- * @param load The load of the system.
- */
- default void onLimit(double load) {}
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/cpufreq/ScalingGovernorFactory.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/cpufreq/ScalingGovernorFactory.java
deleted file mode 100644
index 97a49879..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/cpufreq/ScalingGovernorFactory.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute.kernel.cpufreq;
-
-/**
- * Factory interface for a {@link ScalingGovernor}.
- */
-public interface ScalingGovernorFactory {
- /**
- * Create the scaling logic for the specified {@link ScalingPolicy}.
- */
- ScalingGovernor newGovernor(ScalingPolicy policy);
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/cpufreq/ScalingGovernors.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/cpufreq/ScalingGovernors.java
deleted file mode 100644
index 2b10ae59..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/cpufreq/ScalingGovernors.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute.kernel.cpufreq;
-
-/**
- * Collection of common {@link ScalingGovernor} implementations.
- */
-public class ScalingGovernors {
- private ScalingGovernors() {}
-
- /**
- * Return a {@link ScalingGovernorFactory} for the <code>performance</code> scaling governor.
- *
- * <p>
- * This governor causes the highest possible frequency to be requested from the CPUs.
- */
- public static ScalingGovernorFactory performance() {
- return PerformanceScalingGovernor.FACTORY;
- }
-
- /**
- * Return a {@link ScalingGovernorFactory} for the <code>powersave</code> scaling governor.
- *
- * <p>
- * This governor causes the lowest possible frequency to be requested from the CPUs.
- */
- public static ScalingGovernorFactory powerSave() {
- return PowerSaveScalingGovernor.FACTORY;
- }
-
- /**
- * Return a {@link ScalingGovernorFactory} for the <code>conservative</code> scaling governor from the Linux kernel.
- *
- * @param threshold The threshold before scaling.
- * @param stepSize The size of the frequency steps (use negative value for automatic).
- */
- public static ScalingGovernorFactory conservative(double threshold, double stepSize) {
- return (policy) -> new ConservativeScalingGovernor(policy, threshold, stepSize);
- }
-
- /**
- * Return a {@link ScalingGovernorFactory} for the <code>conservative</code> scaling governor from the Linux kernel.
- *
- * @param threshold The threshold before scaling.
- */
- public static ScalingGovernorFactory conservative(double threshold) {
- return conservative(threshold, -1.0);
- }
-
- /**
- * Return a {@link ScalingGovernorFactory} for the <code>ondemand</code> scaling governor from the Linux kernel.
- *
- * @param threshold The threshold before scaling.
- */
- public static ScalingGovernorFactory ondemand(double threshold) {
- return (policy) -> new OnDemandScalingGovernor(policy, threshold);
- }
-
- private abstract static class AbstractScalingGovernor implements ScalingGovernor {
- protected final ScalingPolicy policy;
-
- AbstractScalingGovernor(ScalingPolicy policy) {
- this.policy = policy;
- }
- }
-
- private static class PerformanceScalingGovernor extends AbstractScalingGovernor {
- static final ScalingGovernorFactory FACTORY = PerformanceScalingGovernor::new;
-
- private PerformanceScalingGovernor(ScalingPolicy policy) {
- super(policy);
- }
-
- @Override
- public void onStart() {
- policy.setTarget(policy.getMax());
- }
- }
-
- private static class PowerSaveScalingGovernor extends AbstractScalingGovernor {
- static final ScalingGovernorFactory FACTORY = PowerSaveScalingGovernor::new;
-
- private PowerSaveScalingGovernor(ScalingPolicy policy) {
- super(policy);
- }
-
- @Override
- public void onStart() {
- policy.setTarget(policy.getMin());
- }
- }
-
- private static class ConservativeScalingGovernor extends AbstractScalingGovernor {
- private final double threshold;
- private final double stepSize;
- private double previousLoad;
-
- private ConservativeScalingGovernor(ScalingPolicy policy, double threshold, double stepSize) {
- super(policy);
-
- this.threshold = threshold;
- this.previousLoad = threshold;
-
- if (stepSize < 0) {
- // https://github.com/torvalds/linux/blob/master/drivers/cpufreq/cpufreq_conservative.c#L33
- this.stepSize = policy.getMax() * 0.05;
- } else {
- this.stepSize = Math.min(stepSize, policy.getMax());
- }
- }
-
- @Override
- public void onStart() {
- policy.setTarget(policy.getMin());
- }
-
- @Override
- public void onLimit(double load) {
- final ScalingPolicy policy = this.policy;
- double currentTarget = policy.getTarget();
- if (load > threshold) {
- // Check for load increase (see:
- // https://github.com/torvalds/linux/blob/master/drivers/cpufreq/cpufreq_conservative.c#L102)
- double step = 0.0;
-
- if (load > previousLoad) {
- step = stepSize;
- } else if (load < previousLoad) {
- step = -stepSize;
- }
-
- double target = Math.min(Math.max(currentTarget + step, policy.getMin()), policy.getMax());
- policy.setTarget(target);
- }
- previousLoad = load;
- }
- }
-
- private static class OnDemandScalingGovernor extends AbstractScalingGovernor {
- private final double threshold;
- private final double multiplier;
-
- private OnDemandScalingGovernor(ScalingPolicy policy, double threshold) {
- super(policy);
-
- this.threshold = threshold;
- this.multiplier = (policy.getMax() - policy.getMin()) / 100;
- }
-
- @Override
- public void onStart() {
- policy.setTarget(policy.getMin());
- }
-
- @Override
- public void onLimit(double load) {
- final ScalingPolicy policy = this.policy;
- double target;
-
- if (load < threshold) {
- /* Proportional scaling (see: https://github.com/torvalds/linux/blob/master/drivers/cpufreq/cpufreq_ondemand.c#L151). */
- target = policy.getMin() + load * multiplier;
- } else {
- target = policy.getMax();
- }
-
- policy.setTarget(target);
- }
- }
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/cpufreq/ScalingPolicy.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/cpufreq/ScalingPolicy.java
deleted file mode 100644
index 0cdb7a0b..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/cpufreq/ScalingPolicy.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute.kernel.cpufreq;
-
-import org.opendc.simulator.compute.SimProcessingUnit;
-
-/**
- * An interface that holds the state managed by a {@link ScalingGovernor} and used by the underlying machine to control
- * the CPU frequencies.
- */
-public interface ScalingPolicy {
- /**
- * The processing unit that is associated with this policy.
- */
- SimProcessingUnit getCpu();
-
- /**
- * Return the target frequency which the CPU should attempt to attain.
- */
- double getTarget();
-
- /**
- * Set the target frequency which the CPU should attempt to attain.
- */
- void setTarget(double target);
-
- /**
- * Return the minimum frequency to which the CPU may scale.
- */
- double getMin();
-
- /**
- * Return the maximum frequency to which the CPU may scale.
- */
- double getMax();
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/interference/VmInterferenceDomain.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/interference/VmInterferenceDomain.java
deleted file mode 100644
index cc671379..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/interference/VmInterferenceDomain.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute.kernel.interference;
-
-import java.util.ArrayDeque;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.WeakHashMap;
-
-/**
- * A domain where virtual machines may incur performance variability due to operating on the same resource and
- * therefore causing interference.
- */
-public final class VmInterferenceDomain {
- /**
- * A cache to maintain a mapping between the active profiles in this domain.
- */
- private final WeakHashMap<VmInterferenceProfile, VmInterferenceMember> cache = new WeakHashMap<>();
-
- /**
- * The set of members active in this domain.
- */
- private final ArrayList<VmInterferenceMember> activeKeys = new ArrayList<>();
-
- /**
- * Queue of participants that will be removed or added to the active groups.
- */
- private final ArrayDeque<VmInterferenceMember> participants = new ArrayDeque<>();
-
- /**
- * Join this interference domain with the specified <code>profile</code> and return the {@link VmInterferenceMember}
- * associated with the profile. If the member does not exist, it will be created.
- */
- public VmInterferenceMember join(VmInterferenceProfile profile) {
- return cache.computeIfAbsent(profile, (key) -> key.newMember(this));
- }
-
- /**
- * Mark the specified <code>member</code> as active in this interference domain.
- */
- void activate(VmInterferenceMember member) {
- final ArrayList<VmInterferenceMember> activeKeys = this.activeKeys;
- int pos = Collections.binarySearch(activeKeys, member);
- if (pos < 0) {
- activeKeys.add(-pos - 1, member);
- }
-
- computeActiveGroups(activeKeys, member);
- }
-
- /**
- * Mark the specified <code>member</code> as inactive in this interference domain.
- */
- void deactivate(VmInterferenceMember member) {
- final ArrayList<VmInterferenceMember> activeKeys = this.activeKeys;
- activeKeys.remove(member);
- computeActiveGroups(activeKeys, member);
- }
-
- /**
- * (Re-)compute the active groups.
- */
- private void computeActiveGroups(ArrayList<VmInterferenceMember> activeKeys, VmInterferenceMember member) {
- if (activeKeys.isEmpty()) {
- return;
- }
-
- final int[] groups = member.membership;
- final int[][] members = member.members;
- final ArrayDeque<VmInterferenceMember> participants = this.participants;
-
- for (int group : groups) {
- int[] groupMembers = members[group];
-
- int i = 0;
- int j = 0;
- int intersection = 0;
-
- // Compute the intersection of the group members and the current active members
- while (i < groupMembers.length && j < activeKeys.size()) {
- int l = groupMembers[i];
- final VmInterferenceMember rightEntry = activeKeys.get(j);
- int r = rightEntry.id;
-
- if (l < r) {
- i++;
- } else if (l > r) {
- j++;
- } else {
- if (++intersection > 1) {
- rightEntry.addGroup(group);
- } else {
- participants.add(rightEntry);
- }
-
- i++;
- j++;
- }
- }
-
- while (true) {
- VmInterferenceMember participant = participants.poll();
-
- if (participant == null) {
- break;
- }
-
- if (intersection <= 1) {
- participant.removeGroup(group);
- } else {
- participant.addGroup(group);
- }
- }
- }
- }
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/interference/VmInterferenceMember.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/interference/VmInterferenceMember.java
deleted file mode 100644
index 64cd5077..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/interference/VmInterferenceMember.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute.kernel.interference;
-
-import java.util.Arrays;
-import java.util.SplittableRandom;
-import org.jetbrains.annotations.NotNull;
-
-/**
- * A participant of an interference domain.
- */
-public final class VmInterferenceMember implements Comparable<VmInterferenceMember> {
- private final VmInterferenceDomain domain;
- private final VmInterferenceModel model;
- final int id;
- final int[] membership;
- final int[][] members;
- private final double[] targets;
- private final double[] scores;
-
- private int[] groups = new int[2];
- private int groupsSize = 0;
-
- private int refCount = 0;
-
- VmInterferenceMember(
- VmInterferenceDomain domain,
- VmInterferenceModel model,
- int id,
- int[] membership,
- int[][] members,
- double[] targets,
- double[] scores) {
- this.domain = domain;
- this.model = model;
- this.id = id;
- this.membership = membership;
- this.members = members;
- this.targets = targets;
- this.scores = scores;
- }
-
- /**
- * Mark this member as active in this interference domain.
- */
- public void activate() {
- if (refCount++ <= 0) {
- domain.activate(this);
- }
- }
-
- /**
- * Mark this member as inactive in this interference domain.
- */
- public void deactivate() {
- if (--refCount <= 0) {
- domain.deactivate(this);
- }
- }
-
- /**
- * Compute the performance score of the member in this interference domain.
- *
- * @param random The source of randomness to apply when computing the performance score.
- * @param load The overall load on the interference domain.
- * @return A score representing the performance score to be applied to the member, with 1
- * meaning no influence, <1 means that performance degrades, and >1 means that performance improves.
- */
- public double apply(SplittableRandom random, double load) {
- int groupsSize = this.groupsSize;
-
- if (groupsSize == 0) {
- return 1.0;
- }
-
- int[] groups = this.groups;
- double[] targets = this.targets;
-
- int low = 0;
- int high = groupsSize - 1;
- int group = -1;
-
- // Perform binary search over the groups based on target load
- while (low <= high) {
- int mid = low + high >>> 1;
- int midGroup = groups[mid];
- double target = targets[midGroup];
-
- if (target < load) {
- low = mid + 1;
- group = midGroup;
- } else if (target > load) {
- high = mid - 1;
- } else {
- group = midGroup;
- break;
- }
- }
-
- if (group >= 0 && random.nextInt(members[group].length) == 0) {
- return scores[group];
- }
-
- return 1.0;
- }
-
- /**
- * Add an active group to this member.
- */
- void addGroup(int group) {
- int[] groups = this.groups;
- int groupsSize = this.groupsSize;
- int pos = Arrays.binarySearch(groups, 0, groupsSize, group);
-
- if (pos >= 0) {
- return;
- }
-
- int idx = -pos - 1;
-
- if (groups.length == groupsSize) {
- int newSize = groupsSize + (groupsSize >> 1);
- groups = Arrays.copyOf(groups, newSize);
- this.groups = groups;
- }
-
- System.arraycopy(groups, idx, groups, idx + 1, groupsSize - idx);
- groups[idx] = group;
- this.groupsSize += 1;
- }
-
- /**
- * Remove an active group from this member.
- */
- void removeGroup(int group) {
- int[] groups = this.groups;
- int groupsSize = this.groupsSize;
- int pos = Arrays.binarySearch(groups, 0, groupsSize, group);
-
- if (pos < 0) {
- return;
- }
-
- System.arraycopy(groups, pos + 1, groups, pos, groupsSize - pos - 1);
- this.groupsSize -= 1;
- }
-
- @Override
- public int compareTo(@NotNull VmInterferenceMember member) {
- int cmp = Integer.compare(model.hashCode(), member.model.hashCode());
- if (cmp != 0) {
- return cmp;
- }
-
- return Integer.compare(id, member.id);
- }
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/interference/VmInterferenceModel.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/interference/VmInterferenceModel.java
deleted file mode 100644
index e2093266..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/interference/VmInterferenceModel.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute.kernel.interference;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeMap;
-import java.util.TreeSet;
-import org.jetbrains.annotations.Nullable;
-
-/**
- * An interference model that models the resource interference between virtual machines on a host.
- */
-public final class VmInterferenceModel {
- private final Map<String, Integer> idMapping;
- private final int[][] members;
- private final int[][] membership;
- private final double[] targets;
- private final double[] scores;
-
- private VmInterferenceModel(
- Map<String, Integer> idMapping, int[][] members, int[][] membership, double[] targets, double[] scores) {
- this.idMapping = idMapping;
- this.members = members;
- this.membership = membership;
- this.targets = targets;
- this.scores = scores;
- }
-
- /**
- * Create a {@link Builder} for constructing a {@link VmInterferenceModel}.
- */
- public static Builder builder() {
- return new Builder(256);
- }
-
- /**
- * Return the {@link VmInterferenceProfile} associated with the specified <code>id</code>.
- *
- * @param id The identifier of the virtual machine.
- * @return A {@link VmInterferenceProfile} representing the virtual machine as part of interference model or
- * <code>null</code> if there is no profile for the virtual machine.
- */
- @Nullable
- public VmInterferenceProfile getProfile(String id) {
- Integer intId = idMapping.get(id);
- if (intId == null) {
- return null;
- }
- return new VmInterferenceProfile(this, intId, membership[intId], members, targets, scores);
- }
-
- /**
- * Builder class for a {@link VmInterferenceModel}.
- */
- public static final class Builder {
- private double[] targets;
- private double[] scores;
- private final ArrayList<Set<String>> members;
- private final TreeSet<String> ids;
- private int size;
-
- private Builder(int initialCapacity) {
- this.targets = new double[initialCapacity];
- this.scores = new double[initialCapacity];
- this.members = new ArrayList<>(initialCapacity);
- this.ids = new TreeSet<>();
- }
-
- /**
- * Add the specified group to the model.
- */
- public Builder addGroup(Set<String> members, double targetLoad, double score) {
- int size = this.size;
-
- if (size == targets.length) {
- grow();
- }
-
- targets[size] = targetLoad;
- scores[size] = score;
- this.members.add(members);
- ids.addAll(members);
-
- this.size++;
-
- return this;
- }
-
- /**
- * Build the {@link VmInterferenceModel}.
- */
- public VmInterferenceModel build() {
- int size = this.size;
- double[] targets = this.targets;
- double[] scores = this.scores;
- ArrayList<Set<String>> members = this.members;
-
- Integer[] indices = new Integer[size];
- Arrays.setAll(indices, (i) -> i);
- Arrays.sort(
- indices,
- Comparator.comparingDouble((Integer l) -> targets[l])
- .thenComparingDouble(l -> scores[l])
- .thenComparingInt(l -> l));
-
- double[] newTargets = new double[size];
- double[] newScores = new double[size];
- int[][] newMembers = new int[size][];
-
- int nextId = 0;
-
- Map<String, Integer> idMapping = new HashMap<>();
- TreeMap<String, ArrayList<Integer>> membership = new TreeMap<>();
- for (String id : ids) {
- idMapping.put(id, nextId++);
- membership.put(id, new ArrayList<>());
- }
-
- for (int group = 0; group < indices.length; group++) {
- int j = indices[group];
- newTargets[group] = targets[j];
- newScores[group] = scores[j];
-
- Set<String> groupMembers = members.get(j);
- int[] newGroupMembers = new int[groupMembers.size()];
- int k = 0;
-
- for (String groupMember : groupMembers) {
- newGroupMembers[k++] = idMapping.get(groupMember);
- }
-
- Arrays.sort(newGroupMembers);
- newMembers[group] = newGroupMembers;
-
- for (String member : groupMembers) {
- membership.get(member).add(group);
- }
- }
-
- int[][] newMembership = new int[membership.size()][];
- int k = 0;
- for (ArrayList<Integer> value : membership.values()) {
- newMembership[k++] = value.stream().mapToInt(i -> i).toArray();
- }
-
- return new VmInterferenceModel(idMapping, newMembers, newMembership, newTargets, newScores);
- }
-
- /**
- * Helper function to grow the capacity of the internal arrays.
- */
- private void grow() {
- int oldSize = targets.length;
- int newSize = oldSize + (oldSize >> 1);
-
- targets = Arrays.copyOf(targets, newSize);
- scores = Arrays.copyOf(scores, newSize);
- }
- }
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/interference/VmInterferenceProfile.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/interference/VmInterferenceProfile.java
deleted file mode 100644
index 3f0c0a88..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/kernel/interference/VmInterferenceProfile.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute.kernel.interference;
-
-/**
- * A profile of a particular virtual machine describing its interference pattern with other virtual machines.
- */
-public final class VmInterferenceProfile {
- private final VmInterferenceModel model;
- private final int id;
- private final int[] membership;
- private final int[][] members;
- private final double[] targets;
- private final double[] scores;
-
- /**
- * Construct a {@link VmInterferenceProfile}.
- */
- VmInterferenceProfile(
- VmInterferenceModel model, int id, int[] membership, int[][] members, double[] targets, double[] scores) {
- this.model = model;
- this.id = id;
- this.membership = membership;
- this.members = members;
- this.targets = targets;
- this.scores = scores;
- }
-
- /**
- * Create a new {@link VmInterferenceMember} based on this profile for the specified <code>domain</code>.
- */
- VmInterferenceMember newMember(VmInterferenceDomain domain) {
- return new VmInterferenceMember(domain, model, id, membership, members, targets, scores);
- }
-
- @Override
- public String toString() {
- return "VmInterferenceProfile[id=" + id + "]";
- }
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/machine/PerformanceCounters.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/machine/PerformanceCounters.java
new file mode 100644
index 00000000..b1e30e5c
--- /dev/null
+++ b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/machine/PerformanceCounters.java
@@ -0,0 +1,102 @@
+/*
+ * Copyright (c) 2024 AtLarge Research
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+package org.opendc.simulator.compute.machine;
+
+public class PerformanceCounters {
+ private long cpuActiveTime = 0;
+ private long cpuIdleTime = 0;
+ private long cpuStealTime = 0;
+ private long cpuLostTime = 0;
+
+ private float cpuCapacity = 0.0f;
+ private float cpuDemand = 0.0f;
+ private float cpuSupply = 0.0f;
+
+ public long getCpuActiveTime() {
+ return cpuActiveTime;
+ }
+
+ public void setCpuActiveTime(long cpuActiveTime) {
+ this.cpuActiveTime = cpuActiveTime;
+ }
+
+ public void addCpuActiveTime(long cpuActiveTime) {
+ this.cpuActiveTime += cpuActiveTime;
+ }
+
+ public long getCpuIdleTime() {
+ return cpuIdleTime;
+ }
+
+ public void setCpuIdleTime(long cpuIdleTime) {
+ this.cpuIdleTime = cpuIdleTime;
+ }
+
+ public void addCpuIdleTime(long cpuIdleTime) {
+ this.cpuIdleTime += cpuIdleTime;
+ }
+
+ public long getCpuStealTime() {
+ return cpuStealTime;
+ }
+
+ public void setCpuStealTime(long cpuStealTime) {
+ this.cpuStealTime = cpuStealTime;
+ }
+
+ public void addCpuStealTime(long cpuStealTime) {
+ this.cpuStealTime += cpuStealTime;
+ }
+
+ public long getCpuLostTime() {
+ return cpuLostTime;
+ }
+
+ public void setCpuLostTime(long cpuLostTime) {
+ this.cpuLostTime = cpuLostTime;
+ }
+
+ public float getCpuCapacity() {
+ return cpuCapacity;
+ }
+
+ public void setCpuCapacity(float cpuCapacity) {
+ this.cpuCapacity = cpuCapacity;
+ }
+
+ public float getCpuDemand() {
+ return cpuDemand;
+ }
+
+ public void setCpuDemand(float cpuDemand) {
+ this.cpuDemand = cpuDemand;
+ }
+
+ public float getCpuSupply() {
+ return cpuSupply;
+ }
+
+ public void setCpuSupply(float cpuSupply) {
+ this.cpuSupply = cpuSupply;
+ }
+}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/machine/SimMachine.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/machine/SimMachine.java
new file mode 100644
index 00000000..00a69efe
--- /dev/null
+++ b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/machine/SimMachine.java
@@ -0,0 +1,184 @@
+/*
+ * Copyright (c) 2024 AtLarge Research
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+package org.opendc.simulator.compute.machine;
+
+import java.time.InstantSource;
+import java.util.function.Consumer;
+import org.opendc.simulator.Multiplexer;
+import org.opendc.simulator.compute.cpu.CpuPowerModel;
+import org.opendc.simulator.compute.cpu.SimCpu;
+import org.opendc.simulator.compute.memory.Memory;
+import org.opendc.simulator.compute.models.MachineModel;
+import org.opendc.simulator.compute.power.SimPsu;
+import org.opendc.simulator.compute.workload.SimWorkload;
+import org.opendc.simulator.compute.workload.Workload;
+import org.opendc.simulator.engine.FlowGraph;
+
+/**
+ * A machine that is able to execute {@link SimWorkload} objects.
+ */
+public class SimMachine {
+ private final MachineModel machineModel;
+ private final FlowGraph graph;
+
+ private final InstantSource clock;
+
+ private SimCpu cpu;
+ private Multiplexer cpuMux;
+ private SimPsu psu;
+ private Memory memory;
+
+ private Consumer<Exception> completion;
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // Basic Getters and Setters
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ public PerformanceCounters getPerformanceCounters() {
+ return this.cpu.getPerformanceCounters();
+ }
+
+ public MachineModel getMachineModel() {
+ return machineModel;
+ }
+
+ public FlowGraph getGraph() {
+ return graph;
+ }
+
+ public InstantSource getClock() {
+ return clock;
+ }
+
+ public SimCpu getCpu() {
+ return cpu;
+ }
+
+ public Multiplexer getCpuMux() {
+ return cpuMux;
+ }
+
+ public Memory getMemory() {
+ return memory;
+ }
+
+ public SimPsu getPsu() {
+ return psu;
+ }
+
+ /**
+ * Return the CPU capacity of the hypervisor in MHz.
+ */
+ public double getCpuCapacity() {
+ return 0.0;
+ }
+
+ /**
+ * The CPU demand of the hypervisor in MHz.
+ */
+ public double getCpuDemand() {
+ return 0.0;
+ }
+
+ /**
+ * The CPU usage of the hypervisor in MHz.
+ */
+ public double getCpuUsage() {
+ return 0.0;
+ }
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // Constructors
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ public SimMachine(
+ FlowGraph graph, MachineModel machineModel, CpuPowerModel cpuPowerModel, Consumer<Exception> completion) {
+ this.graph = graph;
+ this.machineModel = machineModel;
+ this.clock = graph.getEngine().getClock();
+
+ // Create the psu and cpu and connect them
+ this.psu = new SimPsu(graph);
+ this.cpu = new SimCpu(graph, this.machineModel.getCpu(), 0);
+
+ graph.addEdge(this.cpu, this.psu);
+
+ this.memory = new Memory(graph, this.machineModel.getMemory());
+
+ // Create a Multiplexer and add the cpu as supplier
+ this.cpuMux = new Multiplexer(this.graph);
+ graph.addEdge(this.cpuMux, this.cpu);
+
+ this.completion = completion;
+ }
+
+ public void shutdown() {
+ shutdown(null);
+ }
+
+ /**
+ * Close all related hardware
+ */
+ public void shutdown(Exception cause) {
+ this.graph.removeNode(this.psu);
+ this.psu = null;
+
+ this.graph.removeNode(this.cpu);
+ this.cpu = null;
+
+ this.graph.removeNode(this.cpuMux);
+ this.cpuMux = null;
+
+ this.memory = null;
+
+ this.completion.accept(cause);
+ }
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // Workload related functionality
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ /**
+ * Determine whether the specified machine characterized by <code>model</code> can fit on this hypervisor at this
+ * moment.
+ * TODO: This currently alwasy returns True, maybe remove?
+ */
+ public boolean canFit(MachineModel model) {
+ return true;
+ }
+
+ /**
+ * Create a Virtual Machine, and start the given workload on it.
+ *
+ * @param workload
+ * @param completion
+ * @return
+ */
+ public VirtualMachine startWorkload(Workload workload, Consumer<Exception> completion) {
+ final VirtualMachine vm = new VirtualMachine(this);
+
+ vm.startWorkload(workload, completion);
+
+ return vm;
+ }
+}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/machine/VirtualMachine.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/machine/VirtualMachine.java
new file mode 100644
index 00000000..3bc3d2b4
--- /dev/null
+++ b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/machine/VirtualMachine.java
@@ -0,0 +1,246 @@
+/*
+ * Copyright (c) 2024 AtLarge Research
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+package org.opendc.simulator.compute.machine;
+
+import java.util.function.Consumer;
+import org.opendc.simulator.compute.cpu.SimCpu;
+import org.opendc.simulator.compute.workload.SimWorkload;
+import org.opendc.simulator.compute.workload.Workload;
+import org.opendc.simulator.engine.FlowConsumer;
+import org.opendc.simulator.engine.FlowEdge;
+import org.opendc.simulator.engine.FlowGraph;
+import org.opendc.simulator.engine.FlowNode;
+import org.opendc.simulator.engine.FlowSupplier;
+
+/*
+ A virtual Machine created to run a single workload
+*/
+public class VirtualMachine extends FlowNode implements FlowConsumer, FlowSupplier {
+ private SimMachine machine;
+
+ private SimWorkload activeWorkload;
+
+ private long lastUpdate;
+ private final double d;
+
+ private FlowEdge cpuEdge; // The edge to the cpu
+ private FlowEdge workloadEdge; // The edge to the workload
+
+ private float cpuDemand;
+ private float cpuSupply;
+ private float cpuCapacity;
+
+ private PerformanceCounters performanceCounters = new PerformanceCounters();
+
+ private Consumer<Exception> completion;
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // Basic Getters and Setters
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ public PerformanceCounters getPerformanceCounters() {
+ return performanceCounters;
+ }
+
+ public SimWorkload getActiveWorkload() {
+ return activeWorkload;
+ }
+
+ public float getDemand() {
+ return cpuDemand;
+ }
+
+ public void setDemand(float demand) {
+ this.cpuDemand = demand;
+ }
+
+ public float getCpuCapacity() {
+ return cpuCapacity;
+ }
+
+ public void setCpuCapacity(float cpuCapacity) {
+ this.cpuCapacity = cpuCapacity;
+ }
+
+ public FlowGraph getGraph() {
+ return this.parentGraph;
+ }
+
+ public SimCpu getCpu() {
+ return machine.getCpu();
+ }
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // Constructors
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ public VirtualMachine(SimMachine machine) {
+ super(machine.getGraph());
+ this.machine = machine;
+ this.clock = this.machine.getClock();
+
+ this.parentGraph = machine.getGraph();
+ this.parentGraph.addEdge(this, this.machine.getCpuMux());
+
+ this.lastUpdate = clock.millis();
+ this.lastUpdate = clock.millis();
+
+ this.d = 1 / machine.getCpu().getFrequency();
+ }
+
+ public void shutdown() {
+ this.shutdown(null);
+ }
+
+ public void shutdown(Exception cause) {
+ if (this.nodeState == NodeState.CLOSED) {
+ return;
+ }
+
+ super.closeNode();
+
+ this.activeWorkload = null;
+ this.performanceCounters = null;
+
+ this.completion.accept(cause);
+ }
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // Workload related functionality
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ public void startWorkload(Workload workload, Consumer<Exception> completion) {
+ this.completion = completion;
+ this.activeWorkload = workload.startWorkload(this, this.clock.millis());
+ }
+
+ public void updateCounters(long now) {
+ long lastUpdate = this.lastUpdate;
+ this.lastUpdate = now;
+ long delta = now - lastUpdate;
+
+ if (delta > 0) {
+ final double factor = this.d * delta;
+
+ this.performanceCounters.addCpuActiveTime(Math.round(this.cpuSupply * factor));
+ this.performanceCounters.setCpuIdleTime(Math.round((this.cpuCapacity - this.cpuSupply) * factor));
+ this.performanceCounters.addCpuStealTime(Math.round((this.cpuDemand - this.cpuSupply) * factor));
+ }
+
+ this.performanceCounters.setCpuDemand(this.cpuDemand);
+ this.performanceCounters.setCpuSupply(this.cpuSupply);
+ this.performanceCounters.setCpuCapacity(this.cpuCapacity);
+ }
+
+ @Override
+ public long onUpdate(long now) {
+ updateCounters(now);
+
+ return Long.MAX_VALUE;
+ }
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // FlowGraph Related functionality
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ /**
+ * Add an edge to the workload
+ * TODO: maybe add a check if there is already an edge
+ */
+ @Override
+ public void addConsumerEdge(FlowEdge consumerEdge) {
+ this.workloadEdge = consumerEdge;
+ }
+
+ /**
+ * Add an edge to the cpuMux
+ * TODO: maybe add a check if there is already an edge
+ */
+ @Override
+ public void addSupplierEdge(FlowEdge supplierEdge) {
+ this.cpuEdge = supplierEdge;
+ }
+
+ /**
+ * Push demand to the cpuMux if the demand has changed
+ **/
+ @Override
+ public void pushDemand(FlowEdge supplierEdge, float newDemand) {
+ this.cpuEdge.pushDemand(newDemand);
+ }
+
+ /**
+ * Push supply to the workload if the supply has changed
+ **/
+ @Override
+ public void pushSupply(FlowEdge consumerEdge, float newSupply) {
+ this.workloadEdge.pushDemand(newSupply);
+ }
+
+ /**
+ * Handle new demand from the workload by sending it through to the cpuMux
+ **/
+ @Override
+ public void handleDemand(FlowEdge consumerEdge, float newDemand) {
+ if (this.cpuDemand == newDemand) {
+ return;
+ }
+
+ updateCounters(this.clock.millis());
+ this.cpuDemand = newDemand;
+
+ pushDemand(this.cpuEdge, newDemand);
+ }
+
+ /**
+ * Handle a new supply pushed by the cpuMux by sending it through to the workload
+ **/
+ @Override
+ public void handleSupply(FlowEdge supplierEdge, float newCpuSupply) {
+ if (newCpuSupply == this.cpuSupply) {
+ return;
+ }
+
+ updateCounters(this.clock.millis());
+ this.cpuSupply = newCpuSupply;
+
+ pushSupply(this.workloadEdge, newCpuSupply);
+ }
+
+ @Override
+ public void removeConsumerEdge(FlowEdge consumerEdge) {
+ this.workloadEdge = null;
+ this.shutdown();
+ }
+
+ @Override
+ public float getCapacity() {
+ return this.cpuCapacity;
+ }
+
+ @Override
+ public void removeSupplierEdge(FlowEdge supplierEdge) {
+ this.cpuEdge = null;
+ this.shutdown();
+ }
+}
diff --git a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/cpufreq/PerformanceScalingGovernorTest.kt b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/memory/Memory.java
index f03f41fe..2656a99a 100644
--- a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/cpufreq/PerformanceScalingGovernorTest.kt
+++ b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/memory/Memory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 AtLarge Research
+ * Copyright (c) 2024 AtLarge Research
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -20,31 +20,36 @@
* SOFTWARE.
*/
-package org.opendc.simulator.compute.kernel.cpufreq
+package org.opendc.simulator.compute.memory;
-import io.mockk.every
-import io.mockk.spyk
-import io.mockk.verify
-import org.junit.jupiter.api.Test
+import org.opendc.simulator.compute.models.MemoryUnit;
+import org.opendc.simulator.engine.FlowGraph;
/**
- * Test suite for the [PerformanceScalingGovernor]
+ * The [SimMemory] implementation for a machine.
*/
-internal class PerformanceScalingGovernorTest {
- @Test
- fun testSetStartLimit() {
- val policy = spyk<ScalingPolicy>()
- val logic = ScalingGovernors.performance().newGovernor(policy)
+public final class Memory {
+ // private final SimpleFlowSink sink;
+ private final MemoryUnit memoryUnit;
- every { policy.max } returns 4100.0
+ public Memory(FlowGraph graph, MemoryUnit memoryUnit) {
- logic.onStart()
- verify(exactly = 1) { policy.target = 4100.0 }
+ this.memoryUnit = memoryUnit;
+ // TODO: Fix this
+ // this.sink = new SimpleFlowSink(graph, (float) memoryUnit.getSize());
+ }
+
+ public double getCapacity() {
+ // return sink.getCapacity();
+ return 0.0f;
+ }
- logic.onLimit(0.0)
- verify(exactly = 1) { policy.target = 4100.0 }
+ public MemoryUnit getMemoryUnit() {
+ return memoryUnit;
+ }
- logic.onLimit(1.0)
- verify(exactly = 1) { policy.target = 4100.0 }
+ @Override
+ public String toString() {
+ return "SimAbstractMachine.Memory";
}
}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/model/NetworkAdapter.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/model/NetworkAdapter.java
deleted file mode 100644
index ff3daa40..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/model/NetworkAdapter.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute.model;
-
-import java.util.Objects;
-
-/**
- * A description of a network adapter
- */
-public final class NetworkAdapter {
- private final String vendor;
- private final String modelName;
- private final double bandwidth;
-
- /**
- * Construct a {@link NetworkAdapter} instance.
- *
- * @param vendor The vendor of the storage device.
- * @param modelName The model name of the device.
- * @param bandwidth The bandwidth of the network adapter in Mbps.
- */
- public NetworkAdapter(String vendor, String modelName, double bandwidth) {
- this.vendor = vendor;
- this.modelName = modelName;
- this.bandwidth = bandwidth;
- }
-
- /**
- * Return the vendor of the storage device.
- */
- public String getVendor() {
- return vendor;
- }
-
- /**
- * Return the model name of the device.
- */
- public String getModelName() {
- return modelName;
- }
-
- /**
- * Return the bandwidth of the network adapter in Mbps.
- */
- public double getBandwidth() {
- return bandwidth;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
- NetworkAdapter that = (NetworkAdapter) o;
- return Double.compare(that.bandwidth, bandwidth) == 0
- && vendor.equals(that.vendor)
- && modelName.equals(that.modelName);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(vendor, modelName, bandwidth);
- }
-
- @Override
- public String toString() {
- return "NetworkAdapter[vendor='" + vendor + "',modelName='" + modelName + "',bandwidth=" + bandwidth + "Mbps]";
- }
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/model/ProcessingNode.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/model/ProcessingNode.java
deleted file mode 100644
index 01a87b96..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/model/ProcessingNode.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute.model;
-
-import java.util.Objects;
-
-/**
- * A processing node/package/socket containing possibly several CPU cores.
- */
-public final class ProcessingNode {
- private final String vendor;
- private final String modelName;
- private final String arch;
- private final int coreCount;
-
- /**
- * Construct a {@link ProcessingNode} instance.
- *
- * @param vendor The vendor of the storage device.
- * @param modelName The model name of the device.
- * @param arch The micro-architecture of the processor node.
- * @param coreCount The number of logical CPUs in the processor node.
- */
- public ProcessingNode(String vendor, String modelName, String arch, int coreCount) {
- this.vendor = vendor;
- this.modelName = modelName;
- this.arch = arch;
- this.coreCount = coreCount;
- }
-
- /**
- * Return the vendor of the storage device.
- */
- public String getVendor() {
- return vendor;
- }
-
- /**
- * Return the model name of the device.
- */
- public String getModelName() {
- return modelName;
- }
-
- /**
- * Return the micro-architecture of the processor node.
- */
- public String getArchitecture() {
- return arch;
- }
-
- /**
- * Return the number of logical CPUs in the processor node.
- */
- public int getCoreCount() {
- return coreCount;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
- ProcessingNode that = (ProcessingNode) o;
- return coreCount == that.coreCount
- && vendor.equals(that.vendor)
- && modelName.equals(that.modelName)
- && arch.equals(that.arch);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(vendor, modelName, arch, coreCount);
- }
-
- @Override
- public String toString() {
- return "ProcessingNode[vendor='" + vendor + "',modelName='" + modelName + "',arch=" + arch + ",coreCount="
- + coreCount + "]";
- }
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/model/StorageDevice.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/model/StorageDevice.java
deleted file mode 100644
index 549ccc7e..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/model/StorageDevice.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute.model;
-
-import java.util.Objects;
-
-/**
- * Model for a physical storage device attached to a machine.
- */
-public final class StorageDevice {
- private final String vendor;
- private final String modelName;
- private final double capacity;
- private final double readBandwidth;
- private final double writeBandwidth;
-
- /**
- * Construct a {@link StorageDevice} instance.
- *
- * @param vendor The vendor of the storage device.
- * @param modelName The model name of the device.
- * @param capacity The capacity of the device.
- * @param readBandwidth The read bandwidth of the device in MBps.
- * @param writeBandwidth The write bandwidth of the device in MBps.
- */
- public StorageDevice(
- String vendor, String modelName, double capacity, double readBandwidth, double writeBandwidth) {
- this.vendor = vendor;
- this.modelName = modelName;
- this.capacity = capacity;
- this.readBandwidth = readBandwidth;
- this.writeBandwidth = writeBandwidth;
- }
-
- /**
- * Return the vendor of the storage device.
- */
- public String getVendor() {
- return vendor;
- }
-
- /**
- * Return the model name of the device.
- */
- public String getModelName() {
- return modelName;
- }
-
- /**
- * Return the capacity of the device.
- */
- public double getCapacity() {
- return capacity;
- }
-
- /**
- * Return the read bandwidth of the device in MBps.
- */
- public double getReadBandwidth() {
- return readBandwidth;
- }
-
- /**
- * Return the write bandwidth of the device in MBps.
- */
- public double getWriteBandwidth() {
- return writeBandwidth;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
- StorageDevice that = (StorageDevice) o;
- return Double.compare(that.capacity, capacity) == 0
- && Double.compare(that.readBandwidth, readBandwidth) == 0
- && Double.compare(that.writeBandwidth, writeBandwidth) == 0
- && vendor.equals(that.vendor)
- && modelName.equals(that.modelName);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(vendor, modelName, capacity, readBandwidth, writeBandwidth);
- }
-
- @Override
- public String toString() {
- return "StorageDevice[vendor='" + vendor + "',modelName='" + modelName + "',capacity=" + capacity
- + ",readBandwidth=" + readBandwidth + ",writeBandwidth=" + writeBandwidth + "]";
- }
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/model/Cpu.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/models/CpuModel.java
index c319ae1a..88e17941 100644
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/model/Cpu.java
+++ b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/models/CpuModel.java
@@ -20,25 +20,25 @@
* SOFTWARE.
*/
-package org.opendc.simulator.compute.model;
+package org.opendc.simulator.compute.models;
import java.util.Objects;
/**
* A single logical compute unit of processor node, either virtual or physical.
*/
-public final class Cpu {
+public final class CpuModel {
private final int id;
private final int coreCount;
- private final double coreSpeed;
- private final double totalCapacity;
+ private final float coreSpeed;
+ private final float totalCapacity;
private final String vendor;
private final String modelName;
private final String arch;
/**
- * Construct a {@link Cpu} instance.
+ * Construct a {@link CpuModel} instance.
*
* @param id The identifier of the CPU core within the processing node.
* @param coreCount The number of cores present in the CPU
@@ -47,7 +47,7 @@ public final class Cpu {
* @param modelName The name of the CPU
* @param arch The architecture of the CPU
*/
- public Cpu(int id, int coreCount, double coreSpeed, String vendor, String modelName, String arch) {
+ public CpuModel(int id, int coreCount, float coreSpeed, String vendor, String modelName, String arch) {
this.id = id;
this.coreCount = coreCount;
this.coreSpeed = coreSpeed;
@@ -57,7 +57,7 @@ public final class Cpu {
this.arch = arch;
}
- public Cpu(int id, int coreCount, double coreSpeed) {
+ public CpuModel(int id, int coreCount, float coreSpeed) {
this(id, coreCount, coreSpeed, "unkown", "unkown", "unkown");
}
@@ -78,14 +78,14 @@ public final class Cpu {
/**
* Return the clock rate of a single core of the CPU MHz.
*/
- public double getCoreSpeed() {
+ public float getCoreSpeed() {
return coreSpeed;
}
/**
* Return the clock rate of the CPU in MHz.
*/
- public double getTotalCapacity() {
+ public float getTotalCapacity() {
return totalCapacity;
}
@@ -114,7 +114,7 @@ public final class Cpu {
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
- Cpu that = (Cpu) o;
+ CpuModel that = (CpuModel) o;
return id == that.id
&& Double.compare(that.totalCapacity, totalCapacity) == 0
&& Double.compare(that.coreSpeed, coreSpeed) == 0
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/model/MachineModel.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/models/MachineModel.java
index e4019dac..d6d139d7 100644
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/model/MachineModel.java
+++ b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/models/MachineModel.java
@@ -20,10 +20,8 @@
* SOFTWARE.
*/
-package org.opendc.simulator.compute.model;
+package org.opendc.simulator.compute.models;
-import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import java.util.Objects;
@@ -31,33 +29,18 @@ import java.util.Objects;
* A description of the physical or virtual machine on which a bootable image runs.
*/
public final class MachineModel {
- private final Cpu cpu;
+ private final CpuModel cpuModel;
private final MemoryUnit memory;
- private final List<NetworkAdapter> net;
- private final List<StorageDevice> storage;
/**
* Construct a {@link MachineModel} instance.
*
- * @param cpu The cpu available to the image.
+ * @param cpuModel The cpu available to the image.
* @param memory The list of memory units available to the image.
- * @param net A list of network adapters available to the machine.
- * @param storage A list of storage devices available to the machine.
*/
- public MachineModel(Cpu cpu, MemoryUnit memory, Iterable<NetworkAdapter> net, Iterable<StorageDevice> storage) {
- this.cpu = cpu;
-
+ public MachineModel(CpuModel cpuModel, MemoryUnit memory) {
+ this.cpuModel = cpuModel;
this.memory = memory;
-
- this.net = new ArrayList<>();
- net.forEach(this.net::add);
-
- this.storage = new ArrayList<>();
- storage.forEach(this.storage::add);
- }
-
- public MachineModel(Cpu cpu, MemoryUnit memory) {
- this(cpu, memory, Collections.emptyList(), Collections.emptyList());
}
/**
@@ -68,31 +51,24 @@ public final class MachineModel {
* @param cpus The list of processing units available to the image.
* @param memory The list of memory units available to the image.
*/
- public MachineModel(
- List<Cpu> cpus, MemoryUnit memory, Iterable<NetworkAdapter> net, Iterable<StorageDevice> storage) {
+ public MachineModel(List<CpuModel> cpus, MemoryUnit memory) {
this(
- new Cpu(
+ new CpuModel(
cpus.get(0).getId(),
cpus.get(0).getCoreCount() * cpus.size(),
cpus.get(0).getCoreSpeed(),
cpus.get(0).getVendor(),
cpus.get(0).getModelName(),
cpus.get(0).getArchitecture()),
- memory,
- net,
- storage);
- }
-
- public MachineModel(List<Cpu> cpus, MemoryUnit memory) {
- this(cpus, memory, Collections.emptyList(), Collections.emptyList());
+ memory);
}
/**
* Return the processing units of this machine.
*/
- public Cpu getCpu() {
- return this.cpu;
+ public CpuModel getCpu() {
+ return this.cpuModel;
}
/**
@@ -102,38 +78,21 @@ public final class MachineModel {
return memory;
}
- /**
- * Return the network adapters of this machine.
- */
- public List<NetworkAdapter> getNetwork() {
- return Collections.unmodifiableList(net);
- }
-
- /**
- * Return the storage devices of this machine.
- */
- public List<StorageDevice> getStorage() {
- return Collections.unmodifiableList(storage);
- }
-
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
MachineModel that = (MachineModel) o;
- return cpu.equals(that.cpu)
- && memory.equals(that.memory)
- && net.equals(that.net)
- && storage.equals(that.storage);
+ return cpuModel.equals(that.cpuModel) && memory.equals(that.memory);
}
@Override
public int hashCode() {
- return Objects.hash(cpu, memory, net, storage);
+ return Objects.hash(cpuModel, memory);
}
@Override
public String toString() {
- return "MachineModel[cpus=" + cpu + ",memory=" + memory + ",net=" + net + ",storage=" + storage + "]";
+ return "MachineModel[cpus=" + cpuModel + ",memory=" + memory + "]";
}
}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/model/MemoryUnit.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/models/MemoryUnit.java
index dbd3f89a..c3af2bcd 100644
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/model/MemoryUnit.java
+++ b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/models/MemoryUnit.java
@@ -20,7 +20,7 @@
* SOFTWARE.
*/
-package org.opendc.simulator.compute.model;
+package org.opendc.simulator.compute.models;
import java.util.Objects;
@@ -34,7 +34,7 @@ public final class MemoryUnit {
private final long size;
/**
- * Construct a {@link ProcessingNode} instance.
+ * Construct a {@link MemoryUnit} instance.
*
* @param vendor The vendor of the storage device.
* @param modelName The model name of the device.
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/power/SimPowerSource.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/power/SimPowerSource.java
new file mode 100644
index 00000000..9b4d6a33
--- /dev/null
+++ b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/power/SimPowerSource.java
@@ -0,0 +1,169 @@
+/*
+ * Copyright (c) 2024 AtLarge Research
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+package org.opendc.simulator.compute.power;
+
+import java.time.InstantSource;
+import org.opendc.simulator.compute.cpu.SimCpu;
+import org.opendc.simulator.engine.FlowEdge;
+import org.opendc.simulator.engine.FlowGraph;
+import org.opendc.simulator.engine.FlowNode;
+import org.opendc.simulator.engine.FlowSupplier;
+
+/**
+ * A {@link SimPsu} implementation that estimates the power consumption based on CPU usage.
+ */
+public final class SimPowerSource extends FlowNode implements FlowSupplier {
+ private final InstantSource clock;
+
+ private long lastUpdate;
+
+ private float powerDemand = 0.0f;
+ private float powerSupplied = 0.0f;
+ private float totalEnergyUsage = 0.0f;
+
+ private FlowEdge cpuEdge;
+
+ private float capacity = Long.MAX_VALUE;
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // Basic Getters and Setters
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ /**
+ * Determine whether the InPort is connected to a {@link SimCpu}.
+ *
+ * @return <code>true</code> if the InPort is connected to an OutPort, <code>false</code> otherwise.
+ */
+ public boolean isConnected() {
+ return cpuEdge != null;
+ }
+
+ /**
+ * Return the power demand of the machine (in W) measured in the PSU.
+ * <p>
+ * This method provides access to the power consumption of the machine before PSU losses are applied.
+ */
+ public double getPowerDemand() {
+ return this.powerDemand;
+ }
+
+ /**
+ * Return the instantaneous power usage of the machine (in W) measured at the InPort of the power supply.
+ */
+ public float getPowerDraw() {
+ return this.powerSupplied;
+ }
+
+ /**
+ * Return the cumulated energy usage of the machine (in J) measured at the InPort of the powers supply.
+ */
+ public float getEnergyUsage() {
+ updateCounters();
+ return totalEnergyUsage;
+ }
+
+ @Override
+ public float getCapacity() {
+ return this.capacity;
+ }
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // Constructors
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ public SimPowerSource(FlowGraph graph) {
+ super(graph);
+
+ this.clock = graph.getEngine().getClock();
+
+ lastUpdate = graph.getEngine().getClock().millis();
+ }
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // FlowNode related functionality
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ @Override
+ public long onUpdate(long now) {
+ updateCounters();
+ float powerSupply = this.powerDemand;
+
+ if (powerSupply != this.powerSupplied) {
+ this.pushSupply(this.cpuEdge, powerSupply);
+ }
+
+ return Long.MAX_VALUE;
+ }
+
+ public void updateCounters() {
+ updateCounters(clock.millis());
+ }
+
+ /**
+ * Calculate the energy usage up until <code>now</code>.
+ */
+ public void updateCounters(long now) {
+ long lastUpdate = this.lastUpdate;
+ this.lastUpdate = now;
+
+ long duration = now - lastUpdate;
+ if (duration > 0) {
+ // Compute the energy usage of the machine
+ this.totalEnergyUsage += (float) (this.powerSupplied * duration * 0.001);
+ }
+ }
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // FlowGraph Related functionality
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ @Override
+ public void handleDemand(FlowEdge consumerEdge, float newPowerDemand) {
+ if (newPowerDemand == this.powerDemand) {
+ return;
+ }
+
+ this.powerDemand = newPowerDemand;
+ this.invalidate();
+ }
+
+ @Override
+ public void pushSupply(FlowEdge consumerEdge, float newSupply) {
+ if (newSupply == this.powerSupplied) {
+ return;
+ }
+
+ this.powerSupplied = newSupply;
+ consumerEdge.pushSupply(newSupply);
+ }
+
+ @Override
+ public void addConsumerEdge(FlowEdge consumerEdge) {
+ this.cpuEdge = consumerEdge;
+ }
+
+ @Override
+ public void removeConsumerEdge(FlowEdge consumerEdge) {
+ this.cpuEdge = null;
+ }
+}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/power/SimPsu.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/power/SimPsu.java
new file mode 100644
index 00000000..8f0fb130
--- /dev/null
+++ b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/power/SimPsu.java
@@ -0,0 +1,196 @@
+/*
+ * Copyright (c) 2024 AtLarge Research
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+package org.opendc.simulator.compute.power;
+
+import org.opendc.simulator.compute.cpu.SimCpu;
+import org.opendc.simulator.engine.FlowConsumer;
+import org.opendc.simulator.engine.FlowEdge;
+import org.opendc.simulator.engine.FlowGraph;
+import org.opendc.simulator.engine.FlowNode;
+import org.opendc.simulator.engine.FlowSupplier;
+
+/**
+ * A {@link SimPsu} implementation that estimates the power consumption based on CPU usage.
+ */
+public final class SimPsu extends FlowNode implements FlowSupplier, FlowConsumer {
+ private long lastUpdate;
+
+ private float powerDemand = 0.0f;
+ private float powerSupplied = 0.0f;
+ private float totalEnergyUsage = 0.0f;
+
+ private FlowEdge cpuEdge;
+ private FlowEdge powerEdge;
+
+ private float capacity = Long.MAX_VALUE;
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // Basic Getters and Setters
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ /**
+ * Determine whether the InPort is connected to a {@link SimCpu}.
+ *
+ * @return <code>true</code> if the InPort is connected to an OutPort, <code>false</code> otherwise.
+ */
+ public boolean isConnected() {
+ return cpuEdge != null;
+ }
+
+ /**
+ * Return the power demand of the machine (in W) measured in the PSU.
+ * <p>
+ * This method provides access to the power consumption of the machine before PSU losses are applied.
+ */
+ public double getPowerDemand() {
+ return this.powerDemand;
+ }
+
+ /**
+ * Return the instantaneous power usage of the machine (in W) measured at the InPort of the power supply.
+ */
+ public float getPowerDraw() {
+ return this.powerSupplied;
+ }
+
+ /**
+ * Return the cumulated energy usage of the machine (in J) measured at the InPort of the powers supply.
+ */
+ public float getEnergyUsage() {
+ updateCounters();
+ return totalEnergyUsage;
+ }
+
+ @Override
+ public float getCapacity() {
+ return this.capacity;
+ }
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // Constructors
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ public SimPsu(FlowGraph graph) {
+ super(graph);
+
+ lastUpdate = this.clock.millis();
+ }
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // FlowNode related functionality
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ @Override
+ public long onUpdate(long now) {
+ updateCounters();
+ float powerSupply = this.powerDemand;
+
+ if (powerSupply != this.powerSupplied) {
+ this.pushSupply(this.cpuEdge, powerSupply);
+ }
+
+ return Long.MAX_VALUE;
+ }
+
+ public void updateCounters() {
+ updateCounters(clock.millis());
+ }
+
+ /**
+ * Calculate the energy usage up until <code>now</code>.
+ */
+ public void updateCounters(long now) {
+ long lastUpdate = this.lastUpdate;
+ this.lastUpdate = now;
+
+ long duration = now - lastUpdate;
+ if (duration > 0) {
+ // Compute the energy usage of the psu
+ this.totalEnergyUsage += (float) (this.powerSupplied * duration * 0.001);
+ }
+ }
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // FlowGraph Related functionality
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ @Override
+ public void pushDemand(FlowEdge supplierEdge, float newDemand) {
+ if (newDemand == this.powerDemand) {
+ return;
+ }
+
+ this.powerDemand = newDemand;
+ powerEdge.pushSupply(newDemand);
+ }
+
+ @Override
+ public void pushSupply(FlowEdge consumerEdge, float newSupply) {
+ if (newSupply == this.powerSupplied) {
+ return;
+ }
+
+ this.powerSupplied = newSupply;
+ cpuEdge.pushSupply(newSupply);
+ }
+
+ @Override
+ public void handleDemand(FlowEdge consumerEdge, float newPowerDemand) {
+ if (newPowerDemand == this.powerDemand) {
+ return;
+ }
+
+ this.powerDemand = newPowerDemand;
+ this.invalidate();
+ }
+
+ @Override
+ public void handleSupply(FlowEdge supplierEdge, float newPowerSupply) {
+ if (newPowerSupply == this.powerSupplied) {
+ return;
+ }
+
+ this.powerSupplied = newPowerSupply;
+ this.invalidate();
+ }
+
+ @Override
+ public void addConsumerEdge(FlowEdge consumerEdge) {
+ this.cpuEdge = consumerEdge;
+ }
+
+ @Override
+ public void addSupplierEdge(FlowEdge supplierEdge) {
+ this.powerEdge = supplierEdge;
+ }
+
+ @Override
+ public void removeConsumerEdge(FlowEdge consumerEdge) {
+ this.cpuEdge = null;
+ }
+
+ @Override
+ public void removeSupplierEdge(FlowEdge supplierEdge) {
+ this.powerEdge = null;
+ }
+}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/ChainWorkload.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/ChainWorkload.java
new file mode 100644
index 00000000..78e8b5d4
--- /dev/null
+++ b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/ChainWorkload.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2024 AtLarge Research
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+package org.opendc.simulator.compute.workload;
+
+import java.util.ArrayList;
+import org.opendc.simulator.engine.FlowSupplier;
+
+public class ChainWorkload implements Workload {
+ private ArrayList<Workload> workloads;
+ private final long checkpointInterval;
+ private final long checkpointDuration;
+ private final double checkpointIntervalScaling;
+
+ public ChainWorkload(
+ ArrayList<Workload> workloads,
+ long checkpointInterval,
+ long checkpointDuration,
+ double checkpointIntervalScaling) {
+ this.workloads = workloads;
+ this.checkpointInterval = checkpointInterval;
+ this.checkpointDuration = checkpointDuration;
+ this.checkpointIntervalScaling = checkpointIntervalScaling;
+ }
+
+ public ArrayList<Workload> getWorkloads() {
+ return workloads;
+ }
+
+ public long getCheckpointInterval() {
+ return checkpointInterval;
+ }
+
+ public long getCheckpointDuration() {
+ return checkpointDuration;
+ }
+
+ public double getCheckpointIntervalScaling() {
+ return checkpointIntervalScaling;
+ }
+
+ public void removeWorkloads(int numberOfWorkloads) {
+ if (numberOfWorkloads <= 0) {
+ return;
+ }
+ this.workloads.subList(0, numberOfWorkloads).clear();
+ }
+
+ @Override
+ public SimWorkload startWorkload(FlowSupplier supplier, long now) {
+ return new SimChainWorkload(supplier, this, now);
+ }
+}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/CheckpointModel.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/CheckpointModel.java
new file mode 100644
index 00000000..723c450d
--- /dev/null
+++ b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/CheckpointModel.java
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2024 AtLarge Research
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+package org.opendc.simulator.compute.workload;
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// CheckPoint Model
+// TODO: Move this to a separate file
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+import java.time.InstantSource;
+import org.jetbrains.annotations.NotNull;
+import org.opendc.simulator.engine.FlowGraph;
+import org.opendc.simulator.engine.FlowNode;
+
+public class CheckpointModel extends FlowNode {
+ private SimWorkload simWorkload;
+ private long checkpointInterval;
+ private final long checkpointDuration;
+ private double checkpointIntervalScaling;
+ private FlowGraph graph;
+
+ private long startOfInterval;
+
+ public CheckpointModel(@NotNull SimWorkload simWorkload) {
+ super(simWorkload.getGraph());
+
+ this.checkpointInterval = simWorkload.getCheckpointInterval();
+ this.checkpointDuration = simWorkload.getCheckpointDuration();
+ this.checkpointIntervalScaling = simWorkload.getCheckpointIntervalScaling();
+ this.simWorkload = simWorkload;
+
+ this.graph = simWorkload.getGraph();
+
+ InstantSource clock = graph.getEngine().getClock();
+
+ this.startOfInterval = clock.millis();
+ }
+
+ @Override
+ public long onUpdate(long now) {
+ if (this.simWorkload == null) {
+ return Long.MAX_VALUE;
+ }
+
+ long passedTime = now - startOfInterval;
+ long remainingTime = this.checkpointInterval - passedTime;
+
+ // Interval not completed
+ if (remainingTime > 0) {
+ return now + remainingTime;
+ }
+
+ simWorkload.makeSnapshot(now);
+
+ // start new fragment
+ this.startOfInterval = now - passedTime;
+
+ // Scale the interval time between checkpoints based on the provided scaling
+ this.checkpointInterval = (long) (this.checkpointInterval * this.checkpointIntervalScaling);
+
+ return now + this.checkpointInterval + this.checkpointDuration;
+ }
+
+ public void start() {
+ this.invalidate();
+ }
+
+ public void close() {
+ this.closeNode();
+
+ this.simWorkload = null;
+ this.graph = null;
+ }
+}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimChainWorkload.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimChainWorkload.java
index 1dcb3674..7f1cf060 100644
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimChainWorkload.java
+++ b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimChainWorkload.java
@@ -22,59 +22,46 @@
package org.opendc.simulator.compute.workload;
-import java.time.InstantSource;
-import java.util.List;
-import java.util.Map;
-import org.opendc.simulator.compute.SimMachineContext;
-import org.opendc.simulator.compute.SimMemory;
-import org.opendc.simulator.compute.SimNetworkInterface;
-import org.opendc.simulator.compute.SimProcessingUnit;
-import org.opendc.simulator.compute.SimStorageInterface;
-import org.opendc.simulator.flow2.FlowGraph;
-import org.opendc.simulator.flow2.FlowStage;
-import org.opendc.simulator.flow2.FlowStageLogic;
+import java.util.LinkedList;
+import org.opendc.simulator.engine.FlowEdge;
+import org.opendc.simulator.engine.FlowNode;
+import org.opendc.simulator.engine.FlowSupplier;
/**
- * A {@link SimWorkload} that composes two {@link SimWorkload}s.
+ * A {@link SimChainWorkload} that composes multiple {@link SimWorkload}s.
*/
-final class SimChainWorkload implements SimWorkload {
- private final SimWorkload[] workloads;
- private int activeWorkloadIndex;
+final class SimChainWorkload extends SimWorkload implements FlowSupplier {
+ private final LinkedList<Workload> workloads;
+ private int workloadIndex;
- private SimChainWorkloadContext activeContext;
+ private SimWorkload activeWorkload;
+ private float demand = 0.0f;
+ private float supply = 0.0f;
+
+ private FlowEdge workloadEdge;
+ private FlowEdge machineEdge;
+
+ private float capacity = 0;
private long checkpointInterval = 0;
private long checkpointDuration = 0;
-
private double checkpointIntervalScaling = 1.0;
- private CheckPointModel checkpointModel;
- private SimChainWorkload snapshot;
+ private CheckpointModel checkpointModel;
- /**
- * Construct a {@link SimChainWorkload} instance.
- *
- * @param workloads The workloads to chain.
- * @param activeWorkloadIndex The index of the active workload.
- */
- SimChainWorkload(SimWorkload[] workloads, int activeWorkloadIndex) {
- this.workloads = workloads;
+ private ChainWorkload snapshot;
- if (this.workloads.length > 1) {
- checkpointInterval = this.workloads[1].getCheckpointInterval();
- checkpointDuration = this.workloads[1].getCheckpointDuration();
- checkpointIntervalScaling = this.workloads[1].getCheckpointIntervalScaling();
- }
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // Basic Getters and Setters
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- this.activeWorkloadIndex = activeWorkloadIndex;
+ @Override
+ public float getCapacity() {
+ return this.capacity;
}
- /**
- * Construct a {@link SimChainWorkload} instance.
- *
- * @param workloads The workloads to chain.
- */
- SimChainWorkload(SimWorkload... workloads) {
- this(workloads, 0);
+ @Override
+ public ChainWorkload getSnapshot() {
+ return this.snapshot;
}
@Override
@@ -92,270 +79,202 @@ final class SimChainWorkload implements SimWorkload {
return checkpointIntervalScaling;
}
- @Override
- public void setOffset(long now) {
- for (SimWorkload workload : this.workloads) {
- workload.setOffset(now);
- }
- }
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // Constructors
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- @Override
- public void onStart(SimMachineContext ctx) {
- final SimWorkload[] workloads = this.workloads;
- final int activeWorkloadIndex = this.activeWorkloadIndex;
+ SimChainWorkload(FlowSupplier supplier, ChainWorkload workload, long now) {
+ super(((FlowNode) supplier).getGraph());
- if (activeWorkloadIndex >= workloads.length) {
- return;
- }
+ this.snapshot = workload;
+
+ this.parentGraph = ((FlowNode) supplier).getGraph();
+ this.parentGraph.addEdge(this, supplier);
- final SimChainWorkloadContext context = new SimChainWorkloadContext(ctx);
- activeContext = context;
+ this.clock = this.parentGraph.getEngine().getClock();
+ this.workloads = new LinkedList<>(workload.getWorkloads());
+ this.checkpointInterval = workload.getCheckpointInterval();
+ this.checkpointDuration = workload.getCheckpointDuration();
+ this.checkpointIntervalScaling = workload.getCheckpointIntervalScaling();
if (checkpointInterval > 0) {
this.createCheckpointModel();
- this.checkpointModel.start();
}
- tryThrow(context.doStart(workloads[activeWorkloadIndex]));
+ this.workloadIndex = -1;
+
+ this.onStart();
}
- @Override
- public void onStop(SimMachineContext ctx) {
- final SimWorkload[] workloads = this.workloads;
- final int activeWorkloadIndex = this.activeWorkloadIndex;
+ public Workload getNextWorkload() {
+ this.workloadIndex++;
+ return workloads.pop();
+ }
- if (activeWorkloadIndex >= workloads.length) {
+ // TODO: Combine with Constructor
+ public void onStart() {
+ if (this.workloads.isEmpty()) {
return;
}
- final SimChainWorkloadContext context = activeContext;
- activeContext = null;
-
- if (this.checkpointModel != null) {
- this.checkpointModel.stop();
+ // Create and start a checkpoint model if initiated
+ if (checkpointInterval > 0) {
+ this.checkpointModel.start();
}
- tryThrow(context.doStop(workloads[activeWorkloadIndex]));
+ this.activeWorkload = this.getNextWorkload().startWorkload(this, this.clock.millis());
}
@Override
- public void makeSnapshot(long now) {
- final int activeWorkloadIndex = this.activeWorkloadIndex;
- final SimWorkload[] workloads = this.workloads;
- final SimWorkload[] newWorkloads = new SimWorkload[workloads.length - activeWorkloadIndex];
+ public long onUpdate(long now) {
+ return Long.MAX_VALUE;
+ }
- for (int i = 0; i < newWorkloads.length; i++) {
- workloads[activeWorkloadIndex + i].makeSnapshot(now);
- newWorkloads[i] = workloads[activeWorkloadIndex + i].getSnapshot();
+ @Override
+ public void stopWorkload() {
+ if (this.checkpointModel != null) {
+ this.checkpointModel.close();
+ this.checkpointModel = null;
}
- this.snapshot = new SimChainWorkload(newWorkloads, 0);
- }
+ if (this.activeWorkload != null) {
+ this.activeWorkload.stopWorkload();
+ this.activeWorkload = null;
+ }
- @Override
- public SimChainWorkload getSnapshot() {
- return this.snapshot;
+ this.closeNode();
}
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // Checkpoint related functionality
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
@Override
public void createCheckpointModel() {
- this.checkpointModel = new CheckPointModel(
- activeContext, this, this.checkpointInterval, this.checkpointDuration, this.checkpointIntervalScaling);
+ this.checkpointModel = new CheckpointModel(this);
}
- private class CheckPointModel implements FlowStageLogic {
- private SimChainWorkload workload;
- private long checkpointInterval;
- private long checkpointDuration;
- private double checkpointIntervalScaling;
- private FlowStage stage;
-
- private long startOfInterval;
- private Boolean firstCheckPoint = true;
-
- CheckPointModel(
- SimChainWorkloadContext context,
- SimChainWorkload workload,
- long checkpointInterval,
- long checkpointDuration,
- double checkpointIntervalScaling) {
- this.checkpointInterval = checkpointInterval;
- this.checkpointDuration = checkpointDuration;
- this.checkpointIntervalScaling = checkpointIntervalScaling;
- this.workload = workload;
-
- this.stage = context.getGraph().newStage(this);
-
- InstantSource clock = this.stage.getGraph().getEngine().getClock();
-
- this.startOfInterval = clock.millis();
- }
-
- @Override
- public long onUpdate(FlowStage ctx, long now) {
- long passedTime = now - startOfInterval;
- long remainingTime = this.checkpointInterval - passedTime;
-
- if (!this.firstCheckPoint) {
- remainingTime += this.checkpointDuration;
- }
-
- // Interval not completed
- if (remainingTime > 0) {
- return now + remainingTime;
- }
-
- workload.makeSnapshot(now);
- if (firstCheckPoint) {
- this.firstCheckPoint = false;
- }
+ @Override
+ public void makeSnapshot(long now) {
- // Scale the interval time between checkpoints based on the provided scaling
- this.checkpointInterval = (long) (this.checkpointInterval * this.checkpointIntervalScaling);
+ this.snapshot.removeWorkloads(this.workloadIndex);
+ this.workloadIndex = 0;
- return now + this.checkpointInterval + this.checkpointDuration;
- }
+ activeWorkload.makeSnapshot(now);
+ }
- public void start() {
- this.stage.sync();
- }
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // FlowGraph Related functionality
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- public void stop() {
- this.stage.close();
- }
+ /**
+ * Add connection to the active workload
+ *
+ * @param consumerEdge
+ */
+ @Override
+ public void addConsumerEdge(FlowEdge consumerEdge) {
+ this.workloadEdge = consumerEdge;
}
/**
- * A {@link SimMachineContext} that intercepts the shutdown calls.
+ * Add Connection to the cpuMux
+ * @param supplierEdge
*/
- private class SimChainWorkloadContext implements SimMachineContext {
- private final SimMachineContext ctx;
- private SimWorkload snapshot;
-
- private SimChainWorkloadContext(SimMachineContext ctx) {
- this.ctx = ctx;
- }
-
- @Override
- public FlowGraph getGraph() {
- return ctx.getGraph();
- }
-
- @Override
- public Map<String, Object> getMeta() {
- return ctx.getMeta();
- }
+ @Override
+ public void addSupplierEdge(FlowEdge supplierEdge) {
+ this.machineEdge = supplierEdge;
+ this.capacity = supplierEdge.getCapacity();
+ }
- @Override
- public SimProcessingUnit getCpu() {
- return ctx.getCpu();
- }
+ /**
+ * Push demand to the cpuMux
+ *
+ * @param supplierEdge
+ * @param newDemand
+ */
+ @Override
+ public void pushDemand(FlowEdge supplierEdge, float newDemand) {
+ this.machineEdge.pushDemand(newDemand);
+ }
- @Override
- public SimMemory getMemory() {
- return ctx.getMemory();
- }
+ /**
+ * Push supply to the workload
+ *
+ * @param consumerEdge
+ * @param newSupply
+ */
+ @Override
+ public void pushSupply(FlowEdge consumerEdge, float newSupply) {
+ this.workloadEdge.pushSupply(newSupply);
+ }
- @Override
- public List<? extends SimNetworkInterface> getNetworkInterfaces() {
- return ctx.getNetworkInterfaces();
+ /**
+ * Handle new demand coming from the workload
+ *
+ * @param consumerEdge
+ * @param newDemand
+ */
+ @Override
+ public void handleDemand(FlowEdge consumerEdge, float newDemand) {
+ if (newDemand == this.demand) {
+ return;
}
- @Override
- public List<? extends SimStorageInterface> getStorageInterfaces() {
- return ctx.getStorageInterfaces();
- }
+ this.demand = newDemand;
+ this.pushDemand(this.machineEdge, newDemand);
+ }
- @Override
- public void makeSnapshot(long now) {
- final SimWorkload workload = workloads[activeWorkloadIndex];
- this.snapshot = workload.getSnapshot();
+ /**
+ * Handle new supply coming from the cpuMux
+ *
+ * @param supplierEdge
+ * @param newSupply
+ */
+ @Override
+ public void handleSupply(FlowEdge supplierEdge, float newSupply) {
+ if (newSupply == this.supply) {
+ return;
}
- @Override
- public SimWorkload getSnapshot(long now) {
- this.makeSnapshot(now);
-
- return this.snapshot;
- }
+ this.pushSupply(this.machineEdge, newSupply);
+ }
- @Override
- public void reset() {
- ctx.reset();
+ /**
+ * Handle the removal of the workload.
+ * If there is a next workload available, start this workload
+ * Otherwise, close this SimChainWorkload
+ *
+ * @param consumerEdge
+ */
+ @Override
+ public void removeConsumerEdge(FlowEdge consumerEdge) {
+ if (this.workloadEdge == null) {
+ return;
}
- @Override
- public void shutdown() {
- shutdown(null);
- }
+ // Remove the connection to the active workload
+ this.activeWorkload = null;
+ this.workloadEdge = null;
- @Override
- public void shutdown(Exception cause) {
- final SimWorkload[] workloads = SimChainWorkload.this.workloads;
- final int activeWorkloadIndex = ++SimChainWorkload.this.activeWorkloadIndex;
-
- final Exception stopException = doStop(workloads[activeWorkloadIndex - 1]);
- if (cause == null) {
- cause = stopException;
- } else if (stopException != null) {
- cause.addSuppressed(stopException);
- }
-
- if (stopException == null && activeWorkloadIndex < workloads.length) {
- ctx.reset();
-
- final Exception startException = doStart(workloads[activeWorkloadIndex]);
-
- if (startException == null) {
- return;
- } else if (cause == null) {
- cause = startException;
- } else {
- cause.addSuppressed(startException);
- }
- }
-
- if (SimChainWorkload.this.checkpointModel != null) {
- SimChainWorkload.this.checkpointModel.stop();
- }
- ctx.shutdown(cause);
+ // Start next workload
+ if (!this.workloads.isEmpty()) {
+ this.activeWorkload = getNextWorkload().startWorkload(this, this.clock.millis());
+ return;
}
- /**
- * Start the specified workload.
- *
- * @return The {@link Exception} that occurred while starting the workload or <code>null</code> if the workload
- * started successfully.
- */
- private Exception doStart(SimWorkload workload) {
- try {
- workload.onStart(this);
- } catch (Exception cause) {
- final Exception stopException = doStop(workload);
- if (stopException != null) {
- cause.addSuppressed(stopException);
- }
- return cause;
- }
-
- return null;
- }
+ this.stopWorkload();
+ }
- /**
- * Stop the specified workload.
- *
- * @return The {@link Exception} that occurred while stopping the workload or <code>null</code> if the workload
- * stopped successfully.
- */
- private Exception doStop(SimWorkload workload) {
- try {
- workload.onStop(this);
- } catch (Exception cause) {
- return cause;
- }
-
- return null;
- }
+ /**
+ * Handle the removal of the connection to the cpuMux
+ * When this happens, close the SimChainWorkload
+ *
+ * @param supplierEdge
+ */
+ @Override
+ public void removeSupplierEdge(FlowEdge supplierEdge) {
+ this.stopWorkload();
}
@SuppressWarnings("unchecked")
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimFlopsWorkload.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimFlopsWorkload.java
deleted file mode 100644
index 5311fa38..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimFlopsWorkload.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute.workload;
-
-import org.opendc.simulator.compute.SimMachineContext;
-import org.opendc.simulator.compute.SimProcessingUnit;
-import org.opendc.simulator.flow2.FlowGraph;
-import org.opendc.simulator.flow2.FlowStage;
-import org.opendc.simulator.flow2.FlowStageLogic;
-import org.opendc.simulator.flow2.OutPort;
-
-/**
- * A {@link SimWorkload} that models applications as a static number of floating point operations executed on
- * multiple cores of a compute resource.
- */
-public class SimFlopsWorkload implements SimWorkload, FlowStageLogic {
- private final long flops;
- private final double utilization;
-
- private SimMachineContext ctx;
- private FlowStage stage;
- private OutPort[] outputs;
-
- private float remainingAmount;
- private long lastUpdate;
- private SimFlopsWorkload snapshot;
-
- /**
- * Construct a new {@link SimFlopsWorkload}.
- *
- * @param flops The number of floating point operations to perform for this task in MFLOPs.
- * @param utilization The CPU utilization of the workload.
- */
- SimFlopsWorkload(long flops, double utilization) {
- if (flops < 0) {
- throw new IllegalArgumentException("Number of FLOPs must be positive");
- } else if (utilization <= 0.0 || utilization > 1.0) {
- throw new IllegalArgumentException("Utilization must be in (0, 1]");
- }
-
- this.flops = flops;
- this.utilization = utilization;
- this.remainingAmount = flops;
- }
-
- @Override
- public long getCheckpointInterval() {
- return -1;
- }
- ;
-
- @Override
- public long getCheckpointDuration() {
- return -1;
- }
-
- @Override
- public double getCheckpointIntervalScaling() {
- return -1;
- }
- ;
-
- @Override
- public void setOffset(long now) {}
-
- @Override
- public void onStart(SimMachineContext ctx) {
- this.ctx = ctx;
-
- final FlowGraph graph = ctx.getGraph();
- final FlowStage stage = graph.newStage(this);
- this.stage = stage;
-
- final SimProcessingUnit cpu = ctx.getCpu();
- final OutPort[] outputs = new OutPort[1];
- this.outputs = outputs;
-
- final OutPort output = stage.getOutlet("cpu");
-
- graph.connect(output, cpu.getInput());
- outputs[0] = output;
-
- this.remainingAmount = flops;
- this.lastUpdate = graph.getEngine().getClock().millis();
- }
-
- @Override
- public void onStop(SimMachineContext ctx) {
- this.ctx = null;
-
- final FlowStage stage = this.stage;
- if (stage != null) {
- this.stage = null;
- stage.close();
- }
- }
-
- @Override
- public void makeSnapshot(long now) {
- final FlowStage stage = this.stage;
- if (stage != null) {
- stage.sync();
- }
-
- this.snapshot = new SimFlopsWorkload((long) remainingAmount, utilization);
- }
-
- @Override
- public SimFlopsWorkload getSnapshot() {
- this.makeSnapshot(0);
-
- return this.snapshot;
- }
-
- @Override
- public void createCheckpointModel() {}
-
- @Override
- public long onUpdate(FlowStage ctx, long now) {
- long lastUpdate = this.lastUpdate;
- this.lastUpdate = now;
-
- long delta = Math.max(0, now - lastUpdate);
-
- float consumed = 0.f;
- float limit = 0.f;
-
- for (final OutPort output : outputs) {
- consumed += output.getRate() * delta;
-
- float outputLimit = (float) (output.getCapacity() * utilization);
- limit += outputLimit;
-
- output.push(outputLimit);
- }
- consumed = (float) (consumed * 0.001);
-
- float remainingAmount = this.remainingAmount - consumed;
- this.remainingAmount = remainingAmount;
-
- long duration = (long) Math.ceil(remainingAmount / limit * 1000);
-
- if (duration <= 0) {
- final SimMachineContext machineContext = this.ctx;
- if (machineContext != null) {
- machineContext.shutdown();
- }
- ctx.close();
- return Long.MAX_VALUE;
- }
-
- return now + duration;
- }
-
- @Override
- public String toString() {
- return "SimFlopsWorkload[FLOPs=" + flops + ",utilization=" + utilization + "]";
- }
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimRuntimeWorkload.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimRuntimeWorkload.java
deleted file mode 100644
index be4cc2f5..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimRuntimeWorkload.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute.workload;
-
-import org.opendc.simulator.compute.SimMachineContext;
-import org.opendc.simulator.compute.SimProcessingUnit;
-import org.opendc.simulator.flow2.FlowGraph;
-import org.opendc.simulator.flow2.FlowStage;
-import org.opendc.simulator.flow2.FlowStageLogic;
-import org.opendc.simulator.flow2.OutPort;
-
-/**
- * A [SimWorkload] that models application execution as a single duration.
- */
-public class SimRuntimeWorkload implements SimWorkload, FlowStageLogic {
- private long duration;
- private final double utilization;
-
- private SimMachineContext ctx;
- private FlowStage stage;
- private OutPort[] outputs;
-
- private long remainingDuration;
- private long lastUpdate;
-
- private long checkpointDuration; // How long does it take to make a checkpoint?
- private long checkpointInterval; // How long to wait until a new checkpoint is made?
- private double checkpointIntervalScaling;
- private long totalChecks;
- private SimRuntimeWorkload snapshot;
-
- public SimRuntimeWorkload(long duration, double utilization) {
- this(duration, utilization, 0, 0);
- // if (duration < 0) {
- // throw new IllegalArgumentException("Duration must be positive");
- // } else if (utilization <= 0.0 || utilization > 1.0) {
- // throw new IllegalArgumentException("Utilization must be in (0, 1]");
- // }
- //
- // this.checkpointTime = 0L;
- // this.checkpointWait = 0L;
- // this.duration = duration;
- //
- // this.utilization = utilization;
- // this.remainingDuration = duration;
- }
-
- /**
- * Construct a new {@link SimRuntimeWorkload}.
- *
- * @param duration The duration of the workload in milliseconds.
- * @param utilization The CPU utilization of the workload.
- */
- public SimRuntimeWorkload(long duration, double utilization, long checkpointInterval, long checkpointDuration) {
- if (duration < 0) {
- throw new IllegalArgumentException("Duration must be positive");
- } else if (utilization <= 0.0 || utilization > 1.0) {
- throw new IllegalArgumentException("Utilization must be in (0, 1]");
- }
-
- this.checkpointDuration = checkpointDuration;
- this.checkpointInterval = checkpointInterval;
- this.duration = duration;
-
- if (this.checkpointInterval > 0) {
- // Determine the number of checkpoints that need to be made during the workload
- // If the total duration is divisible by the wait time between checkpoints, we can remove the last
- // checkpoint
- int to_remove = ((this.duration % this.checkpointInterval == 0) ? 1 : 0);
- this.totalChecks = this.duration / this.checkpointInterval - to_remove;
- this.duration += (this.checkpointDuration * totalChecks);
- }
-
- this.utilization = utilization;
- this.remainingDuration = duration;
- }
-
- @Override
- public long getCheckpointInterval() {
- return checkpointInterval;
- }
-
- @Override
- public long getCheckpointDuration() {
- return checkpointDuration;
- }
-
- @Override
- public double getCheckpointIntervalScaling() {
- return checkpointIntervalScaling;
- }
-
- @Override
- public void setOffset(long now) {}
-
- @Override
- public void onStart(SimMachineContext ctx) {
- this.ctx = ctx;
-
- final FlowGraph graph = ctx.getGraph();
- final FlowStage stage = graph.newStage(this);
- this.stage = stage;
-
- final OutPort[] outputs = new OutPort[1];
- this.outputs = outputs;
-
- final SimProcessingUnit cpu = ctx.getCpu();
- final OutPort output = stage.getOutlet("cpu");
-
- graph.connect(output, cpu.getInput());
- outputs[0] = output;
-
- this.remainingDuration = duration;
- this.lastUpdate = graph.getEngine().getClock().millis();
- }
-
- @Override
- public void onStop(SimMachineContext ctx) {
- this.ctx = null;
-
- final FlowStage stage = this.stage;
- if (stage != null) {
- this.stage = null;
- this.outputs = null;
- stage.close();
- }
- }
-
- @Override
- public void makeSnapshot(long now) {
- System.out.printf("SimRuntimeWorkload -> makeSnapshot(%d)%n", now);
-
- final FlowStage stage = this.stage;
- if (stage != null) {
- stage.sync();
- }
-
- var remaining_time = this.remainingDuration;
-
- if (this.checkpointInterval > 0) {
- // Calculate last checkpoint
- var total_check_time = this.checkpointInterval + this.checkpointDuration;
- var processed_time = this.duration - this.remainingDuration;
- var processed_checks = (int) (processed_time / total_check_time);
- var processed_time_last_check =
- (processed_checks * total_check_time); // The processed time after the last checkpoint
-
- remaining_time = this.duration
- - processed_time_last_check; // The remaining duration to process after last checkpoint
- var remaining_checks = (int) (remaining_time / total_check_time);
- remaining_time -= (remaining_checks * checkpointDuration);
- } else {
- remaining_time = duration;
- }
-
- this.snapshot =
- new SimRuntimeWorkload(remaining_time, utilization, this.checkpointInterval, this.checkpointDuration);
- }
-
- @Override
- public SimRuntimeWorkload getSnapshot() {
- System.out.println("SimRuntimeWorkload -> getSnapshot()");
-
- return this.snapshot;
- }
-
- @Override
- public void createCheckpointModel() {}
-
- @Override
- public long onUpdate(FlowStage ctx, long now) {
- long lastUpdate = this.lastUpdate;
- this.lastUpdate = now;
-
- long delta = now - lastUpdate;
- long duration = this.remainingDuration - delta;
-
- if (delta == 0 && this.ctx == null) {
- // This means the workload has been terminated
- // But, has not executed to completion
- return Long.MAX_VALUE;
- }
-
- if (duration <= 0) {
- final SimMachineContext machineContext = this.ctx;
- if (machineContext != null) {
- machineContext.shutdown();
- }
- ctx.close();
- return Long.MAX_VALUE;
- }
-
- this.remainingDuration = duration;
-
- for (final OutPort output : outputs) {
- float limit = (float) (output.getCapacity() * utilization);
- output.push(limit);
- }
-
- return now + duration;
- }
-
- @Override
- public String toString() {
- return "SimDurationWorkload[duration=" + duration + "ms,utilization=" + utilization + "]";
- }
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimTrace.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimTrace.java
deleted file mode 100644
index b8445a9c..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimTrace.java
+++ /dev/null
@@ -1,413 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute.workload;
-
-import java.util.ArrayDeque;
-import java.util.Iterator;
-import java.util.List;
-import org.opendc.simulator.compute.SimMachineContext;
-import org.opendc.simulator.compute.SimProcessingUnit;
-import org.opendc.simulator.flow2.FlowGraph;
-import org.opendc.simulator.flow2.FlowStage;
-import org.opendc.simulator.flow2.FlowStageLogic;
-import org.opendc.simulator.flow2.OutPort;
-
-/**
- * A workload trace that describes the resource utilization over time in a collection of {@link SimTraceFragment}s.
- */
-public final class SimTrace {
- private final ArrayDeque<SimTraceFragment> fragments;
- /**
- * Construct a {@link SimTrace} instance.
- *
- */
- private SimTrace(ArrayDeque<SimTraceFragment> fragments) {
- if (fragments.isEmpty()) {
- throw new IllegalArgumentException("No Fragments found for the Trace");
- }
- this.fragments = fragments;
- }
-
- /**
- * Construct a {@link SimWorkload} for this trace.
- *
- * // * @param offset The offset for the timestamps.
- */
- public SimWorkload createWorkload(long start) {
- return createWorkload(start, 0, 0, 1);
- }
-
- /**
- * Construct a {@link SimWorkload} for this trace.
- *
- * // * @param offset The offset for the timestamps.
- */
- public SimWorkload createWorkload(
- long start, long checkpointInterval, long checkpointDuration, double checkpointIntervalScaling) {
- return new Workload(start, fragments, checkpointInterval, checkpointDuration, checkpointIntervalScaling);
- }
-
- // /**
- // * Create a new {@link Builder} instance with a default initial capacity.
- // */
- public static Builder builder() {
- return new Builder();
- }
-
- /**
- * Construct a {@link SimTrace} from the specified fragments.
- *
- * @param fragments The array of fragments to construct the trace from.
- */
- public static SimTrace ofFragments(SimTraceFragment... fragments) {
- final Builder builder = builder();
-
- for (SimTraceFragment fragment : fragments) {
- builder.add(fragment.duration(), fragment.cpuUsage(), fragment.coreCount());
- }
-
- return builder.build();
- }
-
- /**
- * Construct a {@link SimTrace} from the specified fragments.
- *
- * @param fragments The fragments to construct the trace from.
- */
- public static SimTrace ofFragments(List<SimTraceFragment> fragments) {
- final Builder builder = builder();
-
- for (SimTraceFragment fragment : fragments) {
- builder.add(fragment.duration(), fragment.cpuUsage(), fragment.coreCount());
- }
-
- return builder.build();
- }
-
- /**
- * Builder class for a {@link SimTrace}.
- */
- public static final class Builder {
- private final ArrayDeque<SimTraceFragment> fragments;
-
- private boolean isBuilt;
-
- /**
- * Construct a new {@link Builder} instance.
- */
- private Builder() {
- this.fragments = new ArrayDeque<>();
- }
-
- /**
- * Add a fragment to the trace.
- *
- * @param duration The timestamp at which the fragment ends (in epoch millis).
- * @param usage The CPU usage at this fragment.
- * @param cores The number of cores used during this fragment.
- */
- public void add(long duration, double usage, int cores) {
- if (isBuilt) {
- recreate();
- }
-
- fragments.add(new SimTraceFragment(duration, usage, cores));
- }
-
- /**
- * Build the {@link SimTrace} instance.
- */
- public SimTrace build() {
- isBuilt = true;
- return new SimTrace(fragments);
- }
-
- /**
- * Clone the columns of the trace.
- *
- * <p>
- * This is necessary when a {@link SimTrace} has been built already, but the user is again adding entries to
- * the builder.
- */
- private void recreate() {
- isBuilt = false;
- this.fragments.clear();
- }
- }
-
- /**
- * Implementation of {@link SimWorkload} that executes a trace.
- */
- private static class Workload implements SimWorkload {
- private WorkloadStageLogic logic;
-
- private long offset;
-
- private final long start;
- private ArrayDeque<SimTraceFragment> fragments;
-
- private long checkpointInterval; // How long to wait until a new checkpoint is made
- private long checkpointDuration; // How long does it take to make a checkpoint
- private double checkpointIntervalScaling;
- private SimWorkload snapshot;
-
- private Workload(
- long start,
- ArrayDeque<SimTraceFragment> fragments,
- long checkpointInterval,
- long checkpointDuration,
- double checkpointIntervalScaling) {
- this.start = start;
- this.checkpointInterval = checkpointInterval;
- this.checkpointDuration = checkpointDuration;
- this.checkpointIntervalScaling = checkpointIntervalScaling;
-
- this.fragments = fragments;
-
- this.snapshot = this;
- }
-
- @Override
- public long getCheckpointInterval() {
- return checkpointInterval;
- }
-
- @Override
- public long getCheckpointDuration() {
- return checkpointDuration;
- }
-
- @Override
- public double getCheckpointIntervalScaling() {
- return checkpointIntervalScaling;
- }
-
- @Override
- public void setOffset(long now) {
- this.offset = now;
- }
-
- @Override
- public void onStart(SimMachineContext ctx) {
- final WorkloadStageLogic logic;
- logic = new SingleWorkloadLogic(ctx, offset, fragments.iterator());
- this.logic = logic;
- }
-
- @Override
- public void onStop(SimMachineContext ctx) {
- final WorkloadStageLogic logic = this.logic;
-
- if (logic != null) {
- this.logic = null;
- logic.getStage().close();
- }
- }
-
- @Override
- public void makeSnapshot(long now) {
- final WorkloadStageLogic logic = this.logic;
- final ArrayDeque<SimTraceFragment> newFragments = this.fragments;
-
- if (logic != null) {
- int index = logic.getIndex();
-
- if (index == 0 && (logic.getPassedTime(now) == 0)) {
- this.snapshot = this;
- return;
- }
-
- // Remove all finished fragments
- for (int i = 0; i < index; i++) {
- newFragments.removeFirst();
- }
- } else {
- return;
- }
-
- // Reduce the current Fragment to a fragment with the remaining time.
- SimTraceFragment currentFragment = newFragments.pop();
- long passedTime = logic.getPassedTime(now);
- long remainingTime = currentFragment.duration() - passedTime;
-
- if (remainingTime > 0) {
- SimTraceFragment newFragment =
- new SimTraceFragment(remainingTime, currentFragment.cpuUsage(), currentFragment.coreCount());
-
- newFragments.addFirst(newFragment);
- }
-
- // Add snapshot Fragment
- // TODO: improve CPUUsage and coreCount here
- SimTraceFragment snapshotFragment = new SimTraceFragment(checkpointDuration, 123456, 1);
- newFragments.addFirst(snapshotFragment);
-
- // Update the logic
- this.logic.updateFragments(newFragments.iterator(), now);
-
- // remove the snapshot Fragment and update fragments
- newFragments.removeFirst();
- this.fragments = newFragments;
-
- this.snapshot = new Workload(
- start, this.fragments, checkpointInterval, checkpointDuration, checkpointIntervalScaling);
- }
-
- @Override
- public SimWorkload getSnapshot() {
- return this.snapshot;
- }
-
- @Override
- public void createCheckpointModel() {}
- }
-
- /**
- * Interface to represent the {@link FlowStage} that simulates the trace workload.
- */
- private interface WorkloadStageLogic extends FlowStageLogic {
- /**
- * Return the {@link FlowStage} belonging to this instance.
- */
- FlowStage getStage();
-
- long getPassedTime(long now);
-
- void updateFragments(Iterator<SimTraceFragment> newFragments, long offset);
-
- /**
- * Return the current index of the workload.
- */
- int getIndex();
- }
-
- /**
- * Implementation of {@link FlowStageLogic} for just a single CPU resource.
- */
- private static class SingleWorkloadLogic implements WorkloadStageLogic {
- private final FlowStage stage;
- private final OutPort output;
- private int index = 0;
-
- private final SimMachineContext ctx;
-
- private Iterator<SimTraceFragment> fragments;
- private SimTraceFragment currentFragment;
- private long startOffFragment;
-
- private SingleWorkloadLogic(SimMachineContext ctx, long offset, Iterator<SimTraceFragment> fragments) {
- this.ctx = ctx;
-
- this.fragments = fragments;
-
- final FlowGraph graph = ctx.getGraph();
- stage = graph.newStage(this);
-
- final SimProcessingUnit cpu = ctx.getCpu();
- final OutPort output = stage.getOutlet("cpu");
- this.output = output;
-
- graph.connect(output, cpu.getInput());
-
- // Start the first Fragment
- this.currentFragment = this.fragments.next();
- this.output.push((float) currentFragment.cpuUsage());
- this.startOffFragment = offset;
- }
-
- public long getPassedTime(long now) {
- return now - this.startOffFragment;
- }
-
- @Override
- public void updateFragments(Iterator<SimTraceFragment> newFragments, long offset) {
- this.fragments = newFragments;
-
- // Start the first Fragment
- this.currentFragment = this.fragments.next();
- this.output.push((float) currentFragment.cpuUsage());
- this.startOffFragment = offset;
-
- this.index = -1;
-
- this.stage.invalidate();
- }
-
- @Override
- public long onUpdate(FlowStage ctx, long now) {
- long passedTime = getPassedTime(now);
- long duration = this.currentFragment.duration();
-
- // The current Fragment has not yet been finished, continue
- if (passedTime < duration) {
- return now + (duration - passedTime);
- }
-
- // Loop through fragments until the passed time is filled.
- // We need a while loop to account for skipping of fragments.
- while (passedTime >= duration) {
- if (!this.fragments.hasNext()) {
- return doStop(ctx);
- }
-
- passedTime = passedTime - duration;
-
- // get next Fragment
- this.index++;
- currentFragment = this.fragments.next();
- duration = currentFragment.duration();
- }
-
- // start new fragment
- this.startOffFragment = now - passedTime;
-
- // Change the cpu Usage to the new Fragment
- this.output.push((float) currentFragment.cpuUsage());
-
- // Return the time when the current fragment will complete
- return this.startOffFragment + duration;
- }
-
- @Override
- public FlowStage getStage() {
- return stage;
- }
-
- @Override
- public int getIndex() {
- return index;
- }
-
- /**
- * Helper method to stop the execution of the workload.
- */
- private long doStop(FlowStage ctx) {
- final SimMachineContext machineContext = this.ctx;
- if (machineContext != null) {
- machineContext.shutdown();
- }
- ctx.close();
- return Long.MAX_VALUE;
- }
- }
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimTraceWorkload.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimTraceWorkload.java
new file mode 100644
index 00000000..b6f98344
--- /dev/null
+++ b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimTraceWorkload.java
@@ -0,0 +1,270 @@
+/*
+ * Copyright (c) 2024 AtLarge Research
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+package org.opendc.simulator.compute.workload;
+
+import java.util.LinkedList;
+import org.opendc.simulator.engine.FlowConsumer;
+import org.opendc.simulator.engine.FlowEdge;
+import org.opendc.simulator.engine.FlowGraph;
+import org.opendc.simulator.engine.FlowNode;
+import org.opendc.simulator.engine.FlowSupplier;
+
+public class SimTraceWorkload extends SimWorkload implements FlowConsumer {
+ private LinkedList<TraceFragment> remainingFragments;
+ private int fragmentIndex;
+
+ private TraceFragment currentFragment;
+ private long startOfFragment;
+
+ private FlowEdge machineEdge;
+ private float currentDemand;
+ private float currentSupply;
+
+ private long checkpointInterval;
+ private long checkpointDuration;
+ private double checkpointIntervalScaling;
+
+ private TraceWorkload snapshot;
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // Basic Getters and Setters
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ public long getPassedTime(long now) {
+ return now - this.startOfFragment;
+ }
+
+ public TraceWorkload getSnapshot() {
+ return snapshot;
+ }
+
+ @Override
+ long getCheckpointInterval() {
+ return 0;
+ }
+
+ @Override
+ long getCheckpointDuration() {
+ return 0;
+ }
+
+ @Override
+ double getCheckpointIntervalScaling() {
+ return 0;
+ }
+
+ public TraceFragment getNextFragment() {
+ this.currentFragment = this.remainingFragments.pop();
+ this.fragmentIndex++;
+
+ return this.currentFragment;
+ }
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // Constructors
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ public SimTraceWorkload(FlowSupplier supplier, TraceWorkload workload, long now) {
+ super(((FlowNode) supplier).getGraph());
+
+ this.snapshot = workload;
+ this.checkpointInterval = workload.getCheckpointInterval();
+ this.checkpointDuration = workload.getCheckpointDuration();
+ this.checkpointIntervalScaling = workload.getCheckpointIntervalScaling();
+ this.remainingFragments = new LinkedList<>(workload.getFragments());
+ this.fragmentIndex = 0;
+
+ final FlowGraph graph = ((FlowNode) supplier).getGraph();
+ graph.addEdge(this, supplier);
+
+ this.currentFragment = this.getNextFragment();
+ pushDemand(machineEdge, (float) this.currentFragment.cpuUsage());
+ this.startOfFragment = now;
+ }
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // Fragment related functionality
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ @Override
+ public long onUpdate(long now) {
+ long passedTime = getPassedTime(now);
+ long duration = this.currentFragment.duration();
+
+ // The current Fragment has not yet been finished, continue
+ if (passedTime < duration) {
+ return now + (duration - passedTime);
+ }
+
+ // Loop through fragments until the passed time is filled.
+ // We need a while loop to account for skipping of fragments.
+ while (passedTime >= duration) {
+ if (this.remainingFragments.isEmpty()) {
+ this.stopWorkload();
+ return Long.MAX_VALUE;
+ }
+
+ passedTime = passedTime - duration;
+
+ // get next Fragment
+ currentFragment = this.getNextFragment();
+ duration = currentFragment.duration();
+ }
+
+ // start new fragment
+ this.startOfFragment = now - passedTime;
+
+ // Change the cpu Usage to the new Fragment
+ pushDemand(machineEdge, (float) this.currentFragment.cpuUsage());
+
+ // Return the time when the current fragment will complete
+ return this.startOfFragment + duration;
+ }
+
+ @Override
+ public void stopWorkload() {
+ this.closeNode();
+
+ this.machineEdge = null;
+ this.remainingFragments = null;
+ this.currentFragment = null;
+ }
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // Checkpoint related functionality
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ /**
+ * SimTraceWorkload does not make a checkpoint, checkpointing is handled by SimChainWorkload
+ * TODO: Maybe add checkpoint models for SimTraceWorkload
+ */
+ @Override
+ void createCheckpointModel() {}
+
+ /**
+ * Create a new snapshot based on the current status of the workload.
+ * @param now
+ */
+ public void makeSnapshot(long now) {
+
+ // Check if fragments is empty
+
+ // Get remaining time of current fragment
+ long passedTime = getPassedTime(now);
+ long remainingTime = currentFragment.duration() - passedTime;
+
+ // Create a new fragment based on the current fragment and remaining duration
+ TraceFragment newFragment =
+ new TraceFragment(remainingTime, currentFragment.cpuUsage(), currentFragment.coreCount());
+
+ // Alter the snapshot by removing finished fragments
+ this.snapshot.removeFragments(this.fragmentIndex);
+ this.snapshot.addFirst(newFragment);
+
+ this.remainingFragments.addFirst(newFragment);
+
+ // Create and add a fragment for processing the snapshot process
+ // TODO: improve the implementation of cpuUsage and coreCount
+ TraceFragment snapshotFragment = new TraceFragment(this.checkpointDuration, 123456, 1);
+ this.remainingFragments.addFirst(snapshotFragment);
+
+ this.fragmentIndex = -1;
+ this.currentFragment = getNextFragment();
+ pushDemand(this.machineEdge, (float) this.currentFragment.cpuUsage());
+ this.startOfFragment = now;
+
+ this.invalidate();
+ }
+
+ /**
+ * Update the Fragments that are being used by the SimTraceWorkload
+ * @param newFragments
+ * @param offset
+ */
+ public void updateFragments(LinkedList<TraceFragment> newFragments, long offset) {
+ this.remainingFragments = newFragments;
+
+ // Start the first Fragment
+ this.currentFragment = this.remainingFragments.pop();
+ pushDemand(this.machineEdge, (float) this.currentFragment.cpuUsage());
+ this.startOfFragment = offset;
+
+ this.invalidate();
+ }
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // FlowGraph Related functionality
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ /**
+ * Handle updates in supply from the Virtual Machine
+ *
+ * @param supplierEdge
+ * @param newSupply
+ */
+ @Override
+ public void handleSupply(FlowEdge supplierEdge, float newSupply) {
+ if (newSupply == this.currentSupply) {
+ return;
+ }
+
+ this.currentSupply = newSupply;
+ }
+
+ /**
+ * Push a new demand to the Virtual Machine
+ *
+ * @param supplierEdge
+ * @param newDemand
+ */
+ @Override
+ public void pushDemand(FlowEdge supplierEdge, float newDemand) {
+ if (newDemand == this.currentDemand) {
+ return;
+ }
+
+ this.currentDemand = newDemand;
+ this.machineEdge.pushDemand(newDemand);
+ }
+
+ /**
+ * Add the connection to the Virtual Machine
+ *
+ * @param supplierEdge
+ */
+ @Override
+ public void addSupplierEdge(FlowEdge supplierEdge) {
+ this.machineEdge = supplierEdge;
+ }
+
+ /**
+ * Handle the removal of the connection to the Virtual Machine
+ * When the connection to the Virtual Machine is removed, the SimTraceWorkload is removed
+ *
+ * @param supplierEdge
+ */
+ @Override
+ public void removeSupplierEdge(FlowEdge supplierEdge) {
+ this.stopWorkload();
+ }
+}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimWorkload.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimWorkload.java
index f4f3ff58..b5c89941 100644
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimWorkload.java
+++ b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimWorkload.java
@@ -22,7 +22,9 @@
package org.opendc.simulator.compute.workload;
-import org.opendc.simulator.compute.SimMachineContext;
+import org.opendc.simulator.engine.FlowConsumer;
+import org.opendc.simulator.engine.FlowGraph;
+import org.opendc.simulator.engine.FlowNode;
/**
* A model that characterizes the runtime behavior of some particular workload.
@@ -31,35 +33,33 @@ import org.opendc.simulator.compute.SimMachineContext;
* Workloads are stateful objects that may be paused and resumed at a later moment. As such, be careful when using the
* same {@link SimWorkload} from multiple contexts.
*/
-public interface SimWorkload {
+public abstract class SimWorkload extends FlowNode implements FlowConsumer {
/**
- * This method is invoked when the workload is started.
+ * Construct a new {@link FlowNode} instance.
*
- * @param ctx The execution context in which the machine runs.
+ * @param parentGraph The {@link FlowGraph} this stage belongs to.
*/
- void onStart(SimMachineContext ctx);
+ public SimWorkload(FlowGraph parentGraph) {
+ super(parentGraph);
+ }
/**
* This method is invoked when the workload is stopped.
- *
- * @param ctx The execution context in which the machine runs.
*/
- void onStop(SimMachineContext ctx);
+ public abstract void stopWorkload();
/**
* Create a snapshot of this workload.
*/
- void makeSnapshot(long now);
-
- SimWorkload getSnapshot();
+ public abstract void makeSnapshot(long now);
- void createCheckpointModel();
+ public abstract Workload getSnapshot();
- long getCheckpointInterval();
+ abstract void createCheckpointModel();
- long getCheckpointDuration();
+ abstract long getCheckpointInterval();
- double getCheckpointIntervalScaling();
+ abstract long getCheckpointDuration();
- void setOffset(long now);
+ abstract double getCheckpointIntervalScaling();
}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimWorkloads.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimWorkloads.java
deleted file mode 100644
index 34202945..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimWorkloads.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute.workload;
-
-import java.time.Duration;
-
-/**
- * Helper methods for constructing {@link SimWorkload}s.
- */
-public class SimWorkloads {
- private SimWorkloads() {}
-
- /**
- * Create a {@link SimWorkload} that executes a specified number of floating point operations (FLOPs) at the given
- * utilization.
- *
- * @param flops The number of floating point operations to perform for this task in MFLOPs.
- * @param utilization The CPU utilization of the workload.
- */
- public static SimWorkload flops(long flops, double utilization) {
- return new SimFlopsWorkload(flops, utilization);
- }
-
- /**
- * Create a {@link SimWorkload} that consumes the CPU resources for a specified duration at the given utilization.
- *
- * @param duration The duration of the workload in milliseconds.
- * @param utilization The CPU utilization of the workload.
- */
- public static SimWorkload runtime(long duration, double utilization) {
- return runtime(duration, utilization, 0, 0);
- }
-
- /**
- * Create a {@link SimWorkload} that consumes the CPU resources for a specified duration at the given utilization.
- *
- * @param duration The duration of the workload in milliseconds.
- * @param utilization The CPU utilization of the workload.
- */
- public static SimWorkload runtime(
- long duration, double utilization, long checkpointInterval, long checkpointDuration) {
- return new SimRuntimeWorkload(duration, utilization, checkpointInterval, checkpointDuration);
- }
-
- /**
- * Create a {@link SimWorkload} that consumes the CPU resources for a specified duration at the given utilization.
- *
- * @param duration The duration of the workload.
- * @param utilization The CPU utilization of the workload.
- */
- public static SimWorkload runtime(
- Duration duration, double utilization, long checkpointInterval, long checkpointDuration) {
- return runtime(duration.toMillis(), utilization, checkpointInterval, checkpointDuration);
- }
-
- /**
- * Chain the specified <code>workloads</code> into a single {@link SimWorkload}.
- */
- public static SimWorkload chain(SimWorkload... workloads) {
- return new SimChainWorkload(workloads);
- }
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimTraceFragment.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/TraceFragment.java
index 374e9732..550c2135 100644
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/SimTraceFragment.java
+++ b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/TraceFragment.java
@@ -22,9 +22,9 @@
package org.opendc.simulator.compute.workload;
-public record SimTraceFragment(long duration, double cpuUsage, int coreCount) {
+public record TraceFragment(long duration, double cpuUsage, int coreCount) {
- public SimTraceFragment(long start, long duration, double cpuUsage, int coreCount) {
+ public TraceFragment(long start, long duration, double cpuUsage, int coreCount) {
this(duration, cpuUsage, coreCount);
}
}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/TraceWorkload.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/TraceWorkload.java
new file mode 100644
index 00000000..115689df
--- /dev/null
+++ b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/TraceWorkload.java
@@ -0,0 +1,154 @@
+/*
+ * Copyright (c) 2024 AtLarge Research
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+package org.opendc.simulator.compute.workload;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.opendc.simulator.engine.FlowSupplier;
+
+public class TraceWorkload implements Workload {
+ private ArrayList<TraceFragment> fragments;
+ private final long checkpointInterval;
+ private final long checkpointDuration;
+ private final double checkpointIntervalScaling;
+
+ public TraceWorkload(
+ ArrayList<TraceFragment> fragments,
+ long checkpointInterval,
+ long checkpointDuration,
+ double checkpointIntervalScaling) {
+ this.fragments = fragments;
+ this.checkpointInterval = checkpointInterval;
+ this.checkpointDuration = checkpointDuration;
+ this.checkpointIntervalScaling = checkpointIntervalScaling;
+ }
+
+ public ArrayList<TraceFragment> getFragments() {
+ return fragments;
+ }
+
+ @Override
+ public long getCheckpointInterval() {
+ return checkpointInterval;
+ }
+
+ @Override
+ public long getCheckpointDuration() {
+ return checkpointDuration;
+ }
+
+ @Override
+ public double getCheckpointIntervalScaling() {
+ return checkpointIntervalScaling;
+ }
+
+ public void removeFragments(int numberOfFragments) {
+ if (numberOfFragments <= 0) {
+ return;
+ }
+ this.fragments.subList(0, numberOfFragments).clear();
+ }
+
+ public void addFirst(TraceFragment fragment) {
+ this.fragments.add(0, fragment);
+ }
+
+ @Override
+ public SimWorkload startWorkload(FlowSupplier supplier, long now) {
+ return new SimTraceWorkload(supplier, this, now);
+ }
+
+ public static Builder builder() {
+ return builder(0L, 0L, 0L);
+ }
+
+ public static Builder builder(long checkpointInterval, long checkpointDuration, double checkpointIntervalScaling) {
+ return new Builder(checkpointInterval, checkpointDuration, checkpointIntervalScaling);
+ }
+
+ /**
+ * Construct a {@link TraceWorkload} from the specified fragments.
+ *
+ * @param fragments The array of fragments to construct the trace from.
+ */
+ public static TraceWorkload ofFragments(TraceFragment... fragments) {
+ final Builder builder = builder();
+
+ for (TraceFragment fragment : fragments) {
+ builder.add(fragment.duration(), fragment.cpuUsage(), fragment.coreCount());
+ }
+
+ return builder.build();
+ }
+
+ /**
+ * Construct a {@link TraceWorkload} from the specified fragments.
+ *
+ * @param fragments The fragments to construct the trace from.
+ */
+ public static TraceWorkload ofFragments(List<TraceFragment> fragments) {
+ final Builder builder = builder();
+
+ for (TraceFragment fragment : fragments) {
+ builder.add(fragment.duration(), fragment.cpuUsage(), fragment.coreCount());
+ }
+
+ return builder.build();
+ }
+
+ public static final class Builder {
+ private final ArrayList<TraceFragment> fragments;
+ private final long checkpointInterval;
+ private final long checkpointDuration;
+ private final double checkpointIntervalScaling;
+
+ /**
+ * Construct a new {@link Builder} instance.
+ */
+ private Builder(long checkpointInterval, long checkpointDuration, double checkpointIntervalScaling) {
+ this.fragments = new ArrayList<>();
+ this.checkpointInterval = checkpointInterval;
+ this.checkpointDuration = checkpointDuration;
+ this.checkpointIntervalScaling = checkpointIntervalScaling;
+ }
+
+ /**
+ * Add a fragment to the trace.
+ *
+ * @param duration The timestamp at which the fragment ends (in epoch millis).
+ * @param usage The CPU usage at this fragment.
+ * @param cores The number of cores used during this fragment.
+ */
+ public void add(long duration, double usage, int cores) {
+ fragments.add(0, new TraceFragment(duration, usage, cores));
+ }
+
+ /**
+ * Build the {@link TraceWorkload} instance.
+ */
+ public TraceWorkload build() {
+ return new TraceWorkload(
+ this.fragments, this.checkpointInterval, this.checkpointDuration, this.checkpointIntervalScaling);
+ }
+ }
+}
diff --git a/opendc-simulator/opendc-simulator-power/build.gradle.kts b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/Workload.java
index ea36ce75..cd34921a 100644
--- a/opendc-simulator/opendc-simulator-power/build.gradle.kts
+++ b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/workload/Workload.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 AtLarge Research
+ * Copyright (c) 2024 AtLarge Research
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -20,15 +20,17 @@
* SOFTWARE.
*/
-description = "Library for simulating datacenter power components"
+package org.opendc.simulator.compute.workload;
-plugins {
- `kotlin-library-conventions`
-}
+import org.opendc.simulator.engine.FlowSupplier;
+
+public interface Workload {
+
+ long getCheckpointInterval();
+
+ long getCheckpointDuration();
-dependencies {
- api(projects.opendcSimulator.opendcSimulatorFlow)
- implementation(projects.opendcSimulator.opendcSimulatorCore)
+ double getCheckpointIntervalScaling();
- testImplementation(libs.slf4j.simple)
+ SimWorkload startWorkload(FlowSupplier supplier, long now);
}
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/kotlin/org/opendc/simulator/compute/Coroutines.kt b/opendc-simulator/opendc-simulator-compute/src/main/kotlin/org/opendc/simulator/compute/Coroutines.kt
index 63af2048..ad69a3d6 100644
--- a/opendc-simulator/opendc-simulator-compute/src/main/kotlin/org/opendc/simulator/compute/Coroutines.kt
+++ b/opendc-simulator/opendc-simulator-compute/src/main/kotlin/org/opendc/simulator/compute/Coroutines.kt
@@ -23,12 +23,13 @@
package org.opendc.simulator.compute
import kotlinx.coroutines.suspendCancellableCoroutine
-import org.opendc.simulator.compute.workload.SimWorkload
+import org.opendc.simulator.compute.machine.SimMachine
+import org.opendc.simulator.compute.workload.TraceWorkload
import kotlin.coroutines.resume
import kotlin.coroutines.resumeWithException
/**
- * Run the specified [SimWorkload] on this machine and suspend execution util [workload] has finished.
+ * Run the specified [SimWorkloadNew] on this machine and suspend execution util [workload] has finished.
*
* @param workload The workload to start on the machine.
* @param meta The metadata to pass to the workload.
@@ -36,13 +37,13 @@ import kotlin.coroutines.resumeWithException
* @throws IllegalStateException if a workload is already active on the machine or if the machine is closed.
*/
public suspend fun SimMachine.runWorkload(
- workload: SimWorkload,
+ workload: TraceWorkload,
meta: Map<String, Any> = emptyMap(),
) {
return suspendCancellableCoroutine { cont ->
- cont.invokeOnCancellation { this@runWorkload.cancel() }
+ cont.invokeOnCancellation { this@runWorkload.shutdown() }
- startWorkload(workload, meta) { cause ->
+ startWorkload(workload) { cause ->
if (cause != null) cont.resumeWithException(cause) else cont.resume(Unit)
}
}
diff --git a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/SimMachineTest.kt b/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/SimMachineTest.kt
index be6d289c..2b6a922e 100644
--- a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/SimMachineTest.kt
+++ b/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/SimMachineTest.kt
@@ -22,33 +22,17 @@
package org.opendc.simulator.compute
-import io.mockk.every
-import io.mockk.mockk
-import kotlinx.coroutines.CancellationException
-import kotlinx.coroutines.cancel
-import kotlinx.coroutines.coroutineScope
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.yield
-import org.junit.jupiter.api.Assertions.assertAll
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
-import org.junit.jupiter.api.assertThrows
-import org.opendc.simulator.compute.device.SimNetworkAdapter
-import org.opendc.simulator.compute.model.Cpu
-import org.opendc.simulator.compute.model.MachineModel
-import org.opendc.simulator.compute.model.MemoryUnit
-import org.opendc.simulator.compute.model.NetworkAdapter
-import org.opendc.simulator.compute.model.StorageDevice
-import org.opendc.simulator.compute.power.CpuPowerModels
-import org.opendc.simulator.compute.workload.SimTrace
-import org.opendc.simulator.compute.workload.SimWorkload
-import org.opendc.simulator.compute.workload.SimWorkloads
-import org.opendc.simulator.flow2.FlowEngine
-import org.opendc.simulator.flow2.source.SimpleFlowSource
+import org.opendc.simulator.compute.cpu.CpuPowerModels
+import org.opendc.simulator.compute.machine.SimMachine
+import org.opendc.simulator.compute.models.CpuModel
+import org.opendc.simulator.compute.models.MachineModel
+import org.opendc.simulator.compute.models.MemoryUnit
+import org.opendc.simulator.compute.workload.TraceWorkload
+import org.opendc.simulator.engine.FlowEngine
import org.opendc.simulator.kotlin.runSimulation
-import org.opendc.simulator.network.SimNetworkSink
-import org.opendc.simulator.power.SimPowerSource
import java.util.concurrent.ThreadLocalRandom
/**
@@ -61,529 +45,390 @@ class SimMachineTest {
fun setUp() {
machineModel =
MachineModel(
- Cpu(
+ CpuModel(
0,
2,
- 1000.0,
+ 1000.0f,
"Intel",
"Xeon",
"amd64",
),
MemoryUnit("Crucial", "MTA18ASF4G72AZ-3G2B1", 3200.0, 32_000 * 4),
- listOf(NetworkAdapter("Mellanox", "ConnectX-5", 25000.0)),
- listOf(StorageDevice("Samsung", "EVO", 1000.0, 250.0, 250.0)),
)
}
// @Test
- fun testFlopsWorkload() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine =
- SimBareMetalMachine.create(
- graph,
- machineModel,
- )
-
- machine.runWorkload(SimWorkloads.flops(2_000, 1.0))
-
- // Two cores execute 1000 MFlOps per second (1000 ms)
- assertEquals(1000, timeSource.millis())
- }
+// fun testFlopsWorkload() =
+// runSimulation {
+// val engine = FlowEngine.create(dispatcher)
+// val graph = engine.newGraph()
+//
+// val machine =
+// SimBareMetalMachine.create(
+// graph,
+// machineModel,
+// )
+//
+// machine.runWorkload(SimWorkloads.flops(2_000, 1.0))
+//
+// // Two cores execute 1000 MFlOps per second (1000 ms)
+// assertEquals(1000, timeSource.millis())
+// }
@Test
fun testTraceWorkload() =
runSimulation {
val random = ThreadLocalRandom.current()
- val builder = SimTrace.builder()
- repeat(1000000) {
-// val timestamp = it.toLong() * 1000
-// val deadline = timestamp + 1000
+ val builder = TraceWorkload.builder()
+ repeat(100) {
builder.add(1000, random.nextDouble(0.0, 4500.0), 1)
}
- val trace = builder.build()
-
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val machine =
- SimBareMetalMachine.create(
- graph,
- machineModel,
- )
+ val traceWorkload = builder.build()
- machine.runWorkload(trace.createWorkload(0))
-
- // Two cores execute 1000 MFlOps per second (1000 ms)
- assertEquals(1000000000, timeSource.millis())
- }
-
-// @Test
- fun testDualSocketMachine() =
- runSimulation {
val engine = FlowEngine.create(dispatcher)
val graph = engine.newGraph()
-
- val cpuNode = machineModel.cpu
- val machineModel =
- MachineModel(
- List(cpuNode.coreCount * 2) {
- Cpu(
- it,
- cpuNode.coreCount,
- 1000.0,
- )
- },
- MemoryUnit("Crucial", "MTA18ASF4G72AZ-3G2B1", 3200.0, 32_000 * 4),
- )
- val machine =
- SimBareMetalMachine.create(
+ val simMachine =
+ SimMachine(
graph,
machineModel,
- )
-
- machine.runWorkload(SimWorkloads.flops(2_000, 1.0))
-
- // Two sockets with two cores execute 2000 MFlOps per second (500 ms)
- assertEquals(500, timeSource.millis())
- }
-
- @Test
- fun testPower() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val machine =
- SimBareMetalMachine.create(
- graph,
- machineModel,
- SimPsuFactories.simple(CpuPowerModels.linear(100.0, 50.0)),
- )
- val source = SimPowerSource(graph, 1000.0f)
- source.connect(machine.psu)
-
- coroutineScope {
- launch { machine.runWorkload(SimWorkloads.flops(2_000, 1.0)) }
-
- yield()
- assertAll(
- { assertEquals(100.0, machine.psu.powerDraw) },
- { assertEquals(100.0f, source.powerDraw) },
- )
- }
- }
-
- @Test
- fun testCapacityClamp() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine =
- SimBareMetalMachine.create(
- graph,
- machineModel,
- )
-
- machine.runWorkload(
- object : SimWorkload {
- override fun onStart(ctx: SimMachineContext) {
- val cpu = ctx.cpu
-
- cpu.frequency = (cpu.cpuModel.totalCapacity + 1000.0)
- assertEquals(cpu.cpuModel.totalCapacity, cpu.frequency)
- cpu.frequency = -1.0
- assertEquals(0.0, cpu.frequency)
-
- ctx.shutdown()
- }
-
- override fun setOffset(now: Long) {}
-
- override fun onStop(ctx: SimMachineContext) {}
-
- override fun makeSnapshot(now: Long) {
- }
-
- override fun getSnapshot(): SimWorkload = this
-
- override fun createCheckpointModel() {}
-
- override fun getCheckpointInterval(): Long {
- return -1
- }
-
- override fun getCheckpointDuration(): Long {
- return -1
- }
-
- override fun getCheckpointIntervalScaling(): Double {
- return -1.0
- }
- },
- )
- }
-
- @Test
- fun testMemory() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine =
- SimBareMetalMachine.create(
- graph,
- machineModel,
- )
-
- machine.runWorkload(
- object : SimWorkload {
- override fun onStart(ctx: SimMachineContext) {
- assertEquals(32_000 * 4.0, ctx.memory.capacity)
- ctx.shutdown()
- }
-
- override fun setOffset(now: Long) {}
-
- override fun onStop(ctx: SimMachineContext) {}
-
- override fun makeSnapshot(now: Long) {}
-
- override fun getSnapshot(): SimWorkload = this
-
- override fun createCheckpointModel() {}
-
- override fun getCheckpointInterval(): Long {
- return -1
- }
-
- override fun getCheckpointDuration(): Long {
- return -1
- }
-
- override fun getCheckpointIntervalScaling(): Double {
- return -1.0
- }
- },
- )
- }
-
- @Test
- fun testMemoryUsage() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine =
- SimBareMetalMachine.create(
- graph,
- machineModel,
- )
-
- machine.runWorkload(
- object : SimWorkload {
- override fun onStart(ctx: SimMachineContext) {
- val source = SimpleFlowSource(ctx.graph, ctx.memory.capacity.toFloat(), 1.0f) { ctx.shutdown() }
- ctx.graph.connect(source.output, ctx.memory.input)
- }
-
- override fun setOffset(now: Long) {}
-
- override fun onStop(ctx: SimMachineContext) {}
-
- override fun makeSnapshot(now: Long) {
- }
-
- override fun getSnapshot(): SimWorkload = this
-
- override fun createCheckpointModel() {}
-
- override fun getCheckpointInterval(): Long {
- return -1
- }
-
- override fun getCheckpointDuration(): Long {
- return -1
- }
-
- override fun getCheckpointIntervalScaling(): Double {
- return -1.0
- }
- },
- )
-
- assertEquals(1000, timeSource.millis())
- }
-
- @Test
- fun testNetUsage() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine =
- SimBareMetalMachine.create(
- graph,
- machineModel,
- )
-
- val adapter = (machine.peripherals[0] as SimNetworkAdapter)
- adapter.connect(SimNetworkSink(graph, adapter.bandwidth.toFloat()))
-
- machine.runWorkload(
- object : SimWorkload {
- override fun onStart(ctx: SimMachineContext) {
- val iface = ctx.networkInterfaces[0]
- val source =
- SimpleFlowSource(ctx.graph, 800.0f, 0.8f) {
- ctx.shutdown()
- it.close()
- }
- ctx.graph.connect(source.output, iface.tx)
- }
-
- override fun setOffset(now: Long) {}
-
- override fun onStop(ctx: SimMachineContext) {}
-
- override fun makeSnapshot(now: Long) {
- }
-
- override fun getSnapshot(): SimWorkload = this
-
- override fun createCheckpointModel() {}
-
- override fun getCheckpointInterval(): Long {
- return -1
- }
-
- override fun getCheckpointDuration(): Long {
- return -1
- }
-
- override fun getCheckpointIntervalScaling(): Double {
- return -1.0
- }
- },
- )
-
- assertEquals(40, timeSource.millis())
- }
-
- @Test
- fun testDiskReadUsage() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine =
- SimBareMetalMachine.create(
- graph,
- machineModel,
- )
-
- machine.runWorkload(
- object : SimWorkload {
- override fun onStart(ctx: SimMachineContext) {
- val disk = ctx.storageInterfaces[0]
- val source = SimpleFlowSource(ctx.graph, 800.0f, 0.8f) { ctx.shutdown() }
- ctx.graph.connect(source.output, disk.read)
- }
-
- override fun setOffset(now: Long) {}
-
- override fun onStop(ctx: SimMachineContext) {}
-
- override fun makeSnapshot(now: Long) {}
-
- override fun getSnapshot(): SimWorkload = this
-
- override fun createCheckpointModel() {}
-
- override fun getCheckpointInterval(): Long {
- return -1
- }
-
- override fun getCheckpointDuration(): Long {
- return -1
- }
-
- override fun getCheckpointIntervalScaling(): Double {
- return -1.0
- }
- },
- )
-
- assertEquals(4000, timeSource.millis())
- }
-
- @Test
- fun testDiskWriteUsage() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine =
- SimBareMetalMachine.create(
- graph,
- machineModel,
- )
-
- machine.runWorkload(
- object : SimWorkload {
- override fun onStart(ctx: SimMachineContext) {
- val disk = ctx.storageInterfaces[0]
- val source = SimpleFlowSource(ctx.graph, 800.0f, 0.8f) { ctx.shutdown() }
- ctx.graph.connect(source.output, disk.write)
- }
-
- override fun setOffset(now: Long) {}
-
- override fun onStop(ctx: SimMachineContext) {}
-
- override fun makeSnapshot(now: Long) {}
-
- override fun getSnapshot(): SimWorkload = this
-
- override fun createCheckpointModel() {}
-
- override fun getCheckpointInterval(): Long {
- return -1
- }
-
- override fun getCheckpointDuration(): Long {
- return -1
- }
-
- override fun getCheckpointIntervalScaling(): Double {
- return -1.0
- }
- },
- )
-
- assertEquals(4000, timeSource.millis())
- }
-
- @Test
- fun testCancellation() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine =
- SimBareMetalMachine.create(
- graph,
- machineModel,
- )
-
- try {
- coroutineScope {
- launch { machine.runWorkload(SimWorkloads.flops(2_000, 1.0)) }
- cancel()
- }
- } catch (_: CancellationException) {
- // Ignore
- }
-
- assertEquals(0, timeSource.millis())
- }
-
- @Test
- fun testConcurrentRuns() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine =
- SimBareMetalMachine.create(
- graph,
- machineModel,
- )
-
- coroutineScope {
- launch {
- machine.runWorkload(SimWorkloads.flops(2_000, 1.0))
+ CpuPowerModels.constant(0.0),
+ ) { cause ->
}
- assertThrows<IllegalStateException> {
- machine.runWorkload(SimWorkloads.flops(2_000, 1.0))
+ val virtualMachine =
+ simMachine.startWorkload(traceWorkload) { cause ->
+ assertEquals(100000, timeSource.millis())
}
- }
- }
-
- @Test
- fun testCatchStartFailure() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine =
- SimBareMetalMachine.create(
- graph,
- machineModel,
- )
-
- val workload = mockk<SimWorkload>()
- every { workload.onStart(any()) } throws IllegalStateException()
-
- assertThrows<IllegalStateException> { machine.runWorkload(workload) }
- }
-
- @Test
- fun testCatchStopFailure() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine =
- SimBareMetalMachine.create(
- graph,
- machineModel,
- )
-
- val workload = mockk<SimWorkload>()
- every { workload.onStart(any()) } answers { (it.invocation.args[0] as SimMachineContext).shutdown() }
- every { workload.onStop(any()) } throws IllegalStateException()
-
- assertThrows<IllegalStateException> { machine.runWorkload(workload) }
- }
-
- @Test
- fun testCatchShutdownFailure() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine =
- SimBareMetalMachine.create(
- graph,
- machineModel,
- )
-
- val workload = mockk<SimWorkload>()
- every { workload.onStart(any()) } answers { (it.invocation.args[0] as SimMachineContext).shutdown(IllegalStateException()) }
- assertThrows<IllegalStateException> { machine.runWorkload(workload) }
+ // Two cores execute 1000 MFlOps per second (1000 ms)
}
- @Test
- fun testCatchNestedFailure() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine =
- SimBareMetalMachine.create(
- graph,
- machineModel,
- )
-
- val workload = mockk<SimWorkload>()
- every { workload.onStart(any()) } answers { (it.invocation.args[0] as SimMachineContext).shutdown(IllegalStateException()) }
- every { workload.onStop(any()) } throws IllegalStateException()
-
- val exc = assertThrows<IllegalStateException> { machine.runWorkload(workload) }
- assertEquals(1, exc.cause!!.suppressedExceptions.size)
- }
+// @Test
+// fun testDualSocketMachine() =
+// runSimulation {
+// val engine = FlowEngine.create(dispatcher)
+// val graph = engine.newGraph()
+//
+// val cpuNode = machineModel.cpu
+// val machineModel =
+// MachineModel(
+// List(cpuNode.coreCount * 2) {
+// CpuModel(
+// it,
+// cpuNode.coreCount,
+// 1000.0,
+// )
+// },
+// MemoryUnit("Crucial", "MTA18ASF4G72AZ-3G2B1", 3200.0, 32_000 * 4),
+// )
+// val machine =
+// SimBareMetalMachine.create(
+// graph,
+// machineModel,
+// CpuPowerModels.constant(0.0)
+// )
+//
+// machine.runWorkload(SimWorkloads.flops(2_000, 1.0))
+//
+// // Two sockets with two cores execute 2000 MFlOps per second (500 ms)
+// assertEquals(500, timeSource.millis())
+// }
+//
+// // @Test
+// // fun testPower() =
+// // runSimulation {
+// // val engine = FlowEngine.create(dispatcher)
+// // val graph = engine.newGraph()
+// // val machine =
+// // SimBareMetalMachine.create(
+// // graph,
+// // machineModel,
+// // CpuPowerModels.linear(100.0, 50.0),
+// // )
+// // val source = SimPowerSource(graph, 1000.0f)
+// // source.connect(machine.psu)
+// //
+// // coroutineScope {
+// // launch { machine.runWorkload(SimWorkloads.flops(2_000, 1.0)) }
+// //
+// // yield()
+// // assertAll(
+// // { assertEquals(100.0, machine.psu.powerDraw) },
+// // { assertEquals(100.0f, source.powerDraw) },
+// // )
+// // }
+// // }
+//
+// @Test
+// fun testCapacityClamp() =
+// runSimulation {
+// val engine = FlowEngine.create(dispatcher)
+// val graph = engine.newGraph()
+//
+// val machine =
+// SimBareMetalMachine.create(
+// graph,
+// machineModel,
+// CpuPowerModels.constant(0.0)
+// )
+//
+// machine.runWorkload(
+// object : SimWorkload {
+// override fun onStart(ctx: SimMachineContext) {
+// val cpu = ctx.cpu
+//
+// cpu.frequency = (cpu.cpuModel.totalCapacity + 1000.0)
+// assertEquals(cpu.cpuModel.totalCapacity, cpu.frequency)
+// cpu.frequency = -1.0
+// assertEquals(0.0, cpu.frequency)
+//
+// ctx.shutdown()
+// }
+//
+// override fun setOffset(now: Long) {}
+//
+// override fun onStop(ctx: SimMachineContext) {}
+//
+// override fun makeSnapshot(now: Long) {
+// }
+//
+// override fun getSnapshot(): SimWorkload = this
+//
+// override fun createCheckpointModel() {}
+//
+// override fun getCheckpointInterval(): Long {
+// return -1
+// }
+//
+// override fun getCheckpointDuration(): Long {
+// return -1
+// }
+//
+// override fun getCheckpointIntervalScaling(): Double {
+// return -1.0
+// }
+// },
+// )
+// }
+//
+// @Test
+// fun testMemory() =
+// runSimulation {
+// val engine = FlowEngine.create(dispatcher)
+// val graph = engine.newGraph()
+//
+// val machine =
+// SimBareMetalMachine.create(
+// graph,
+// machineModel,
+// CpuPowerModels.constant(0.0)
+// )
+//
+// machine.runWorkload(
+// object : SimWorkload {
+// override fun onStart(ctx: SimMachineContext) {
+// assertEquals(32_000 * 4.0, ctx.memory.capacity)
+// ctx.shutdown()
+// }
+//
+// override fun setOffset(now: Long) {}
+//
+// override fun onStop(ctx: SimMachineContext) {}
+//
+// override fun makeSnapshot(now: Long) {}
+//
+// override fun getSnapshot(): SimWorkload = this
+//
+// override fun createCheckpointModel() {}
+//
+// override fun getCheckpointInterval(): Long {
+// return -1
+// }
+//
+// override fun getCheckpointDuration(): Long {
+// return -1
+// }
+//
+// override fun getCheckpointIntervalScaling(): Double {
+// return -1.0
+// }
+// },
+// )
+// }
+//
+// @Test
+// fun testMemoryUsage() =
+// runSimulation {
+// val engine = FlowEngine.create(dispatcher)
+// val graph = engine.newGraph()
+//
+// val machine =
+// SimBareMetalMachine.create(
+// graph,
+// machineModel,
+// CpuPowerModels.constant(0.0)
+// )
+//
+// machine.runWorkload(
+// object : SimWorkload {
+// override fun onStart(ctx: SimMachineContext) {
+// val source = SimpleFlowSource(ctx.graph, ctx.memory.capacity.toFloat(), 1.0f) { ctx.shutdown() }
+// ctx.graph.connect(source.output, ctx.memory.input)
+// }
+//
+// override fun setOffset(now: Long) {}
+//
+// override fun onStop(ctx: SimMachineContext) {}
+//
+// override fun makeSnapshot(now: Long) {
+// }
+//
+// override fun getSnapshot(): SimWorkload = this
+//
+// override fun createCheckpointModel() {}
+//
+// override fun getCheckpointInterval(): Long {
+// return -1
+// }
+//
+// override fun getCheckpointDuration(): Long {
+// return -1
+// }
+//
+// override fun getCheckpointIntervalScaling(): Double {
+// return -1.0
+// }
+// },
+// )
+//
+// assertEquals(1000, timeSource.millis())
+// }
+//
+// @Test
+// fun testCancellation() =
+// runSimulation {
+// val engine = FlowEngine.create(dispatcher)
+// val graph = engine.newGraph()
+//
+// val machine =
+// SimBareMetalMachine.create(
+// graph,
+// machineModel,
+// CpuPowerModels.constant(0.0)
+// )
+//
+// try {
+// coroutineScope {
+// launch { machine.runWorkload(SimWorkloads.flops(2_000, 1.0)) }
+// cancel()
+// }
+// } catch (_: CancellationException) {
+// // Ignore
+// }
+//
+// assertEquals(0, timeSource.millis())
+// }
+//
+// @Test
+// fun testConcurrentRuns() =
+// runSimulation {
+// val engine = FlowEngine.create(dispatcher)
+// val graph = engine.newGraph()
+//
+// val machine =
+// SimBareMetalMachine.create(
+// graph,
+// machineModel,
+// CpuPowerModels.constant(0.0)
+// )
+//
+// coroutineScope {
+// launch {
+// machine.runWorkload(SimWorkloads.flops(2_000, 1.0))
+// }
+//
+// assertThrows<IllegalStateException> {
+// machine.runWorkload(SimWorkloads.flops(2_000, 1.0))
+// }
+// }
+// }
+//
+// @Test
+// fun testCatchStartFailure() =
+// runSimulation {
+// val engine = FlowEngine.create(dispatcher)
+// val graph = engine.newGraph()
+//
+// val machine =
+// SimBareMetalMachine.create(
+// graph,
+// machineModel,
+// CpuPowerModels.constant(0.0)
+// )
+//
+// val workload = mockk<SimWorkload>()
+// every { workload.onStart(any()) } throws IllegalStateException()
+//
+// assertThrows<IllegalStateException> { machine.runWorkload(workload) }
+// }
+//
+// @Test
+// fun testCatchStopFailure() =
+// runSimulation {
+// val engine = FlowEngine.create(dispatcher)
+// val graph = engine.newGraph()
+//
+// val machine =
+// SimBareMetalMachine.create(
+// graph,
+// machineModel,
+// CpuPowerModels.constant(0.0)
+// )
+//
+// val workload = mockk<SimWorkload>()
+// every { workload.onStart(any()) } answers { (it.invocation.args[0] as SimMachineContext).shutdown() }
+// every { workload.onStop(any()) } throws IllegalStateException()
+//
+// assertThrows<IllegalStateException> { machine.runWorkload(workload) }
+// }
+//
+// @Test
+// fun testCatchShutdownFailure() =
+// runSimulation {
+// val engine = FlowEngine.create(dispatcher)
+// val graph = engine.newGraph()
+//
+// val machine =
+// SimBareMetalMachine.create(
+// graph,
+// machineModel,
+// CpuPowerModels.constant(0.0)
+// )
+//
+// val workload = mockk<SimWorkload>()
+// every { workload.onStart(any()) } answers { (it.invocation.args[0] as SimMachineContext).shutdown(IllegalStateException()) }
+//
+// assertThrows<IllegalStateException> { machine.runWorkload(workload) }
+// }
+//
+// @Test
+// fun testCatchNestedFailure() =
+// runSimulation {
+// val engine = FlowEngine.create(dispatcher)
+// val graph = engine.newGraph()
+//
+// val machine =
+// SimBareMetalMachine.create(
+// graph,
+// machineModel,
+// CpuPowerModels.constant(0.0)
+// )
+//
+// val workload = mockk<SimWorkload>()
+// every { workload.onStart(any()) } answers { (it.invocation.args[0] as SimMachineContext).shutdown(IllegalStateException()) }
+// every { workload.onStop(any()) } throws IllegalStateException()
+//
+// val exc = assertThrows<IllegalStateException> { machine.runWorkload(workload) }
+// assertEquals(1, exc.cause!!.suppressedExceptions.size)
+// }
}
diff --git a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/SimFairShareHypervisorTest.kt b/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/SimFairShareHypervisorTest.kt
deleted file mode 100644
index 6cebc46f..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/SimFairShareHypervisorTest.kt
+++ /dev/null
@@ -1,269 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute.kernel
-
-import kotlinx.coroutines.coroutineScope
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.yield
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.BeforeEach
-import org.junit.jupiter.api.Test
-import org.junit.jupiter.api.assertAll
-import org.junit.jupiter.api.assertDoesNotThrow
-import org.opendc.simulator.compute.SimBareMetalMachine
-import org.opendc.simulator.compute.kernel.cpufreq.ScalingGovernors
-import org.opendc.simulator.compute.kernel.interference.VmInterferenceModel
-import org.opendc.simulator.compute.model.Cpu
-import org.opendc.simulator.compute.model.MachineModel
-import org.opendc.simulator.compute.model.MemoryUnit
-import org.opendc.simulator.compute.runWorkload
-import org.opendc.simulator.compute.workload.SimTrace
-import org.opendc.simulator.compute.workload.SimTraceFragment
-import org.opendc.simulator.flow2.FlowEngine
-import org.opendc.simulator.flow2.mux.FlowMultiplexerFactory
-import org.opendc.simulator.kotlin.runSimulation
-import java.util.SplittableRandom
-
-/**
- * Test suite for the [SimHypervisor] class.
- */
-internal class SimFairShareHypervisorTest {
- private lateinit var model: MachineModel
-
- @BeforeEach
- fun setUp() {
- model =
- MachineModel(
- Cpu(
- 0,
- 1,
- 3200.0,
- "Intel",
- "Xeon",
- "amd64",
- ),
- // memory
- MemoryUnit("Crucial", "MTA18ASF4G72AZ-3G2B1", 3200.0, 32_000 * 4),
- )
- }
-
- /**
- * Test overcommitting of resources via the hypervisor with a single VM.
- */
- @Test
- fun testOvercommittedSingle() =
- runSimulation {
- val duration = 5 * 60L
- val workloadA =
- SimTrace.ofFragments(
- SimTraceFragment(0, duration * 1000, 28.0, 1),
- SimTraceFragment(duration * 1000, duration * 1000, 3500.0, 1),
- SimTraceFragment(duration * 2000, duration * 1000, 0.0, 1),
- SimTraceFragment(duration * 3000, duration * 1000, 183.0, 1),
- ).createWorkload(0)
-
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine = SimBareMetalMachine.create(graph, model)
- val hypervisor =
- SimHypervisor.create(
- FlowMultiplexerFactory.maxMinMultiplexer(),
- SplittableRandom(0L),
- ScalingGovernors.performance(),
- )
-
- launch { machine.runWorkload(hypervisor) }
- yield()
-
- val vm = hypervisor.newMachine(model)
- vm.runWorkload(workloadA)
-
- yield()
- machine.cancel()
-
- assertAll(
- { assertEquals(319781, hypervisor.counters.cpuActiveTime, "Active time does not match") },
- { assertEquals(880219, hypervisor.counters.cpuIdleTime, "Idle time does not match") },
- { assertEquals(28125, hypervisor.counters.cpuStealTime, "Steal time does not match") },
- { assertEquals(1200000, timeSource.millis()) { "Current time is correct" } },
- )
- }
-
- /**
- * Test overcommitting of resources via the hypervisor with two VMs.
- */
- @Test
- fun testOvercommittedDual() =
- runSimulation {
- val duration = 5 * 60L
- val workloadA =
- SimTrace.ofFragments(
- SimTraceFragment(0, duration * 1000, 28.0, 1),
- SimTraceFragment(duration * 1000, duration * 1000, 3500.0, 1),
- SimTraceFragment(duration * 2000, duration * 1000, 0.0, 1),
- SimTraceFragment(duration * 3000, duration * 1000, 183.0, 1),
- ).createWorkload(0)
- val workloadB =
- SimTrace.ofFragments(
- SimTraceFragment(0, duration * 1000, 28.0, 1),
- SimTraceFragment(duration * 1000, duration * 1000, 3100.0, 1),
- SimTraceFragment(duration * 2000, duration * 1000, 0.0, 1),
- SimTraceFragment(duration * 3000, duration * 1000, 73.0, 1),
- ).createWorkload(0)
-
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine = SimBareMetalMachine.create(graph, model)
- val hypervisor =
- SimHypervisor.create(
- FlowMultiplexerFactory.maxMinMultiplexer(),
- SplittableRandom(0L),
- ScalingGovernors.performance(),
- )
-
- launch { machine.runWorkload(hypervisor) }
-
- yield()
- coroutineScope {
- launch {
- val vm = hypervisor.newMachine(model)
- vm.runWorkload(workloadA)
- hypervisor.removeMachine(vm)
- }
- val vm = hypervisor.newMachine(model)
- vm.runWorkload(workloadB)
- hypervisor.removeMachine(vm)
- }
- yield()
- machine.cancel()
- yield()
-
- assertAll(
- { assertEquals(329250, hypervisor.counters.cpuActiveTime, "Active time does not match") },
- { assertEquals(870750, hypervisor.counters.cpuIdleTime, "Idle time does not match") },
- { assertEquals(318750, hypervisor.counters.cpuStealTime, "Steal time does not match") },
- { assertEquals(1200000, timeSource.millis()) },
- )
- }
-
- @Test
- fun testMultipleCPUs() =
- runSimulation {
- val model =
- MachineModel(
- Cpu(
- 0,
- 2,
- 3200.0,
- "Intel",
- "Xeon",
- "amd64",
- ),
- // memory
- MemoryUnit("Crucial", "MTA18ASF4G72AZ-3G2B1", 3200.0, 32_000 * 4),
- )
-
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine = SimBareMetalMachine.create(graph, model)
- val hypervisor =
- SimHypervisor.create(
- FlowMultiplexerFactory.maxMinMultiplexer(),
- SplittableRandom(0L),
- ScalingGovernors.performance(),
- )
-
- assertDoesNotThrow {
- launch { machine.runWorkload(hypervisor) }
- }
-
- machine.cancel()
- }
-
- @Test
- fun testInterference() =
- runSimulation {
- val model =
- MachineModel(
- Cpu(
- 0,
- 2,
- 3200.0,
- "Intel",
- "Xeon",
- "amd64",
- ),
- // memory
- MemoryUnit("Crucial", "MTA18ASF4G72AZ-3G2B1", 3200.0, 32_000 * 4),
- )
-
- val interferenceModel =
- VmInterferenceModel.builder()
- .addGroup(setOf("a", "b"), 0.0, 0.9)
- .addGroup(setOf("a", "c"), 0.0, 0.6)
- .addGroup(setOf("a", "n"), 0.1, 0.8)
- .build()
-
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine = SimBareMetalMachine.create(graph, model)
- val hypervisor = SimHypervisor.create(FlowMultiplexerFactory.maxMinMultiplexer(), SplittableRandom(0L))
-
- val duration = 5 * 60L
- val workloadA =
- SimTrace.ofFragments(
- SimTraceFragment(0, duration * 1000, 0.0, 1),
- SimTraceFragment(duration * 1000, duration * 1000, 28.0, 1),
- SimTraceFragment(duration * 2000, duration * 1000, 3500.0, 1),
- SimTraceFragment(duration * 3000, duration * 1000, 183.0, 1),
- ).createWorkload(0)
- val workloadB =
- SimTrace.ofFragments(
- SimTraceFragment(0, duration * 1000, 0.0, 1),
- SimTraceFragment(duration * 1000, duration * 1000, 28.0, 1),
- SimTraceFragment(duration * 2000, duration * 1000, 3100.0, 1),
- SimTraceFragment(duration * 3000, duration * 1000, 73.0, 1),
- ).createWorkload(0)
-
- launch {
- machine.runWorkload(hypervisor)
- }
-
- coroutineScope {
- launch {
- val vm = hypervisor.newMachine(model)
- vm.runWorkload(workloadA, meta = mapOf("interference-model" to interferenceModel.getProfile("a")!!))
- hypervisor.removeMachine(vm)
- }
- val vm = hypervisor.newMachine(model)
- vm.runWorkload(workloadB, meta = mapOf("interference-model" to interferenceModel.getProfile("b")!!))
- hypervisor.removeMachine(vm)
- }
-
- machine.cancel()
- }
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/SimSpaceSharedHypervisorTest.kt b/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/SimSpaceSharedHypervisorTest.kt
deleted file mode 100644
index b4ae372c..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/SimSpaceSharedHypervisorTest.kt
+++ /dev/null
@@ -1,234 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute.kernel
-
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.yield
-import org.junit.jupiter.api.Assertions.assertAll
-import org.junit.jupiter.api.Assertions.assertDoesNotThrow
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.Assertions.assertFalse
-import org.junit.jupiter.api.Assertions.assertTrue
-import org.junit.jupiter.api.BeforeEach
-import org.junit.jupiter.api.Test
-import org.junit.jupiter.api.assertThrows
-import org.opendc.simulator.compute.SimBareMetalMachine
-import org.opendc.simulator.compute.model.Cpu
-import org.opendc.simulator.compute.model.MachineModel
-import org.opendc.simulator.compute.model.MemoryUnit
-import org.opendc.simulator.compute.runWorkload
-import org.opendc.simulator.compute.workload.SimTrace
-import org.opendc.simulator.compute.workload.SimTraceFragment
-import org.opendc.simulator.compute.workload.SimWorkloads
-import org.opendc.simulator.flow2.FlowEngine
-import org.opendc.simulator.flow2.mux.FlowMultiplexerFactory
-import org.opendc.simulator.kotlin.runSimulation
-import java.util.SplittableRandom
-
-/**
- * A test suite for a space-shared [SimHypervisor].
- */
-internal class SimSpaceSharedHypervisorTest {
- private lateinit var machineModel: MachineModel
-
- @BeforeEach
- fun setUp() {
- machineModel =
- MachineModel(
- Cpu(
- 0,
- 1,
- 3200.0,
- "Intel",
- "Xeon",
- "amd64",
- ),
- // memory
- MemoryUnit("Crucial", "MTA18ASF4G72AZ-3G2B1", 3200.0, 32_000 * 4),
- )
- }
-
- /**
- * Test a trace workload.
- */
- @Test
- fun testTrace() =
- runSimulation {
- val duration = 5 * 60L
- val workloadA =
- SimTrace.ofFragments(
- SimTraceFragment(0, duration * 1000, 28.0, 1),
- SimTraceFragment(duration * 1000, duration * 1000, 3500.0, 1),
- SimTraceFragment(duration * 2000, duration * 1000, 0.0, 1),
- SimTraceFragment(duration * 3000, duration * 1000, 183.0, 1),
- ).createWorkload(0)
-
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine = SimBareMetalMachine.create(graph, machineModel)
- val hypervisor = SimHypervisor.create(FlowMultiplexerFactory.forwardingMultiplexer(), SplittableRandom(0L))
-
- launch { machine.runWorkload(hypervisor) }
- val vm = hypervisor.newMachine(machineModel)
- vm.runWorkload(workloadA)
- yield()
-
- hypervisor.removeMachine(vm)
- machine.cancel()
-
- assertEquals(5 * 60L * 4000, timeSource.millis()) { "Took enough time" }
- }
-
- /**
- * Test runtime workload on hypervisor.
- */
- @Test
- fun testRuntimeWorkload() =
- runSimulation {
- val duration = 5 * 60L * 1000
- val workload = SimWorkloads.runtime(duration, 1.0)
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine = SimBareMetalMachine.create(graph, machineModel)
- val hypervisor = SimHypervisor.create(FlowMultiplexerFactory.forwardingMultiplexer(), SplittableRandom(0L))
-
- launch { machine.runWorkload(hypervisor) }
- yield()
- val vm = hypervisor.newMachine(machineModel)
- vm.runWorkload(workload)
- hypervisor.removeMachine(vm)
-
- machine.cancel()
-
- assertEquals(duration, timeSource.millis()) { "Took enough time" }
- }
-
- /**
- * Test FLOPs workload on hypervisor.
- */
- @Test
- fun testFlopsWorkload() =
- runSimulation {
- val duration = 5 * 60L * 1000
- val workload = SimWorkloads.flops((duration * 3.2).toLong(), 1.0)
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine = SimBareMetalMachine.create(graph, machineModel)
- val hypervisor = SimHypervisor.create(FlowMultiplexerFactory.forwardingMultiplexer(), SplittableRandom(0L))
-
- launch { machine.runWorkload(hypervisor) }
- yield()
- val vm = hypervisor.newMachine(machineModel)
- vm.runWorkload(workload)
- machine.cancel()
-
- assertEquals(duration, timeSource.millis()) { "Took enough time" }
- }
-
- /**
- * Test two workloads running sequentially.
- */
- @Test
- fun testTwoWorkloads() =
- runSimulation {
- val duration = 5 * 60L * 1000
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine = SimBareMetalMachine.create(graph, machineModel)
- val hypervisor = SimHypervisor.create(FlowMultiplexerFactory.forwardingMultiplexer(), SplittableRandom(0L))
-
- launch { machine.runWorkload(hypervisor) }
- yield()
-
- val vm = hypervisor.newMachine(machineModel)
- vm.runWorkload(SimWorkloads.runtime(duration, 1.0))
- hypervisor.removeMachine(vm)
-
- yield()
-
- val vm2 = hypervisor.newMachine(machineModel)
- vm2.runWorkload(SimWorkloads.runtime(duration, 1.0))
- hypervisor.removeMachine(vm2)
-
- machine.cancel()
-
- assertEquals(duration * 2, timeSource.millis()) { "Took enough time" }
- }
-
- /**
- * Test concurrent workloads on the machine.
- */
- @Test
- fun testConcurrentWorkloadFails() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine = SimBareMetalMachine.create(graph, machineModel)
- val hypervisor = SimHypervisor.create(FlowMultiplexerFactory.forwardingMultiplexer(), SplittableRandom(0L))
-
- launch { machine.runWorkload(hypervisor) }
- yield()
-
- val vm = hypervisor.newMachine(machineModel)
- launch { vm.runWorkload(SimWorkloads.runtime(10_000, 1.0)) }
- yield()
-
- assertAll(
- { assertFalse(hypervisor.canFit(machineModel)) },
- { assertThrows<IllegalArgumentException> { hypervisor.newMachine(machineModel) } },
- )
-
- machine.cancel()
- vm.cancel()
- }
-
- /**
- * Test concurrent workloads on the machine.
- */
- @Test
- fun testConcurrentWorkloadSucceeds() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine = SimBareMetalMachine.create(graph, machineModel)
- val hypervisor = SimHypervisor.create(FlowMultiplexerFactory.forwardingMultiplexer(), SplittableRandom(0L))
-
- launch { machine.runWorkload(hypervisor) }
- yield()
-
- hypervisor.removeMachine(hypervisor.newMachine(machineModel))
-
- assertAll(
- { assertTrue(hypervisor.canFit(machineModel)) },
- { assertDoesNotThrow { hypervisor.newMachine(machineModel) } },
- )
-
- machine.cancel()
- }
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/cpufreq/ConservativeScalingGovernorTest.kt b/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/cpufreq/ConservativeScalingGovernorTest.kt
deleted file mode 100644
index 4a930df6..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/cpufreq/ConservativeScalingGovernorTest.kt
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute.kernel.cpufreq
-
-import io.mockk.every
-import io.mockk.mockk
-import io.mockk.verify
-import org.junit.jupiter.api.Test
-
-/**
- * Test suite for the conservative [ScalingGovernor].
- */
-internal class ConservativeScalingGovernorTest {
- @Test
- fun testSetStartLimitWithoutPStates() {
- val cpuCapacity = 4100.0
- val minSpeed = cpuCapacity / 2
- val defaultThreshold = 0.8
- val defaultStepSize = 0.05 * cpuCapacity
- val governor = ScalingGovernors.conservative(defaultThreshold)
-
- val policy = mockk<ScalingPolicy>(relaxUnitFun = true)
- every { policy.max } returns cpuCapacity
- every { policy.min } returns minSpeed
-
- var target = 0.0
- every { policy.target } answers { target }
- every { policy.target = any() } propertyType Double::class answers { target = value }
-
- val logic = governor.newGovernor(policy)
- logic.onStart()
- logic.onLimit(0.5)
-
- // Upwards scaling
- logic.onLimit(defaultThreshold + 0.2)
-
- // Downwards scaling
- logic.onLimit(defaultThreshold + 0.1)
-
- verify(exactly = 2) { policy.target = minSpeed }
- verify(exactly = 1) { policy.target = minSpeed + defaultStepSize }
- }
-
- @Test
- fun testSetStartLimitWithPStatesAndParams() {
- val firstPState = 1000.0
- val cpuCapacity = 4100.0
- val minSpeed = firstPState
- val threshold = 0.5
- val stepSize = 0.02 * cpuCapacity
- val governor = ScalingGovernors.conservative(threshold, stepSize)
-
- val policy = mockk<ScalingPolicy>(relaxUnitFun = true)
- every { policy.max } returns cpuCapacity
- every { policy.min } returns firstPState
-
- var target = 0.0
- every { policy.target } answers { target }
- every { policy.target = any() } propertyType Double::class answers { target = value }
-
- val logic = governor.newGovernor(policy)
- logic.onStart()
- logic.onLimit(0.5)
-
- // Upwards scaling
- logic.onLimit(threshold + 0.2)
-
- // Downwards scaling
- logic.onLimit(threshold + 0.1)
-
- verify(exactly = 2) { policy.target = minSpeed }
- verify(exactly = 1) { policy.target = minSpeed + stepSize }
- }
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/cpufreq/OnDemandScalingGovernorTest.kt b/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/cpufreq/OnDemandScalingGovernorTest.kt
deleted file mode 100644
index d6a7090b..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/cpufreq/OnDemandScalingGovernorTest.kt
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute.kernel.cpufreq
-
-import io.mockk.every
-import io.mockk.mockk
-import io.mockk.verify
-import org.junit.jupiter.api.Test
-
-/**
- * Test suite for the on-demand [ScalingGovernor].
- */
-internal class OnDemandScalingGovernorTest {
- @Test
- fun testSetStartLimitWithoutPStates() {
- val cpuCapacity = 4100.0
- val minSpeed = cpuCapacity / 2
- val defaultThreshold = 0.8
- val governor = ScalingGovernors.ondemand(defaultThreshold)
-
- val policy = mockk<ScalingPolicy>(relaxUnitFun = true)
- every { policy.min } returns minSpeed
- every { policy.max } returns cpuCapacity
-
- val logic = governor.newGovernor(policy)
- logic.onStart()
- verify(exactly = 1) { policy.target = minSpeed }
-
- logic.onLimit(0.5)
- verify(exactly = 1) { policy.target = minSpeed + 0.5 * (cpuCapacity - minSpeed) / 100 }
-
- logic.onLimit(defaultThreshold)
- verify(exactly = 1) { policy.target = cpuCapacity }
- }
-
- @Test
- fun testSetStartLimitWithPStatesAndParams() {
- val firstPState = 1000.0
- val cpuCapacity = 4100.0
- val threshold = 0.5
- val governor = ScalingGovernors.ondemand(threshold)
-
- val policy = mockk<ScalingPolicy>(relaxUnitFun = true)
- every { policy.max } returns cpuCapacity
- every { policy.min } returns firstPState
-
- val logic = governor.newGovernor(policy)
-
- logic.onStart()
- verify(exactly = 1) { policy.target = firstPState }
-
- logic.onLimit(0.1)
- verify(exactly = 1) { policy.target = firstPState + 0.1 * (cpuCapacity - firstPState) / 100 }
-
- logic.onLimit(threshold)
- verify(exactly = 1) { policy.target = cpuCapacity }
- }
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/cpufreq/PowerSaveScalingGovernorTest.kt b/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/cpufreq/PowerSaveScalingGovernorTest.kt
deleted file mode 100644
index 4cee8199..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/kernel/cpufreq/PowerSaveScalingGovernorTest.kt
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute.kernel.cpufreq
-
-import io.mockk.every
-import io.mockk.mockk
-import io.mockk.verify
-import org.junit.jupiter.api.Test
-
-/**
- * Test suite for the [PowerSaveScalingGovernor]
- */
-internal class PowerSaveScalingGovernorTest {
- @Test
- fun testSetStartLimitWithoutPStates() {
- val cpuCapacity = 4100.0
- val minSpeed = cpuCapacity / 2
- val policy = mockk<ScalingPolicy>(relaxUnitFun = true)
- val logic = ScalingGovernors.powerSave().newGovernor(policy)
-
- every { policy.max } returns cpuCapacity
- every { policy.min } returns minSpeed
-
- logic.onStart()
-
- logic.onLimit(0.0)
- verify(exactly = 1) { policy.target = minSpeed }
-
- logic.onLimit(1.0)
- verify(exactly = 1) { policy.target = minSpeed }
- }
-
- @Test
- fun testSetStartLimitWithPStates() {
- val cpuCapacity = 4100.0
- val firstPState = 1000.0
- val policy = mockk<ScalingPolicy>(relaxUnitFun = true)
- val logic = ScalingGovernors.powerSave().newGovernor(policy)
-
- every { policy.max } returns cpuCapacity
- every { policy.min } returns firstPState
-
- logic.onStart()
- verify(exactly = 1) { policy.target = firstPState }
-
- logic.onLimit(0.0)
- verify(exactly = 1) { policy.target = firstPState }
-
- logic.onLimit(1.0)
- verify(exactly = 1) { policy.target = firstPState }
- }
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/power/PowerModelTest.kt b/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/power/PowerModelTest.kt
deleted file mode 100644
index e3bea821..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/power/PowerModelTest.kt
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute.power
-
-import org.junit.jupiter.api.Assertions.assertAll
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.Test
-import org.junit.jupiter.params.ParameterizedTest
-import org.junit.jupiter.params.provider.Arguments
-import org.junit.jupiter.params.provider.MethodSource
-import java.util.stream.Stream
-import kotlin.math.pow
-
-internal class PowerModelTest {
- private val epsilon = 10.0.pow(-3)
- private val cpuUtil = 0.9
-
- @ParameterizedTest
- @MethodSource("machinePowerModelArgs")
- fun `compute power consumption given CPU loads`(
- powerModel: CpuPowerModel,
- expectedPowerConsumption: Double,
- ) {
- val computedPowerConsumption = powerModel.computePower(cpuUtil)
- assertEquals(expectedPowerConsumption, computedPowerConsumption, epsilon)
- }
-
- @ParameterizedTest
- @MethodSource("machinePowerModelArgs")
- fun `ignore idle power when computing power consumptions`(
- powerModel: CpuPowerModel,
- expectedPowerConsumption: Double,
- ) {
- val zeroPowerModel = CpuPowerModels.zeroIdle(powerModel)
-
- assertAll(
- { assertEquals(expectedPowerConsumption, zeroPowerModel.computePower(cpuUtil), epsilon) },
- { assertEquals(0.0, zeroPowerModel.computePower(0.0)) },
- )
- }
-
- @Test
- fun `compute power draw by the SPEC benchmark model`() {
- val powerModel =
- CpuPowerModels.interpolate(
- 58.4, 98.0, 109.0, 118.0, 128.0, 140.0, 153.0, 170.0, 189.0, 205.0, 222.0,
- )
-
- assertAll(
- { assertEquals(58.4, powerModel.computePower(0.0)) },
- { assertEquals(58.4 + (98 - 58.4) / 5, powerModel.computePower(0.02)) },
- { assertEquals(98.0, powerModel.computePower(0.1)) },
- { assertEquals(140.0, powerModel.computePower(0.5)) },
- { assertEquals(189.0, powerModel.computePower(0.8)) },
- { assertEquals(189.0 + 0.7 * 10 * (205 - 189) / 10, powerModel.computePower(0.87)) },
- { assertEquals(205.0, powerModel.computePower(0.9)) },
- { assertEquals(222.0, powerModel.computePower(1.0)) },
- )
- }
-
- @Test
- fun `test linear model`() {
- val powerModel = CpuPowerModels.linear(400.0, 200.0)
-
- assertAll(
- { assertEquals(200.0, powerModel.computePower(-0.1)) },
- { assertEquals(200.0, powerModel.computePower(0.0)) },
- { assertEquals(220.0, powerModel.computePower(0.1)) },
- { assertEquals(240.0, powerModel.computePower(0.2)) },
- { assertEquals(260.0, powerModel.computePower(0.3)) },
- { assertEquals(280.0, powerModel.computePower(0.4)) },
- { assertEquals(300.0, powerModel.computePower(0.5)) },
- { assertEquals(320.0, powerModel.computePower(0.6)) },
- { assertEquals(340.0, powerModel.computePower(0.7)) },
- { assertEquals(360.0, powerModel.computePower(0.8)) },
- { assertEquals(380.0, powerModel.computePower(0.9)) },
- { assertEquals(400.0, powerModel.computePower(1.0)) },
- { assertEquals(400.0, powerModel.computePower(1.1)) },
- )
- }
-
- @Test
- fun `test sqrt model`() {
- val powerModel = CpuPowerModels.sqrt(400.0, 200.0)
-
- assertAll(
- { assertEquals(200.0, powerModel.computePower(-1.0), 1.0) },
- { assertEquals(200.0, powerModel.computePower(0.0), 1.0) },
- { assertEquals(263.0, powerModel.computePower(0.1), 1.0) },
- { assertEquals(289.0, powerModel.computePower(0.2), 1.0) },
- { assertEquals(309.0, powerModel.computePower(0.3), 1.0) },
- { assertEquals(326.0, powerModel.computePower(0.4), 1.0) },
- { assertEquals(341.0, powerModel.computePower(0.5), 1.0) },
- { assertEquals(354.0, powerModel.computePower(0.6), 1.0) },
- { assertEquals(367.0, powerModel.computePower(0.7), 1.0) },
- { assertEquals(378.0, powerModel.computePower(0.8), 1.0) },
- { assertEquals(389.0, powerModel.computePower(0.9), 1.0) },
- { assertEquals(400.0, powerModel.computePower(1.0), 1.0) },
- { assertEquals(400.0, powerModel.computePower(1.1), 1.0) },
- )
- }
-
- @Test
- fun `test square model`() {
- val powerModel = CpuPowerModels.square(400.0, 200.0)
-
- assertAll(
- { assertEquals(200.0, powerModel.computePower(-1.0), 1.0) },
- { assertEquals(200.0, powerModel.computePower(0.0), 1.0) },
- { assertEquals(202.0, powerModel.computePower(0.1), 1.0) },
- { assertEquals(208.0, powerModel.computePower(0.2), 1.0) },
- { assertEquals(218.0, powerModel.computePower(0.3), 1.0) },
- { assertEquals(232.0, powerModel.computePower(0.4), 1.0) },
- { assertEquals(250.0, powerModel.computePower(0.5), 1.0) },
- { assertEquals(272.0, powerModel.computePower(0.6), 1.0) },
- { assertEquals(298.0, powerModel.computePower(0.7), 1.0) },
- { assertEquals(328.0, powerModel.computePower(0.8), 1.0) },
- { assertEquals(362.0, powerModel.computePower(0.9), 1.0) },
- { assertEquals(400.0, powerModel.computePower(1.0), 1.0) },
- { assertEquals(400.0, powerModel.computePower(1.1), 1.0) },
- )
- }
-
- @Test
- fun `test cubic model`() {
- val powerModel = CpuPowerModels.cubic(400.0, 200.0)
-
- assertAll(
- { assertEquals(200.0, powerModel.computePower(-1.0), 1.0) },
- { assertEquals(200.0, powerModel.computePower(0.0), 1.0) },
- { assertEquals(200.0, powerModel.computePower(0.1), 1.0) },
- { assertEquals(201.0, powerModel.computePower(0.2), 1.0) },
- { assertEquals(205.0, powerModel.computePower(0.3), 1.0) },
- { assertEquals(212.0, powerModel.computePower(0.4), 1.0) },
- { assertEquals(225.0, powerModel.computePower(0.5), 1.0) },
- { assertEquals(243.0, powerModel.computePower(0.6), 1.0) },
- { assertEquals(268.0, powerModel.computePower(0.7), 1.0) },
- { assertEquals(302.0, powerModel.computePower(0.8), 1.0) },
- { assertEquals(345.0, powerModel.computePower(0.9), 1.0) },
- { assertEquals(400.0, powerModel.computePower(1.0), 1.0) },
- { assertEquals(400.0, powerModel.computePower(1.1), 1.0) },
- )
- }
-
- @Suppress("unused")
- private companion object {
- @JvmStatic
- fun machinePowerModelArgs(): Stream<Arguments> =
- Stream.of(
- Arguments.of(CpuPowerModels.constant(0.0), 0.0),
- Arguments.of(CpuPowerModels.linear(350.0, 200.0), 335.0),
- Arguments.of(CpuPowerModels.square(350.0, 200.0), 321.5),
- Arguments.of(CpuPowerModels.cubic(350.0, 200.0), 309.35),
- Arguments.of(CpuPowerModels.sqrt(350.0, 200.0), 342.302),
- Arguments.of(CpuPowerModels.mse(350.0, 200.0, 1.4), 340.571),
- Arguments.of(CpuPowerModels.asymptotic(350.0, 200.0, 0.3, false), 338.765),
- Arguments.of(CpuPowerModels.asymptotic(350.0, 200.0, 0.3, true), 323.072),
- )
- }
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/workload/SimChainWorkloadTest.kt b/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/workload/SimChainWorkloadTest.kt
deleted file mode 100644
index 582635fc..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/workload/SimChainWorkloadTest.kt
+++ /dev/null
@@ -1,310 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute.workload
-
-import io.mockk.every
-import io.mockk.mockk
-import io.mockk.spyk
-import kotlinx.coroutines.delay
-import kotlinx.coroutines.launch
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.BeforeEach
-import org.junit.jupiter.api.Test
-import org.junit.jupiter.api.assertThrows
-import org.opendc.simulator.compute.SimBareMetalMachine
-import org.opendc.simulator.compute.SimMachineContext
-import org.opendc.simulator.compute.model.Cpu
-import org.opendc.simulator.compute.model.MachineModel
-import org.opendc.simulator.compute.model.MemoryUnit
-import org.opendc.simulator.compute.runWorkload
-import org.opendc.simulator.flow2.FlowEngine
-import org.opendc.simulator.kotlin.runSimulation
-
-/**
- * Test suite for the [SimChainWorkload] class.
- */
-class SimChainWorkloadTest {
- private lateinit var machineModel: MachineModel
-
- @BeforeEach
- fun setUp() {
- machineModel =
- MachineModel(
- Cpu(
- 0,
- 2,
- 1000.0,
- "Intel",
- "Xeon",
- "amd64",
- ),
- // memory
- MemoryUnit("Crucial", "MTA18ASF4G72AZ-3G2B1", 3200.0, 32_000 * 4),
- )
- }
-
- @Test
- fun testMultipleWorkloads() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine =
- SimBareMetalMachine.create(
- graph,
- machineModel,
- )
-
- val workload =
- SimWorkloads.chain(
- SimWorkloads.runtime(1000, 1.0, 0L, 0L),
- SimWorkloads.runtime(1000, 1.0, 0L, 0L),
- )
-
- machine.runWorkload(workload)
-
- assertEquals(2000, timeSource.millis())
- }
-
- @Test
- fun testStartFailure() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine =
- SimBareMetalMachine.create(
- graph,
- machineModel,
- )
-
- val workloadA = mockk<SimWorkload>()
- every { workloadA.onStart(any()) } throws IllegalStateException("Staged")
- every { workloadA.onStop(any()) } returns Unit
-
- val workload =
- SimWorkloads.chain(
- workloadA,
- SimWorkloads.runtime(1000, 1.0, 0L, 0L),
- )
-
- assertThrows<IllegalStateException> { machine.runWorkload(workload) }
-
- assertEquals(0, timeSource.millis())
- }
-
-// @Test
- fun testStartFailureSecond() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine =
- SimBareMetalMachine.create(
- graph,
- machineModel,
- )
-
- val workloadA = mockk<SimWorkload>()
- every { workloadA.onStart(any()) } throws IllegalStateException("Staged")
- every { workloadA.onStop(any()) } returns Unit
-
- val workload =
- SimWorkloads.chain(
- SimWorkloads.runtime(1000, 1.0),
- workloadA,
- SimWorkloads.runtime(1000, 1.0),
- )
-
- assertThrows<IllegalStateException> { machine.runWorkload(workload) }
-
- assertEquals(1000, timeSource.millis())
- }
-
- @Test
- fun testStopFailure() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine =
- SimBareMetalMachine.create(
- graph,
- machineModel,
- )
-
- val workloadA = spyk<SimWorkload>(SimRuntimeWorkload(1000, 1.0))
- every { workloadA.onStop(any()) } throws IllegalStateException("Staged")
-
- val workload =
- SimWorkloads.chain(
- workloadA,
- SimWorkloads.runtime(1000, 1.0),
- )
-
- assertThrows<IllegalStateException> { machine.runWorkload(workload) }
-
- assertEquals(1000, timeSource.millis())
- }
-
- @Test
- fun testStopFailureSecond() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine =
- SimBareMetalMachine.create(
- graph,
- machineModel,
- )
-
- val workloadA = spyk<SimWorkload>(SimRuntimeWorkload(1000, 1.0))
- every { workloadA.onStop(any()) } throws IllegalStateException("Staged")
-
- val workload =
- SimWorkloads.chain(
- SimWorkloads.runtime(1000, 1.0),
- workloadA,
- SimWorkloads.runtime(1000, 1.0),
- )
-
- assertThrows<IllegalStateException> { machine.runWorkload(workload) }
-
- assertEquals(2000, timeSource.millis())
- }
-
-// @Test
- fun testStartAndStopFailure() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine =
- SimBareMetalMachine.create(
- graph,
- machineModel,
- )
-
- val workloadA = mockk<SimWorkload>()
- every { workloadA.onStart(any()) } throws IllegalStateException()
- every { workloadA.onStop(any()) } throws IllegalStateException()
-
- val workload =
- SimWorkloads.chain(
- SimRuntimeWorkload(1000, 1.0),
- workloadA,
- )
-
- val exc = assertThrows<IllegalStateException> { machine.runWorkload(workload) }
-
- assertEquals(2, exc.cause!!.suppressedExceptions.size)
- assertEquals(1000, timeSource.millis())
- }
-
-// @Test
- fun testShutdownAndStopFailure() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine =
- SimBareMetalMachine.create(
- graph,
- machineModel,
- )
-
- val workloadA = mockk<SimWorkload>()
- every { workloadA.onStart(any()) } answers { (it.invocation.args[0] as SimMachineContext).shutdown(IllegalStateException()) }
- every { workloadA.onStop(any()) } throws IllegalStateException()
-
- val workload =
- SimWorkloads.chain(
- SimRuntimeWorkload(1000, 1.0),
- workloadA,
- )
-
- val exc = assertThrows<IllegalStateException> { machine.runWorkload(workload) }
-
- assertEquals(1, exc.cause!!.suppressedExceptions.size)
- assertEquals(1000, timeSource.millis())
- }
-
-// @Test
- fun testShutdownAndStartFailure() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine =
- SimBareMetalMachine.create(
- graph,
- machineModel,
- )
-
- val workloadA = mockk<SimWorkload>(relaxUnitFun = true)
- every { workloadA.onStart(any()) } answers { (it.invocation.args[0] as SimMachineContext).shutdown(IllegalStateException()) }
-
- val workloadB = mockk<SimWorkload>(relaxUnitFun = true)
- every { workloadB.onStart(any()) } throws IllegalStateException()
-
- val workload =
- SimWorkloads.chain(
- SimRuntimeWorkload(1000, 1.0),
- workloadA,
- workloadB,
- )
-
- val exc = assertThrows<IllegalStateException> { machine.runWorkload(workload) }
- assertEquals(1, exc.cause!!.suppressedExceptions.size)
- assertEquals(1000, timeSource.millis())
- }
-
- @Test
- fun testSnapshot() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine = SimBareMetalMachine.create(graph, machineModel)
- val workload =
- SimWorkloads.chain(
- SimWorkloads.runtime(1000, 1.0),
- SimWorkloads.runtime(1000, 1.0),
- )
-
- val job = launch { machine.runWorkload(workload) }
- delay(500L)
-
- workload.makeSnapshot(500L)
- val snapshot = workload.getSnapshot()
-
- job.join()
-
- assertEquals(2000, timeSource.millis())
-
- machine.runWorkload(snapshot)
-
- assertEquals(4000, timeSource.millis())
- }
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/workload/SimFlopsWorkloadTest.kt b/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/workload/SimFlopsWorkloadTest.kt
deleted file mode 100644
index edbc0571..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/workload/SimFlopsWorkloadTest.kt
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2020 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute.workload
-
-import org.junit.jupiter.api.Test
-import org.junit.jupiter.api.assertThrows
-
-/**
- * Test suite for [SimFlopsWorkload] class.
- */
-class SimFlopsWorkloadTest {
- @Test
- fun testFlopsNonNegative() {
- assertThrows<IllegalArgumentException>("FLOPs must be non-negative") {
- SimFlopsWorkload(-1, 1.0)
- }
- }
-
- @Test
- fun testUtilizationNonZero() {
- assertThrows<IllegalArgumentException>("Utilization cannot be zero") {
- SimFlopsWorkload(1, 0.0)
- }
- }
-
- @Test
- fun testUtilizationPositive() {
- assertThrows<IllegalArgumentException>("Utilization cannot be negative") {
- SimFlopsWorkload(1, -1.0)
- }
- }
-
- @Test
- fun testUtilizationNotLargerThanOne() {
- assertThrows<IllegalArgumentException>("Utilization cannot be larger than one") {
- SimFlopsWorkload(1, 2.0)
- }
- }
-}
diff --git a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/workload/SimTraceWorkloadTest.kt b/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/workload/SimTraceWorkloadTest.kt
deleted file mode 100644
index a53f6c65..00000000
--- a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/workload/SimTraceWorkloadTest.kt
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.compute.workload
-
-import kotlinx.coroutines.delay
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.BeforeEach
-import org.junit.jupiter.api.Test
-import org.opendc.simulator.compute.SimBareMetalMachine
-import org.opendc.simulator.compute.model.Cpu
-import org.opendc.simulator.compute.model.MachineModel
-import org.opendc.simulator.compute.model.MemoryUnit
-import org.opendc.simulator.compute.runWorkload
-import org.opendc.simulator.flow2.FlowEngine
-import org.opendc.simulator.kotlin.runSimulation
-
-/**
- * Test suite for the [SimTraceWorkloadTest] class.
- */
-class SimTraceWorkloadTest {
- private lateinit var machineModel: MachineModel
-
- @BeforeEach
- fun setUp() {
- machineModel =
- MachineModel(
- Cpu(
- 0,
- 2,
- 1000.0,
- "Intel",
- "Xeon",
- "amd64",
- ),
- // memory
- MemoryUnit("Crucial", "MTA18ASF4G72AZ-3G2B1", 3200.0, 32_000 * 4),
- )
- }
-
- @Test
- fun testSmoke() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine =
- SimBareMetalMachine.create(
- graph,
- machineModel,
- )
-
- val workload =
- SimTrace.ofFragments(
- SimTraceFragment(0, 1000, 2 * 28.0, 2),
- SimTraceFragment(1000, 1000, 2 * 3100.0, 2),
- SimTraceFragment(2000, 1000, 0.0, 2),
- SimTraceFragment(3000, 1000, 2 * 73.0, 2),
- ).createWorkload(0)
-
- machine.runWorkload(workload)
-
- assertEquals(4000, timeSource.millis())
- }
-
-// @Test // fixme: Fix delayed start and enable test
- fun testOffset() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine =
- SimBareMetalMachine.create(
- graph,
- machineModel,
- )
-
- val workload =
- SimTrace.ofFragments(
- SimTraceFragment(0, 1000, 2 * 28.0, 2),
- SimTraceFragment(1000, 1000, 2 * 3100.0, 2),
- SimTraceFragment(2000, 1000, 0.0, 2),
- SimTraceFragment(3000, 1000, 2 * 73.0, 2),
- ).createWorkload(1000)
-
- machine.runWorkload(workload)
-
- assertEquals(5000, timeSource.millis()) // fixme: should be 5000 but this is 4000 for now to make all tests succeed
- }
-
- @Test
- fun testSkipFragment() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine =
- SimBareMetalMachine.create(
- graph,
- machineModel,
- )
-
- val workload =
- SimTrace.ofFragments(
- SimTraceFragment(0, 1000, 2 * 28.0, 2),
- SimTraceFragment(1000, 1000, 2 * 3100.0, 2),
- SimTraceFragment(2000, 1000, 0.0, 2),
- SimTraceFragment(3000, 1000, 2 * 73.0, 2),
- ).createWorkload(0)
-
- delay(1000L)
- machine.runWorkload(workload)
-
- assertEquals(4000, timeSource.millis())
- }
-
- @Test
- fun testZeroCores() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val machine =
- SimBareMetalMachine.create(
- graph,
- machineModel,
- )
-
- val workload =
- SimTrace.ofFragments(
- SimTraceFragment(0, 1000, 2 * 28.0, 2),
- SimTraceFragment(1000, 1000, 2 * 3100.0, 2),
- SimTraceFragment(2000, 1000, 0.0, 0),
- SimTraceFragment(3000, 1000, 2 * 73.0, 2),
- ).createWorkload(0)
-
- machine.runWorkload(workload)
-
- assertEquals(4000, timeSource.millis())
- }
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/jmh/kotlin/org/opendc/simulator/flow2/FlowBenchmarks.kt b/opendc-simulator/opendc-simulator-flow/src/jmh/kotlin/org/opendc/simulator/flow2/FlowBenchmarks.kt
index 6bf9c2a2..0ab051a4 100644
--- a/opendc-simulator/opendc-simulator-flow/src/jmh/kotlin/org/opendc/simulator/flow2/FlowBenchmarks.kt
+++ b/opendc-simulator/opendc-simulator-flow/src/jmh/kotlin/org/opendc/simulator/flow2/FlowBenchmarks.kt
@@ -93,8 +93,8 @@ class FlowBenchmarks {
val sinkA = SimpleFlowSink(graph, 3000.0f)
val sinkB = SimpleFlowSink(graph, 3000.0f)
- graph.connect(switch.newOutput(), sinkA.input)
- graph.connect(switch.newOutput(), sinkB.input)
+ graph.connect(switch.newOutPort(), sinkA.input)
+ graph.connect(switch.newOutPort(), sinkB.input)
val source = TraceFlowSource(graph, trace)
graph.connect(source.output, switch.newInput())
@@ -111,8 +111,8 @@ class FlowBenchmarks {
val sinkA = SimpleFlowSink(graph, 3000.0f)
val sinkB = SimpleFlowSink(graph, 3000.0f)
- graph.connect(switch.newOutput(), sinkA.input)
- graph.connect(switch.newOutput(), sinkB.input)
+ graph.connect(switch.newOutPort(), sinkA.input)
+ graph.connect(switch.newOutPort(), sinkB.input)
repeat(3) {
launch {
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/Multiplexer.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/Multiplexer.java
new file mode 100644
index 00000000..0af2499a
--- /dev/null
+++ b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/Multiplexer.java
@@ -0,0 +1,210 @@
+/*
+ * Copyright (c) 2024 AtLarge Research
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+package org.opendc.simulator;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import org.opendc.simulator.engine.FlowConsumer;
+import org.opendc.simulator.engine.FlowEdge;
+import org.opendc.simulator.engine.FlowGraph;
+import org.opendc.simulator.engine.FlowNode;
+import org.opendc.simulator.engine.FlowSupplier;
+
+public class Multiplexer extends FlowNode implements FlowSupplier, FlowConsumer {
+ private ArrayList<FlowEdge> consumerEdges = new ArrayList<>();
+ private FlowEdge supplierEdge;
+
+ private ArrayList<Float> demands = new ArrayList<>(); // What is demanded by the consumers
+ private ArrayList<Float> supplies = new ArrayList<>(); // What is supplied to the consumers
+
+ private float totalDemand; // The total demand of all the consumers
+ private float totalSupply; // The total supply from the supplier
+ private float capacity; // What is the max capacity
+
+ public Multiplexer(FlowGraph graph) {
+ super(graph);
+ }
+
+ public float getTotalDemand() {
+ return totalDemand;
+ }
+
+ public float getTotalSupply() {
+ return totalSupply;
+ }
+
+ public float getCapacity() {
+ return capacity;
+ }
+
+ public long onUpdate(long now) {
+
+ if (this.totalDemand > this.capacity) {
+ redistributeSupply(this.consumerEdges, this.supplies, this.capacity);
+ } else {
+ for (int i = 0; i < this.demands.size(); i++) {
+ this.supplies.set(i, this.demands.get(i));
+ }
+ }
+
+ float totalSupply = 0;
+ for (int i = 0; i < this.consumerEdges.size(); i++) {
+ this.pushSupply(this.consumerEdges.get(i), this.supplies.get(i));
+ totalSupply += this.supplies.get(i);
+ }
+
+ // Only update supplier if supply has changed
+ if (this.totalSupply != totalSupply) {
+ this.totalSupply = totalSupply;
+
+ pushDemand(this.supplierEdge, this.totalSupply);
+ }
+
+ return Long.MAX_VALUE;
+ }
+
+ private static float redistributeSupply(
+ ArrayList<FlowEdge> consumerEdges, ArrayList<Float> supplies, float capacity) {
+ final long[] consumers = new long[consumerEdges.size()];
+
+ for (int i = 0; i < consumers.length; i++) {
+ FlowEdge consumer = consumerEdges.get(i);
+
+ if (consumer == null) {
+ break;
+ }
+
+ consumers[i] = ((long) Float.floatToRawIntBits(consumer.getDemand()) << 32) | (i & 0xFFFFFFFFL);
+ }
+ Arrays.sort(consumers);
+
+ float availableCapacity = capacity;
+ int inputSize = consumers.length;
+
+ for (int i = 0; i < inputSize; i++) {
+ long v = consumers[i];
+ int slot = (int) v;
+ float d = Float.intBitsToFloat((int) (v >> 32));
+
+ if (d == 0.0) {
+ continue;
+ }
+
+ float availableShare = availableCapacity / (inputSize - i);
+ float r = Math.min(d, availableShare);
+
+ supplies.set(slot, r); // Update the rates
+ availableCapacity -= r;
+ }
+
+ // Return the used capacity
+ return capacity - availableCapacity;
+ }
+
+ /**
+ * Add a new consumer.
+ * Set its demand and supply to 0.0
+ */
+ @Override
+ public void addConsumerEdge(FlowEdge consumerEdge) {
+ this.consumerEdges.add(consumerEdge);
+ this.demands.add(0f);
+ this.supplies.add(0f);
+ }
+
+ @Override
+ public void addSupplierEdge(FlowEdge supplierEdge) {
+ this.supplierEdge = supplierEdge;
+ this.capacity = supplierEdge.getCapacity();
+ this.totalSupply = 0;
+ }
+
+ @Override
+ public void removeConsumerEdge(FlowEdge consumerEdge) {
+ int idx = this.consumerEdges.indexOf(consumerEdge);
+
+ if (idx == -1) {
+ return;
+ }
+
+ this.totalDemand -= consumerEdge.getDemand();
+
+ this.consumerEdges.remove(idx);
+ this.demands.remove(idx);
+ this.supplies.remove(idx);
+
+ this.invalidate();
+ }
+
+ @Override
+ public void removeSupplierEdge(FlowEdge supplierEdge) {
+ this.supplierEdge = null;
+ this.capacity = 0;
+ this.totalSupply = 0;
+ }
+
+ @Override
+ public void handleDemand(FlowEdge consumerEdge, float newDemand) {
+ int idx = consumerEdges.indexOf(consumerEdge);
+
+ if (idx == -1) {
+ System.out.println("Error (Multiplexer): Demand pushed by an unknown consumer");
+ return;
+ }
+
+ float prevDemand = demands.get(idx);
+ demands.set(idx, newDemand);
+
+ this.totalDemand += (newDemand - prevDemand);
+ }
+
+ @Override
+ public void handleSupply(FlowEdge supplierEdge, float newSupply) {
+ if (newSupply == this.totalSupply) {
+ return;
+ }
+
+ this.totalSupply = newSupply;
+ }
+
+ @Override
+ public void pushDemand(FlowEdge supplierEdge, float newDemand) {
+ this.supplierEdge.pushDemand(newDemand);
+ }
+
+ @Override
+ public void pushSupply(FlowEdge consumerEdge, float newSupply) {
+ int idx = consumerEdges.indexOf(consumerEdge);
+
+ if (idx == -1) {
+ System.out.println("Error (Multiplexer): pushing supply to an unknown consumer");
+ }
+
+ if (newSupply == supplies.get(idx)) {
+ return;
+ }
+
+ supplies.set(idx, newSupply);
+ consumerEdge.pushSupply(newSupply);
+ }
+}
diff --git a/opendc-simulator/opendc-simulator-network/build.gradle.kts b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/FlowConsumer.java
index a7f309c0..7ba5dea7 100644
--- a/opendc-simulator/opendc-simulator-network/build.gradle.kts
+++ b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/FlowConsumer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 AtLarge Research
+ * Copyright (c) 2024 AtLarge Research
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -20,15 +20,15 @@
* SOFTWARE.
*/
-description = "Library for simulating datacenter network components"
+package org.opendc.simulator.engine;
-plugins {
- `kotlin-library-conventions`
-}
+public interface FlowConsumer {
+
+ void handleSupply(FlowEdge supplierEdge, float newSupply);
+
+ void pushDemand(FlowEdge supplierEdge, float newDemand);
-dependencies {
- api(projects.opendcSimulator.opendcSimulatorFlow)
- implementation(projects.opendcSimulator.opendcSimulatorCore)
+ void addSupplierEdge(FlowEdge supplierEdge);
- testImplementation(libs.slf4j.simple)
+ void removeSupplierEdge(FlowEdge supplierEdge);
}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/FlowEdge.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/FlowEdge.java
new file mode 100644
index 00000000..0edc9e68
--- /dev/null
+++ b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/FlowEdge.java
@@ -0,0 +1,114 @@
+/*
+ * Copyright (c) 2024 AtLarge Research
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+package org.opendc.simulator.engine;
+
+/**
+ * An edge that connects two FlowStages.
+ * A connection between FlowStages always consist of a FlowStage that demands
+ * something, and a FlowStage that Delivers something
+ * For instance, this could be the connection between a workload, and its machine
+ */
+public class FlowEdge {
+ private FlowConsumer consumer;
+ private FlowSupplier supplier;
+
+ private float demand = 0.0f;
+ private float supply = 0.0f;
+
+ private float capacity;
+
+ public FlowEdge(FlowConsumer consumer, FlowSupplier supplier) {
+ if (!(consumer instanceof FlowNode)) {
+ throw new IllegalArgumentException("Flow consumer is not a FlowNode");
+ }
+ if (!(supplier instanceof FlowNode)) {
+ throw new IllegalArgumentException("Flow consumer is not a FlowNode");
+ }
+
+ this.consumer = consumer;
+ this.supplier = supplier;
+
+ this.capacity = supplier.getCapacity();
+
+ this.consumer.addSupplierEdge(this);
+ this.supplier.addConsumerEdge(this);
+ }
+
+ public void close() {
+ if (this.consumer != null) {
+ this.consumer.removeSupplierEdge(this);
+ this.consumer = null;
+ }
+
+ if (this.supplier != null) {
+ this.supplier.removeConsumerEdge(this);
+ this.supplier = null;
+ }
+ }
+
+ public FlowConsumer getConsumer() {
+ return consumer;
+ }
+
+ public FlowSupplier getSupplier() {
+ return supplier;
+ }
+
+ public float getCapacity() {
+ return capacity;
+ }
+
+ public float getDemand() {
+ return this.demand;
+ }
+
+ public float getSupply() {
+ return this.supply;
+ }
+
+ /**
+ * Push new demand from the Consumer to the Supplier
+ */
+ public void pushDemand(float newDemand) {
+ if (newDemand == this.demand) {
+ return;
+ }
+
+ this.demand = newDemand;
+ this.supplier.handleDemand(this, newDemand);
+ ((FlowNode) this.supplier).invalidate();
+ }
+
+ /**
+ * Push new supply from the Supplier to the Consumer
+ */
+ public void pushSupply(float newSupply) {
+ if (newSupply == this.supply) {
+ return;
+ }
+
+ this.supply = newSupply;
+ this.consumer.handleSupply(this, newSupply);
+ ((FlowNode) this.consumer).invalidate();
+ }
+}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/FlowEngine.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/FlowEngine.java
index c0f52505..10af7c51 100644
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/FlowEngine.java
+++ b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/FlowEngine.java
@@ -20,12 +20,10 @@
* SOFTWARE.
*/
-package org.opendc.simulator.flow2;
+package org.opendc.simulator.engine;
import java.time.Clock;
import java.time.InstantSource;
-import java.util.ArrayList;
-import java.util.List;
import kotlin.coroutines.CoroutineContext;
import org.opendc.common.Dispatcher;
@@ -37,12 +35,12 @@ import org.opendc.common.Dispatcher;
*/
public final class FlowEngine implements Runnable {
/**
- * The queue of {@link FlowStage} updates that are scheduled for immediate execution.
+ * The queue of {@link FlowNode} updates that are scheduled for immediate execution.
*/
- private final FlowStageQueue queue = new FlowStageQueue(256);
+ private final FlowNodeQueue queue = new FlowNodeQueue(256);
/**
- * A priority queue containing the {@link FlowStage} updates to be scheduled in the future.
+ * A priority queue containing the {@link FlowNode} updates to be scheduled in the future.
*/
private final FlowTimerQueue timerQueue = new FlowTimerQueue(256);
@@ -82,16 +80,16 @@ public final class FlowEngine implements Runnable {
* Return a new {@link FlowGraph} that can be used to build a flow network.
*/
public FlowGraph newGraph() {
- return new RootGraph(this);
+ return new FlowGraph(this);
}
/**
- * Enqueue the specified {@link FlowStage} to be updated immediately during the active engine cycle.
+ * Enqueue the specified {@link FlowNode} to be updated immediately during the active engine cycle.
* <p>
* This method should be used when the state of a flow context is invalidated/interrupted and needs to be
* re-computed.
*/
- void scheduleImmediate(long now, FlowStage ctx) {
+ void scheduleImmediate(long now, FlowNode ctx) {
scheduleImmediateInContext(ctx);
// In-case the engine is already running in the call-stack, return immediately. The changes will be picked
@@ -104,21 +102,21 @@ public final class FlowEngine implements Runnable {
}
/**
- * Enqueue the specified {@link FlowStage} to be updated immediately during the active engine cycle.
+ * Enqueue the specified {@link FlowNode} to be updated immediately during the active engine cycle.
* <p>
* This method should be used when the state of a flow context is invalidated/interrupted and needs to be
* re-computed.
* <p>
* This method should only be invoked while inside an engine cycle.
*/
- void scheduleImmediateInContext(FlowStage ctx) {
+ void scheduleImmediateInContext(FlowNode ctx) {
queue.add(ctx);
}
/**
- * Enqueue the specified {@link FlowStage} to be updated at its updated deadline.
+ * Enqueue the specified {@link FlowNode} to be updated at its updated deadline.
*/
- void scheduleDelayed(FlowStage ctx) {
+ void scheduleDelayed(FlowNode ctx) {
scheduleDelayedInContext(ctx);
// In-case the engine is already running in the call-stack, return immediately. The changes will be picked
@@ -134,11 +132,11 @@ public final class FlowEngine implements Runnable {
}
/**
- * Enqueue the specified {@link FlowStage} to be updated at its updated deadline.
+ * Enqueue the specified {@link FlowNode} to be updated at its updated deadline.
* <p>
* This method should only be invoked while inside an engine cycle.
*/
- void scheduleDelayedInContext(FlowStage ctx) {
+ void scheduleDelayedInContext(FlowNode ctx) {
FlowTimerQueue timerQueue = this.timerQueue;
timerQueue.enqueue(ctx);
}
@@ -147,7 +145,7 @@ public final class FlowEngine implements Runnable {
* Run all the enqueued actions for the specified timestamp (<code>now</code>).
*/
private void doRunEngine(long now) {
- final FlowStageQueue queue = this.queue;
+ final FlowNodeQueue queue = this.queue;
final FlowTimerQueue timerQueue = this.timerQueue;
try {
@@ -156,22 +154,22 @@ public final class FlowEngine implements Runnable {
// Execute all scheduled updates at current timestamp
while (true) {
- final FlowStage ctx = timerQueue.poll(now);
+ final FlowNode ctx = timerQueue.poll(now);
if (ctx == null) {
break;
}
- ctx.onUpdate(now);
+ ctx.update(now);
}
// Execute all immediate updates
while (true) {
- final FlowStage ctx = queue.poll();
+ final FlowNode ctx = queue.poll();
if (ctx == null) {
break;
}
- ctx.onUpdate(now);
+ ctx.update(now);
}
} finally {
active = false;
@@ -203,54 +201,4 @@ public final class FlowEngine implements Runnable {
dispatcher.schedule(target - now, this);
}
}
-
- /**
- * Internal implementation of a root {@link FlowGraph}.
- */
- private static final class RootGraph implements FlowGraphInternal {
- private final FlowEngine engine;
- private final List<FlowStage> stages = new ArrayList<>();
-
- public RootGraph(FlowEngine engine) {
- this.engine = engine;
- }
-
- @Override
- public FlowEngine getEngine() {
- return engine;
- }
-
- @Override
- public FlowStage newStage(FlowStageLogic logic) {
- final FlowEngine engine = this.engine;
- final FlowStage stage = new FlowStage(this, logic);
- stages.add(stage);
- long now = engine.getClock().millis();
- stage.invalidate(now);
- return stage;
- }
-
- @Override
- public void connect(Outlet outlet, Inlet inlet) {
- FlowGraphInternal.connect(this, outlet, inlet);
- }
-
- @Override
- public void disconnect(Outlet outlet) {
- FlowGraphInternal.disconnect(this, outlet);
- }
-
- @Override
- public void disconnect(Inlet inlet) {
- FlowGraphInternal.disconnect(this, inlet);
- }
-
- /**
- * Internal method to remove the specified {@link FlowStage} from the graph.
- */
- @Override
- public void detach(FlowStage stage) {
- stages.remove(stage);
- }
- }
}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/FlowGraph.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/FlowGraph.java
new file mode 100644
index 00000000..d82b542b
--- /dev/null
+++ b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/FlowGraph.java
@@ -0,0 +1,112 @@
+/*
+ * Copyright (c) 2024 AtLarge Research
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+package org.opendc.simulator.engine;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+public class FlowGraph {
+ private final FlowEngine engine;
+ private final ArrayList<FlowNode> nodes = new ArrayList<>();
+ private final ArrayList<FlowEdge> edges = new ArrayList<>();
+ private final HashMap<FlowNode, ArrayList<FlowEdge>> nodeToEdge = new HashMap<>();
+
+ public FlowGraph(FlowEngine engine) {
+ this.engine = engine;
+ }
+
+ /**
+ * Return the {@link FlowEngine} driving the simulation of the graph.
+ */
+ public FlowEngine getEngine() {
+ return engine;
+ }
+
+ /**
+ * Create a new {@link FlowNode} representing a node in the flow network.
+ */
+ public void addNode(FlowNode node) {
+ if (nodes.contains(node)) {
+ System.out.println("Node already exists");
+ }
+ nodes.add(node);
+ nodeToEdge.put(node, new ArrayList<>());
+ long now = this.engine.getClock().millis();
+ node.invalidate(now);
+ }
+
+ /**
+ * Internal method to remove the specified {@link FlowNode} from the graph.
+ */
+ public void removeNode(FlowNode node) {
+
+ // Remove all edges connected to node
+ final ArrayList<FlowEdge> connectedEdges = nodeToEdge.get(node);
+ while (connectedEdges.size() > 0) {
+ removeEdge(connectedEdges.get(0));
+ }
+
+ nodeToEdge.remove(node);
+
+ // remove the node
+ nodes.remove(node);
+ }
+
+ /**
+ * Add an edge between the specified consumer and supplier in this graph.
+ */
+ public void addEdge(FlowConsumer flowConsumer, FlowSupplier flowSupplier) {
+ // Check if the consumer and supplier are both FlowNodes
+ if (!(flowConsumer instanceof FlowNode)) {
+ throw new IllegalArgumentException("Flow consumer is not a FlowNode");
+ }
+ if (!(flowSupplier instanceof FlowNode)) {
+ throw new IllegalArgumentException("Flow consumer is not a FlowNode");
+ }
+
+ // Check of the consumer and supplier are present in this graph
+ if (!(this.nodes.contains((FlowNode) flowConsumer))) {
+ throw new IllegalArgumentException("The consumer is not a node in this graph");
+ }
+ if (!(this.nodes.contains((FlowNode) flowSupplier))) {
+ throw new IllegalArgumentException("The consumer is not a node in this graph");
+ }
+
+ final FlowEdge flowEdge = new FlowEdge(flowConsumer, flowSupplier);
+
+ edges.add(flowEdge);
+
+ nodeToEdge.get((FlowNode) flowConsumer).add(flowEdge);
+ nodeToEdge.get((FlowNode) flowSupplier).add(flowEdge);
+ }
+
+ public void removeEdge(FlowEdge flowEdge) {
+ final FlowConsumer consumer = flowEdge.getConsumer();
+ final FlowSupplier supplier = flowEdge.getSupplier();
+ nodeToEdge.get((FlowNode) consumer).remove(flowEdge);
+ nodeToEdge.get((FlowNode) supplier).remove(flowEdge);
+
+ edges.remove(flowEdge);
+ flowEdge.close();
+ }
+}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/FlowNode.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/FlowNode.java
new file mode 100644
index 00000000..d1faf465
--- /dev/null
+++ b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/FlowNode.java
@@ -0,0 +1,191 @@
+/*
+ * Copyright (c) 2022 AtLarge Research
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+package org.opendc.simulator.engine;
+
+import java.time.InstantSource;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * A {@link FlowNode} represents a node in a {@link FlowGraph}.
+ */
+public abstract class FlowNode {
+ private static final Logger LOGGER = LoggerFactory.getLogger(FlowNode.class);
+
+ protected enum NodeState {
+ PENDING, // Stage is active, but is not running any updates
+ UPDATING, // Stage is active, and running an update
+ INVALIDATED, // Stage is deemed invalid, and should run an update
+ CLOSING, // Stage is being closed, final updates can still be run
+ CLOSED // Stage is closed and should not run any updates
+ }
+
+ protected NodeState nodeState = NodeState.PENDING;
+
+ /**
+ * The deadline of the stage after which an update should run.
+ */
+ long deadline = Long.MAX_VALUE;
+
+ /**
+ * The index of the timer in the {@link FlowTimerQueue}.
+ */
+ int timerIndex = -1;
+
+ protected InstantSource clock;
+ protected FlowGraph parentGraph;
+ protected FlowEngine engine;
+
+ /**
+ * Construct a new {@link FlowNode} instance.
+ *
+ * @param parentGraph The {@link FlowGraph} this stage belongs to.
+ */
+ public FlowNode(FlowGraph parentGraph) {
+ this.parentGraph = parentGraph;
+ this.engine = parentGraph.getEngine();
+ this.clock = engine.getClock();
+
+ this.parentGraph.addNode(this);
+ }
+
+ /**
+ * Return the {@link FlowGraph} to which this stage belongs.
+ */
+ public FlowGraph getGraph() {
+ return parentGraph;
+ }
+
+ /**
+ * Return the current deadline of the {@link FlowNode}'s timer (in milliseconds after epoch).
+ */
+ public long getDeadline() {
+ return deadline;
+ }
+
+ public void setDeadline(long deadline) {
+ this.deadline = deadline;
+ }
+
+ public void setTimerIndex(int index) {
+ this.timerIndex = index;
+ }
+ /**
+ * Invalidate the {@link FlowNode} forcing the stage to update.
+ *
+ * <p>
+ * This method is similar to {@link #invalidate()}, but allows the user to manually pass the current timestamp to
+ * prevent having to re-query the clock. This method should not be called during an update.
+ */
+ public void invalidate(long now) {
+ // If there is already an update running,
+ // notify the update, that a next update should be run after
+ if (this.nodeState == NodeState.UPDATING) {
+ this.nodeState = NodeState.INVALIDATED;
+ } else {
+ engine.scheduleImmediate(now, this);
+ }
+ }
+
+ /**
+ * Invalidate the {@link FlowNode} forcing the stage to update.
+ */
+ public void invalidate() {
+ invalidate(clock.millis());
+ }
+
+ /**
+ * Update the state of the stage.
+ */
+ public void update(long now) {
+ this.nodeState = NodeState.UPDATING;
+
+ long newDeadline = this.deadline;
+
+ try {
+ newDeadline = this.onUpdate(now);
+ } catch (Exception e) {
+ doFail(e);
+ }
+
+ // Check whether the stage is marked as closing.
+ if (this.nodeState == NodeState.INVALIDATED) {
+ newDeadline = now;
+ }
+ if (this.nodeState == NodeState.CLOSING) {
+ closeNode();
+ return;
+ }
+
+ this.deadline = newDeadline;
+
+ // Update the timer queue with the new deadline
+ engine.scheduleDelayedInContext(this);
+
+ this.nodeState = NodeState.PENDING;
+ }
+
+ /**
+ * This method is invoked when the one of the stage's InPorts or OutPorts is invalidated.
+ *
+ * @param now The virtual timestamp in milliseconds after epoch at which the update is occurring.
+ * @return The next deadline for the stage.
+ */
+ public abstract long onUpdate(long now);
+
+ /**
+ * This method is invoked when an uncaught exception is caught by the engine. When this happens, the
+ */
+ void doFail(Throwable cause) {
+ LOGGER.warn("Uncaught exception (closing stage)", cause);
+
+ closeNode();
+ }
+
+ /**
+ * This method is invoked when the {@link FlowNode} exits successfully or due to failure.
+ */
+ public void closeNode() {
+ if (this.nodeState == NodeState.CLOSED) {
+ // LOGGER.warn("Flowstage:doClose() => Tried closing a stage that was already closed");
+ return;
+ }
+
+ // If this stage is running an update, notify it that is should close after.
+ if (this.nodeState == NodeState.UPDATING) {
+ // LOGGER.warn("Flowstage:doClose() => Tried closing a stage, but update was active");
+ this.nodeState = NodeState.CLOSING;
+ return;
+ }
+
+ // Mark the stage as closed
+ this.nodeState = NodeState.CLOSED;
+
+ // Remove stage from parent graph
+ this.parentGraph.removeNode(this);
+
+ // Remove stage from the timer queue
+ this.deadline = Long.MAX_VALUE;
+ this.engine.scheduleDelayedInContext(this);
+ }
+}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/FlowStageQueue.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/FlowNodeQueue.java
index 56ec7702..37b3c65b 100644
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/FlowStageQueue.java
+++ b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/FlowNodeQueue.java
@@ -20,35 +20,35 @@
* SOFTWARE.
*/
-package org.opendc.simulator.flow2;
+package org.opendc.simulator.engine;
import java.util.ArrayDeque;
import java.util.Arrays;
/**
- * A specialized {@link ArrayDeque} implementation that contains the {@link FlowStageLogic}s
+ * A specialized {@link ArrayDeque} implementation that contains the {@link FlowNode}s
* that have been updated during the engine cycle and should converge.
* <p>
* By using a specialized class, we reduce the overhead caused by type-erasure.
*/
-final class FlowStageQueue {
+final class FlowNodeQueue {
/**
* The array of elements in the queue.
*/
- private FlowStage[] elements;
+ private FlowNode[] elements;
private int head = 0;
private int tail = 0;
- public FlowStageQueue(int initialCapacity) {
- elements = new FlowStage[initialCapacity];
+ public FlowNodeQueue(int initialCapacity) {
+ elements = new FlowNode[initialCapacity];
}
/**
* Add the specified context to the queue.
*/
- void add(FlowStage ctx) {
- final FlowStage[] es = elements;
+ void add(FlowNode ctx) {
+ final FlowNode[] es = elements;
int tail = this.tail;
es[tail] = ctx;
@@ -62,12 +62,12 @@ final class FlowStageQueue {
}
/**
- * Remove a {@link FlowStage} from the queue or <code>null</code> if the queue is empty.
+ * Remove a {@link FlowNode} from the queue or <code>null</code> if the queue is empty.
*/
- FlowStage poll() {
- final FlowStage[] es = elements;
+ FlowNode poll() {
+ final FlowNode[] es = elements;
int head = this.head;
- FlowStage ctx = es[head];
+ FlowNode ctx = es[head];
if (ctx != null) {
es[head] = null;
@@ -87,7 +87,7 @@ final class FlowStageQueue {
throw new IllegalStateException("Sorry, deque too big");
}
- final FlowStage[] es = elements = Arrays.copyOf(elements, newCapacity);
+ final FlowNode[] es = elements = Arrays.copyOf(elements, newCapacity);
// Exceptionally, here tail == head needs to be disambiguated
if (tail < head || (tail == head && es[head] != null)) {
diff --git a/opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/delay/ZeroDelayInjector.kt b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/FlowSupplier.java
index 0e318764..87729fca 100644
--- a/opendc-faas/opendc-faas-simulator/src/main/kotlin/org/opendc/faas/simulator/delay/ZeroDelayInjector.kt
+++ b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/FlowSupplier.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 AtLarge Research
+ * Copyright (c) 2024 AtLarge Research
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -20,10 +20,17 @@
* SOFTWARE.
*/
-package org.opendc.faas.simulator.delay
+package org.opendc.simulator.engine;
-import org.opendc.faas.service.deployer.FunctionInstance
+public interface FlowSupplier {
-public object ZeroDelayInjector : DelayInjector {
- override fun getColdStartDelay(instance: FunctionInstance): Long = 0
+ void handleDemand(FlowEdge consumerEdge, float newDemand);
+
+ void pushSupply(FlowEdge consumerEdge, float newSupply);
+
+ void addConsumerEdge(FlowEdge consumerEdge);
+
+ void removeConsumerEdge(FlowEdge consumerEdge);
+
+ float getCapacity();
}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/FlowTimerQueue.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/FlowTimerQueue.java
index 4b746202..1e348b10 100644
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/FlowTimerQueue.java
+++ b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/FlowTimerQueue.java
@@ -20,21 +20,21 @@
* SOFTWARE.
*/
-package org.opendc.simulator.flow2;
+package org.opendc.simulator.engine;
import java.util.Arrays;
/**
- * A specialized priority queue for timers of {@link FlowStageLogic}s.
+ * A specialized priority queue for timers of {@link FlowNode}s.
* <p>
* By using a specialized priority queue, we reduce the overhead caused by the default priority queue implementation
* being generic.
*/
-final class FlowTimerQueue {
+public final class FlowTimerQueue {
/**
- * Array representation of binary heap of {@link FlowStage} instances.
+ * Array representation of binary heap of {@link FlowNode} instances.
*/
- private FlowStage[] queue;
+ private FlowNode[] queue;
/**
* The number of elements in the priority queue.
@@ -47,21 +47,21 @@ final class FlowTimerQueue {
* @param initialCapacity The initial capacity of the queue.
*/
public FlowTimerQueue(int initialCapacity) {
- this.queue = new FlowStage[initialCapacity];
+ this.queue = new FlowNode[initialCapacity];
}
/**
* Enqueue a timer for the specified context or update the existing timer.
*/
- void enqueue(FlowStage ctx) {
- FlowStage[] es = queue;
- int k = ctx.timerIndex;
+ public void enqueue(FlowNode node) {
+ FlowNode[] es = queue;
+ int k = node.timerIndex;
- if (ctx.deadline != Long.MAX_VALUE) {
+ if (node.deadline != Long.MAX_VALUE) {
if (k >= 0) {
- update(es, ctx, k);
+ update(es, node, k);
} else {
- add(es, ctx);
+ add(es, node);
}
} else if (k >= 0) {
delete(es, k);
@@ -74,14 +74,13 @@ final class FlowTimerQueue {
* @param now The timestamp that the deadline of the head of the queue should not exceed.
* @return The head of the queue if its deadline does not exceed <code>now</code>, otherwise <code>null</code>.
*/
- FlowStage poll(long now) {
- int size = this.size;
- if (size == 0) {
+ public FlowNode poll(long now) {
+ if (this.size == 0) {
return null;
}
- final FlowStage[] es = queue;
- final FlowStage head = es[0];
+ final FlowNode[] es = queue;
+ final FlowNode head = es[0];
if (now < head.deadline) {
return null;
@@ -89,7 +88,7 @@ final class FlowTimerQueue {
int n = size - 1;
this.size = n;
- final FlowStage next = es[n];
+ final FlowNode next = es[n];
es[n] = null; // Clear the last element of the queue
if (n > 0) {
@@ -103,9 +102,9 @@ final class FlowTimerQueue {
/**
* Find the earliest deadline in the queue.
*/
- long peekDeadline() {
- if (size > 0) {
- return queue[0].deadline;
+ public long peekDeadline() {
+ if (this.size > 0) {
+ return this.queue[0].deadline;
}
return Long.MAX_VALUE;
@@ -114,43 +113,41 @@ final class FlowTimerQueue {
/**
* Add a new entry to the queue.
*/
- private void add(FlowStage[] es, FlowStage ctx) {
- int i = size;
-
- if (i >= es.length) {
+ private void add(FlowNode[] es, FlowNode node) {
+ if (this.size >= es.length) {
// Re-fetch the resized array
es = grow();
}
- siftUp(i, ctx, es);
+ siftUp(this.size, node, es);
- size = i + 1;
+ this.size++;
}
/**
* Update the deadline of an existing entry in the queue.
*/
- private void update(FlowStage[] es, FlowStage ctx, int k) {
+ private void update(FlowNode[] es, FlowNode node, int k) {
if (k > 0) {
int parent = (k - 1) >>> 1;
- if (es[parent].deadline > ctx.deadline) {
- siftUp(k, ctx, es);
+ if (es[parent].deadline > node.deadline) {
+ siftUp(k, node, es);
return;
}
}
- siftDown(k, ctx, es, size);
+ siftDown(k, node, es, this.size);
}
/**
* Deadline an entry from the queue.
*/
- private void delete(FlowStage[] es, int k) {
- int s = --size;
+ private void delete(FlowNode[] es, int k) {
+ int s = --this.size;
if (s == k) {
es[k] = null; // Element is last in the queue
} else {
- FlowStage moved = es[s];
+ FlowNode moved = es[s];
es[s] = null;
siftDown(k, moved, es, s);
@@ -164,8 +161,8 @@ final class FlowTimerQueue {
/**
* Increases the capacity of the array.
*/
- private FlowStage[] grow() {
- FlowStage[] queue = this.queue;
+ private FlowNode[] grow() {
+ FlowNode[] queue = this.queue;
int oldCapacity = queue.length;
int newCapacity = oldCapacity + (oldCapacity >> 1);
@@ -174,10 +171,10 @@ final class FlowTimerQueue {
return queue;
}
- private static void siftUp(int k, FlowStage key, FlowStage[] es) {
+ private static void siftUp(int k, FlowNode key, FlowNode[] es) {
while (k > 0) {
int parent = (k - 1) >>> 1;
- FlowStage e = es[parent];
+ FlowNode e = es[parent];
if (key.deadline >= e.deadline) break;
es[k] = e;
e.timerIndex = k;
@@ -187,11 +184,11 @@ final class FlowTimerQueue {
key.timerIndex = k;
}
- private static void siftDown(int k, FlowStage key, FlowStage[] es, int n) {
+ private static void siftDown(int k, FlowNode key, FlowNode[] es, int n) {
int half = n >>> 1; // loop while a non-leaf
while (k < half) {
int child = (k << 1) + 1; // assume left child is least
- FlowStage c = es[child];
+ FlowNode c = es[child];
int right = child + 1;
if (right < n && c.deadline > es[right].deadline) c = es[child = right];
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/InvocationStack.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/InvocationStack.java
index a5b5114b..15da2f23 100644
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/InvocationStack.java
+++ b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/engine/InvocationStack.java
@@ -20,7 +20,7 @@
* SOFTWARE.
*/
-package org.opendc.simulator.flow2;
+package org.opendc.simulator.engine;
import java.util.Arrays;
@@ -29,7 +29,7 @@ import java.util.Arrays;
* <p>
* By using a specialized class, we reduce the overhead caused by type-erasure.
*/
-final class InvocationStack {
+public final class InvocationStack {
/**
* The array of elements in the stack.
*/
@@ -38,8 +38,8 @@ final class InvocationStack {
private int head = -1;
public InvocationStack(int initialCapacity) {
- elements = new long[initialCapacity];
- Arrays.fill(elements, Long.MIN_VALUE);
+ this.elements = new long[initialCapacity];
+ Arrays.fill(this.elements, Long.MIN_VALUE);
}
/**
@@ -48,8 +48,8 @@ final class InvocationStack {
* @param invocation The timestamp of the invocation.
* @return <code>true</code> if the invocation was added, <code>false</code> otherwise.
*/
- boolean tryAdd(long invocation) {
- final long[] es = elements;
+ public boolean tryAdd(long invocation) {
+ final long[] es = this.elements;
int head = this.head;
if (head < 0 || es[head] > invocation) {
@@ -69,12 +69,11 @@ final class InvocationStack {
/**
* Remove the head invocation from the stack or return {@link Long#MAX_VALUE} if the stack is empty.
*/
- long poll() {
- final long[] es = elements;
+ public long poll() {
int head = this.head--;
if (head >= 0) {
- return es[head];
+ return this.elements[head];
}
return Long.MAX_VALUE;
@@ -84,12 +83,12 @@ final class InvocationStack {
* Doubles the capacity of this deque
*/
private void doubleCapacity() {
- int oldCapacity = elements.length;
+ int oldCapacity = this.elements.length;
int newCapacity = oldCapacity + (oldCapacity >> 1);
if (newCapacity < 0) {
throw new IllegalStateException("Sorry, deque too big");
}
- elements = Arrays.copyOf(elements, newCapacity);
+ this.elements = Arrays.copyOf(this.elements, newCapacity);
}
}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/FlowGraph.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/FlowGraph.java
deleted file mode 100644
index f45be6cd..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/FlowGraph.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2;
-
-/**
- * A representation of a flow network. A flow network is a directed graph where each edge has a capacity and receives an
- * amount of flow that cannot exceed the edge's capacity.
- */
-public interface FlowGraph {
- /**
- * Return the {@link FlowEngine} driving the simulation of the graph.
- */
- FlowEngine getEngine();
-
- /**
- * Create a new {@link FlowStage} representing a node in the flow network.
- *
- * @param logic The logic for handling the events of the stage.
- */
- FlowStage newStage(FlowStageLogic logic);
-
- /**
- * Add an edge between the specified outlet port and inlet port in this graph.
- *
- * @param outlet The outlet of the source from which the flow originates.
- * @param inlet The inlet of the sink that should receive the flow.
- */
- void connect(Outlet outlet, Inlet inlet);
-
- /**
- * Disconnect the specified {@link Outlet} (if connected).
- *
- * @param outlet The outlet to disconnect.
- */
- void disconnect(Outlet outlet);
-
- /**
- * Disconnect the specified {@link Inlet} (if connected).
- *
- * @param inlet The inlet to disconnect.
- */
- void disconnect(Inlet inlet);
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/FlowGraphInternal.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/FlowGraphInternal.java
deleted file mode 100644
index 0f608b60..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/FlowGraphInternal.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2;
-
-/**
- * Interface implemented by {@link FlowGraph} implementations.
- */
-interface FlowGraphInternal extends FlowGraph {
- /**
- * Internal method to remove the specified {@link FlowStage} from the graph.
- */
- void detach(FlowStage stage);
-
- /**
- * Helper method to connect an outlet to an inlet.
- */
- static void connect(FlowGraph graph, Outlet outlet, Inlet inlet) {
- if (!(outlet instanceof OutPort) || !(inlet instanceof InPort)) {
- throw new IllegalArgumentException("Invalid outlet or inlet passed to graph");
- }
-
- InPort inPort = (InPort) inlet;
- OutPort outPort = (OutPort) outlet;
-
- if (!graph.equals(outPort.getGraph()) || !graph.equals(inPort.getGraph())) {
- throw new IllegalArgumentException("Outlet or inlet does not belong to graph");
- } else if (outPort.input != null || inPort.output != null) {
- throw new IllegalStateException("Inlet or outlet already connected");
- }
-
- outPort.input = inPort;
- inPort.output = outPort;
-
- inPort.connect();
- outPort.connect();
- }
-
- /**
- * Helper method to disconnect an outlet.
- */
- static void disconnect(FlowGraph graph, Outlet outlet) {
- if (!(outlet instanceof OutPort)) {
- throw new IllegalArgumentException("Invalid outlet passed to graph");
- }
-
- OutPort outPort = (OutPort) outlet;
-
- if (!graph.equals(outPort.getGraph())) {
- throw new IllegalArgumentException("Outlet or inlet does not belong to graph");
- }
-
- outPort.cancel(null);
- outPort.complete();
- }
-
- /**
- * Helper method to disconnect an inlet.
- */
- static void disconnect(FlowGraph graph, Inlet inlet) {
- if (!(inlet instanceof InPort)) {
- throw new IllegalArgumentException("Invalid outlet passed to graph");
- }
-
- InPort inPort = (InPort) inlet;
-
- if (!graph.equals(inPort.getGraph())) {
- throw new IllegalArgumentException("Outlet or inlet does not belong to graph");
- }
-
- inPort.finish(null);
- inPort.cancel(null);
- }
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/FlowStage.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/FlowStage.java
deleted file mode 100644
index 25f87e04..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/FlowStage.java
+++ /dev/null
@@ -1,312 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2;
-
-import java.time.InstantSource;
-import java.util.HashMap;
-import java.util.Map;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A {@link FlowStage} represents a node in a {@link FlowGraph}.
- */
-public final class FlowStage {
- private static final Logger LOGGER = LoggerFactory.getLogger(FlowStage.class);
-
- /**
- * States of the flow stage.
- */
- private static final int STAGE_PENDING = 0; // Stage is pending to be started
-
- private static final int STAGE_ACTIVE = 1; // Stage is actively running
- private static final int STAGE_CLOSED = 2; // Stage is closed
- private static final int STAGE_STATE = 0b11; // Mask for accessing the state of the flow stage
-
- /**
- * Flags of the flow connection
- */
- private static final int STAGE_INVALIDATE = 1 << 2; // The stage is invalidated
-
- private static final int STAGE_CLOSE = 1 << 3; // The stage should be closed
- private static final int STAGE_UPDATE_ACTIVE = 1 << 4; // An update for the connection is active
- private static final int STAGE_UPDATE_PENDING = 1 << 5; // An (immediate) update of the connection is pending
-
- /**
- * The flags representing the state and pending actions for the stage.
- */
- private int flags = STAGE_PENDING;
-
- /**
- * The deadline of the stage after which an update should run.
- */
- long deadline = Long.MAX_VALUE;
-
- /**
- * The index of the timer in the {@link FlowTimerQueue}.
- */
- int timerIndex = -1;
-
- final InstantSource clock;
- private final FlowStageLogic logic;
- final FlowGraphInternal parentGraph;
- private final FlowEngine engine;
-
- private final Map<String, InPort> inlets = new HashMap<>();
- private final Map<String, OutPort> outlets = new HashMap<>();
- private int nextInlet = 0;
- private int nextOutlet = 0;
-
- /**
- * Construct a new {@link FlowStage} instance.
- *
- * @param parentGraph The {@link FlowGraph} this stage belongs to.
- * @param logic The logic of the stage.
- */
- FlowStage(FlowGraphInternal parentGraph, FlowStageLogic logic) {
- this.parentGraph = parentGraph;
- this.logic = logic;
- this.engine = parentGraph.getEngine();
- this.clock = engine.getClock();
- }
-
- /**
- * Return the {@link FlowGraph} to which this stage belongs.
- */
- public FlowGraph getGraph() {
- return parentGraph;
- }
-
- /**
- * Return the {@link Inlet} (an in-going edge) with the specified <code>name</code> for this {@link FlowStage}.
- * If an inlet with that name does not exist, a new one is allocated for the stage.
- *
- * @param name The name of the inlet.
- * @return The {@link InPort} representing an {@link Inlet} with the specified <code>name</code>.
- */
- public InPort getInlet(String name) {
- return inlets.computeIfAbsent(name, (key) -> new InPort(this, key, nextInlet++));
- }
-
- /**
- * Return the {@link Outlet} (an out-going edge) with the specified <code>name</code> for this {@link FlowStage}.
- * If an outlet with that name does not exist, a new one is allocated for the stage.
- *
- * @param name The name of the outlet.
- * @return The {@link OutPort} representing an {@link Outlet} with the specified <code>name</code>.
- */
- public OutPort getOutlet(String name) {
- return outlets.computeIfAbsent(name, (key) -> new OutPort(this, key, nextOutlet++));
- }
-
- /**
- * Return the current deadline of the {@link FlowStage}'s timer (in milliseconds after epoch).
- */
- public long getDeadline() {
- return deadline;
- }
-
- /**
- * Set the deadline of the {@link FlowStage}'s timer.
- *
- * @param deadline The new deadline (in milliseconds after epoch) when the stage should be interrupted.
- */
- public void setDeadline(long deadline) {
- this.deadline = deadline;
-
- if ((flags & STAGE_UPDATE_ACTIVE) == 0) {
- // Update the timer queue with the new deadline
- engine.scheduleDelayed(this);
- }
- }
-
- /**
- * Invalidate the {@link FlowStage} forcing the stage to update.
- */
- public void invalidate() {
- int flags = this.flags;
-
- if ((flags & STAGE_UPDATE_ACTIVE) == 0) {
- scheduleImmediate(clock.millis(), flags | STAGE_INVALIDATE);
- }
- }
-
- /**
- * Synchronously update the {@link FlowStage} at the current timestamp.
- */
- public void sync() {
- this.flags |= STAGE_INVALIDATE;
- onUpdate(clock.millis());
- engine.scheduleDelayed(this);
- }
-
- /**
- * Close the {@link FlowStage} and disconnect all inlets and outlets.
- */
- public void close() {
- int flags = this.flags;
-
- if ((flags & STAGE_STATE) == STAGE_CLOSED) {
- return;
- }
-
- // Toggle the close bit. In case no update is active, schedule a new update.
- if ((flags & STAGE_UPDATE_ACTIVE) != 0) {
- this.flags = flags | STAGE_CLOSE;
- } else {
- scheduleImmediate(clock.millis(), flags | STAGE_CLOSE);
- }
- }
-
- /**
- * Update the state of the flow stage.
- *
- * @param now The current virtual timestamp.
- */
- void onUpdate(long now) {
- int flags = this.flags;
- int state = flags & STAGE_STATE;
-
- if (state == STAGE_ACTIVE) {
- doUpdate(now, flags);
- } else if (state == STAGE_PENDING) {
- doStart(now, flags);
- }
- }
-
- /**
- * Invalidate the {@link FlowStage} forcing the stage to update.
- *
- * <p>
- * This method is similar to {@link #invalidate()}, but allows the user to manually pass the current timestamp to
- * prevent having to re-query the clock. This method should not be called during an update.
- */
- void invalidate(long now) {
- scheduleImmediate(now, flags | STAGE_INVALIDATE);
- }
-
- /**
- * Schedule an immediate update for this stage.
- */
- private void scheduleImmediate(long now, int flags) {
- // In case an immediate update is already scheduled, no need to do anything
- if ((flags & STAGE_UPDATE_PENDING) != 0) {
- this.flags = flags;
- return;
- }
-
- // Mark the stage that there is an update pending
- this.flags = flags | STAGE_UPDATE_PENDING;
-
- engine.scheduleImmediate(now, this);
- }
-
- /**
- * Start the stage.
- */
- private void doStart(long now, int flags) {
- // Update state before calling into the outside world, so it observes a consistent state
- flags = flags | STAGE_ACTIVE | STAGE_UPDATE_ACTIVE;
-
- doUpdate(now, flags);
- }
-
- /**
- * Update the state of the stage.
- */
- private void doUpdate(long now, int flags) {
- long deadline = this.deadline;
- long newDeadline = deadline;
-
- // Update the stage if:
- // (1) the timer of the stage has expired.
- // (2) one of the input ports is pushed,
- // (3) one of the output ports is pulled,
- if ((flags & STAGE_INVALIDATE) != 0 || deadline == now) {
- // Update state before calling into the outside world, so it observes a consistent state
- this.flags = (flags & ~STAGE_INVALIDATE) | STAGE_UPDATE_ACTIVE;
-
- try {
- newDeadline = logic.onUpdate(this, now);
-
- // IMPORTANT: Re-fetch the flags after the callback might have changed those
- flags = this.flags;
- } catch (Exception e) {
- doFail(e);
- }
- }
-
- // Check whether the stage is marked as closing.
- if ((flags & STAGE_CLOSE) != 0) {
- doClose(flags, null);
-
- // IMPORTANT: Re-fetch the flags after the callback might have changed those
- flags = this.flags;
- }
-
- // Indicate that no update is active anymore and flush the flags
- this.flags = flags & ~(STAGE_UPDATE_ACTIVE | STAGE_UPDATE_PENDING);
- this.deadline = newDeadline;
-
- // Update the timer queue with the new deadline
- engine.scheduleDelayedInContext(this);
- }
-
- /**
- * This method is invoked when an uncaught exception is caught by the engine. When this happens, the
- * {@link FlowStageLogic} "fails" and disconnects all its inputs and outputs.
- */
- void doFail(Throwable cause) {
- LOGGER.warn("Uncaught exception (closing stage)", cause);
-
- doClose(flags, cause);
- }
-
- /**
- * This method is invoked when the {@link FlowStageLogic} exits successfully or due to failure.
- */
- private void doClose(int flags, Throwable cause) {
- // Mark the stage as closed
- this.flags = flags & ~(STAGE_STATE | STAGE_INVALIDATE | STAGE_CLOSE) | STAGE_CLOSED;
-
- // Remove stage from parent graph
- parentGraph.detach(this);
-
- // Remove stage from the timer queue
- setDeadline(Long.MAX_VALUE);
-
- // Cancel all input ports
- for (InPort port : inlets.values()) {
- if (port != null) {
- port.cancel(cause);
- }
- }
-
- // Cancel all output ports
- for (OutPort port : outlets.values()) {
- if (port != null) {
- port.fail(cause);
- }
- }
- }
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/FlowStageLogic.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/FlowStageLogic.java
deleted file mode 100644
index 70986a35..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/FlowStageLogic.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2;
-
-/**
- * The {@link FlowStageLogic} interface is responsible for describing the behaviour of a {@link FlowStage} via
- * out-going flows based on its potential inputs.
- */
-public interface FlowStageLogic {
- /**
- * This method is invoked when the one of the stage's inlets or outlets is invalidated.
- *
- * @param ctx The context in which the stage runs.
- * @param now The virtual timestamp in milliseconds after epoch at which the update is occurring.
- * @return The next deadline for the stage.
- */
- long onUpdate(FlowStage ctx, long now);
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/InHandler.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/InHandler.java
deleted file mode 100644
index 839b01db..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/InHandler.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2;
-
-/**
- * Collection of callbacks for the input port (a {@link InPort}) of a {@link FlowStageLogic}.
- */
-public interface InHandler {
- /**
- * Return the actual flow rate over the input port.
- *
- * @param port The input port to which the flow was pushed.
- * @return The actual flow rate over the port.
- */
- default float getRate(InPort port) {
- return Math.min(port.getDemand(), port.getCapacity());
- }
-
- /**
- * This method is invoked when another {@link FlowStageLogic} changes the rate of flow to the specified inlet.
- *
- * @param port The input port to which the flow was pushed.
- * @param demand The rate of flow the output attempted to push to the port.
- */
- void onPush(InPort port, float demand);
-
- /**
- * This method is invoked when the input port is finished.
- *
- * @param port The input port that has finished.
- * @param cause The cause of the input port being finished or <code>null</code> if the port completed successfully.
- */
- void onUpstreamFinish(InPort port, Throwable cause);
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/InHandlers.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/InHandlers.java
deleted file mode 100644
index 9d5b4bef..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/InHandlers.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2;
-
-/**
- * A collection of common {@link InHandler} implementations.
- */
-public class InHandlers {
- /**
- * Prevent construction of this class.
- */
- private InHandlers() {}
-
- /**
- * Return an {@link InHandler} that does nothing.
- */
- public static InHandler noop() {
- return NoopInHandler.INSTANCE;
- }
-
- /**
- * No-op implementation of {@link InHandler}.
- */
- private static final class NoopInHandler implements InHandler {
- public static final InHandler INSTANCE = new NoopInHandler();
-
- @Override
- public void onPush(InPort port, float demand) {}
-
- @Override
- public void onUpstreamFinish(InPort port, Throwable cause) {}
- }
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/InPort.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/InPort.java
deleted file mode 100644
index 16fed4eb..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/InPort.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2;
-
-import java.time.InstantSource;
-import java.util.Objects;
-
-/**
- * A port that consumes a flow.
- * <p>
- * Input ports are represented as in-going edges in the flow graph.
- */
-public final class InPort implements Inlet {
- private final int id;
-
- private float capacity;
- private float demand;
-
- private boolean mask;
-
- OutPort output;
- private InHandler handler = InHandlers.noop();
- private final InstantSource clock;
- private final String name;
- private final FlowStage stage;
-
- InPort(FlowStage stage, String name, int id) {
- this.name = name;
- this.id = id;
- this.stage = stage;
- this.clock = stage.clock;
- }
-
- @Override
- public FlowGraph getGraph() {
- return stage.parentGraph;
- }
-
- @Override
- public String getName() {
- return name;
- }
-
- /**
- * Return the identifier of the {@link InPort} with respect to its stage.
- */
- public int getId() {
- return id;
- }
-
- /**
- * Return the current capacity of the input port.
- */
- public float getCapacity() {
- return capacity;
- }
-
- /**
- * Return the current demand of flow of the input port.
- */
- public float getDemand() {
- return demand;
- }
-
- /**
- * Return the current rate of flow of the input port.
- */
- public float getRate() {
- return handler.getRate(this);
- }
-
- /**
- * Pull the flow with the specified <code>capacity</code> from the input port.
- *
- * @param capacity The maximum throughput that the stage can receive from the input port.
- */
- public void pull(float capacity) {
- this.capacity = capacity;
-
- OutPort output = this.output;
- if (output != null) {
- output.pull(capacity);
- }
- }
-
- /**
- * Return the current {@link InHandler} of the input port.
- */
- public InHandler getHandler() {
- return handler;
- }
-
- /**
- * Set the {@link InHandler} of the input port.
- */
- public void setHandler(InHandler handler) {
- this.handler = handler;
- }
-
- /**
- * Return the mask of this port.
- * <p>
- * Stages ignore events originating from masked ports.
- */
- public boolean getMask() {
- return mask;
- }
-
- /**
- * (Un)mask the port.
- */
- public void setMask(boolean mask) {
- this.mask = mask;
- }
-
- /**
- * Disconnect the input port from its (potentially) connected outlet.
- * <p>
- * The inlet can still be used and re-connected to another outlet.
- *
- * @param cause The cause for disconnecting the port or <code>null</code> when no more flow is needed.
- */
- public void cancel(Throwable cause) {
- demand = 0.f;
-
- OutPort output = this.output;
- if (output != null) {
- this.output = null;
- output.input = null;
- output.cancel(cause);
- }
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
- InPort port = (InPort) o;
- return stage.equals(port.stage) && name.equals(port.name);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(stage.parentGraph, name);
- }
-
- /**
- * This method is invoked when the inlet is connected to an outlet.
- */
- void connect() {
- OutPort output = this.output;
- output.pull(capacity);
- }
-
- /**
- * Push a flow from an outlet to this inlet.
- *
- * @param demand The rate of flow to push.
- */
- void push(float demand) {
- // No-op when the rate is unchanged
- if (this.demand == demand) {
- return;
- }
-
- try {
- handler.onPush(this, demand);
- this.demand = demand;
-
- if (!mask) {
- stage.invalidate(clock.millis());
- }
- } catch (Exception e) {
- stage.doFail(e);
- }
- }
-
- /**
- * This method is invoked by the connected {@link OutPort} when it finishes.
- */
- void finish(Throwable cause) {
- try {
- long now = clock.millis();
- handler.onUpstreamFinish(this, cause);
- this.demand = 0.f;
-
- if (!mask) {
- stage.invalidate(now);
- }
- } catch (Exception e) {
- stage.doFail(e);
- }
- }
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/Inlet.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/Inlet.java
deleted file mode 100644
index 4a9ea6a5..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/Inlet.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2;
-
-/**
- * An in-going edge in a {@link FlowGraph}.
- */
-public interface Inlet {
- /**
- * Return the {@link FlowGraph} to which the inlet is exposed.
- */
- FlowGraph getGraph();
-
- /**
- * Return the name of the inlet.
- */
- String getName();
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/OutHandler.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/OutHandler.java
deleted file mode 100644
index 723c6d6b..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/OutHandler.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2;
-
-/**
- * Collection of callbacks for the output port (a {@link OutPort}) of a {@link FlowStageLogic}.
- */
-public interface OutHandler {
- /**
- * This method is invoked when another {@link FlowStageLogic} changes the capacity of the outlet.
- *
- * @param port The output port of which the capacity was changed.
- * @param capacity The new capacity of the outlet.
- */
- void onPull(OutPort port, float capacity);
-
- /**
- * This method is invoked when the output port no longer accepts any flow.
- * <p>
- * After this callback no other callbacks will be called for this port.
- *
- * @param port The outlet that no longer accepts any flow.
- * @param cause The cause of the output port no longer accepting any flow or <code>null</code> if the port closed
- * successfully.
- */
- void onDownstreamFinish(OutPort port, Throwable cause);
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/OutHandlers.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/OutHandlers.java
deleted file mode 100644
index 8fbfda0d..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/OutHandlers.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2;
-
-/**
- * A collection of common {@link OutHandler} implementations.
- */
-public class OutHandlers {
- /**
- * Prevent construction of this class.
- */
- private OutHandlers() {}
-
- /**
- * Return an {@link OutHandler} that does nothing.
- */
- public static OutHandler noop() {
- return NoopOutHandler.INSTANCE;
- }
-
- /**
- * No-op implementation of {@link OutHandler}.
- */
- private static final class NoopOutHandler implements OutHandler {
- public static final OutHandler INSTANCE = new NoopOutHandler();
-
- @Override
- public void onPull(OutPort port, float capacity) {}
-
- @Override
- public void onDownstreamFinish(OutPort port, Throwable cause) {}
- }
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/OutPort.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/OutPort.java
deleted file mode 100644
index 1f7ed4ee..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/OutPort.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2;
-
-import java.time.InstantSource;
-import java.util.Objects;
-
-/**
- * A port that outputs a flow.
- * <p>
- * Output ports are represented as out-going edges in the flow graph.
- */
-public final class OutPort implements Outlet {
- private final int id;
-
- private float capacity;
- private float demand;
-
- private boolean mask;
-
- InPort input;
- private OutHandler handler = OutHandlers.noop();
- private final String name;
- private final FlowStage stage;
- private final InstantSource clock;
-
- OutPort(FlowStage stage, String name, int id) {
- this.name = name;
- this.id = id;
- this.stage = stage;
- this.clock = stage.clock;
- }
-
- @Override
- public FlowGraph getGraph() {
- return stage.parentGraph;
- }
-
- @Override
- public String getName() {
- return name;
- }
-
- /**
- * Return the identifier of the {@link OutPort} with respect to its stage.
- */
- public int getId() {
- return id;
- }
-
- /**
- * Return the capacity of the output port.
- */
- public float getCapacity() {
- return capacity;
- }
-
- /**
- * Return the current demand of flow of the output port.
- */
- public float getDemand() {
- return demand;
- }
-
- /**
- * Return the current rate of flow of the input port.
- */
- public float getRate() {
- InPort input = this.input;
- if (input != null) {
- return input.getRate();
- }
-
- return 0.f;
- }
-
- /**
- * Return the current {@link OutHandler} of the output port.
- */
- public OutHandler getHandler() {
- return handler;
- }
-
- /**
- * Set the {@link OutHandler} of the output port.
- */
- public void setHandler(OutHandler handler) {
- this.handler = handler;
- }
-
- /**
- * Return the mask of this port.
- * <p>
- * Stages ignore events originating from masked ports.
- */
- public boolean getMask() {
- return mask;
- }
-
- /**
- * (Un)mask the port.
- */
- public void setMask(boolean mask) {
- this.mask = mask;
- }
-
- /**
- * Push the given flow rate over output port.
- *
- * @param rate The rate of the flow to push.
- */
- public void push(float rate) {
- demand = rate;
- InPort input = this.input;
-
- if (input != null) {
- input.push(rate);
- }
- }
-
- /**
- * Signal to the downstream port that the output has completed successfully and disconnect the port from its input.
- * <p>
- * The output port can still be used and re-connected to another input.
- */
- public void complete() {
- fail(null);
- }
-
- /**
- * Signal a failure to the downstream port and disconnect the port from its input.
- * <p>
- * The output can still be used and re-connected to another input.
- */
- public void fail(Throwable cause) {
- capacity = 0.f;
-
- InPort input = this.input;
- if (input != null) {
- this.input = null;
- input.output = null;
- input.finish(cause);
- }
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
- OutPort port = (OutPort) o;
- return stage.equals(port.stage) && name.equals(port.name);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(stage.parentGraph, name);
- }
-
- /**
- * This method is invoked when the outlet is connected to an inlet.
- */
- void connect() {
- input.push(demand);
- }
-
- /**
- * Pull from this outlet with a specified capacity.
- *
- * @param capacity The capacity of the inlet.
- */
- void pull(float capacity) {
- // No-op when outlet is not active or the rate is unchanged
- if (this.capacity == capacity) {
- return;
- }
-
- try {
- handler.onPull(this, capacity);
- this.capacity = capacity;
-
- if (!mask) {
- stage.invalidate(clock.millis());
- }
- } catch (Exception e) {
- stage.doFail(e);
- }
- }
-
- /**
- * This method is invoked by the connected {@link InPort} when downstream cancels the connection.
- */
- void cancel(Throwable cause) {
- try {
- handler.onDownstreamFinish(this, cause);
- this.capacity = 0.f;
-
- if (!mask) {
- stage.invalidate(clock.millis());
- }
- } catch (Exception e) {
- stage.doFail(e);
- }
- }
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/Outlet.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/Outlet.java
deleted file mode 100644
index 32e19a3b..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/Outlet.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2;
-
-/**
- * An out-going edge in a {@link FlowGraph}.
- */
-public interface Outlet {
- /**
- * Return the {@link FlowGraph} to which the outlet is exposed.
- */
- FlowGraph getGraph();
-
- /**
- * Return the name of the outlet.
- */
- String getName();
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/mux/FlowMultiplexer.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/mux/FlowMultiplexer.java
deleted file mode 100644
index dec98955..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/mux/FlowMultiplexer.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2.mux;
-
-import org.opendc.simulator.flow2.FlowStageLogic;
-import org.opendc.simulator.flow2.Inlet;
-import org.opendc.simulator.flow2.Outlet;
-
-/**
- * A {@link FlowStageLogic} that multiplexes multiple inputs over (possibly) multiple outputs.
- */
-public interface FlowMultiplexer {
- /**
- * Return maximum number of inputs supported by the multiplexer.
- */
- int getMaxInputs();
-
- /**
- * Return maximum number of outputs supported by the multiplexer.
- */
- int getMaxOutputs();
-
- /**
- * Return the number of active inputs on this multiplexer.
- */
- int getInputCount();
-
- /**
- * Allocate a new input on this multiplexer with the specified capacity..
- *
- * @return The identifier of the input for this stage.
- */
- Inlet newInput();
-
- /**
- * Release the input at the specified slot.
- *
- * @param inlet The inlet to release.
- */
- void releaseInput(Inlet inlet);
-
- /**
- * Return the number of active outputs on this multiplexer.
- */
- int getOutputCount();
-
- /**
- * Allocate a new output on this multiplexer.
- *
- * @return The outlet for this stage.
- */
- Outlet newOutput();
-
- /**
- * Release the output at the specified slot.
- *
- * @param outlet The outlet to release.
- */
- void releaseOutput(Outlet outlet);
-
- /**
- * Return the total input capacity of the {@link FlowMultiplexer}.
- */
- float getCapacity();
-
- /**
- * Return the total input demand for the {@link FlowMultiplexer}.
- */
- float getDemand();
-
- /**
- * Return the total input rate for the {@link FlowMultiplexer}.
- */
- float getRate();
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/mux/FlowMultiplexerFactory.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/mux/FlowMultiplexerFactory.java
deleted file mode 100644
index 0b5b9141..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/mux/FlowMultiplexerFactory.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2.mux;
-
-import org.opendc.simulator.flow2.FlowGraph;
-
-/**
- * Factory interface for a {@link FlowMultiplexer} implementation.
- */
-public interface FlowMultiplexerFactory {
- /**
- * Construct a new {@link FlowMultiplexer} belonging to the specified {@link FlowGraph}.
- *
- * @param graph The graph to which the multiplexer belongs.
- */
- FlowMultiplexer newMultiplexer(FlowGraph graph);
-
- /**
- * Return a {@link FlowMultiplexerFactory} for {@link ForwardingFlowMultiplexer} instances.
- */
- static FlowMultiplexerFactory forwardingMultiplexer() {
- return ForwardingFlowMultiplexer.FACTORY;
- }
-
- /**
- * Return a {@link FlowMultiplexerFactory} for {@link MaxMinFlowMultiplexer} instances.
- */
- static FlowMultiplexerFactory maxMinMultiplexer() {
- return MaxMinFlowMultiplexer.FACTORY;
- }
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/mux/ForwardingFlowMultiplexer.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/mux/ForwardingFlowMultiplexer.java
deleted file mode 100644
index e0564cd2..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/mux/ForwardingFlowMultiplexer.java
+++ /dev/null
@@ -1,287 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2.mux;
-
-import java.util.Arrays;
-import java.util.BitSet;
-import org.opendc.simulator.flow2.FlowGraph;
-import org.opendc.simulator.flow2.FlowStage;
-import org.opendc.simulator.flow2.FlowStageLogic;
-import org.opendc.simulator.flow2.InHandler;
-import org.opendc.simulator.flow2.InPort;
-import org.opendc.simulator.flow2.Inlet;
-import org.opendc.simulator.flow2.OutHandler;
-import org.opendc.simulator.flow2.OutPort;
-import org.opendc.simulator.flow2.Outlet;
-
-/**
- * A {@link FlowMultiplexer} implementation that allocates inputs to the outputs of the multiplexer exclusively.
- * This means that a single input is directly connected to an output and that the multiplexer can only support as many
- * inputs as outputs.
- */
-public final class ForwardingFlowMultiplexer implements FlowMultiplexer, FlowStageLogic {
- /**
- * Factory implementation for this implementation.
- */
- static FlowMultiplexerFactory FACTORY = ForwardingFlowMultiplexer::new;
-
- public final IdleInHandler IDLE_IN_HANDLER = new IdleInHandler();
- public final IdleOutHandler IDLE_OUT_HANDLER = new IdleOutHandler();
-
- private final FlowStage stage;
-
- private InPort[] inlets;
- private OutPort[] outlets;
- private final BitSet activeInputs;
- private final BitSet activeOutputs;
- private final BitSet availableOutputs;
-
- private float capacity = 0.f;
- private float demand = 0.f;
-
- public ForwardingFlowMultiplexer(FlowGraph graph) {
- this.stage = graph.newStage(this);
-
- this.inlets = new InPort[4];
- this.activeInputs = new BitSet();
- this.outlets = new OutPort[4];
- this.activeOutputs = new BitSet();
- this.availableOutputs = new BitSet();
- }
-
- @Override
- public float getCapacity() {
- return capacity;
- }
-
- @Override
- public float getDemand() {
- return demand;
- }
-
- @Override
- public float getRate() {
- final BitSet activeOutputs = this.activeOutputs;
- final OutPort[] outlets = this.outlets;
- float rate = 0.f;
- for (int i = activeOutputs.nextSetBit(0); i != -1; i = activeOutputs.nextSetBit(i + 1)) {
- rate += outlets[i].getRate();
- }
- return rate;
- }
-
- @Override
- public int getMaxInputs() {
- return getOutputCount();
- }
-
- @Override
- public int getMaxOutputs() {
- return Integer.MAX_VALUE;
- }
-
- @Override
- public int getInputCount() {
- return activeInputs.length();
- }
-
- @Override
- public Inlet newInput() {
- final BitSet activeInputs = this.activeInputs;
- int slot = activeInputs.nextClearBit(0);
-
- InPort inPort = stage.getInlet("in" + slot);
- inPort.setMask(true);
-
- InPort[] inlets = this.inlets;
- if (slot >= inlets.length) {
- int newLength = inlets.length + (inlets.length >> 1);
- inlets = Arrays.copyOf(inlets, newLength);
- this.inlets = inlets;
- }
-
- final BitSet availableOutputs = this.availableOutputs;
- int outSlot = availableOutputs.nextSetBit(0);
-
- if (outSlot < 0) {
- throw new IllegalStateException("No capacity available for a new input");
- }
-
- inlets[slot] = inPort;
- activeInputs.set(slot);
-
- OutPort outPort = outlets[outSlot];
- availableOutputs.clear(outSlot);
-
- inPort.setHandler(new ForwardingInHandler(outPort));
- outPort.setHandler(new ForwardingOutHandler(inPort));
-
- inPort.pull(outPort.getCapacity());
-
- return inPort;
- }
-
- @Override
- public void releaseInput(Inlet inlet) {
- InPort port = (InPort) inlet;
- int slot = port.getId();
-
- final BitSet activeInputs = this.activeInputs;
-
- if (!activeInputs.get(slot)) {
- return;
- }
-
- port.cancel(null);
- activeInputs.clear(slot);
-
- ForwardingInHandler inHandler = (ForwardingInHandler) port.getHandler();
- availableOutputs.set(inHandler.output.getId());
-
- port.setHandler(IDLE_IN_HANDLER);
- }
-
- @Override
- public int getOutputCount() {
- return activeOutputs.length();
- }
-
- @Override
- public Outlet newOutput() {
- final BitSet activeOutputs = this.activeOutputs;
- int slot = activeOutputs.nextClearBit(0);
-
- OutPort port = stage.getOutlet("out" + slot);
- OutPort[] outlets = this.outlets;
- if (slot >= outlets.length) {
- int newLength = outlets.length + (outlets.length >> 1);
- outlets = Arrays.copyOf(outlets, newLength);
- this.outlets = outlets;
- }
- outlets[slot] = port;
-
- activeOutputs.set(slot);
- availableOutputs.set(slot);
-
- port.setHandler(IDLE_OUT_HANDLER);
-
- return port;
- }
-
- @Override
- public void releaseOutput(Outlet outlet) {
- OutPort port = (OutPort) outlet;
- int slot = port.getId();
- activeInputs.clear(slot);
- availableOutputs.clear(slot);
- port.complete();
-
- port.setHandler(IDLE_OUT_HANDLER);
- }
-
- @Override
- public long onUpdate(FlowStage ctx, long now) {
- return Long.MAX_VALUE;
- }
-
- class ForwardingInHandler implements InHandler {
- final OutPort output;
-
- ForwardingInHandler(OutPort output) {
- this.output = output;
- }
-
- @Override
- public float getRate(InPort port) {
- return output.getRate();
- }
-
- @Override
- public void onPush(InPort port, float rate) {
- ForwardingFlowMultiplexer.this.demand += -port.getDemand() + rate;
-
- output.push(rate);
- }
-
- @Override
- public void onUpstreamFinish(InPort port, Throwable cause) {
- ForwardingFlowMultiplexer.this.demand -= port.getDemand();
-
- final OutPort output = this.output;
- output.push(0.f);
-
- releaseInput(port);
- }
- }
-
- private class ForwardingOutHandler implements OutHandler {
- private final InPort input;
-
- ForwardingOutHandler(InPort input) {
- this.input = input;
- }
-
- @Override
- public void onPull(OutPort port, float capacity) {
- ForwardingFlowMultiplexer.this.capacity += -port.getCapacity() + capacity;
-
- input.pull(capacity);
- }
-
- @Override
- public void onDownstreamFinish(OutPort port, Throwable cause) {
- ForwardingFlowMultiplexer.this.capacity -= port.getCapacity();
-
- input.cancel(cause);
-
- releaseOutput(port);
- }
- }
-
- private static class IdleInHandler implements InHandler {
- @Override
- public float getRate(InPort port) {
- return 0.f;
- }
-
- @Override
- public void onPush(InPort port, float rate) {
- port.cancel(new IllegalStateException("Inlet is not allocated"));
- }
-
- @Override
- public void onUpstreamFinish(InPort port, Throwable cause) {}
- }
-
- private class IdleOutHandler implements OutHandler {
- @Override
- public void onPull(OutPort port, float capacity) {
- ForwardingFlowMultiplexer.this.capacity += -port.getCapacity() + capacity;
- }
-
- @Override
- public void onDownstreamFinish(OutPort port, Throwable cause) {
- ForwardingFlowMultiplexer.this.capacity -= port.getCapacity();
- }
- }
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/mux/MaxMinFlowMultiplexer.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/mux/MaxMinFlowMultiplexer.java
deleted file mode 100644
index ac5c4f5c..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/mux/MaxMinFlowMultiplexer.java
+++ /dev/null
@@ -1,297 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2.mux;
-
-import java.util.Arrays;
-import java.util.BitSet;
-import org.opendc.simulator.flow2.FlowGraph;
-import org.opendc.simulator.flow2.FlowStage;
-import org.opendc.simulator.flow2.FlowStageLogic;
-import org.opendc.simulator.flow2.InHandler;
-import org.opendc.simulator.flow2.InPort;
-import org.opendc.simulator.flow2.Inlet;
-import org.opendc.simulator.flow2.OutHandler;
-import org.opendc.simulator.flow2.OutPort;
-import org.opendc.simulator.flow2.Outlet;
-
-/**
- * A {@link FlowMultiplexer} implementation that distributes the available capacity of the outputs over the inputs
- * using max-min fair sharing.
- * <p>
- * The max-min fair sharing algorithm of this multiplexer ensures that each input receives a fair share of the combined
- * output capacity, but allows individual inputs to use more capacity if there is still capacity left.
- */
-public final class MaxMinFlowMultiplexer implements FlowMultiplexer, FlowStageLogic {
- /**
- * Factory implementation for this implementation.
- */
- static FlowMultiplexerFactory FACTORY = MaxMinFlowMultiplexer::new;
-
- private final FlowStage stage;
- private final BitSet activeInputs;
- private final BitSet activeOutputs;
-
- private float capacity = 0.f;
- private float demand = 0.f;
- private float rate = 0.f;
-
- private InPort[] inlets;
- private long[] inputs;
- private float[] rates;
- private OutPort[] outlets;
-
- private final MultiplexerInHandler inHandler = new MultiplexerInHandler();
- private final MultiplexerOutHandler outHandler = new MultiplexerOutHandler();
-
- /**
- * Construct a {@link MaxMinFlowMultiplexer} instance.
- *
- * @param graph The {@link FlowGraph} to add the multiplexer to.
- */
- public MaxMinFlowMultiplexer(FlowGraph graph) {
- this.stage = graph.newStage(this);
- this.activeInputs = new BitSet();
- this.activeOutputs = new BitSet();
-
- this.inlets = new InPort[4];
- this.inputs = new long[4];
- this.rates = new float[4];
- this.outlets = new OutPort[4];
- }
-
- @Override
- public float getCapacity() {
- return capacity;
- }
-
- @Override
- public float getDemand() {
- return demand;
- }
-
- @Override
- public float getRate() {
- return rate;
- }
-
- @Override
- public int getMaxInputs() {
- return Integer.MAX_VALUE;
- }
-
- @Override
- public int getMaxOutputs() {
- return Integer.MAX_VALUE;
- }
-
- @Override
- public long onUpdate(FlowStage ctx, long now) {
- float capacity = this.capacity;
- float demand = this.demand;
- float rate = demand;
-
- if (demand > capacity) {
- rate = redistributeCapacity(inlets, inputs, rates, capacity);
- }
-
- if (this.rate != rate) {
- // Only update the outputs if the output rate has changed
- this.rate = rate;
-
- changeRate(activeOutputs, outlets, capacity, rate);
- }
-
- return Long.MAX_VALUE;
- }
-
- @Override
- public int getInputCount() {
- return activeInputs.length();
- }
-
- @Override
- public Inlet newInput() {
- final BitSet activeInputs = this.activeInputs;
- int slot = activeInputs.nextClearBit(0);
-
- InPort port = stage.getInlet("in" + slot);
- port.setHandler(inHandler);
- port.pull(this.capacity);
-
- InPort[] inlets = this.inlets;
- if (slot >= inlets.length) {
- int newLength = inlets.length + (inlets.length >> 1);
- inlets = Arrays.copyOf(inlets, newLength);
- inputs = Arrays.copyOf(inputs, newLength);
- rates = Arrays.copyOf(rates, newLength);
- this.inlets = inlets;
- }
- inlets[slot] = port;
-
- activeInputs.set(slot);
- return port;
- }
-
- @Override
- public void releaseInput(Inlet inlet) {
- InPort port = (InPort) inlet;
-
- activeInputs.clear(port.getId());
- port.cancel(null);
- }
-
- @Override
- public int getOutputCount() {
- return activeOutputs.length();
- }
-
- @Override
- public Outlet newOutput() {
- final BitSet activeOutputs = this.activeOutputs;
- int slot = activeOutputs.nextClearBit(0);
-
- OutPort port = stage.getOutlet("out" + slot);
- port.setHandler(outHandler);
-
- OutPort[] outlets = this.outlets;
- if (slot >= outlets.length) {
- int newLength = outlets.length + (outlets.length >> 1);
- outlets = Arrays.copyOf(outlets, newLength);
- this.outlets = outlets;
- }
- outlets[slot] = port;
-
- activeOutputs.set(slot);
- return port;
- }
-
- @Override
- public void releaseOutput(Outlet outlet) {
- OutPort port = (OutPort) outlet;
- activeInputs.clear(port.getId());
- port.complete();
- }
-
- /**
- * Helper function to redistribute the specified capacity across the inlets.
- */
- private static float redistributeCapacity(InPort[] inlets, long[] inputs, float[] rates, float capacity) {
- // If the demand is higher than the capacity, we need use max-min fair sharing to distribute the
- // constrained capacity across the inputs.
- for (int i = 0; i < inputs.length; i++) {
- InPort inlet = inlets[i];
- if (inlet == null) {
- break;
- }
-
- inputs[i] = ((long) Float.floatToRawIntBits(inlet.getDemand()) << 32) | (i & 0xFFFFFFFFL);
- }
- Arrays.sort(inputs);
-
- float availableCapacity = capacity;
- int inputSize = inputs.length;
-
- // Divide the available output capacity fairly over the inputs using max-min fair sharing
- for (int i = 0; i < inputs.length; i++) {
- long v = inputs[i];
- int slot = (int) v;
- float d = Float.intBitsToFloat((int) (v >> 32));
-
- if (d == 0.0) {
- continue;
- }
-
- float availableShare = availableCapacity / (inputSize - i);
- float r = Math.min(d, availableShare);
-
- rates[slot] = r;
- availableCapacity -= r;
- }
-
- return capacity - availableCapacity;
- }
-
- /**
- * Helper method to change the rate of the outlets.
- */
- private static void changeRate(BitSet activeOutputs, OutPort[] outlets, float capacity, float rate) {
- // Divide the requests over the available capacity of the input resources fairly
- for (int i = activeOutputs.nextSetBit(0); i != -1; i = activeOutputs.nextSetBit(i + 1)) {
- OutPort outlet = outlets[i];
- float fraction = outlet.getCapacity() / capacity;
- outlet.push(rate * fraction);
- }
- }
-
- /**
- * A {@link InHandler} implementation for the multiplexer inputs.
- */
- private class MultiplexerInHandler implements InHandler {
- @Override
- public float getRate(InPort port) {
- return rates[port.getId()];
- }
-
- @Override
- public void onPush(InPort port, float demand) {
- MaxMinFlowMultiplexer.this.demand += -port.getDemand() + demand;
- rates[port.getId()] = demand;
- }
-
- @Override
- public void onUpstreamFinish(InPort port, Throwable cause) {
- MaxMinFlowMultiplexer.this.demand -= port.getDemand();
- releaseInput(port);
- rates[port.getId()] = 0.f;
- }
- }
-
- /**
- * A {@link OutHandler} implementation for the multiplexer outputs.
- */
- private class MultiplexerOutHandler implements OutHandler {
- @Override
- public void onPull(OutPort port, float capacity) {
- float newCapacity = MaxMinFlowMultiplexer.this.capacity - port.getCapacity() + capacity;
- MaxMinFlowMultiplexer.this.capacity = newCapacity;
- changeInletCapacity(newCapacity);
- }
-
- @Override
- public void onDownstreamFinish(OutPort port, Throwable cause) {
- float newCapacity = MaxMinFlowMultiplexer.this.capacity - port.getCapacity();
- MaxMinFlowMultiplexer.this.capacity = newCapacity;
- releaseOutput(port);
- changeInletCapacity(newCapacity);
- }
-
- private void changeInletCapacity(float capacity) {
- BitSet activeInputs = MaxMinFlowMultiplexer.this.activeInputs;
- InPort[] inlets = MaxMinFlowMultiplexer.this.inlets;
-
- for (int i = activeInputs.nextSetBit(0); i != -1; i = activeInputs.nextSetBit(i + 1)) {
- inlets[i].pull(capacity);
- }
- }
- }
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/sink/FlowSink.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/sink/FlowSink.java
deleted file mode 100644
index 69c94708..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/sink/FlowSink.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2.sink;
-
-import org.opendc.simulator.flow2.FlowStage;
-import org.opendc.simulator.flow2.Inlet;
-
-/**
- * A {@link FlowStage} with a single input.
- */
-public interface FlowSink {
- /**
- * Return the input of this {@link FlowSink}.
- */
- Inlet getInput();
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/sink/SimpleFlowSink.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/sink/SimpleFlowSink.java
deleted file mode 100644
index fdfe5ee8..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/sink/SimpleFlowSink.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2.sink;
-
-import org.opendc.simulator.flow2.FlowGraph;
-import org.opendc.simulator.flow2.FlowStage;
-import org.opendc.simulator.flow2.FlowStageLogic;
-import org.opendc.simulator.flow2.InHandler;
-import org.opendc.simulator.flow2.InPort;
-import org.opendc.simulator.flow2.Inlet;
-
-/**
- * A sink with a fixed capacity.
- */
-public final class SimpleFlowSink implements FlowSink, FlowStageLogic {
- private final FlowStage stage;
- private final InPort input;
- private final Handler handler;
-
- /**
- * Construct a new {@link SimpleFlowSink} with the specified initial capacity.
- *
- * @param graph The graph to add the sink to.
- * @param initialCapacity The initial capacity of the sink.
- */
- public SimpleFlowSink(FlowGraph graph, float initialCapacity) {
- this.stage = graph.newStage(this);
- this.handler = new Handler();
- this.input = stage.getInlet("in");
- this.input.pull(initialCapacity);
- this.input.setMask(true);
- this.input.setHandler(handler);
- }
-
- /**
- * Return the {@link Inlet} of this sink.
- */
- @Override
- public Inlet getInput() {
- return input;
- }
-
- /**
- * Return the capacity of the sink.
- */
- public float getCapacity() {
- return input.getCapacity();
- }
-
- /**
- * Update the capacity of the sink.
- *
- * @param capacity The new capacity to update the sink to.
- */
- public void setCapacity(float capacity) {
- input.pull(capacity);
- stage.invalidate();
- }
-
- /**
- * Return the flow rate of the sink.
- */
- public float getRate() {
- return input.getRate();
- }
-
- /**
- * Remove this node from the graph.
- */
- public void close() {
- stage.close();
- }
-
- @Override
- public long onUpdate(FlowStage ctx, long now) {
- InPort input = this.input;
- handler.rate = Math.min(input.getDemand(), input.getCapacity());
- return Long.MAX_VALUE;
- }
-
- /**
- * The {@link InHandler} implementation for the sink.
- */
- private static final class Handler implements InHandler {
- float rate;
-
- @Override
- public float getRate(InPort port) {
- return rate;
- }
-
- @Override
- public void onPush(InPort port, float demand) {
- float capacity = port.getCapacity();
- rate = Math.min(demand, capacity);
- }
-
- @Override
- public void onUpstreamFinish(InPort port, Throwable cause) {
- rate = 0.f;
- }
- }
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/source/EmptyFlowSource.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/source/EmptyFlowSource.java
deleted file mode 100644
index 2dcc66e4..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/source/EmptyFlowSource.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2.source;
-
-import org.opendc.simulator.flow2.FlowGraph;
-import org.opendc.simulator.flow2.FlowStage;
-import org.opendc.simulator.flow2.FlowStageLogic;
-import org.opendc.simulator.flow2.OutPort;
-import org.opendc.simulator.flow2.Outlet;
-
-/**
- * An empty {@link FlowSource}.
- */
-public final class EmptyFlowSource implements FlowSource, FlowStageLogic {
- private final FlowStage stage;
- private final OutPort output;
-
- /**
- * Construct a new {@link EmptyFlowSource}.
- */
- public EmptyFlowSource(FlowGraph graph) {
- this.stage = graph.newStage(this);
- this.output = stage.getOutlet("out");
- }
-
- /**
- * Return the {@link Outlet} of the source.
- */
- @Override
- public Outlet getOutput() {
- return output;
- }
-
- /**
- * Remove this node from the graph.
- */
- public void close() {
- stage.close();
- }
-
- @Override
- public long onUpdate(FlowStage ctx, long now) {
- return Long.MAX_VALUE;
- }
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/source/FlowSource.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/source/FlowSource.java
deleted file mode 100644
index f9432c33..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/source/FlowSource.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2.source;
-
-import org.opendc.simulator.flow2.FlowStage;
-import org.opendc.simulator.flow2.Outlet;
-
-/**
- * A {@link FlowStage} with a single output.
- */
-public interface FlowSource {
- /**
- * Return the output of this {@link FlowSource}.
- */
- Outlet getOutput();
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/source/RuntimeFlowSource.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/source/RuntimeFlowSource.java
deleted file mode 100644
index c09987cd..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/source/RuntimeFlowSource.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2.source;
-
-import java.util.function.Consumer;
-import org.opendc.simulator.flow2.FlowGraph;
-import org.opendc.simulator.flow2.FlowStage;
-import org.opendc.simulator.flow2.FlowStageLogic;
-import org.opendc.simulator.flow2.OutHandler;
-import org.opendc.simulator.flow2.OutPort;
-import org.opendc.simulator.flow2.Outlet;
-
-/**
- * A {@link FlowSource} that ensures a flow is emitted for a specified amount of time at some utilization.
- */
-public class RuntimeFlowSource implements FlowSource, FlowStageLogic {
- private final float utilization;
-
- private final FlowStage stage;
- private final OutPort output;
- private final Consumer<RuntimeFlowSource> completionHandler;
-
- private long duration;
- private long lastPull;
-
- /**
- * Construct a {@link RuntimeFlowSource} instance.
- *
- * @param graph The {@link FlowGraph} to which this source belongs.
- * @param duration The duration of the source.
- * @param utilization The utilization of the capacity of the outlet.
- * @param completionHandler A callback invoked when the source completes.
- */
- public RuntimeFlowSource(
- FlowGraph graph, long duration, float utilization, Consumer<RuntimeFlowSource> completionHandler) {
- if (duration <= 0) {
- throw new IllegalArgumentException("Duration must be positive and non-zero");
- }
-
- if (utilization <= 0.0) {
- throw new IllegalArgumentException("Utilization must be positive and non-zero");
- }
-
- this.stage = graph.newStage(this);
- this.output = stage.getOutlet("out");
- this.output.setHandler(new OutHandler() {
- @Override
- public void onPull(OutPort port, float capacity) {}
-
- @Override
- public void onDownstreamFinish(OutPort port, Throwable cause) {
- // Source cannot complete without re-connecting to another sink, so mark the source as completed
- completionHandler.accept(RuntimeFlowSource.this);
- }
- });
- this.duration = duration;
- this.utilization = utilization;
- this.completionHandler = completionHandler;
- this.lastPull = graph.getEngine().getClock().millis();
- }
-
- /**
- * Construct a new {@link RuntimeFlowSource}.
- *
- * @param graph The {@link FlowGraph} to which this source belongs.
- * @param duration The duration of the source.
- * @param utilization The utilization of the capacity of the outlet.
- */
- public RuntimeFlowSource(FlowGraph graph, long duration, float utilization) {
- this(graph, duration, utilization, RuntimeFlowSource::close);
- }
-
- /**
- * Return the {@link Outlet} of the source.
- */
- @Override
- public Outlet getOutput() {
- return output;
- }
-
- /**
- * Remove this node from the graph.
- */
- public void close() {
- stage.close();
- }
-
- @Override
- public long onUpdate(FlowStage ctx, long now) {
- long lastPull = this.lastPull;
- this.lastPull = now;
-
- long delta = Math.max(0, now - lastPull);
-
- OutPort output = this.output;
- float limit = output.getCapacity() * utilization;
- long duration = this.duration - delta;
-
- if (duration <= 0) {
- completionHandler.accept(this);
- return Long.MAX_VALUE;
- }
-
- this.duration = duration;
- output.push(limit);
- return now + duration;
- }
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/source/SimpleFlowSource.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/source/SimpleFlowSource.java
deleted file mode 100644
index a0e9cb9d..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/source/SimpleFlowSource.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2.source;
-
-import java.util.function.Consumer;
-import org.opendc.simulator.flow2.FlowGraph;
-import org.opendc.simulator.flow2.FlowStage;
-import org.opendc.simulator.flow2.FlowStageLogic;
-import org.opendc.simulator.flow2.OutHandler;
-import org.opendc.simulator.flow2.OutPort;
-import org.opendc.simulator.flow2.Outlet;
-
-/**
- * A flow source that contains a fixed amount and is pushed with a given utilization.
- */
-public final class SimpleFlowSource implements FlowSource, FlowStageLogic {
- private final float utilization;
- private float remainingAmount;
- private long lastPull;
-
- private final FlowStage stage;
- private final OutPort output;
- private final Consumer<SimpleFlowSource> completionHandler;
-
- /**
- * Construct a new {@link SimpleFlowSource}.
- *
- * @param graph The {@link FlowGraph} to which this source belongs.
- * @param amount The amount to transfer via the outlet.
- * @param utilization The utilization of the capacity of the outlet.
- * @param completionHandler A callback invoked when the source completes.
- */
- public SimpleFlowSource(
- FlowGraph graph, float amount, float utilization, Consumer<SimpleFlowSource> completionHandler) {
- if (amount < 0.0) {
- throw new IllegalArgumentException("Amount must be non-negative");
- }
-
- if (utilization <= 0.0) {
- throw new IllegalArgumentException("Utilization must be positive and non-zero");
- }
-
- this.stage = graph.newStage(this);
- this.output = stage.getOutlet("out");
- this.output.setHandler(new OutHandler() {
- @Override
- public void onPull(OutPort port, float capacity) {}
-
- @Override
- public void onDownstreamFinish(OutPort port, Throwable cause) {
- // Source cannot complete without re-connecting to another sink, so mark the source as completed
- completionHandler.accept(SimpleFlowSource.this);
- }
- });
- this.completionHandler = completionHandler;
- this.utilization = utilization;
- this.remainingAmount = amount;
- this.lastPull = graph.getEngine().getClock().millis();
- }
-
- /**
- * Construct a new {@link SimpleFlowSource}.
- *
- * @param graph The {@link FlowGraph} to which this source belongs.
- * @param amount The amount to transfer via the outlet.
- * @param utilization The utilization of the capacity of the outlet.
- */
- public SimpleFlowSource(FlowGraph graph, float amount, float utilization) {
- this(graph, amount, utilization, SimpleFlowSource::close);
- }
-
- /**
- * Return the {@link Outlet} of the source.
- */
- @Override
- public Outlet getOutput() {
- return output;
- }
-
- /**
- * Remove this node from the graph.
- */
- public void close() {
- stage.close();
- }
-
- @Override
- public long onUpdate(FlowStage ctx, long now) {
- long lastPull = this.lastPull;
- this.lastPull = now;
-
- long delta = Math.max(0, now - lastPull);
-
- OutPort output = this.output;
- float consumed = output.getRate() * delta / 1000.f;
- float limit = output.getCapacity() * utilization;
-
- float remainingAmount = this.remainingAmount - consumed;
- this.remainingAmount = remainingAmount;
-
- long duration = (long) Math.ceil(remainingAmount / limit * 1000);
-
- if (duration <= 0) {
- completionHandler.accept(this);
- return Long.MAX_VALUE;
- }
-
- output.push(limit);
- return now + duration;
- }
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/source/TraceFlowSource.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/source/TraceFlowSource.java
deleted file mode 100644
index e8abc2d7..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/source/TraceFlowSource.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2.source;
-
-import java.util.function.Consumer;
-import org.opendc.simulator.flow2.FlowGraph;
-import org.opendc.simulator.flow2.FlowStage;
-import org.opendc.simulator.flow2.FlowStageLogic;
-import org.opendc.simulator.flow2.OutHandler;
-import org.opendc.simulator.flow2.OutPort;
-import org.opendc.simulator.flow2.Outlet;
-
-/**
- * A flow source that replays a sequence of fragments, each indicating the flow rate for some period of time.
- */
-public final class TraceFlowSource implements FlowSource, FlowStageLogic {
- private final OutPort output;
- private final long[] deadlines;
- private final float[] usages;
- private final int size;
- private int index;
-
- private final FlowStage stage;
- private final Consumer<TraceFlowSource> completionHandler;
-
- /**
- * Construct a {@link TraceFlowSource}.
- *
- * @param graph The {@link FlowGraph} to which the source belongs.
- * @param trace The {@link Trace} to replay.
- * @param completionHandler The completion handler to invoke when the source finishes.
- */
- public TraceFlowSource(FlowGraph graph, Trace trace, Consumer<TraceFlowSource> completionHandler) {
- this.stage = graph.newStage(this);
- this.output = stage.getOutlet("out");
- this.output.setHandler(new OutHandler() {
- @Override
- public void onPull(OutPort port, float capacity) {}
-
- @Override
- public void onDownstreamFinish(OutPort port, Throwable cause) {
- // Source cannot complete without re-connecting to another sink, so mark the source as completed
- completionHandler.accept(TraceFlowSource.this);
- }
- });
- this.deadlines = trace.deadlines;
- this.usages = trace.usages;
- this.size = trace.size;
- this.completionHandler = completionHandler;
- }
-
- /**
- * Construct a {@link TraceFlowSource}.
- *
- * @param graph The {@link FlowGraph} to which the source belongs.
- * @param trace The {@link Trace} to replay.
- */
- public TraceFlowSource(FlowGraph graph, Trace trace) {
- this(graph, trace, TraceFlowSource::close);
- }
-
- @Override
- public Outlet getOutput() {
- return output;
- }
-
- /**
- * Remove this node from the graph.
- */
- public void close() {
- stage.close();
- }
-
- @Override
- public long onUpdate(FlowStage ctx, long now) {
- int size = this.size;
- int index = this.index;
- long[] deadlines = this.deadlines;
- long deadline;
-
- do {
- deadline = deadlines[index];
- } while (deadline <= now && ++index < size);
-
- if (index >= size) {
- output.push(0.0f);
- completionHandler.accept(this);
- return Long.MAX_VALUE;
- }
-
- this.index = index;
- float usage = usages[index];
- output.push(usage);
-
- return deadline;
- }
-
- /**
- * A trace describes the workload over time.
- */
- public static final class Trace {
- private final long[] deadlines;
- private final float[] usages;
- private final int size;
-
- /**
- * Construct a {@link Trace}.
- *
- * @param deadlines The deadlines of the trace fragments.
- * @param usages The usages of the trace fragments.
- * @param size The size of the trace.
- */
- public Trace(long[] deadlines, float[] usages, int size) {
- this.deadlines = deadlines;
- this.usages = usages;
- this.size = size;
- }
-
- public long[] getDeadlines() {
- return deadlines;
- }
-
- public float[] getUsages() {
- return usages;
- }
-
- public int getSize() {
- return size;
- }
- }
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/util/FlowTransform.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/util/FlowTransform.java
deleted file mode 100644
index 51ea7df3..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/util/FlowTransform.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2.util;
-
-import org.opendc.simulator.flow2.FlowGraph;
-
-/**
- * A {@link FlowTransform} describes a transformation between two components in a {@link FlowGraph} that might operate
- * at different units of flow.
- */
-public interface FlowTransform {
- /**
- * Apply the transform to the specified flow rate.
- */
- float apply(float value);
-
- /**
- * Apply the inverse of the transformation to the specified flow rate.
- */
- float applyInverse(float value);
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/util/FlowTransformer.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/util/FlowTransformer.java
deleted file mode 100644
index 852240d8..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/util/FlowTransformer.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2.util;
-
-import org.opendc.simulator.flow2.*;
-import org.opendc.simulator.flow2.sink.FlowSink;
-import org.opendc.simulator.flow2.source.FlowSource;
-
-/**
- * Helper class to transform flow from outlet to inlet.
- */
-public final class FlowTransformer implements FlowStageLogic, FlowSource, FlowSink {
- private final FlowStage stage;
- private final InPort input;
- private final OutPort output;
-
- /**
- * Construct a new {@link FlowTransformer}.
- */
- public FlowTransformer(FlowGraph graph, FlowTransform transform) {
- this.stage = graph.newStage(this);
- this.input = stage.getInlet("in");
- this.output = stage.getOutlet("out");
-
- this.input.setHandler(new ForwardInHandler(output, transform));
- this.input.setMask(true);
- this.output.setHandler(new ForwardOutHandler(input, transform));
- this.output.setMask(true);
- }
-
- /**
- * Return the {@link Outlet} of the transformer.
- */
- @Override
- public Outlet getOutput() {
- return output;
- }
-
- /**
- * Return the {@link Inlet} of the transformer.
- */
- @Override
- public Inlet getInput() {
- return input;
- }
-
- /**
- * Close the transformer.
- */
- void close() {
- stage.close();
- }
-
- @Override
- public long onUpdate(FlowStage ctx, long now) {
- return Long.MAX_VALUE;
- }
-
- private static class ForwardInHandler implements InHandler {
- private final OutPort output;
- private final FlowTransform transform;
-
- ForwardInHandler(OutPort output, FlowTransform transform) {
- this.output = output;
- this.transform = transform;
- }
-
- @Override
- public float getRate(InPort port) {
- return transform.applyInverse(output.getRate());
- }
-
- @Override
- public void onPush(InPort port, float demand) {
- float rate = transform.apply(demand);
- output.push(rate);
- }
-
- @Override
- public void onUpstreamFinish(InPort port, Throwable cause) {
- output.fail(cause);
- }
- }
-
- private static class ForwardOutHandler implements OutHandler {
- private final InPort input;
- private final FlowTransform transform;
-
- ForwardOutHandler(InPort input, FlowTransform transform) {
- this.input = input;
- this.transform = transform;
- }
-
- @Override
- public void onPull(OutPort port, float capacity) {
- input.pull(transform.applyInverse(capacity));
- }
-
- @Override
- public void onDownstreamFinish(OutPort port, Throwable cause) {
- input.cancel(cause);
- }
- }
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/util/FlowTransforms.java b/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/util/FlowTransforms.java
deleted file mode 100644
index 428dbfca..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/main/java/org/opendc/simulator/flow2/util/FlowTransforms.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2.util;
-
-/**
- * A collection of common {@link FlowTransform} implementations.
- */
-public class FlowTransforms {
- /**
- * Prevent construction of this class.
- */
- private FlowTransforms() {}
-
- /**
- * Return a {@link FlowTransform} that forwards the flow rate unmodified.
- */
- public static FlowTransform noop() {
- return NoopFlowTransform.INSTANCE;
- }
-
- /**
- * No-op implementation of a {@link FlowTransform}.
- */
- private static final class NoopFlowTransform implements FlowTransform {
- static final NoopFlowTransform INSTANCE = new NoopFlowTransform();
-
- @Override
- public float apply(float value) {
- return value;
- }
-
- @Override
- public float applyInverse(float value) {
- return value;
- }
- }
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/test/kotlin/org/opendc/simulator/flow2/InvocationStackTest.kt b/opendc-simulator/opendc-simulator-flow/src/test/kotlin/InvocationStackTest.kt
index 2250fe87..7744d7b2 100644
--- a/opendc-simulator/opendc-simulator-flow/src/test/kotlin/org/opendc/simulator/flow2/InvocationStackTest.kt
+++ b/opendc-simulator/opendc-simulator-flow/src/test/kotlin/InvocationStackTest.kt
@@ -20,12 +20,11 @@
* SOFTWARE.
*/
-package org.opendc.simulator.flow2
-
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertFalse
import org.junit.jupiter.api.Assertions.assertTrue
import org.junit.jupiter.api.Test
+import org.opendc.simulator.engine.InvocationStack
/**
* Test suite for the [InvocationStack] class.
diff --git a/opendc-simulator/opendc-simulator-flow/src/test/kotlin/org/opendc/simulator/flow2/FlowEngineTest.kt b/opendc-simulator/opendc-simulator-flow/src/test/kotlin/org/opendc/simulator/flow2/FlowEngineTest.kt
deleted file mode 100644
index 413a5878..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/test/kotlin/org/opendc/simulator/flow2/FlowEngineTest.kt
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2
-
-import io.mockk.mockk
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.Assertions.assertNotEquals
-import org.junit.jupiter.api.Test
-import org.junit.jupiter.api.assertThrows
-import org.opendc.simulator.flow2.mux.MaxMinFlowMultiplexer
-import org.opendc.simulator.flow2.sink.SimpleFlowSink
-import org.opendc.simulator.flow2.source.SimpleFlowSource
-import org.opendc.simulator.kotlin.runSimulation
-
-/**
- * Smoke tests for the Flow API.
- */
-class FlowEngineTest {
- @Test
- fun testSmoke() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val multiplexer = MaxMinFlowMultiplexer(graph)
- val sink = SimpleFlowSink(graph, 2.0f)
-
- graph.connect(multiplexer.newOutput(), sink.input)
-
- val sourceA = SimpleFlowSource(graph, 2000.0f, 0.8f)
- val sourceB = SimpleFlowSource(graph, 2000.0f, 0.8f)
-
- graph.connect(sourceA.output, multiplexer.newInput())
- graph.connect(sourceB.output, multiplexer.newInput())
- }
-
- @Test
- fun testConnectInvalidInlet() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val inlet = mockk<Inlet>()
- val source = SimpleFlowSource(graph, 2000.0f, 0.8f)
- assertThrows<IllegalArgumentException> { graph.connect(source.output, inlet) }
- }
-
- @Test
- fun testConnectInvalidOutlet() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val outlet = mockk<Outlet>()
- val sink = SimpleFlowSink(graph, 2.0f)
- assertThrows<IllegalArgumentException> { graph.connect(outlet, sink.input) }
- }
-
- @Test
- fun testConnectInletBelongsToDifferentGraph() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graphA = engine.newGraph()
- val graphB = engine.newGraph()
-
- val sink = SimpleFlowSink(graphB, 2.0f)
- val source = SimpleFlowSource(graphA, 2000.0f, 0.8f)
-
- assertThrows<IllegalArgumentException> { graphA.connect(source.output, sink.input) }
- }
-
- @Test
- fun testConnectOutletBelongsToDifferentGraph() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graphA = engine.newGraph()
- val graphB = engine.newGraph()
-
- val sink = SimpleFlowSink(graphA, 2.0f)
- val source = SimpleFlowSource(graphB, 2000.0f, 0.8f)
-
- assertThrows<IllegalArgumentException> { graphA.connect(source.output, sink.input) }
- }
-
- @Test
- fun testConnectInletAlreadyConnected() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val sink = SimpleFlowSink(graph, 2.0f)
- val sourceA = SimpleFlowSource(graph, 2000.0f, 0.8f)
- val sourceB = SimpleFlowSource(graph, 2000.0f, 0.8f)
-
- graph.connect(sourceA.output, sink.input)
- assertThrows<IllegalStateException> { graph.connect(sourceB.output, sink.input) }
- }
-
- @Test
- fun testConnectOutletAlreadyConnected() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val sinkA = SimpleFlowSink(graph, 2.0f)
- val sinkB = SimpleFlowSink(graph, 2.0f)
- val source = SimpleFlowSource(graph, 2000.0f, 0.8f)
-
- graph.connect(source.output, sinkA.input)
- assertThrows<IllegalStateException> { graph.connect(source.output, sinkB.input) }
- }
-
- @Test
- fun testDisconnectInletInvalid() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val inlet = mockk<Inlet>()
- assertThrows<IllegalArgumentException> { graph.disconnect(inlet) }
- }
-
- @Test
- fun testDisconnectOutletInvalid() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val outlet = mockk<Outlet>()
- assertThrows<IllegalArgumentException> { graph.disconnect(outlet) }
- }
-
- @Test
- fun testDisconnectInletInvalidGraph() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graphA = engine.newGraph()
- val graphB = engine.newGraph()
-
- val sink = SimpleFlowSink(graphA, 2.0f)
-
- assertThrows<IllegalArgumentException> { graphB.disconnect(sink.input) }
- }
-
- @Test
- fun testDisconnectOutletInvalidGraph() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graphA = engine.newGraph()
- val graphB = engine.newGraph()
-
- val source = SimpleFlowSource(graphA, 2000.0f, 0.8f)
-
- assertThrows<IllegalArgumentException> { graphB.disconnect(source.output) }
- }
-
- @Test
- fun testInletEquality() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val sinkA = SimpleFlowSink(graph, 2.0f)
- val sinkB = SimpleFlowSink(graph, 2.0f)
-
- val multiplexer = MaxMinFlowMultiplexer(graph)
-
- assertEquals(sinkA.input, sinkA.input)
- assertNotEquals(sinkA.input, sinkB.input)
-
- assertNotEquals(multiplexer.newInput(), multiplexer.newInput())
- }
-
- @Test
- fun testOutletEquality() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val sourceA = SimpleFlowSource(graph, 2000.0f, 0.8f)
- val sourceB = SimpleFlowSource(graph, 2000.0f, 0.8f)
-
- val multiplexer = MaxMinFlowMultiplexer(graph)
-
- assertEquals(sourceA.output, sourceA.output)
- assertNotEquals(sourceA.output, sourceB.output)
-
- assertNotEquals(multiplexer.newOutput(), multiplexer.newOutput())
- }
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/test/kotlin/org/opendc/simulator/flow2/FlowTimerQueueTest.kt b/opendc-simulator/opendc-simulator-flow/src/test/kotlin/org/opendc/simulator/flow2/FlowTimerQueueTest.kt
deleted file mode 100644
index 059bd5f5..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/test/kotlin/org/opendc/simulator/flow2/FlowTimerQueueTest.kt
+++ /dev/null
@@ -1,385 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2
-
-import io.mockk.mockk
-import org.junit.jupiter.api.Assertions.assertAll
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.Assertions.assertNull
-import org.junit.jupiter.api.BeforeEach
-import org.junit.jupiter.api.Test
-
-/**
- * Test suite for the [FlowTimerQueue] class.
- */
-class FlowTimerQueueTest {
- private lateinit var queue: FlowTimerQueue
-
- @BeforeEach
- fun setUp() {
- queue = FlowTimerQueue(3)
- }
-
- /**
- * Test whether a call to [FlowTimerQueue.poll] returns `null` for an empty queue.
- */
- @Test
- fun testPollEmpty() {
- assertAll(
- { assertEquals(Long.MAX_VALUE, queue.peekDeadline()) },
- { assertNull(queue.poll(100L)) },
- )
- }
-
- /**
- * Test whether a call to [FlowTimerQueue.poll] returns the proper value for a queue with a single entry.
- */
- @Test
- fun testSingleEntry() {
- val entry = mockk<FlowStage>()
- entry.deadline = 100
- entry.timerIndex = -1
-
- queue.enqueue(entry)
-
- assertAll(
- { assertEquals(100, queue.peekDeadline()) },
- { assertNull(queue.poll(10L)) },
- { assertEquals(entry, queue.poll(200L)) },
- { assertNull(queue.poll(200L)) },
- )
- }
-
- /**
- * Test whether [FlowTimerQueue.poll] returns values in the queue in the proper order.
- */
- @Test
- fun testMultipleEntries() {
- val entryA = mockk<FlowStage>()
- entryA.deadline = 100
- entryA.timerIndex = -1
-
- queue.enqueue(entryA)
-
- val entryB = mockk<FlowStage>()
- entryB.deadline = 10
- entryB.timerIndex = -1
-
- queue.enqueue(entryB)
-
- val entryC = mockk<FlowStage>()
- entryC.deadline = 58
- entryC.timerIndex = -1
-
- queue.enqueue(entryC)
-
- assertAll(
- { assertEquals(10, queue.peekDeadline()) },
- { assertEquals(entryB, queue.poll(100L)) },
- { assertEquals(entryC, queue.poll(100L)) },
- { assertEquals(entryA, queue.poll(100L)) },
- { assertNull(queue.poll(100L)) },
- )
- }
-
- /**
- * Test that the queue is properly resized when the number of entries exceed the capacity.
- */
- @Test
- fun testResize() {
- val entryA = mockk<FlowStage>()
- entryA.deadline = 100
- entryA.timerIndex = -1
-
- queue.enqueue(entryA)
-
- val entryB = mockk<FlowStage>()
- entryB.deadline = 20
- entryB.timerIndex = -1
-
- queue.enqueue(entryB)
-
- val entryC = mockk<FlowStage>()
- entryC.deadline = 58
- entryC.timerIndex = -1
-
- queue.enqueue(entryC)
-
- val entryD = mockk<FlowStage>()
- entryD.deadline = 31
- entryD.timerIndex = -1
-
- queue.enqueue(entryD)
-
- assertAll(
- { assertEquals(20, queue.peekDeadline()) },
- { assertEquals(entryB, queue.poll(100L)) },
- { assertEquals(entryD, queue.poll(100L)) },
- { assertEquals(entryC, queue.poll(100L)) },
- { assertEquals(entryA, queue.poll(100L)) },
- { assertNull(queue.poll(100L)) },
- )
- }
-
- /**
- * Test to verify that we can change the deadline of the last element in the queue.
- */
- @Test
- fun testChangeDeadlineTail() {
- val entryA = mockk<FlowStage>()
- entryA.deadline = 100
- entryA.timerIndex = -1
-
- queue.enqueue(entryA)
-
- val entryB = mockk<FlowStage>()
- entryB.deadline = 20
- entryB.timerIndex = -1
-
- queue.enqueue(entryB)
-
- val entryC = mockk<FlowStage>()
- entryC.deadline = 58
- entryC.timerIndex = -1
-
- queue.enqueue(entryC)
-
- entryA.deadline = 10
- queue.enqueue(entryA)
-
- assertAll(
- { assertEquals(10, queue.peekDeadline()) },
- { assertEquals(entryA, queue.poll(100L)) },
- { assertEquals(entryB, queue.poll(100L)) },
- { assertEquals(entryC, queue.poll(100L)) },
- { assertNull(queue.poll(100L)) },
- )
- }
-
- /**
- * Test that we can change the deadline of the head entry in the queue.
- */
- @Test
- fun testChangeDeadlineMiddle() {
- val entryA = mockk<FlowStage>()
- entryA.deadline = 100
- entryA.timerIndex = -1
-
- queue.enqueue(entryA)
-
- val entryB = mockk<FlowStage>()
- entryB.deadline = 20
- entryB.timerIndex = -1
-
- queue.enqueue(entryB)
-
- val entryC = mockk<FlowStage>()
- entryC.deadline = 58
- entryC.timerIndex = -1
-
- queue.enqueue(entryC)
-
- entryC.deadline = 10
- queue.enqueue(entryC)
-
- assertAll(
- { assertEquals(10, queue.peekDeadline()) },
- { assertEquals(entryC, queue.poll(100L)) },
- { assertEquals(entryB, queue.poll(100L)) },
- { assertEquals(entryA, queue.poll(100L)) },
- { assertNull(queue.poll(100L)) },
- )
- }
-
- /**
- * Test that we can change the deadline of the head entry in the queue.
- */
- @Test
- fun testChangeDeadlineHead() {
- val entryA = mockk<FlowStage>()
- entryA.deadline = 100
- entryA.timerIndex = -1
-
- queue.enqueue(entryA)
-
- val entryB = mockk<FlowStage>()
- entryB.deadline = 20
- entryB.timerIndex = -1
-
- queue.enqueue(entryB)
-
- val entryC = mockk<FlowStage>()
- entryC.deadline = 58
- entryC.timerIndex = -1
-
- queue.enqueue(entryC)
-
- entryB.deadline = 30
- queue.enqueue(entryB)
-
- assertAll(
- { assertEquals(30, queue.peekDeadline()) },
- { assertEquals(entryB, queue.poll(100L)) },
- { assertEquals(entryC, queue.poll(100L)) },
- { assertEquals(entryA, queue.poll(100L)) },
- { assertNull(queue.poll(100L)) },
- )
- }
-
- /**
- * Test that an unchanged deadline results in a no-op.
- */
- @Test
- fun testChangeDeadlineNop() {
- val entryA = mockk<FlowStage>()
- entryA.deadline = 100
- entryA.timerIndex = -1
-
- queue.enqueue(entryA)
-
- val entryB = mockk<FlowStage>()
- entryB.deadline = 20
- entryB.timerIndex = -1
-
- queue.enqueue(entryB)
-
- val entryC = mockk<FlowStage>()
- entryC.deadline = 58
- entryC.timerIndex = -1
-
- queue.enqueue(entryC)
-
- // Should be a no-op
- queue.enqueue(entryA)
-
- assertAll(
- { assertEquals(20, queue.peekDeadline()) },
- { assertEquals(entryB, queue.poll(100L)) },
- { assertEquals(entryC, queue.poll(100L)) },
- { assertEquals(entryA, queue.poll(100L)) },
- { assertNull(queue.poll(100L)) },
- )
- }
-
- /**
- * Test that we can remove an entry from the end of the queue.
- */
- @Test
- fun testRemoveEntryTail() {
- val entryA = mockk<FlowStage>()
- entryA.deadline = 100
- entryA.timerIndex = -1
-
- queue.enqueue(entryA)
-
- val entryB = mockk<FlowStage>()
- entryB.deadline = 20
- entryB.timerIndex = -1
-
- queue.enqueue(entryB)
-
- val entryC = mockk<FlowStage>()
- entryC.deadline = 58
- entryC.timerIndex = -1
-
- queue.enqueue(entryC)
-
- entryC.deadline = Long.MAX_VALUE
- queue.enqueue(entryC)
-
- assertAll(
- { assertEquals(20, queue.peekDeadline()) },
- { assertEquals(entryB, queue.poll(100L)) },
- { assertEquals(entryA, queue.poll(100L)) },
- { assertNull(queue.poll(100L)) },
- )
- }
-
- /**
- * Test that we can remove an entry from the head of the queue.
- */
- @Test
- fun testRemoveEntryHead() {
- val entryA = mockk<FlowStage>()
- entryA.deadline = 100
- entryA.timerIndex = -1
-
- queue.enqueue(entryA)
-
- val entryB = mockk<FlowStage>()
- entryB.deadline = 20
- entryB.timerIndex = -1
-
- queue.enqueue(entryB)
-
- val entryC = mockk<FlowStage>()
- entryC.deadline = 58
- entryC.timerIndex = -1
-
- queue.enqueue(entryC)
-
- entryB.deadline = Long.MAX_VALUE
- queue.enqueue(entryB)
-
- assertAll(
- { assertEquals(58, queue.peekDeadline()) },
- { assertEquals(entryC, queue.poll(100L)) },
- { assertEquals(entryA, queue.poll(100L)) },
- { assertNull(queue.poll(100L)) },
- )
- }
-
- /**
- * Test that we can remove an entry from the middle of a queue.
- */
- @Test
- fun testRemoveEntryMiddle() {
- val entryA = mockk<FlowStage>()
- entryA.deadline = 100
- entryA.timerIndex = -1
-
- queue.enqueue(entryA)
-
- val entryB = mockk<FlowStage>()
- entryB.deadline = 20
- entryB.timerIndex = -1
-
- queue.enqueue(entryB)
-
- val entryC = mockk<FlowStage>()
- entryC.deadline = 58
- entryC.timerIndex = -1
-
- queue.enqueue(entryC)
-
- entryC.deadline = Long.MAX_VALUE
- queue.enqueue(entryC)
-
- assertAll(
- { assertEquals(20, queue.peekDeadline()) },
- { assertEquals(entryB, queue.poll(100L)) },
- { assertEquals(entryA, queue.poll(100L)) },
- { assertNull(queue.poll(100L)) },
- )
- }
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/test/kotlin/org/opendc/simulator/flow2/mux/ForwardingFlowMultiplexerTest.kt b/opendc-simulator/opendc-simulator-flow/src/test/kotlin/org/opendc/simulator/flow2/mux/ForwardingFlowMultiplexerTest.kt
deleted file mode 100644
index 2aef5174..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/test/kotlin/org/opendc/simulator/flow2/mux/ForwardingFlowMultiplexerTest.kt
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2.mux
-
-import kotlinx.coroutines.yield
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.Test
-import org.junit.jupiter.api.assertAll
-import org.opendc.simulator.flow2.FlowEngine
-import org.opendc.simulator.flow2.sink.SimpleFlowSink
-import org.opendc.simulator.flow2.source.TraceFlowSource
-import org.opendc.simulator.kotlin.runSimulation
-
-/**
- * Test suite for the [ForwardingFlowMultiplexer] class.
- */
-class ForwardingFlowMultiplexerTest {
- /**
- * Test a trace workload.
- */
- @Test
- fun testTrace() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val switch = ForwardingFlowMultiplexer(graph)
- val sink = SimpleFlowSink(graph, 3200.0f)
- graph.connect(switch.newOutput(), sink.input)
-
- yield()
-
- assertEquals(sink.capacity, switch.capacity) { "Capacity is not detected" }
-
- val workload =
- TraceFlowSource(
- graph,
- TraceFlowSource.Trace(
- longArrayOf(1000, 2000, 3000, 4000),
- floatArrayOf(28.0f, 3500.0f, 0.0f, 183.0f),
- 4,
- ),
- )
- graph.connect(workload.output, switch.newInput())
-
- advanceUntilIdle()
-
- assertAll(
- { assertEquals(4000, timeSource.millis()) { "Took enough time" } },
- )
- }
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/test/kotlin/org/opendc/simulator/flow2/mux/MaxMinFlowMultiplexerTest.kt b/opendc-simulator/opendc-simulator-flow/src/test/kotlin/org/opendc/simulator/flow2/mux/MaxMinFlowMultiplexerTest.kt
deleted file mode 100644
index 0bcf4a3f..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/test/kotlin/org/opendc/simulator/flow2/mux/MaxMinFlowMultiplexerTest.kt
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2.mux
-
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.Test
-import org.opendc.simulator.flow2.FlowEngine
-import org.opendc.simulator.flow2.sink.SimpleFlowSink
-import org.opendc.simulator.flow2.source.SimpleFlowSource
-import org.opendc.simulator.kotlin.runSimulation
-
-/**
- * Test suite for the [MaxMinFlowMultiplexer] class.
- */
-class MaxMinFlowMultiplexerTest {
- @Test
- fun testSmoke() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val switch = MaxMinFlowMultiplexer(graph)
-
- val sinks = List(2) { SimpleFlowSink(graph, 2000.0f) }
- for (source in sinks) {
- graph.connect(switch.newOutput(), source.input)
- }
-
- val source = SimpleFlowSource(graph, 2000.0f, 1.0f)
- graph.connect(source.output, switch.newInput())
-
- advanceUntilIdle()
-
- assertEquals(500, timeSource.millis())
- }
-}
diff --git a/opendc-simulator/opendc-simulator-flow/src/test/kotlin/org/opendc/simulator/flow2/sink/FlowSinkTest.kt b/opendc-simulator/opendc-simulator-flow/src/test/kotlin/org/opendc/simulator/flow2/sink/FlowSinkTest.kt
deleted file mode 100644
index 7085a4b9..00000000
--- a/opendc-simulator/opendc-simulator-flow/src/test/kotlin/org/opendc/simulator/flow2/sink/FlowSinkTest.kt
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.flow2.sink
-
-import kotlinx.coroutines.delay
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.Test
-import org.opendc.simulator.flow2.FlowEngine
-import org.opendc.simulator.flow2.source.SimpleFlowSource
-import org.opendc.simulator.flow2.source.TraceFlowSource
-import org.opendc.simulator.kotlin.runSimulation
-import java.util.concurrent.ThreadLocalRandom
-
-/**
- * Test suite for the [SimpleFlowSink] class.
- */
-class FlowSinkTest {
- @Test
- fun testSmoke() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val sink = SimpleFlowSink(graph, 1.0f)
- val source = SimpleFlowSource(graph, 2.0f, 1.0f)
-
- graph.connect(source.output, sink.input)
- advanceUntilIdle()
-
- assertEquals(2000, timeSource.millis())
- }
-
- @Test
- fun testAdjustCapacity() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val sink = SimpleFlowSink(graph, 1.0f)
- val source = SimpleFlowSource(graph, 2.0f, 1.0f)
-
- graph.connect(source.output, sink.input)
-
- delay(1000)
- sink.capacity = 0.5f
-
- advanceUntilIdle()
-
- assertEquals(3000, timeSource.millis())
- }
-
- @Test
- fun testUtilization() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val sink = SimpleFlowSink(graph, 1.0f)
- val source = SimpleFlowSource(graph, 2.0f, 0.5f)
-
- graph.connect(source.output, sink.input)
- advanceUntilIdle()
-
- assertEquals(4000, timeSource.millis())
- }
-
- @Test
- fun testFragments() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
-
- val sink = SimpleFlowSink(graph, 1.0f)
- val trace =
- TraceFlowSource.Trace(
- longArrayOf(1000, 2000, 3000, 4000),
- floatArrayOf(1.0f, 0.5f, 2.0f, 1.0f),
- 4,
- )
- val source =
- TraceFlowSource(
- graph,
- trace,
- )
-
- graph.connect(source.output, sink.input)
- advanceUntilIdle()
-
- assertEquals(4000, timeSource.millis())
- }
-
- @Test
- fun benchmarkSink() {
- val random = ThreadLocalRandom.current()
- val traceSize = 10000000
- val trace =
- TraceFlowSource.Trace(
- LongArray(traceSize) { it * 1000L },
- FloatArray(traceSize) { random.nextDouble(0.0, 4500.0).toFloat() },
- traceSize,
- )
-
- return runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val sink = SimpleFlowSink(graph, 4200.0f)
- val source = TraceFlowSource(graph, trace)
- graph.connect(source.output, sink.input)
- }
- }
-}
diff --git a/opendc-simulator/opendc-simulator-network/src/main/java/org/opendc/simulator/network/SimNetworkLink.java b/opendc-simulator/opendc-simulator-network/src/main/java/org/opendc/simulator/network/SimNetworkLink.java
deleted file mode 100644
index 1ea9cb0e..00000000
--- a/opendc-simulator/opendc-simulator-network/src/main/java/org/opendc/simulator/network/SimNetworkLink.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.network;
-
-/**
- * A physical bidirectional communication link between two [SimNetworkPort]s.
- */
-public final class SimNetworkLink {
- private final SimNetworkPort left;
- private final SimNetworkPort right;
-
- SimNetworkLink(SimNetworkPort left, SimNetworkPort right) {
- this.left = left;
- this.right = right;
- }
-
- /**
- * Determine whether the specified <code>port</code> participates in this network link.
- *
- * @return <code>true</code> if the port participates in this link, <code>false</code> otherwise.
- */
- public boolean contains(SimNetworkPort port) {
- return port == left || port == right;
- }
-
- /**
- * Obtain the opposite port to which the specified <code>port</code> is connected through this link.
- */
- public SimNetworkPort opposite(SimNetworkPort port) {
- if (port == left) {
- return right;
- } else if (port == right) {
- return left;
- }
-
- throw new IllegalArgumentException("Invalid port given");
- }
-
- /**
- * Return the first port of the link.
- */
- public SimNetworkPort getLeft() {
- return left;
- }
-
- /**
- * Return the second port of the link.
- */
- public SimNetworkPort getRight() {
- return right;
- }
-
- @Override
- public String toString() {
- return "SimNetworkLink[left=" + left + ",right=" + right + "]";
- }
-}
diff --git a/opendc-simulator/opendc-simulator-network/src/main/java/org/opendc/simulator/network/SimNetworkPort.java b/opendc-simulator/opendc-simulator-network/src/main/java/org/opendc/simulator/network/SimNetworkPort.java
deleted file mode 100644
index b5e09b9b..00000000
--- a/opendc-simulator/opendc-simulator-network/src/main/java/org/opendc/simulator/network/SimNetworkPort.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.network;
-
-import org.opendc.simulator.flow2.Inlet;
-import org.opendc.simulator.flow2.Outlet;
-
-/**
- * A network port allows network devices to be connected to network through links.
- */
-public abstract class SimNetworkPort {
- SimNetworkLink link;
-
- /**
- * Determine whether the network port is connected to another port.
- *
- * @return <code>true</code> if the network port is connected, <code>false</code> otherwise.
- */
- public boolean isConnected() {
- return link != null;
- }
-
- /**
- * Return network link which connects this port to another port.
- */
- public SimNetworkLink getLink() {
- return link;
- }
-
- /**
- * Connect this port to the specified <code>port</code>.
- */
- public void connect(SimNetworkPort port) {
- if (port == this) {
- throw new IllegalArgumentException("Circular reference");
- }
- if (isConnected()) {
- throw new IllegalStateException("Port already connected");
- }
- if (port.isConnected()) {
- throw new IllegalStateException("Target port already connected");
- }
-
- final SimNetworkLink link = new SimNetworkLink(this, port);
- this.link = link;
- port.link = link;
-
- // Start bidirectional flow channel between the two ports
- final Outlet outlet = getOutlet();
- final Inlet inlet = getInlet();
-
- outlet.getGraph().connect(outlet, port.getInlet());
- inlet.getGraph().connect(port.getOutlet(), inlet);
- }
-
- /**
- * Disconnect the current network link if it exists.
- */
- public void disconnect() {
- final SimNetworkLink link = this.link;
- if (link == null) {
- return;
- }
-
- final SimNetworkPort opposite = link.opposite(this);
- this.link = null;
- opposite.link = null;
-
- final Outlet outlet = getOutlet();
- final Inlet inlet = getInlet();
-
- outlet.getGraph().disconnect(outlet);
- inlet.getGraph().disconnect(inlet);
- }
-
- /**
- * Return the {@link Outlet} representing the outgoing traffic of this port.
- */
- protected abstract Outlet getOutlet();
-
- /**
- * An [Inlet] representing the ingoing traffic of this port.
- */
- protected abstract Inlet getInlet();
-
- @Override
- public String toString() {
- return "SimNetworkPort[isConnected=" + isConnected() + "]";
- }
-}
diff --git a/opendc-simulator/opendc-simulator-network/src/main/java/org/opendc/simulator/network/SimNetworkSink.java b/opendc-simulator/opendc-simulator-network/src/main/java/org/opendc/simulator/network/SimNetworkSink.java
deleted file mode 100644
index f8918328..00000000
--- a/opendc-simulator/opendc-simulator-network/src/main/java/org/opendc/simulator/network/SimNetworkSink.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.network;
-
-import org.opendc.simulator.flow2.FlowGraph;
-import org.opendc.simulator.flow2.Inlet;
-import org.opendc.simulator.flow2.Outlet;
-import org.opendc.simulator.flow2.sink.SimpleFlowSink;
-import org.opendc.simulator.flow2.source.EmptyFlowSource;
-
-/**
- * A network sink which discards all received traffic and does not generate any traffic itself.
- */
-public final class SimNetworkSink extends SimNetworkPort {
- private final EmptyFlowSource source;
- private final SimpleFlowSink sink;
-
- /**
- * Construct a {@link SimNetworkSink} instance.
- *
- * @param graph The {@link FlowGraph} to which the sink belongs.
- * @param capacity The capacity of the sink in terms of processed data.
- */
- public SimNetworkSink(FlowGraph graph, float capacity) {
- this.source = new EmptyFlowSource(graph);
- this.sink = new SimpleFlowSink(graph, capacity);
- }
-
- /**
- * Return the capacity of the sink.
- */
- public float getCapacity() {
- return sink.getCapacity();
- }
-
- @Override
- protected Outlet getOutlet() {
- return source.getOutput();
- }
-
- @Override
- protected Inlet getInlet() {
- return sink.getInput();
- }
-
- @Override
- public String toString() {
- return "SimNetworkSink[capacity=" + getCapacity() + "]";
- }
-}
diff --git a/opendc-simulator/opendc-simulator-network/src/main/java/org/opendc/simulator/network/SimNetworkSwitch.java b/opendc-simulator/opendc-simulator-network/src/main/java/org/opendc/simulator/network/SimNetworkSwitch.java
deleted file mode 100644
index b05dc53d..00000000
--- a/opendc-simulator/opendc-simulator-network/src/main/java/org/opendc/simulator/network/SimNetworkSwitch.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.network;
-
-import java.util.List;
-
-/**
- * A network device connects devices on a network by switching the traffic over its ports.
- */
-public interface SimNetworkSwitch {
- /**
- * Return the ports of the switch.
- */
- List<SimNetworkPort> getPorts();
-}
diff --git a/opendc-simulator/opendc-simulator-network/src/main/java/org/opendc/simulator/network/SimNetworkSwitchVirtual.java b/opendc-simulator/opendc-simulator-network/src/main/java/org/opendc/simulator/network/SimNetworkSwitchVirtual.java
deleted file mode 100644
index a94bf799..00000000
--- a/opendc-simulator/opendc-simulator-network/src/main/java/org/opendc/simulator/network/SimNetworkSwitchVirtual.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.network;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import org.opendc.simulator.flow2.FlowGraph;
-import org.opendc.simulator.flow2.Inlet;
-import org.opendc.simulator.flow2.Outlet;
-import org.opendc.simulator.flow2.mux.FlowMultiplexer;
-import org.opendc.simulator.flow2.mux.MaxMinFlowMultiplexer;
-
-/**
- * A {@link SimNetworkSwitch} that can support new networking ports on demand.
- */
-public final class SimNetworkSwitchVirtual implements SimNetworkSwitch {
- private final List<Port> ports = new ArrayList<>();
-
- /**
- * The {@link MaxMinFlowMultiplexer} to actually perform the switching.
- */
- private final MaxMinFlowMultiplexer mux;
-
- /**
- * Construct a {@link SimNetworkSwitchVirtual} instance.
- *
- * @param graph The {@link FlowGraph} to drive the simulation.
- */
- public SimNetworkSwitchVirtual(FlowGraph graph) {
- this.mux = new MaxMinFlowMultiplexer(graph);
- }
-
- /**
- * Open a new port on the switch.
- */
- public Port newPort() {
- final Port port = new Port(mux);
- ports.add(port);
- return port;
- }
-
- @Override
- public List<SimNetworkPort> getPorts() {
- return Collections.unmodifiableList(ports);
- }
-
- /**
- * A port on the network switch.
- */
- public class Port extends SimNetworkPort implements AutoCloseable {
- private final FlowMultiplexer mux;
- private final Inlet inlet;
- private final Outlet outlet;
- private boolean isClosed;
-
- private Port(FlowMultiplexer mux) {
- this.mux = mux;
- this.inlet = mux.newInput();
- this.outlet = mux.newOutput();
- }
-
- @Override
- protected Outlet getOutlet() {
- if (isClosed) {
- throw new IllegalStateException("Port is closed");
- }
- return outlet;
- }
-
- @Override
- protected Inlet getInlet() {
- if (isClosed) {
- throw new IllegalStateException("Port is closed");
- }
- return inlet;
- }
-
- @Override
- public void close() {
- isClosed = true;
- mux.releaseInput(inlet);
- mux.releaseOutput(outlet);
- ports.remove(this);
- }
- }
-}
diff --git a/opendc-simulator/opendc-simulator-network/src/test/kotlin/org/opendc/simulator/network/SimNetworkLinkTest.kt b/opendc-simulator/opendc-simulator-network/src/test/kotlin/org/opendc/simulator/network/SimNetworkLinkTest.kt
deleted file mode 100644
index 9863507d..00000000
--- a/opendc-simulator/opendc-simulator-network/src/test/kotlin/org/opendc/simulator/network/SimNetworkLinkTest.kt
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.network
-
-import io.mockk.mockk
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.Assertions.assertFalse
-import org.junit.jupiter.api.Assertions.assertTrue
-import org.junit.jupiter.api.Test
-import org.junit.jupiter.api.assertThrows
-
-/**
- * Test suite for [SimNetworkLink] class.
- */
-class SimNetworkLinkTest {
- @Test
- fun testContainsLeft() {
- val left = mockk<SimNetworkPort>()
- val right = mockk<SimNetworkPort>()
-
- val link = SimNetworkLink(left, right)
- assertTrue(left in link)
- }
-
- @Test
- fun testContainsRight() {
- val left = mockk<SimNetworkPort>()
- val right = mockk<SimNetworkPort>()
-
- val link = SimNetworkLink(left, right)
- assertTrue(right in link)
- }
-
- @Test
- fun testContainsNone() {
- val left = mockk<SimNetworkPort>()
- val right = mockk<SimNetworkPort>()
- val none = mockk<SimNetworkPort>()
-
- val link = SimNetworkLink(left, right)
- assertFalse(none in link)
- }
-
- @Test
- fun testOppositeLeft() {
- val left = mockk<SimNetworkPort>()
- val right = mockk<SimNetworkPort>()
-
- val link = SimNetworkLink(left, right)
- assertEquals(right, link.opposite(left))
- }
-
- @Test
- fun testOppositeRight() {
- val left = mockk<SimNetworkPort>()
- val right = mockk<SimNetworkPort>()
-
- val link = SimNetworkLink(left, right)
- assertEquals(left, link.opposite(right))
- }
-
- @Test
- fun testOppositeNone() {
- val left = mockk<SimNetworkPort>()
- val right = mockk<SimNetworkPort>()
- val none = mockk<SimNetworkPort>()
-
- val link = SimNetworkLink(left, right)
- assertThrows<IllegalArgumentException> { link.opposite(none) }
- }
-}
diff --git a/opendc-simulator/opendc-simulator-network/src/test/kotlin/org/opendc/simulator/network/SimNetworkSinkTest.kt b/opendc-simulator/opendc-simulator-network/src/test/kotlin/org/opendc/simulator/network/SimNetworkSinkTest.kt
deleted file mode 100644
index 4655bfea..00000000
--- a/opendc-simulator/opendc-simulator-network/src/test/kotlin/org/opendc/simulator/network/SimNetworkSinkTest.kt
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.network
-
-import io.mockk.every
-import io.mockk.mockk
-import io.mockk.verify
-import kotlinx.coroutines.yield
-import org.junit.jupiter.api.Assertions.assertAll
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.Assertions.assertFalse
-import org.junit.jupiter.api.Assertions.assertNull
-import org.junit.jupiter.api.Assertions.assertTrue
-import org.junit.jupiter.api.Test
-import org.junit.jupiter.api.assertDoesNotThrow
-import org.junit.jupiter.api.assertThrows
-import org.opendc.simulator.flow2.FlowEngine
-import org.opendc.simulator.kotlin.runSimulation
-
-/**
- * Test suite for the [SimNetworkSink] class.
- */
-class SimNetworkSinkTest {
- @Test
- fun testInitialState() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val sink = SimNetworkSink(graph, 100.0f)
-
- assertAll(
- { assertFalse(sink.isConnected) },
- { assertNull(sink.link) },
- { assertEquals(100.0f, sink.capacity) },
- )
- }
-
- @Test
- fun testDisconnectIdempotent() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val sink = SimNetworkSink(graph, 100.0f)
-
- assertDoesNotThrow { sink.disconnect() }
- assertFalse(sink.isConnected)
- }
-
- @Test
- fun testConnectCircular() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val sink = SimNetworkSink(graph, 100.0f)
-
- assertThrows<IllegalArgumentException> {
- sink.connect(sink)
- }
- }
-
- @Test
- fun testConnectAlreadyConnectedTarget() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val sink = SimNetworkSink(graph, 100.0f)
- val source = mockk<SimNetworkPort>(relaxUnitFun = true)
- every { source.isConnected } returns true
-
- assertThrows<IllegalStateException> {
- sink.connect(source)
- }
- }
-
- @Test
- fun testConnectAlreadyConnected() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val sink = SimNetworkSink(graph, 100.0f)
- val source1 = TestSource(graph)
-
- val source2 = mockk<SimNetworkPort>(relaxUnitFun = true)
-
- every { source2.isConnected } returns false
-
- sink.connect(source1)
- assertThrows<IllegalStateException> {
- sink.connect(source2)
- }
- }
-
- @Test
- fun testConnect() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val sink = SimNetworkSink(graph, 100.0f)
- val source = TestSource(graph)
-
- sink.connect(source)
-
- yield()
-
- assertAll(
- { assertTrue(sink.isConnected) },
- { assertTrue(source.isConnected) },
- { assertEquals(100.0f, source.outlet.capacity) },
- )
-
- verify { source.logic.onUpdate(any(), any()) }
- }
-
- @Test
- fun testDisconnect() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val sink = SimNetworkSink(graph, 100.0f)
- val source = TestSource(graph)
-
- sink.connect(source)
- sink.disconnect()
-
- yield()
-
- assertAll(
- { assertFalse(sink.isConnected) },
- { assertFalse(source.isConnected) },
- { assertEquals(0.0f, source.outlet.capacity) },
- )
- }
-}
diff --git a/opendc-simulator/opendc-simulator-network/src/test/kotlin/org/opendc/simulator/network/SimNetworkSwitchVirtualTest.kt b/opendc-simulator/opendc-simulator-network/src/test/kotlin/org/opendc/simulator/network/SimNetworkSwitchVirtualTest.kt
deleted file mode 100644
index b5a00ffc..00000000
--- a/opendc-simulator/opendc-simulator-network/src/test/kotlin/org/opendc/simulator/network/SimNetworkSwitchVirtualTest.kt
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.network
-
-import io.mockk.verify
-import kotlinx.coroutines.yield
-import org.junit.jupiter.api.Assertions.assertAll
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.Assertions.assertTrue
-import org.junit.jupiter.api.Test
-import org.junit.jupiter.api.assertThrows
-import org.opendc.simulator.flow2.FlowEngine
-import org.opendc.simulator.kotlin.runSimulation
-
-/**
- * Test suite for the [SimNetworkSwitchVirtual] class.
- */
-class SimNetworkSwitchVirtualTest {
- @Test
- fun testConnect() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val sink = SimNetworkSink(graph, 100.0f)
- val source = TestSource(graph)
- val switch = SimNetworkSwitchVirtual(graph)
-
- switch.newPort().connect(sink)
- switch.newPort().connect(source)
-
- yield()
-
- assertAll(
- { assertTrue(sink.isConnected) },
- { assertTrue(source.isConnected) },
- { assertEquals(100.0f, source.outlet.capacity) },
- )
-
- verify { source.logic.onUpdate(any(), any()) }
- }
-
- @Test
- fun testConnectClosedPort() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val sink = SimNetworkSink(graph, 100.0f)
- val switch = SimNetworkSwitchVirtual(graph)
-
- val port = switch.newPort()
- port.close()
-
- assertThrows<IllegalStateException> {
- port.connect(sink)
- }
- }
-}
diff --git a/opendc-simulator/opendc-simulator-network/src/test/kotlin/org/opendc/simulator/network/TestSource.kt b/opendc-simulator/opendc-simulator-network/src/test/kotlin/org/opendc/simulator/network/TestSource.kt
deleted file mode 100644
index 298a5d48..00000000
--- a/opendc-simulator/opendc-simulator-network/src/test/kotlin/org/opendc/simulator/network/TestSource.kt
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.network
-
-import io.mockk.spyk
-import org.opendc.simulator.flow2.FlowGraph
-import org.opendc.simulator.flow2.FlowStage
-import org.opendc.simulator.flow2.FlowStageLogic
-import org.opendc.simulator.flow2.InPort
-import org.opendc.simulator.flow2.Inlet
-import org.opendc.simulator.flow2.OutPort
-import org.opendc.simulator.flow2.Outlet
-
-/**
- * A [SimNetworkPort] that acts as a test source.
- */
-class TestSource(graph: FlowGraph) : SimNetworkPort(), FlowStageLogic {
- val logic = spyk(this)
- private val stage = graph.newStage(logic)
-
- val outlet: OutPort = stage.getOutlet("out")
- val inlet: InPort = stage.getInlet("in")
-
- init {
- outlet.push(80.0f)
- }
-
- override fun onUpdate(
- ctx: FlowStage,
- now: Long,
- ): Long = Long.MAX_VALUE
-
- override fun getOutlet(): Outlet = outlet
-
- override fun getInlet(): Inlet = inlet
-}
diff --git a/opendc-simulator/opendc-simulator-power/src/main/java/org/opendc/simulator/power/SimPdu.java b/opendc-simulator/opendc-simulator-power/src/main/java/org/opendc/simulator/power/SimPdu.java
deleted file mode 100644
index 8790a2d7..00000000
--- a/opendc-simulator/opendc-simulator-power/src/main/java/org/opendc/simulator/power/SimPdu.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.power;
-
-import org.jetbrains.annotations.NotNull;
-import org.opendc.simulator.flow2.FlowGraph;
-import org.opendc.simulator.flow2.Inlet;
-import org.opendc.simulator.flow2.Outlet;
-import org.opendc.simulator.flow2.mux.FlowMultiplexer;
-import org.opendc.simulator.flow2.mux.MaxMinFlowMultiplexer;
-import org.opendc.simulator.flow2.util.FlowTransform;
-import org.opendc.simulator.flow2.util.FlowTransformer;
-
-/**
- * A model of a Power Distribution Unit (PDU).
- */
-public final class SimPdu extends SimPowerInlet {
- /**
- * The {@link FlowMultiplexer} that distributes the electricity over the PDU outlets.
- */
- private final MaxMinFlowMultiplexer mux;
-
- /**
- * A {@link FlowTransformer} that applies the power loss to the PDU's power inlet.
- */
- private final FlowTransformer transformer;
-
- /**
- * Construct a {@link SimPdu} instance.
- *
- * @param graph The underlying {@link FlowGraph} to which the PDU belongs.
- * @param idlePower The idle power consumption of the PDU independent of the load on the PDU.
- * @param lossCoefficient The coefficient for the power loss of the PDU proportional to the square load.
- */
- public SimPdu(FlowGraph graph, float idlePower, float lossCoefficient) {
- this.mux = new MaxMinFlowMultiplexer(graph);
- this.transformer = new FlowTransformer(graph, new FlowTransform() {
- @Override
- public float apply(float value) {
- // See https://download.schneider-electric.com/files?p_Doc_Ref=SPD_NRAN-66CK3D_EN
- return value * (lossCoefficient * value + 1) + idlePower;
- }
-
- @Override
- public float applyInverse(float value) {
- float c = lossCoefficient;
- if (c != 0.f) {
- return (float) (1 + Math.sqrt(4 * value * c - 4 * idlePower * c + 1)) / (2 * c);
- } else {
- return value - idlePower;
- }
- }
- });
-
- graph.connect(mux.newOutput(), transformer.getInput());
- }
-
- /**
- * Construct a {@link SimPdu} instance without any loss.
- *
- * @param graph The underlying {@link FlowGraph} to which the PDU belongs.
- */
- public SimPdu(FlowGraph graph) {
- this(graph, 0.f, 0.f);
- }
-
- /**
- * Create a new PDU outlet.
- */
- public PowerOutlet newOutlet() {
- return new PowerOutlet(mux);
- }
-
- @NotNull
- @Override
- public Outlet getFlowOutlet() {
- return transformer.getOutput();
- }
-
- @Override
- public String toString() {
- return "SimPdu";
- }
-
- /**
- * A PDU outlet.
- */
- public static final class PowerOutlet extends SimPowerOutlet implements AutoCloseable {
- private final FlowMultiplexer mux;
- private final Inlet inlet;
- private boolean isClosed;
-
- private PowerOutlet(FlowMultiplexer mux) {
- this.mux = mux;
- this.inlet = mux.newInput();
- }
-
- /**
- * Remove the outlet from the PDU.
- */
- @Override
- public void close() {
- isClosed = true;
- mux.releaseInput(inlet);
- }
-
- @Override
- public String toString() {
- return "SimPdu.Outlet";
- }
-
- @NotNull
- @Override
- protected Inlet getFlowInlet() {
- if (isClosed) {
- throw new IllegalStateException("Outlet is closed");
- }
- return inlet;
- }
- }
-}
diff --git a/opendc-simulator/opendc-simulator-power/src/main/java/org/opendc/simulator/power/SimPowerInlet.java b/opendc-simulator/opendc-simulator-power/src/main/java/org/opendc/simulator/power/SimPowerInlet.java
deleted file mode 100644
index a6e167c2..00000000
--- a/opendc-simulator/opendc-simulator-power/src/main/java/org/opendc/simulator/power/SimPowerInlet.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.power;
-
-import org.opendc.simulator.flow2.Outlet;
-
-/**
- * An abstract inlet that consumes electricity from a power outlet.
- */
-public abstract class SimPowerInlet {
- SimPowerOutlet outlet;
-
- /**
- * Determine whether the inlet is connected to a {@link SimPowerOutlet}.
- *
- * @return <code>true</code> if the inlet is connected to an outlet, <code>false</code> otherwise.
- */
- public boolean isConnected() {
- return outlet != null;
- }
-
- /**
- * Return the {@link SimPowerOutlet} to which the inlet is connected.
- */
- public SimPowerOutlet getOutlet() {
- return outlet;
- }
-
- /**
- * Return the flow {@link Outlet} that models the consumption of a power inlet as flow output.
- */
- protected abstract Outlet getFlowOutlet();
-}
diff --git a/opendc-simulator/opendc-simulator-power/src/main/java/org/opendc/simulator/power/SimPowerOutlet.java b/opendc-simulator/opendc-simulator-power/src/main/java/org/opendc/simulator/power/SimPowerOutlet.java
deleted file mode 100644
index e33d35d0..00000000
--- a/opendc-simulator/opendc-simulator-power/src/main/java/org/opendc/simulator/power/SimPowerOutlet.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.power;
-
-import org.opendc.simulator.flow2.Inlet;
-import org.opendc.simulator.flow2.Outlet;
-
-/**
- * An abstract outlet that provides a source of electricity for datacenter components.
- */
-public abstract class SimPowerOutlet {
- private SimPowerInlet inlet;
-
- /**
- * Determine whether the outlet is connected to a {@link SimPowerInlet}.
- *
- * @return <code>true</code> if the outlet is connected to an inlet, <code>false</code> otherwise.
- */
- public boolean isConnected() {
- return inlet != null;
- }
-
- /**
- * Return the {@link SimPowerInlet} to which the outlet is connected.
- */
- public SimPowerInlet getInlet() {
- return inlet;
- }
-
- /**
- * Connect the specified power [inlet] to this outlet.
- *
- * @param inlet The inlet to connect to the outlet.
- */
- public void connect(SimPowerInlet inlet) {
- if (isConnected()) {
- throw new IllegalStateException("Outlet already connected");
- }
- if (inlet.isConnected()) {
- throw new IllegalStateException("Inlet already connected");
- }
-
- this.inlet = inlet;
- this.inlet.outlet = this;
-
- final Inlet flowInlet = getFlowInlet();
- final Outlet flowOutlet = inlet.getFlowOutlet();
-
- flowInlet.getGraph().connect(flowOutlet, flowInlet);
- }
-
- /**
- * Disconnect the connected power outlet from this inlet
- */
- public void disconnect() {
- SimPowerInlet inlet = this.inlet;
- if (inlet != null) {
- this.inlet = null;
- assert inlet.outlet == this : "Inlet state incorrect";
- inlet.outlet = null;
-
- final Inlet flowInlet = getFlowInlet();
- flowInlet.getGraph().disconnect(flowInlet);
- }
- }
-
- /**
- * Return the flow {@link Inlet} that models the consumption of a power outlet as flow input.
- */
- protected abstract Inlet getFlowInlet();
-}
diff --git a/opendc-simulator/opendc-simulator-power/src/main/java/org/opendc/simulator/power/SimPowerSource.java b/opendc-simulator/opendc-simulator-power/src/main/java/org/opendc/simulator/power/SimPowerSource.java
deleted file mode 100644
index a2d62c48..00000000
--- a/opendc-simulator/opendc-simulator-power/src/main/java/org/opendc/simulator/power/SimPowerSource.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.power;
-
-import org.opendc.simulator.flow2.FlowGraph;
-import org.opendc.simulator.flow2.Inlet;
-import org.opendc.simulator.flow2.sink.SimpleFlowSink;
-
-/**
- * A {@link SimPowerOutlet} that represents a source of electricity with a maximum capacity.
- */
-public final class SimPowerSource extends SimPowerOutlet {
- /**
- * The resource source that drives this power source.
- */
- private final SimpleFlowSink sink;
-
- /**
- * Construct a {@link SimPowerSource} instance.
- *
- * @param graph The underlying {@link FlowGraph} to which the power source belongs.
- * @param capacity The maximum amount of power provided by the source.
- */
- public SimPowerSource(FlowGraph graph, float capacity) {
- this.sink = new SimpleFlowSink(graph, capacity);
- }
-
- /**
- * Return the capacity of the power source.
- */
- public float getCapacity() {
- return sink.getCapacity();
- }
-
- /**
- * Return the power draw at this instant.
- */
- public float getPowerDraw() {
- return sink.getRate();
- }
-
- @Override
- protected Inlet getFlowInlet() {
- return sink.getInput();
- }
-
- @Override
- public String toString() {
- return "SimPowerSource";
- }
-}
diff --git a/opendc-simulator/opendc-simulator-power/src/main/java/org/opendc/simulator/power/SimUps.java b/opendc-simulator/opendc-simulator-power/src/main/java/org/opendc/simulator/power/SimUps.java
deleted file mode 100644
index df7508d9..00000000
--- a/opendc-simulator/opendc-simulator-power/src/main/java/org/opendc/simulator/power/SimUps.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.power;
-
-import org.jetbrains.annotations.NotNull;
-import org.opendc.simulator.flow2.FlowGraph;
-import org.opendc.simulator.flow2.Inlet;
-import org.opendc.simulator.flow2.Outlet;
-import org.opendc.simulator.flow2.mux.FlowMultiplexer;
-import org.opendc.simulator.flow2.mux.MaxMinFlowMultiplexer;
-import org.opendc.simulator.flow2.util.FlowTransform;
-import org.opendc.simulator.flow2.util.FlowTransformer;
-
-/**
- * A model of an Uninterruptible Power Supply (UPS).
- * <p>
- * This model aggregates multiple power sources into a single source in order to ensure that power is always available.
- */
-public final class SimUps extends SimPowerOutlet {
- /**
- * The {@link FlowMultiplexer} that distributes the electricity over the PDU outlets.
- */
- private final MaxMinFlowMultiplexer mux;
-
- /**
- * A {@link FlowTransformer} that applies the power loss to the PDU's power inlet.
- */
- private final FlowTransformer transformer;
-
- /**
- * Construct a {@link SimUps} instance.
- *
- * @param graph The underlying {@link FlowGraph} to which the UPS belongs.
- * @param idlePower The idle power consumption of the UPS independent of the load.
- * @param lossCoefficient The coefficient for the power loss of the UPS proportional to the load.
- */
- public SimUps(FlowGraph graph, float idlePower, float lossCoefficient) {
- this.mux = new MaxMinFlowMultiplexer(graph);
- this.transformer = new FlowTransformer(graph, new FlowTransform() {
- @Override
- public float apply(float value) {
- // See https://download.schneider-electric.com/files?p_Doc_Ref=SPD_NRAN-66CK3D_EN
- return value * (lossCoefficient + 1) + idlePower;
- }
-
- @Override
- public float applyInverse(float value) {
- return (value - idlePower) / (lossCoefficient + 1);
- }
- });
-
- graph.connect(transformer.getOutput(), mux.newInput());
- }
-
- /**
- * Construct a {@link SimUps} instance without any loss.
- *
- * @param graph The underlying {@link FlowGraph} to which the UPS belongs.
- */
- public SimUps(FlowGraph graph) {
- this(graph, 0.f, 0.f);
- }
-
- /**
- * Create a new UPS inlet.
- */
- public PowerInlet newInlet() {
- return new PowerInlet(mux);
- }
-
- @Override
- protected Inlet getFlowInlet() {
- return transformer.getInput();
- }
-
- @Override
- public String toString() {
- return "SimUps";
- }
-
- /**
- * A UPS inlet.
- */
- public static final class PowerInlet extends SimPowerInlet implements AutoCloseable {
- private final FlowMultiplexer mux;
- private final Outlet outlet;
- private boolean isClosed;
-
- private PowerInlet(FlowMultiplexer mux) {
- this.mux = mux;
- this.outlet = mux.newOutput();
- }
-
- /**
- * Remove the inlet from the PDU.
- */
- @Override
- public void close() {
- isClosed = true;
- mux.releaseOutput(outlet);
- }
-
- @Override
- public String toString() {
- return "SimPdu.Inlet";
- }
-
- @NotNull
- @Override
- protected Outlet getFlowOutlet() {
- if (isClosed) {
- throw new IllegalStateException("Inlet is closed");
- }
- return outlet;
- }
- }
-}
diff --git a/opendc-simulator/opendc-simulator-power/src/test/kotlin/org/opendc/simulator/power/SimPduTest.kt b/opendc-simulator/opendc-simulator-power/src/test/kotlin/org/opendc/simulator/power/SimPduTest.kt
deleted file mode 100644
index 9df72c49..00000000
--- a/opendc-simulator/opendc-simulator-power/src/test/kotlin/org/opendc/simulator/power/SimPduTest.kt
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.power
-
-import kotlinx.coroutines.yield
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.Test
-import org.junit.jupiter.api.assertThrows
-import org.opendc.simulator.flow2.FlowEngine
-import org.opendc.simulator.kotlin.runSimulation
-
-/**
- * Test suite for the [SimPdu] class.
- */
-internal class SimPduTest {
- @Test
- fun testZeroOutlets() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val source = SimPowerSource(graph, 100.0f)
- val pdu = SimPdu(graph)
- source.connect(pdu)
-
- yield()
-
- assertEquals(0.0f, source.powerDraw)
- }
-
- @Test
- fun testSingleOutlet() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val source = SimPowerSource(graph, 100.0f)
- val pdu = SimPdu(graph)
- source.connect(pdu)
- pdu.newOutlet().connect(TestInlet(graph))
-
- yield()
-
- assertEquals(100.0f, source.powerDraw)
- }
-
- @Test
- fun testDoubleOutlet() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val source = SimPowerSource(graph, 200.0f)
- val pdu = SimPdu(graph)
- source.connect(pdu)
-
- pdu.newOutlet().connect(TestInlet(graph))
- pdu.newOutlet().connect(TestInlet(graph))
-
- yield()
-
- assertEquals(200.0f, source.powerDraw)
- }
-
- @Test
- fun testDisconnect() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val source = SimPowerSource(graph, 300.0f)
- val pdu = SimPdu(graph)
- source.connect(pdu)
-
- val outlet = pdu.newOutlet()
- outlet.connect(TestInlet(graph))
- outlet.disconnect()
-
- yield()
-
- assertEquals(0.0f, source.powerDraw)
- }
-
- @Test
- fun testLoss() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val source = SimPowerSource(graph, 500.0f)
- // https://download.schneider-electric.com/files?p_Doc_Ref=SPD_NRAN-66CK3D_EN
- val pdu = SimPdu(graph, 1.5f, 0.015f)
- source.connect(pdu)
- pdu.newOutlet().connect(TestInlet(graph))
-
- yield()
-
- assertEquals(251.5f, source.powerDraw, 0.01f)
- }
-
- @Test
- fun testOutletClose() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val source = SimPowerSource(graph, 100.0f)
- val pdu = SimPdu(graph)
- source.connect(pdu)
- val outlet = pdu.newOutlet()
- outlet.close()
-
- yield()
-
- assertThrows<IllegalStateException> {
- outlet.connect(TestInlet(graph))
- }
- }
-}
diff --git a/opendc-simulator/opendc-simulator-power/src/test/kotlin/org/opendc/simulator/power/SimPowerSourceTest.kt b/opendc-simulator/opendc-simulator-power/src/test/kotlin/org/opendc/simulator/power/SimPowerSourceTest.kt
deleted file mode 100644
index bbc9ad92..00000000
--- a/opendc-simulator/opendc-simulator-power/src/test/kotlin/org/opendc/simulator/power/SimPowerSourceTest.kt
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.power
-
-import io.mockk.every
-import io.mockk.mockk
-import kotlinx.coroutines.yield
-import org.junit.jupiter.api.Assertions.assertAll
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.Assertions.assertFalse
-import org.junit.jupiter.api.Assertions.assertNull
-import org.junit.jupiter.api.Assertions.assertTrue
-import org.junit.jupiter.api.Test
-import org.junit.jupiter.api.assertDoesNotThrow
-import org.junit.jupiter.api.assertThrows
-import org.opendc.simulator.flow2.FlowEngine
-import org.opendc.simulator.kotlin.runSimulation
-
-/**
- * Test suite for the [SimPowerSource]
- */
-internal class SimPowerSourceTest {
- @Test
- fun testInitialState() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val source = SimPowerSource(graph, 100.0f)
-
- yield()
-
- assertAll(
- { assertFalse(source.isConnected) },
- { assertNull(source.inlet) },
- { assertEquals(100.0f, source.capacity) },
- )
- }
-
- @Test
- fun testDisconnectIdempotent() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val source = SimPowerSource(graph, 100.0f)
-
- assertDoesNotThrow { source.disconnect() }
- assertFalse(source.isConnected)
- }
-
- @Test
- fun testConnect() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val source = SimPowerSource(graph, 100.0f)
- val inlet = TestInlet(graph)
-
- source.connect(inlet)
-
- yield()
-
- assertAll(
- { assertTrue(source.isConnected) },
- { assertEquals(inlet, source.inlet) },
- { assertTrue(inlet.isConnected) },
- { assertEquals(source, inlet.outlet) },
- { assertEquals(100.0f, source.powerDraw) },
- )
- }
-
- @Test
- fun testDisconnect() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val source = SimPowerSource(graph, 100.0f)
- val inlet = TestInlet(graph)
-
- source.connect(inlet)
- source.disconnect()
-
- yield()
-
- assertEquals(0.0f, inlet.flowOutlet.capacity)
- }
-
- @Test
- fun testDisconnectAssertion() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val source = SimPowerSource(graph, 100.0f)
-
- val inlet = mockk<SimPowerInlet>(relaxUnitFun = true)
- every { inlet.isConnected } returns false
- every { inlet.flowOutlet } returns TestInlet(graph).flowOutlet
-
- source.connect(inlet)
- inlet.outlet = null
-
- assertThrows<AssertionError> {
- source.disconnect()
- }
- }
-
- @Test
- fun testOutletAlreadyConnected() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val source = SimPowerSource(graph, 100.0f)
- val inlet = TestInlet(graph)
-
- source.connect(inlet)
- assertThrows<IllegalStateException> {
- source.connect(TestInlet(graph))
- }
-
- assertEquals(inlet, source.inlet)
- }
-
- @Test
- fun testInletAlreadyConnected() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val source = SimPowerSource(graph, 100.0f)
- val inlet = mockk<SimPowerInlet>(relaxUnitFun = true)
- every { inlet.isConnected } returns true
-
- assertThrows<IllegalStateException> {
- source.connect(inlet)
- }
- }
-}
diff --git a/opendc-simulator/opendc-simulator-power/src/test/kotlin/org/opendc/simulator/power/SimUpsTest.kt b/opendc-simulator/opendc-simulator-power/src/test/kotlin/org/opendc/simulator/power/SimUpsTest.kt
deleted file mode 100644
index cbd23887..00000000
--- a/opendc-simulator/opendc-simulator-power/src/test/kotlin/org/opendc/simulator/power/SimUpsTest.kt
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright (c) 2021 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.power
-
-import kotlinx.coroutines.yield
-import org.junit.jupiter.api.Assertions.assertAll
-import org.junit.jupiter.api.Assertions.assertEquals
-import org.junit.jupiter.api.Test
-import org.opendc.simulator.flow2.FlowEngine
-import org.opendc.simulator.kotlin.runSimulation
-
-/**
- * Test suite for the [SimUps] class.
- */
-internal class SimUpsTest {
- @Test
- fun testSingleInlet() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val source = SimPowerSource(graph, 200.0f)
- val ups = SimUps(graph)
- source.connect(ups.newInlet())
- ups.connect(TestInlet(graph))
-
- yield()
-
- assertEquals(100.0f, source.powerDraw)
- }
-
- @Test
- fun testDoubleInlet() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val source1 = SimPowerSource(graph, 200.0f)
- val source2 = SimPowerSource(graph, 200.0f)
- val ups = SimUps(graph)
- source1.connect(ups.newInlet())
- source2.connect(ups.newInlet())
-
- ups.connect(TestInlet(graph))
-
- yield()
-
- assertAll(
- { assertEquals(50.0f, source1.powerDraw) },
- { assertEquals(50.0f, source2.powerDraw) },
- )
- }
-
- @Test
- fun testLoss() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val source = SimPowerSource(graph, 500.0f)
- // https://download.schneider-electric.com/files?p_Doc_Ref=SPD_NRAN-66CK3D_EN
- val ups = SimUps(graph, 4.0f, 0.05f)
- source.connect(ups.newInlet())
- ups.connect(TestInlet(graph))
-
- yield()
-
- assertEquals(109.0f, source.powerDraw, 0.01f)
- }
-
- @Test
- fun testDisconnect() =
- runSimulation {
- val engine = FlowEngine.create(dispatcher)
- val graph = engine.newGraph()
- val source1 = SimPowerSource(graph, 200.0f)
- val source2 = SimPowerSource(graph, 200.0f)
- val ups = SimUps(graph)
- source1.connect(ups.newInlet())
- source2.connect(ups.newInlet())
-
- val inlet = TestInlet(graph)
-
- ups.connect(inlet)
- ups.disconnect()
-
- yield()
-
- assertEquals(0.0f, inlet.flowOutlet.capacity)
- }
-}
diff --git a/opendc-simulator/opendc-simulator-power/src/test/kotlin/org/opendc/simulator/power/TestInlet.kt b/opendc-simulator/opendc-simulator-power/src/test/kotlin/org/opendc/simulator/power/TestInlet.kt
deleted file mode 100644
index 1c06acf4..00000000
--- a/opendc-simulator/opendc-simulator-power/src/test/kotlin/org/opendc/simulator/power/TestInlet.kt
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2022 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package org.opendc.simulator.power
-
-import org.opendc.simulator.flow2.FlowGraph
-import org.opendc.simulator.flow2.FlowStage
-import org.opendc.simulator.flow2.FlowStageLogic
-import org.opendc.simulator.flow2.Outlet
-
-/**
- * A test inlet.
- */
-class TestInlet(graph: FlowGraph) : SimPowerInlet(), FlowStageLogic {
- private val stage = graph.newStage(this)
- val flowOutlet = stage.getOutlet("out")
-
- init {
- flowOutlet.push(100.0f)
- }
-
- override fun onUpdate(
- ctx: FlowStage,
- now: Long,
- ): Long = Long.MAX_VALUE
-
- override fun getFlowOutlet(): Outlet {
- return flowOutlet
- }
-}
diff --git a/opendc-web/opendc-web-runner/build.gradle.kts b/opendc-web/opendc-web-runner/build.gradle.kts
index 40f94644..97328324 100644
--- a/opendc-web/opendc-web-runner/build.gradle.kts
+++ b/opendc-web/opendc-web-runner/build.gradle.kts
@@ -57,7 +57,6 @@ dependencies {
implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-carbon")))
implementation(project(mapOf("path" to ":opendc-experiments:opendc-experiments-base")))
implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-topology")))
- implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-telemetry")))
implementation(project(mapOf("path" to ":opendc-compute:opendc-compute-failure")))
cliImplementation(libs.clikt)
diff --git a/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/OpenDCRunner.kt b/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/OpenDCRunner.kt
index af9d5529..2dd0c20f 100644
--- a/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/OpenDCRunner.kt
+++ b/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/OpenDCRunner.kt
@@ -25,22 +25,21 @@ package org.opendc.web.runner
import mu.KotlinLogging
import org.opendc.compute.failure.prefab.FailurePrefab
import org.opendc.compute.failure.prefab.createFailureModelPrefab
-import org.opendc.compute.service.ComputeService
-import org.opendc.compute.service.scheduler.createComputeScheduler
import org.opendc.compute.simulator.provisioner.Provisioner
import org.opendc.compute.simulator.provisioner.registerComputeMonitor
import org.opendc.compute.simulator.provisioner.setupComputeService
import org.opendc.compute.simulator.provisioner.setupHosts
+import org.opendc.compute.simulator.scheduler.createComputeScheduler
+import org.opendc.compute.simulator.service.ComputeService
import org.opendc.compute.topology.specs.HostSpec
import org.opendc.compute.workload.ComputeWorkloadLoader
import org.opendc.compute.workload.sampleByLoad
import org.opendc.compute.workload.trace
import org.opendc.experiments.base.runner.replay
-import org.opendc.simulator.compute.SimPsuFactories
-import org.opendc.simulator.compute.model.Cpu
-import org.opendc.simulator.compute.model.MachineModel
-import org.opendc.simulator.compute.model.MemoryUnit
-import org.opendc.simulator.compute.power.CpuPowerModels
+import org.opendc.simulator.compute.cpu.CpuPowerModels
+import org.opendc.simulator.compute.models.CpuModel
+import org.opendc.simulator.compute.models.MachineModel
+import org.opendc.simulator.compute.models.MemoryUnit
import org.opendc.simulator.kotlin.runSimulation
import org.opendc.web.proto.runner.Job
import org.opendc.web.proto.runner.Scenario
@@ -86,7 +85,7 @@ public class OpenDCRunner(
/**
* Helper class to load the workloads.
*/
- private val workloadLoader = ComputeWorkloadLoader(tracePath)
+ private val workloadLoader = ComputeWorkloadLoader(tracePath, 0L, 0L, 0.0)
/**
* The [ForkJoinPool] that is used to execute the simulation jobs.
@@ -295,7 +294,6 @@ public class OpenDCRunner(
"Scheduler " +
"Success=${serviceMetrics.attemptsSuccess} " +
"Failure=${serviceMetrics.attemptsFailure} " +
- "Error=${serviceMetrics.attemptsError} " +
"Pending=${serviceMetrics.tasksPending} " +
"Active=${serviceMetrics.tasksActive}"
}
@@ -325,7 +323,14 @@ public class OpenDCRunner(
val processors =
machine.cpus.map { cpu ->
- Cpu(0, cpu.numberOfCores, cpu.clockRateMhz, "Intel", "amd64", cpu.name)
+ CpuModel(
+ 0,
+ cpu.numberOfCores,
+ cpu.clockRateMhz.toFloat(),
+ "Intel",
+ "amd64",
+ cpu.name,
+ )
}
val memoryUnits =
@@ -347,7 +352,7 @@ public class OpenDCRunner(
"node-$clusterId-$position",
mapOf("cluster" to clusterId),
MachineModel(processors, memoryUnits[0]),
- SimPsuFactories.simple(powerModel),
+ powerModel,
)
res += spec
diff --git a/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/internal/WebComputeMonitor.kt b/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/internal/WebComputeMonitor.kt
index 96b42ac8..7e09e9e9 100644
--- a/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/internal/WebComputeMonitor.kt
+++ b/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/internal/WebComputeMonitor.kt
@@ -22,11 +22,11 @@
package org.opendc.web.runner.internal
-import org.opendc.compute.telemetry.ComputeMonitor
-import org.opendc.compute.telemetry.table.HostTableReader
-import org.opendc.compute.telemetry.table.ServiceData
-import org.opendc.compute.telemetry.table.ServiceTableReader
-import org.opendc.compute.telemetry.table.toServiceData
+import org.opendc.compute.simulator.telemetry.ComputeMonitor
+import org.opendc.compute.simulator.telemetry.table.HostTableReader
+import org.opendc.compute.simulator.telemetry.table.ServiceData
+import org.opendc.compute.simulator.telemetry.table.ServiceTableReader
+import org.opendc.compute.simulator.telemetry.table.toServiceData
import kotlin.math.roundToLong
/**
@@ -107,7 +107,7 @@ internal class WebComputeMonitor : ComputeMonitor {
serviceData.tasksTotal,
serviceData.tasksPending,
serviceData.tasksTotal - serviceData.tasksPending - serviceData.tasksActive,
- serviceData.attemptsError + serviceData.attemptsFailure,
+ serviceData.attemptsTerminated,
)
}
diff --git a/opendc-web/opendc-web-ui/src/components/topologies/sidebar/machine/UnitTabsComponent.js b/opendc-web/opendc-web-ui/src/components/topologies/sidebar/machine/UnitTabsComponent.js
index b800e9d4..4032d607 100644
--- a/opendc-web/opendc-web-ui/src/components/topologies/sidebar/machine/UnitTabsComponent.js
+++ b/opendc-web/opendc-web-ui/src/components/topologies/sidebar/machine/UnitTabsComponent.js
@@ -5,11 +5,11 @@ import UnitAddContainer from './UnitAddContainer'
import UnitListContainer from './UnitListContainer'
function UnitTabsComponent({ machineId }) {
- const [activeTab, setActiveTab] = useState('cpu-units')
+ const [activeTab, setActiveTab] = useState('cpuModel-units')
return (
<Tabs activeKey={activeTab} onSelect={(_, tab) => setActiveTab(tab)}>
- <Tab eventKey="cpu-units" title={<TabTitleText>CPU</TabTitleText>}>
+ <Tab eventKey="cpuModel-units" title={<TabTitleText>CPU</TabTitleText>}>
<UnitAddContainer machineId={machineId} unitType="cpus" />
<UnitListContainer machineId={machineId} unitType="cpus" />
</Tab>
diff --git a/opendc-web/opendc-web-ui/src/components/topologies/sidebar/rack/MachineComponent.js b/opendc-web/opendc-web-ui/src/components/topologies/sidebar/rack/MachineComponent.js
index 18c3db3c..b0a96a9f 100644
--- a/opendc-web/opendc-web-ui/src/components/topologies/sidebar/rack/MachineComponent.js
+++ b/opendc-web/opendc-web-ui/src/components/topologies/sidebar/rack/MachineComponent.js
@@ -19,7 +19,7 @@ function MachineComponent({ machine, onClick }) {
return (
<Flex onClick={() => onClick()}>
- {machine.cpus.length > 0 ? <UnitIcon id="cpu" type="CPU" /> : undefined}
+ {machine.cpus.length > 0 ? <UnitIcon id="cpuModel" type="CPU" /> : undefined}
{machine.gpus.length > 0 ? <UnitIcon id="gpu" type="GPU" /> : undefined}
{machine.memories.length > 0 ? <UnitIcon id="memory" type="memory" /> : undefined}
{machine.storages.length > 0 ? <UnitIcon id="storage" type="storage" /> : undefined}
diff --git a/settings.gradle.kts b/settings.gradle.kts
index e079346b..6b838108 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -26,9 +26,7 @@ include(":opendc-common")
include(":opendc-compute:opendc-compute-api")
include(":opendc-compute:opendc-compute-carbon")
include(":opendc-compute:opendc-compute-failure")
-include(":opendc-compute:opendc-compute-service")
include(":opendc-compute:opendc-compute-simulator")
-include(":opendc-compute:opendc-compute-telemetry")
include(":opendc-compute:opendc-compute-topology")
include(":opendc-compute:opendc-compute-workload")
include(":opendc-workflow:opendc-workflow-api")
@@ -53,8 +51,6 @@ include(":opendc-web:opendc-web-runner-quarkus")
include(":opendc-web:opendc-web-runner-quarkus-deployment")
include(":opendc-simulator:opendc-simulator-core")
include(":opendc-simulator:opendc-simulator-flow")
-include(":opendc-simulator:opendc-simulator-power")
-include(":opendc-simulator:opendc-simulator-network")
include(":opendc-simulator:opendc-simulator-compute")
include(":opendc-trace:opendc-trace-api")
include(":opendc-trace:opendc-trace-calcite")
diff --git a/site/docs/documentation/Input/Topology.md b/site/docs/documentation/Input/Topology.md
index 12e9c485..cf726616 100644
--- a/site/docs/documentation/Input/Topology.md
+++ b/site/docs/documentation/Input/Topology.md
@@ -21,7 +21,7 @@ In the following section, we describe the different components of the schema.
|------------|-----------------------|-----------|---------|--------------------------------------------------------------------------------|
| name | string | no | Host | The name of the host. This is only important for debugging and post-processing |
| count | integer | no | 1 | The amount of hosts of this type are in the cluster |
-| cpu | [CPU](#cpu) | yes | N/A | The CPUs in the host |
+| cpuModel | [CPU](#cpuModel) | yes | N/A | The CPUs in the host |
| memory | [Memory](#memory) | yes | N/A | The memory used by the host |
| power model | [Power Model](#power-model) | yes | N/A | The power model used to determine the power draw of the host |
@@ -192,7 +192,7 @@ Aside from using number to indicate values it is also possible to define values
[
{
"name": "H01",
- "cpu":
+ "cpuModel":
{
"coreCount": 8,
"coreSpeed": "3.2 Ghz"
diff --git a/site/docs/documentation/Input/TopologySchema.md b/site/docs/documentation/Input/TopologySchema.md
index 9c4e0c40..d0199568 100644
--- a/site/docs/documentation/Input/TopologySchema.md
+++ b/site/docs/documentation/Input/TopologySchema.md
@@ -5,8 +5,8 @@ A topology file can be validated using a JSON schema validator, such as https://
{
"$schema": "OpenDC/Topology",
"$defs": {
- "cpu": {
- "description": "definition of a cpu",
+ "cpuModel": {
+ "description": "definition of a cpuModel",
"type": "object",
"properties": {
"vendor": {
@@ -25,7 +25,7 @@ A topology file can be validated using a JSON schema validator, such as https://
"type": "integer"
},
"coreSpeed": {
- "description": "The core speed of the cpu in Mhz",
+ "description": "The core speed of the cpuModel in Mhz",
"type": "number"
},
"count": {
@@ -106,15 +106,15 @@ A topology file can be validated using a JSON schema validator, such as https://
"type": "integer",
"default": 1
},
- "cpu": {
- "$ref": "#/$defs/cpu"
+ "cpuModel": {
+ "$ref": "#/$defs/cpuModel"
},
"memory": {
"$ref": "#/$defs/memory"
}
},
"required": [
- "cpu",
+ "cpuModel",
"memory"
]
},
diff --git a/site/docs/documentation/Output.md b/site/docs/documentation/Output.md
index 176c8721..dbc2a765 100644
--- a/site/docs/documentation/Output.md
+++ b/site/docs/documentation/Output.md
@@ -33,7 +33,7 @@ The host output file, contains all metrics of related to the host run.
| timestamp | int64 | ms | Timestamp of the sample |
| absolute timestamp | int64 | ms | The absolute timestamp based on the given workload |
| host_id | binary | string | The id of the host given by OpenDC |
-| cpu_count | int32 | count | The number of available cpu cores |
+| cpu_count | int32 | count | The number of available cpuModel cores |
| mem_capacity | int64 | Mb | The amount of available memory |
| guests_terminated | int32 | count | The number of guests that are in a terminated state. |
| guests_running | int32 | count | The number of guests that are in a running state. |