diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/storage/tracing/TracingIntervalDaoTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/storage/tracing/TracingIntervalDaoTest.kt deleted file mode 100644 index 39d500254656d49b2739b32e4e283133fc456281..0000000000000000000000000000000000000000 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/storage/tracing/TracingIntervalDaoTest.kt +++ /dev/null @@ -1,75 +0,0 @@ -package de.rki.coronawarnapp.storage.tracing - -import android.content.Context -import androidx.room.Room -import androidx.test.core.app.ApplicationProvider - -import androidx.test.ext.junit.runners.AndroidJUnit4 -import com.google.common.truth.Truth.assertThat -import de.rki.coronawarnapp.storage.AppDatabase -import kotlinx.coroutines.runBlocking -import org.junit.After -import org.junit.Before -import org.junit.Test -import org.junit.runner.RunWith -import java.util.Date - -/** - * TracingIntervalDao test. - */ -@RunWith(AndroidJUnit4::class) -class TracingIntervalDaoTest { - private lateinit var dao: TracingIntervalDao - private lateinit var db: AppDatabase - - @Before - fun setUp() { - val context = ApplicationProvider.getApplicationContext<Context>() - db = Room.inMemoryDatabaseBuilder( - context, - AppDatabase::class.java - ).build() - dao = db.tracingIntervalDao() - } - - /** - * Test Create / Read / Delete DB operations. - */ - @Test - fun testCRDOperations() { - runBlocking { - val oneDay = 24 * 60 * 60 * 1000 - val today = Date().time - val testEntity = TracingIntervalEntity().apply { - // minus 1 day - this.from = today - oneDay - this.to = today - } - - assertThat(dao.getAllIntervals().isEmpty()).isTrue() - - dao.insertInterval(testEntity) - - var select = dao.getAllIntervals() - assertThat(select.isEmpty()).isFalse() - assertThat(select.size).isEqualTo(1) - assertThat(select[0].from).isEqualTo(today - oneDay) - assertThat(select[0].to).isEqualTo(today) - - dao.deleteOutdatedIntervals(today - 1) - - select = dao.getAllIntervals() - assertThat(select.isEmpty()).isFalse() - assertThat(select.size).isEqualTo(1) - - dao.deleteOutdatedIntervals(today + 1) - select = dao.getAllIntervals() - assertThat(select.isEmpty()).isTrue() - } - } - - @After - fun closeDb() { - db.close() - } -} diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryEditLocationsFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryEditLocationsFragmentTest.kt index 195824d42c6cc2c49c93788edee6edef7f08a122..7bb0ecd5062a7735297202b4362524f06a15969c 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryEditLocationsFragmentTest.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryEditLocationsFragmentTest.kt @@ -12,6 +12,7 @@ import io.mockk.MockKAnnotations import io.mockk.every import io.mockk.impl.annotations.MockK import io.mockk.spyk +import kotlinx.coroutines.test.TestCoroutineScope import org.junit.After import org.junit.Before import org.junit.Rule @@ -44,6 +45,7 @@ class ContactDiaryEditLocationsFragmentTest : BaseUITest() { MockKAnnotations.init(this, relaxed = true) viewModel = spyk( ContactDiaryEditLocationsViewModel( + TestCoroutineScope(), contactDiaryRepository, TestDispatcherProvider() ) diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryEditPersonsFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryEditPersonsFragmentTest.kt index 1f0440d7657df42a775638d1455f26ed765d6b6b..1e80c719953343b49ea88643eff6b2f4a32448f3 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryEditPersonsFragmentTest.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/contactdiary/ContactDiaryEditPersonsFragmentTest.kt @@ -12,6 +12,7 @@ import io.mockk.MockKAnnotations import io.mockk.every import io.mockk.impl.annotations.MockK import io.mockk.spyk +import kotlinx.coroutines.test.TestCoroutineScope import org.junit.After import org.junit.Before import org.junit.Rule @@ -44,6 +45,7 @@ class ContactDiaryEditPersonsFragmentTest : BaseUITest() { MockKAnnotations.init(this, relaxed = true) viewModel = spyk( ContactDiaryEditPersonsViewModel( + TestCoroutineScope(), contactDiaryRepository, TestDispatcherProvider() ) diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/main/home/HomeData.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/main/home/HomeData.kt index e1f29991711b4925afb7dc1c4630f108a1317394..4839c083c9b2aaffcffb39a8b06bc41c7e6dab57 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/main/home/HomeData.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/main/home/HomeData.kt @@ -42,8 +42,7 @@ object HomeData { lastExposureDetectionTime = Instant.now(), lastEncounterAt = null, allowManualUpdate = false, - daysWithEncounters = 0, - activeTracingDays = 1 + daysWithEncounters = 0 ), onCardClick = {}, onUpdateClick = {} @@ -56,8 +55,7 @@ object HomeData { lastExposureDetectionTime = Instant.now(), lastEncounterAt = Instant.now(), allowManualUpdate = false, - daysWithEncounters = 1, - activeTracingDays = 1 + daysWithEncounters = 1 ), onCardClick = {}, onUpdateClick = {} @@ -70,7 +68,6 @@ object HomeData { lastExposureDetectionTime = Instant.now(), allowManualUpdate = false, daysWithEncounters = 1, - activeTracingDays = 1, lastEncounterAt = Instant.now() ), onCardClick = {}, diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/statistics/Statistics.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/statistics/Statistics.kt index f4a6f85e1b5589ecd767d35cbd31d187a09860ec..1e15b9f8095ea535540e7414c739ea00d8cdb927 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/statistics/Statistics.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/statistics/Statistics.kt @@ -9,7 +9,7 @@ import de.rki.coronawarnapp.statistics.StatisticsData import de.rki.coronawarnapp.statistics.StatisticsModule import de.rki.coronawarnapp.statistics.source.StatisticsParser import de.rki.coronawarnapp.statistics.source.StatisticsServer -import de.rki.coronawarnapp.util.security.VerificationKeys +import de.rki.coronawarnapp.util.security.SignatureValidation import de.rki.coronawarnapp.util.serialization.SerializationModule import io.mockk.every import io.mockk.mockk @@ -34,7 +34,7 @@ object Statistics { val httpClient = HttpModule().defaultHttpClient() val cdnClient = cdnModule.cdnHttpClient(httpClient) val url = cdnModule.provideDownloadServerUrl(environmentSetup) - val verificationKeys = VerificationKeys(environmentSetup) + val signatureValidation = SignatureValidation(environmentSetup) val gsonFactory = GsonConverterFactory.create() val statisticsServer = StatisticsServer( @@ -47,7 +47,7 @@ object Statistics { ) }, cache = cache, - verificationKeys = verificationKeys + signatureValidation = signatureValidation ) return runBlocking { diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/tracing/TracingData.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/tracing/TracingData.kt index a28b7340767af1b5808f0096af294233b0295efc..b5dcdc27b839085ae16cd320e6e7289bc0bf5057 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/tracing/TracingData.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/tracing/TracingData.kt @@ -41,7 +41,6 @@ object TracingData { ), PeriodLoggedBox.Item( - activeTracingDaysInRetentionPeriod = 0, tracingStatus = GeneralTracingStatus.Status.TRACING_INACTIVE ), DetailsLowRiskBox.Item(riskState = RiskState.LOW_RISK, matchedKeyCount = 0) @@ -62,7 +61,6 @@ object TracingData { lastExposureDetectionTime = Instant.now(), allowManualUpdate = false, daysWithEncounters = 0, - activeTracingDays = 0, lastEncounterAt = Instant.now() ) ), @@ -72,7 +70,64 @@ object TracingData { ), PeriodLoggedBox.Item( - activeTracingDaysInRetentionPeriod = 0, + tracingStatus = GeneralTracingStatus.Status.TRACING_ACTIVE + ), + DetailsLowRiskBox.Item(riskState = RiskState.LOW_RISK, matchedKeyCount = 0) + ) + ) + + val LOW_RISK_WITH_ONE_ENCOUNTER = Pair( + TracingDetailsState( + tracingStatus = GeneralTracingStatus.Status.TRACING_ACTIVE, + riskState = RiskState.LOW_RISK, + isManualKeyRetrievalEnabled = false + ), + listOf( + LowRiskBox.Item( + state = LowRisk( + riskState = RiskState.LOW_RISK, + isInDetailsMode = true, + lastExposureDetectionTime = Instant.now(), + allowManualUpdate = false, + daysWithEncounters = 1, + lastEncounterAt = Instant.now() + ) + ), + BehaviorNormalRiskBox.Item( + tracingStatus = GeneralTracingStatus.Status.TRACING_ACTIVE, + riskState = RiskState.LOW_RISK + ), + + PeriodLoggedBox.Item( + tracingStatus = GeneralTracingStatus.Status.TRACING_ACTIVE + ), + DetailsLowRiskBox.Item(riskState = RiskState.LOW_RISK, matchedKeyCount = 0) + ) + ) + + val LOW_RISK_WITH_TWO_ENCOUNTERS = Pair( + TracingDetailsState( + tracingStatus = GeneralTracingStatus.Status.TRACING_ACTIVE, + riskState = RiskState.LOW_RISK, + isManualKeyRetrievalEnabled = false + ), + listOf( + LowRiskBox.Item( + state = LowRisk( + riskState = RiskState.LOW_RISK, + isInDetailsMode = true, + lastExposureDetectionTime = Instant.now(), + allowManualUpdate = false, + daysWithEncounters = 2, + lastEncounterAt = Instant.now() + ) + ), + BehaviorNormalRiskBox.Item( + tracingStatus = GeneralTracingStatus.Status.TRACING_ACTIVE, + riskState = RiskState.LOW_RISK + ), + + PeriodLoggedBox.Item( tracingStatus = GeneralTracingStatus.Status.TRACING_ACTIVE ), DetailsLowRiskBox.Item(riskState = RiskState.LOW_RISK, matchedKeyCount = 0) @@ -93,13 +148,11 @@ object TracingData { lastExposureDetectionTime = Instant.now(), allowManualUpdate = false, daysWithEncounters = 1, - activeTracingDays = 5, lastEncounterAt = Instant.now() ) ), BehaviorIncreasedRiskBox.Item, PeriodLoggedBox.Item( - activeTracingDaysInRetentionPeriod = 5, tracingStatus = GeneralTracingStatus.Status.TRACING_ACTIVE ), DetailsIncreasedRiskBox.Item( diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/tracing/TracingDetailsFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/tracing/TracingDetailsFragmentTest.kt index b9da670a20ca57ebbddf6ba6492d4687e788f5dc..262b6e4252a1339a218b3d81877f9752564efdef 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/tracing/TracingDetailsFragmentTest.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/tracing/TracingDetailsFragmentTest.kt @@ -94,6 +94,20 @@ class TracingDetailsFragmentTest : BaseUITest() { captureScreenshot("tracing_low_risk") } + @Screenshot + @Test + fun capture_screenshot_tracing_low_risk_with_one_encounter() { + mockData(TracingData.LOW_RISK_WITH_ONE_ENCOUNTER) + captureScreenshot("tracing_low_risk_with_one_encounters") + } + + @Screenshot + @Test + fun capture_screenshot_tracing_low_risk_with_two_encounters() { + mockData(TracingData.LOW_RISK_WITH_TWO_ENCOUNTERS) + captureScreenshot("tracing_low_risk_with_two_encounters") + } + @Screenshot @Test fun capture_screenshot_tracing_disabled() { diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/util/security/DBPasswordTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/util/security/DBPasswordTest.kt deleted file mode 100644 index f06bf3afb5cfe4b173fc8cc47dca7f0c1f29a43b..0000000000000000000000000000000000000000 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/util/security/DBPasswordTest.kt +++ /dev/null @@ -1,138 +0,0 @@ -package de.rki.coronawarnapp.util.security - -import android.content.Context -import androidx.test.core.app.ApplicationProvider -import de.rki.coronawarnapp.diagnosiskeys.storage.KeyCacheRepository -import de.rki.coronawarnapp.storage.AppDatabase -import de.rki.coronawarnapp.storage.tracing.TracingIntervalEntity -import de.rki.coronawarnapp.storage.tracing.TracingIntervalRepository -import de.rki.coronawarnapp.util.di.AppInjector -import de.rki.coronawarnapp.util.di.ApplicationComponent -import io.kotest.matchers.shouldBe -import io.mockk.MockKAnnotations -import io.mockk.Runs -import io.mockk.coEvery -import io.mockk.every -import io.mockk.impl.annotations.MockK -import io.mockk.just -import io.mockk.mockkObject -import kotlinx.coroutines.runBlocking -import net.sqlcipher.database.SQLiteException -import org.hamcrest.Matchers.equalTo -import org.hamcrest.Matchers.not -import org.junit.Assert.assertThat -import org.junit.Assert.assertTrue -import org.junit.Before -import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.JUnit4 -import testhelpers.BaseTestInstrumentation - -@RunWith(JUnit4::class) -class DBPasswordTest : BaseTestInstrumentation() { - - @MockK lateinit var applicationComponent: ApplicationComponent - @MockK lateinit var encryptedSharedPreferencesFactory: EncryptedPreferencesFactory - @MockK lateinit var errorResetTool: EncryptionErrorResetTool - @MockK lateinit var keyCacheRepository: KeyCacheRepository - - private val appContext: Context - get() = ApplicationProvider.getApplicationContext() - - private val db: AppDatabase - get() = AppDatabase.getInstance(appContext) - - @Before - fun setUp() { - MockKAnnotations.init(this) - mockkObject(AppInjector) - every { AppInjector.component } returns applicationComponent - - encryptedSharedPreferencesFactory = EncryptedPreferencesFactory(appContext) - every { applicationComponent.encryptedPreferencesFactory } returns encryptedSharedPreferencesFactory - every { applicationComponent.errorResetTool } returns errorResetTool - every { applicationComponent.keyCacheRepository } returns keyCacheRepository.apply { - coEvery { keyCacheRepository.clear() } just Runs - } - - mockkObject(TracingIntervalRepository) - every { TracingIntervalRepository.resetInstance() } just Runs - - clearSharedPreferences() - AppDatabase.reset(appContext) - } - - @Test - fun generatesPassphraseInCorrectLength() { - val passphrase = SecurityHelper.getDBPassword() - assertTrue(passphrase.size in 32..48) - } - - @Test - fun secondPassphraseShouldBeDifferFromFirst() { - val passphrase1 = SecurityHelper.getDBPassword() - - clearSharedPreferences() - val passphrase2 = SecurityHelper.getDBPassword() - - assertThat(passphrase1, not(equalTo(passphrase2))) - } - - @Test - fun canLoadDataFromEncryptedDatabase() { - runBlocking { - val from = 123L - val to = 456L - insertFakeEntity(from, to) - - loadFakeEntity().apply { - this.from shouldBe from - this.to shouldBe to - } - } - } - - @Test - fun testDbInstanceIsActuallyResetWhenCalled() { - val before = this.db - AppDatabase.reset(appContext) - val after = this.db - - assertTrue(before != after) - } - - @Test(expected = SQLiteException::class) - fun loadingDataFromDatabaseWillFailWhenPassphraseIsIncorrect() { - runBlocking { - val from = 123L - val to = 456L - insertFakeEntity(from, to) - - clearSharedPreferences() - AppDatabase.resetInstance() - - loadFakeEntity().apply { - this.from shouldBe from - this.to shouldBe to - } - } - } - - private suspend fun insertFakeEntity( - from: Long, - to: Long - ) { - db.tracingIntervalDao().insertInterval( - TracingIntervalEntity().apply { - this.from = from - this.to = to - } - ) - } - - private suspend fun loadFakeEntity(): TracingIntervalEntity = - db.tracingIntervalDao().getAllIntervals().first() - - private fun clearSharedPreferences() = - SecurityHelper.globalEncryptedSharedPreferencesInstance.edit().clear().commit() -} diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/util/security/VerificationKeysTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/util/security/VerificationKeysTest.kt index 817159d6858f5663026ef68f0fc2c34efd8703d5..8e8f547182033c77982535486201654ff27f7619 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/util/security/VerificationKeysTest.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/util/security/VerificationKeysTest.kt @@ -23,33 +23,33 @@ class VerificationKeysTest { every { environmentSetup.appConfigVerificationKey } returns PUB_KEY } - private fun createTool() = VerificationKeys(environmentSetup) + private fun createTool() = SignatureValidation(environmentSetup) @Test fun goodBinaryAndSignature() { val tool = createTool() - tool.hasInvalidSignature( + tool.hasValidSignature( GOOD_BINARY.decodeHex().toByteArray(), - GOOD_SIGNATURE.decodeHex().toByteArray() - ) shouldBe false + SignatureValidation.parseTEKStyleSignature(GOOD_SIGNATURE.decodeHex().toByteArray()) + ) shouldBe true } @Test fun badBinaryGoodSignature() { val tool = createTool() - tool.hasInvalidSignature( + tool.hasValidSignature( "123ABC".decodeHex().toByteArray(), - GOOD_SIGNATURE.decodeHex().toByteArray() - ) shouldBe true + SignatureValidation.parseTEKStyleSignature(GOOD_SIGNATURE.decodeHex().toByteArray()) + ) shouldBe false } @Test fun goodBinaryBadSignature() { val tool = createTool() shouldThrow<CwaSecurityException> { - tool.hasInvalidSignature( + tool.hasValidSignature( GOOD_BINARY.decodeHex().toByteArray(), - "123ABC".decodeHex().toByteArray() + SignatureValidation.parseTEKStyleSignature("123ABC".decodeHex().toByteArray()) ) } } @@ -58,9 +58,9 @@ class VerificationKeysTest { fun badEverything() { val tool = createTool() shouldThrow<CwaSecurityException> { - tool.hasInvalidSignature( + tool.hasValidSignature( "123ABC".decodeHex().toByteArray(), - "123ABC".decodeHex().toByteArray() + SignatureValidation.parseTEKStyleSignature("123ABC".decodeHex().toByteArray()) ) } } diff --git a/Corona-Warn-App/src/device/java/de/rki/coronawarnapp/risk/storage/DefaultRiskLevelStorage.kt b/Corona-Warn-App/src/device/java/de/rki/coronawarnapp/risk/storage/DefaultRiskLevelStorage.kt index 69f2c57f761acaf20b335c2d96f4e93126ea31f4..8aa8d1bfa7c5de3ac408fb213d600773ac0779cd 100644 --- a/Corona-Warn-App/src/device/java/de/rki/coronawarnapp/risk/storage/DefaultRiskLevelStorage.kt +++ b/Corona-Warn-App/src/device/java/de/rki/coronawarnapp/risk/storage/DefaultRiskLevelStorage.kt @@ -2,7 +2,6 @@ package de.rki.coronawarnapp.risk.storage import de.rki.coronawarnapp.risk.RiskLevelResult import de.rki.coronawarnapp.risk.storage.internal.RiskResultDatabase -import de.rki.coronawarnapp.risk.storage.legacy.RiskLevelResultMigrator import de.rki.coronawarnapp.util.coroutine.AppScope import kotlinx.coroutines.CoroutineScope import timber.log.Timber @@ -12,9 +11,8 @@ import javax.inject.Singleton @Singleton class DefaultRiskLevelStorage @Inject constructor( riskResultDatabaseFactory: RiskResultDatabase.Factory, - riskLevelResultMigrator: RiskLevelResultMigrator, @AppScope scope: CoroutineScope -) : BaseRiskLevelStorage(riskResultDatabaseFactory, riskLevelResultMigrator, scope) { +) : BaseRiskLevelStorage(riskResultDatabaseFactory, scope) { // 2 days, 6 times per day, data is considered stale after 48 hours with risk calculation // Taken from TimeVariables.MAX_STALE_EXPOSURE_RISK_RANGE diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/miscinfo/MiscInfoFragment.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/miscinfo/MiscInfoFragment.kt index 599dbd36c5fa9e20e5b4b5623106202369c64e79..67b2d7be1fc7c38361c7923b8b463721a0928565 100644 --- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/miscinfo/MiscInfoFragment.kt +++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/miscinfo/MiscInfoFragment.kt @@ -34,14 +34,6 @@ class MiscInfoFragment : Fragment(R.layout.fragment_test_deviceinfo), AutoInject binding.googlePlayServicesVersionInfo.text = "Google Play Services: ${it.gmsVersion}" binding.exposureNotificationServiceVersionInfo.text = "Exposure Notification Services: ${it.enfVersion}" } - - vm.inActiveTracingIntervals.observe2(this) { - binding.tracingInfosInactiveIntervals.text = "Inactive tracing intervals:\n$it" - } - - vm.tracingDaysInRetention.observe2(this) { - binding.tracingInfosActiveTracingRetention.text = "Active tracing days in retention period: $it" - } } companion object { diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/miscinfo/MiscInfoFragmentViewModel.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/miscinfo/MiscInfoFragmentViewModel.kt index e18ff6c3b707444e820f5099f3e7894ab1b7ca45..95d020e07c6fe336d98c354541466587111d4e08 100644 --- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/miscinfo/MiscInfoFragmentViewModel.kt +++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/miscinfo/MiscInfoFragmentViewModel.kt @@ -7,15 +7,12 @@ import com.google.android.gms.common.GoogleApiAvailability import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject import de.rki.coronawarnapp.nearby.ENFClient -import de.rki.coronawarnapp.risk.TimeVariables -import de.rki.coronawarnapp.storage.tracing.TracingIntervalRepository import de.rki.coronawarnapp.util.coroutine.DispatcherProvider import de.rki.coronawarnapp.util.di.AppContext import de.rki.coronawarnapp.util.ui.SingleLiveEvent import de.rki.coronawarnapp.util.viewmodel.CWAViewModel import de.rki.coronawarnapp.util.viewmodel.SimpleCWAViewModelFactory import kotlinx.coroutines.flow.flow -import org.joda.time.Instant import timber.log.Timber class MiscInfoFragmentViewModel @AssistedInject constructor( @@ -49,17 +46,6 @@ class MiscInfoFragmentViewModel @AssistedInject constructor( ) }.asLiveData(context = dispatcherProvider.Default) - val inActiveTracingIntervals = flow { - TracingIntervalRepository.getDateRepository(context) - .getIntervals() - .map { Instant.ofEpochMilli(it.first) to Instant.ofEpochMilli(it.second) } - .let { emit(it.joinToString("\n")) } - }.asLiveData(context = dispatcherProvider.Default) - - val tracingDaysInRetention = flow { - emit(TimeVariables.getActiveTracingDaysInRetentionPeriod()) - }.asLiveData(context = dispatcherProvider.Default) - @AssistedFactory interface Factory : SimpleCWAViewModelFactory<MiscInfoFragmentViewModel> } diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/risk/storage/DefaultRiskLevelStorage.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/risk/storage/DefaultRiskLevelStorage.kt index 1a7bf05f6cda142330e15fafce681ad728880d4b..6fb9ac5129b5df6f04e6dcc62cccaaffd3662140 100644 --- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/risk/storage/DefaultRiskLevelStorage.kt +++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/risk/storage/DefaultRiskLevelStorage.kt @@ -5,7 +5,6 @@ import de.rki.coronawarnapp.risk.storage.internal.RiskResultDatabase import de.rki.coronawarnapp.risk.storage.internal.windows.PersistedExposureWindowDao.PersistedScanInstance import de.rki.coronawarnapp.risk.storage.internal.windows.toPersistedExposureWindow import de.rki.coronawarnapp.risk.storage.internal.windows.toPersistedScanInstances -import de.rki.coronawarnapp.risk.storage.legacy.RiskLevelResultMigrator import de.rki.coronawarnapp.util.coroutine.AppScope import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.firstOrNull @@ -16,9 +15,8 @@ import javax.inject.Singleton @Singleton class DefaultRiskLevelStorage @Inject constructor( riskResultDatabaseFactory: RiskResultDatabase.Factory, - riskLevelResultMigrator: RiskLevelResultMigrator, @AppScope val scope: CoroutineScope -) : BaseRiskLevelStorage(riskResultDatabaseFactory, riskLevelResultMigrator, scope) { +) : BaseRiskLevelStorage(riskResultDatabaseFactory, scope) { // 14 days, 6 times per day // For testers keep all the results! diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/crash.ui/SettingsCrashReportViewModel.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/crash.ui/SettingsCrashReportViewModel.kt index e9a0f09eaa938220072ebd67ede73acd960e1262..b02e7a18b31e5d7475a9e102204205ac43a1840c 100644 --- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/crash.ui/SettingsCrashReportViewModel.kt +++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/crash.ui/SettingsCrashReportViewModel.kt @@ -11,7 +11,6 @@ import de.rki.coronawarnapp.bugreporting.reportProblem import de.rki.coronawarnapp.bugreporting.storage.repository.BugRepository import de.rki.coronawarnapp.util.viewmodel.CWAViewModel import de.rki.coronawarnapp.util.viewmodel.SimpleCWAViewModelFactory -import kotlinx.coroutines.Dispatchers import timber.log.Timber class SettingsCrashReportViewModel @AssistedInject constructor( @@ -26,7 +25,7 @@ class SettingsCrashReportViewModel @AssistedInject constructor( createBugEventFormattedText(it) } - fun deleteAllCrashReports() = launch(Dispatchers.IO) { + fun deleteAllCrashReports() = launch { crashReportRepository.clear() } diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/risklevel/ui/TestRiskLevelCalculationFragmentCWAViewModel.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/risklevel/ui/TestRiskLevelCalculationFragmentCWAViewModel.kt index 7066eebed08a92c3d5ea7bf7c7a8a6edd853b983..f2fbf7ae81e61e27b2d095a460116576d687e6c2 100644 --- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/risklevel/ui/TestRiskLevelCalculationFragmentCWAViewModel.kt +++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/risklevel/ui/TestRiskLevelCalculationFragmentCWAViewModel.kt @@ -9,7 +9,6 @@ import dagger.assisted.Assisted import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject import de.rki.coronawarnapp.appconfig.AppConfigProvider -import de.rki.coronawarnapp.appconfig.ConfigData import de.rki.coronawarnapp.diagnosiskeys.download.DownloadDiagnosisKeysSettings import de.rki.coronawarnapp.diagnosiskeys.download.DownloadDiagnosisKeysTask import de.rki.coronawarnapp.diagnosiskeys.storage.KeyCacheRepository @@ -17,7 +16,6 @@ import de.rki.coronawarnapp.nearby.modules.detectiontracker.ExposureDetectionTra import de.rki.coronawarnapp.nearby.modules.detectiontracker.latestSubmission import de.rki.coronawarnapp.risk.RiskLevelTask import de.rki.coronawarnapp.risk.RiskState -import de.rki.coronawarnapp.risk.TimeVariables import de.rki.coronawarnapp.risk.result.AggregatedRiskResult import de.rki.coronawarnapp.risk.storage.RiskLevelStorage import de.rki.coronawarnapp.risk.tryLatestResultsWithDefaults @@ -39,7 +37,6 @@ import org.joda.time.Instant import org.joda.time.format.DateTimeFormat import timber.log.Timber import java.io.File -import java.util.concurrent.TimeUnit class TestRiskLevelCalculationFragmentCWAViewModel @AssistedInject constructor( @Assisted private val handle: SavedStateHandle, @@ -109,31 +106,9 @@ class TestRiskLevelCalculationFragmentCWAViewModel @AssistedInject constructor( val backendParameters = appConfigProvider .currentConfig - .map { it.toReadableString() } + .map { it.rawConfig.riskCalculationParameters.toString() } .asLiveData() - private fun ConfigData.toReadableString(): String = StringBuilder() - .appendLine("Transmission RiskLevel Multiplier: $transmissionRiskLevelMultiplier") - .appendLine() - .appendLine("Minutes At Attenuation Filters:") - .appendLine(minutesAtAttenuationFilters) - .appendLine() - .appendLine("Minutes At Attenuation Weights:") - .appendLine(minutesAtAttenuationWeights) - .appendLine() - .appendLine("Transmission RiskLevel Encoding:") - .appendLine(transmissionRiskLevelEncoding) - .appendLine() - .appendLine("Transmission RiskLevel Filters:") - .appendLine(transmissionRiskLevelFilters) - .appendLine() - .appendLine("Normalized Time Per Exposure Window To RiskLevel Mapping:") - .appendLine(normalizedTimePerExposureWindowToRiskLevelMapping) - .appendLine() - .appendLine("Normalized Time Per Day To RiskLevel Mapping List:") - .appendLine(normalizedTimePerDayToRiskLevelMappingList) - .toString() - val additionalRiskCalcInfo = combine( riskLevelStorage.latestAndLastSuccessful, exposureDetectionTracker.latestSubmission() @@ -164,8 +139,6 @@ class TestRiskLevelCalculationFragmentCWAViewModel @AssistedInject constructor( .appendLine("Matched key count: $matchedKeyCount") .appendLine("Days since last Exposure: $daysSinceLastExposure days") .appendLine("Last key submission: $lastKeySubmission") - .appendLine("Tracing Duration: ${TimeUnit.MILLISECONDS.toDays(TimeVariables.getTimeActiveTracingDuration())} days") - .appendLine("Tracing Duration in last 14 days: ${TimeVariables.getActiveTracingDaysInRetentionPeriod()} days") .appendLine("Last time risk level calculation $lastTimeRiskLevelCalculation") .toString() @@ -202,7 +175,7 @@ class TestRiskLevelCalculationFragmentCWAViewModel @AssistedInject constructor( fun shareExposureWindows() { Timber.d("Creating text file for Exposure Windows") - launch(dispatcherProvider.IO) { + launch { val exposureWindows = lastRiskResult.firstOrNull()?.exposureWindows?.map { it.toExposureWindowJson() } val fileNameCompatibleTimestamp = timeStamper.nowUTC.toString( DateTimeFormat.forPattern("yyyy-MM-DD-HH-mm-ss") diff --git a/Corona-Warn-App/src/deviceForTesters/res/layout/fragment_test_deviceinfo.xml b/Corona-Warn-App/src/deviceForTesters/res/layout/fragment_test_deviceinfo.xml index 4bdea42d327f82034846f46e5535f53d7f1b7af4..f124fe189fc8f177eeb944cc67f76b5e413a71d2 100644 --- a/Corona-Warn-App/src/deviceForTesters/res/layout/fragment_test_deviceinfo.xml +++ b/Corona-Warn-App/src/deviceForTesters/res/layout/fragment_test_deviceinfo.xml @@ -54,48 +54,6 @@ app:layout_constraintTop_toBottomOf="@+id/google_play_services_version_info" /> </androidx.constraintlayout.widget.ConstraintLayout> - - <androidx.constraintlayout.widget.ConstraintLayout - android:id="@+id/tracing_container" - style="@style/Card" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_margin="@dimen/spacing_tiny"> - - <TextView - android:id="@+id/tracing_container_title" - style="@style/headline6" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:text="Tracing Infos" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" /> - - <TextView - android:id="@+id/tracing_infos_inactive_intervals" - style="@style/body2" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_marginTop="@dimen/spacing_tiny" - android:text="Inactive tracing intervals: ?" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@+id/tracing_container_title" /> - - <TextView - android:id="@+id/tracing_infos_active_tracing_retention" - style="@style/body2" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_marginTop="@dimen/spacing_tiny" - android:text="Active tracing days in retention period: ?" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@+id/tracing_infos_inactive_intervals" /> - - </androidx.constraintlayout.widget.ConstraintLayout> - </LinearLayout> </androidx.core.widget.NestedScrollView> </layout> diff --git a/Corona-Warn-App/src/main/assets/default_app_config_android.bin b/Corona-Warn-App/src/main/assets/default_app_config_android.bin index 71db85788c2beff255f07410e14f0ec2bbea4bbb..aeac5e2d45c54db350f6219cbc4487ee8c691af0 100644 Binary files a/Corona-Warn-App/src/main/assets/default_app_config_android.bin and b/Corona-Warn-App/src/main/assets/default_app_config_android.bin differ diff --git a/Corona-Warn-App/src/main/assets/default_app_config_android.sha256 b/Corona-Warn-App/src/main/assets/default_app_config_android.sha256 index dcbdbc7b85dbed0619623f041c6f02d32ae7ede1..bd4fdf7c0da4ec5b13788ea1547f8d91c8fdb278 100644 --- a/Corona-Warn-App/src/main/assets/default_app_config_android.sha256 +++ b/Corona-Warn-App/src/main/assets/default_app_config_android.sha256 @@ -1 +1 @@ -12d0b93c0c02c6870ef75c173a53a8ffb9cab6828fbf22e751053329c425eef2 \ No newline at end of file +3d108b3fee7d1b4c227087c82bb804048de8d0542c3f2b26cf507a918201124d \ No newline at end of file diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/appconfig/ExposureWindowRiskCalculationConfig.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/appconfig/ExposureWindowRiskCalculationConfig.kt index cf72d970a6f1ea04e86bf7530fe85b156f976322..f772fa17ec4784b7c0f53dfd6777979831047a22 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/appconfig/ExposureWindowRiskCalculationConfig.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/appconfig/ExposureWindowRiskCalculationConfig.kt @@ -9,11 +9,11 @@ interface ExposureWindowRiskCalculationConfig { val minutesAtAttenuationWeights: List<RiskCalculationParametersOuterClass.MinutesAtAttenuationWeight> val transmissionRiskLevelEncoding: RiskCalculationParametersOuterClass.TransmissionRiskLevelEncoding val transmissionRiskLevelFilters: List<RiskCalculationParametersOuterClass.TrlFilter> - val transmissionRiskLevelMultiplier: Double val normalizedTimePerExposureWindowToRiskLevelMapping: List<RiskCalculationParametersOuterClass.NormalizedTimeToRiskLevelMapping> val normalizedTimePerDayToRiskLevelMappingList: List<RiskCalculationParametersOuterClass.NormalizedTimeToRiskLevelMapping> + val transmissionRiskValueMapping: List<RiskCalculationParametersOuterClass.TransmissionRiskValueMapping> val diagnosisKeysDataMapping: DiagnosisKeysDataMapping interface Mapper { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/appconfig/download/AppConfigApiV2.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/appconfig/download/AppConfigApiV2.kt index 5d1c0f2c3d0e9654b9af57aa6121bb3cd9d53950..18c6e25091e38a124ec41967ccb6816dbc6175d3 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/appconfig/download/AppConfigApiV2.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/appconfig/download/AppConfigApiV2.kt @@ -6,6 +6,6 @@ import retrofit2.http.GET interface AppConfigApiV2 { - @GET("/version/v1/app_config_android") + @GET("/version/v2/app_config_android") suspend fun getApplicationConfiguration(): Response<ResponseBody> } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/appconfig/mapping/ExposureWindowRiskCalculationConfigMapper.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/appconfig/mapping/ExposureWindowRiskCalculationConfigMapper.kt index 460187ecc5343703dde92e21bdb38ce35a2155fc..03ab772373f8841087ab2d1ab32662dc2ab0a015 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/appconfig/mapping/ExposureWindowRiskCalculationConfigMapper.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/appconfig/mapping/ExposureWindowRiskCalculationConfigMapper.kt @@ -28,20 +28,15 @@ class ExposureWindowRiskCalculationConfigMapper @Inject constructor() : val riskCalculationParameters = rawConfig.riskCalculationParameters return ExposureWindowRiskCalculationContainer( - minutesAtAttenuationFilters = riskCalculationParameters - .minutesAtAttenuationFiltersList, - minutesAtAttenuationWeights = riskCalculationParameters - .minutesAtAttenuationWeightsList, - transmissionRiskLevelEncoding = riskCalculationParameters - .trlEncoding, - transmissionRiskLevelFilters = riskCalculationParameters - .trlFiltersList, - transmissionRiskLevelMultiplier = riskCalculationParameters - .transmissionRiskLevelMultiplier, - normalizedTimePerExposureWindowToRiskLevelMapping = riskCalculationParameters - .normalizedTimePerEWToRiskLevelMappingList, - normalizedTimePerDayToRiskLevelMappingList = riskCalculationParameters - .normalizedTimePerDayToRiskLevelMappingList, + minutesAtAttenuationFilters = riskCalculationParameters.minutesAtAttenuationFiltersList, + minutesAtAttenuationWeights = riskCalculationParameters.minutesAtAttenuationWeightsList, + transmissionRiskLevelEncoding = riskCalculationParameters.trlEncoding, + transmissionRiskLevelFilters = riskCalculationParameters.trlFiltersList, + normalizedTimePerExposureWindowToRiskLevelMapping = + riskCalculationParameters.normalizedTimePerEWToRiskLevelMappingList, + normalizedTimePerDayToRiskLevelMappingList = + riskCalculationParameters.normalizedTimePerDayToRiskLevelMappingList, + transmissionRiskValueMapping = riskCalculationParameters.transmissionRiskValueMappingList, diagnosisKeysDataMapping = rawConfig.diagnosisKeysDataMapping() ) } @@ -63,12 +58,14 @@ class ExposureWindowRiskCalculationConfigMapper @Inject constructor() : override val minutesAtAttenuationFilters: List<RiskCalculationParametersOuterClass.MinutesAtAttenuationFilter>, override val minutesAtAttenuationWeights: List<RiskCalculationParametersOuterClass.MinutesAtAttenuationWeight>, override val transmissionRiskLevelEncoding: RiskCalculationParametersOuterClass.TransmissionRiskLevelEncoding, - override val transmissionRiskLevelFilters: List<RiskCalculationParametersOuterClass.TrlFilter>, - override val transmissionRiskLevelMultiplier: Double, + override val transmissionRiskLevelFilters: + List<RiskCalculationParametersOuterClass.TrlFilter>, override val normalizedTimePerExposureWindowToRiskLevelMapping: List<RiskCalculationParametersOuterClass.NormalizedTimeToRiskLevelMapping>, override val normalizedTimePerDayToRiskLevelMappingList: List<RiskCalculationParametersOuterClass.NormalizedTimeToRiskLevelMapping>, + override val transmissionRiskValueMapping: + List<RiskCalculationParametersOuterClass.TransmissionRiskValueMapping>, override val diagnosisKeysDataMapping: DiagnosisKeysDataMapping ) : ExposureWindowRiskCalculationConfig } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/appconfig/sources/remote/AppConfigServer.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/appconfig/sources/remote/AppConfigServer.kt index 39b3c2cb6430892edc358201736f2e93882cd47f..02bbd1094ab780bca94d6ccff43a31e8555f7bae 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/appconfig/sources/remote/AppConfigServer.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/appconfig/sources/remote/AppConfigServer.kt @@ -12,7 +12,7 @@ import de.rki.coronawarnapp.util.TimeStamper import de.rki.coronawarnapp.util.ZipHelper.readIntoMap import de.rki.coronawarnapp.util.ZipHelper.unzip import de.rki.coronawarnapp.util.retrofit.etag -import de.rki.coronawarnapp.util.security.VerificationKeys +import de.rki.coronawarnapp.util.security.SignatureValidation import okhttp3.CacheControl import org.joda.time.Duration import org.joda.time.Instant @@ -26,7 +26,7 @@ import javax.inject.Inject @Reusable class AppConfigServer @Inject constructor( private val api: Lazy<AppConfigApiV2>, - private val verificationKeys: VerificationKeys, + private val signatureValidation: SignatureValidation, private val timeStamper: TimeStamper, private val testSettings: TestSettings ) { @@ -49,7 +49,11 @@ class AppConfigServer @Inject constructor( throw ApplicationConfigurationInvalidException(message = "Unknown files: ${fileMap.keys}") } - if (verificationKeys.hasInvalidSignature(exportBinary, exportSignature)) { + val hasValidSignature = signatureValidation.hasValidSignature( + exportBinary, + SignatureValidation.parseTEKStyleSignature(exportSignature) + ) + if (!hasValidSignature) { throw ApplicationConfigurationCorruptException() } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/ContactDiaryDayViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/ContactDiaryDayViewModel.kt index 530d026fd3ba426a917600d2b8688e7b82001a33..c67953e265634bcd35f1b7cf03e8276127917ffe 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/ContactDiaryDayViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/ContactDiaryDayViewModel.kt @@ -10,8 +10,8 @@ import de.rki.coronawarnapp.contactdiary.ui.day.tabs.ContactDiaryDayTab import de.rki.coronawarnapp.contactdiary.util.getLocale import de.rki.coronawarnapp.contactdiary.util.toFormattedDay import de.rki.coronawarnapp.contactdiary.util.toFormattedDayForAccessibility -import de.rki.coronawarnapp.ui.SingleLiveEvent import de.rki.coronawarnapp.util.coroutine.DispatcherProvider +import de.rki.coronawarnapp.util.ui.SingleLiveEvent import de.rki.coronawarnapp.util.viewmodel.CWAViewModel import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactory import kotlinx.coroutines.flow.MutableStateFlow diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditLocationsViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditLocationsViewModel.kt index d18e809397cc4ea72290cd873c3c9f7700501e27..9785f5bab51e94ffefbad11d7f4b2ceb7462045b 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditLocationsViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditLocationsViewModel.kt @@ -9,19 +9,25 @@ import de.rki.coronawarnapp.contactdiary.storage.entity.toContactDiaryLocationEn import de.rki.coronawarnapp.contactdiary.storage.repo.ContactDiaryRepository import de.rki.coronawarnapp.exception.ExceptionCategory import de.rki.coronawarnapp.exception.reporting.report -import de.rki.coronawarnapp.ui.SingleLiveEvent +import de.rki.coronawarnapp.util.coroutine.AppScope import de.rki.coronawarnapp.util.coroutine.DispatcherProvider +import de.rki.coronawarnapp.util.ui.SingleLiveEvent import de.rki.coronawarnapp.util.viewmodel.CWAViewModel import de.rki.coronawarnapp.util.viewmodel.SimpleCWAViewModelFactory import kotlinx.coroutines.CoroutineExceptionHandler +import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.map class ContactDiaryEditLocationsViewModel @AssistedInject constructor( + @AppScope private val appScope: CoroutineScope, private val contactDiaryRepository: ContactDiaryRepository, dispatcherProvider: DispatcherProvider ) : CWAViewModel(dispatcherProvider = dispatcherProvider) { - private val coroutineExceptionHandler = CoroutineExceptionHandler { _, ex -> - ex.report(ExceptionCategory.INTERNAL, TAG) + + init { + launchErrorHandler = CoroutineExceptionHandler { _, ex -> + ex.report(ExceptionCategory.INTERNAL, TAG) + } } val locationsLiveData = contactDiaryRepository.locations @@ -40,7 +46,7 @@ class ContactDiaryEditLocationsViewModel @AssistedInject constructor( } fun onDeleteAllConfirmedClick() { - launch(coroutineExceptionHandler) { + launch(scope = appScope) { contactDiaryRepository.deleteAllLocationVisits() contactDiaryRepository.deleteAllLocations() } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditPersonsViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditPersonsViewModel.kt index d648222c2cc2c0ad8196031e4295f02499c4ce28..96790f7962d2ea8f1df9f330ea89dd56e9444c32 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditPersonsViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditPersonsViewModel.kt @@ -9,18 +9,27 @@ import de.rki.coronawarnapp.contactdiary.storage.entity.toContactDiaryPersonEnti import de.rki.coronawarnapp.contactdiary.storage.repo.ContactDiaryRepository import de.rki.coronawarnapp.exception.ExceptionCategory import de.rki.coronawarnapp.exception.reporting.report -import de.rki.coronawarnapp.ui.SingleLiveEvent +import de.rki.coronawarnapp.util.coroutine.AppScope import de.rki.coronawarnapp.util.coroutine.DispatcherProvider +import de.rki.coronawarnapp.util.ui.SingleLiveEvent import de.rki.coronawarnapp.util.viewmodel.CWAViewModel import de.rki.coronawarnapp.util.viewmodel.SimpleCWAViewModelFactory import kotlinx.coroutines.CoroutineExceptionHandler +import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.map class ContactDiaryEditPersonsViewModel @AssistedInject constructor( + @AppScope private val appScope: CoroutineScope, private val contactDiaryRepository: ContactDiaryRepository, dispatcherProvider: DispatcherProvider ) : CWAViewModel(dispatcherProvider = dispatcherProvider) { + init { + launchErrorHandler = CoroutineExceptionHandler { _, ex -> + ex.report(ExceptionCategory.INTERNAL, TAG) + } + } + val navigationEvent = SingleLiveEvent<NavigationEvent>() val personsLiveData = contactDiaryRepository.people @@ -32,16 +41,12 @@ class ContactDiaryEditPersonsViewModel @AssistedInject constructor( val isListVisible = contactDiaryRepository.people.map { it.isNotEmpty() } .asLiveData(dispatcherProvider.IO) - private val coroutineExceptionHandler = CoroutineExceptionHandler { _, ex -> - ex.report(ExceptionCategory.INTERNAL, TAG) - } - fun onDeleteAllPersonsClick() { navigationEvent.postValue(NavigationEvent.ShowDeletionConfirmationDialog) } fun onDeleteAllConfirmedClick() { - launch(coroutineExceptionHandler) { + launch(scope = appScope) { contactDiaryRepository.deleteAllPersonEncounters() contactDiaryRepository.deleteAllPeople() } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/location/ContactDiaryAddLocationFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/location/ContactDiaryAddLocationFragment.kt index 8e35cbf814b1e79ac44fac7171e58a29893f2f2d..3470b9903872f9120e32ede9de10e4c6e0d88d6e 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/location/ContactDiaryAddLocationFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/location/ContactDiaryAddLocationFragment.kt @@ -108,7 +108,7 @@ class ContactDiaryAddLocationFragment : Fragment(R.layout.contact_diary_add_loca DialogHelper.DialogInstance( requireActivity(), R.string.contact_diary_delete_location_title, - R.string.contact_diary_delete_locations_message, + R.string.contact_diary_delete_location_message, R.string.contact_diary_delete_button_positive, R.string.contact_diary_delete_button_negative, positiveButtonFunction = { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/location/ContactDiaryAddLocationViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/location/ContactDiaryAddLocationViewModel.kt index ca648415609b7a88a35d40c3b53ad836e4a0a5b3..6cc656b5a059197a50baab5d6523dd059d266d91 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/location/ContactDiaryAddLocationViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/location/ContactDiaryAddLocationViewModel.kt @@ -10,24 +10,30 @@ import de.rki.coronawarnapp.contactdiary.storage.entity.ContactDiaryLocationEnti import de.rki.coronawarnapp.contactdiary.storage.repo.ContactDiaryRepository import de.rki.coronawarnapp.exception.ExceptionCategory import de.rki.coronawarnapp.exception.reporting.report -import de.rki.coronawarnapp.ui.SingleLiveEvent +import de.rki.coronawarnapp.util.coroutine.AppScope import de.rki.coronawarnapp.util.coroutine.DispatcherProvider +import de.rki.coronawarnapp.util.ui.SingleLiveEvent import de.rki.coronawarnapp.util.viewmodel.CWAViewModel import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactory import kotlinx.coroutines.CoroutineExceptionHandler +import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.firstOrNull import kotlinx.coroutines.flow.map import org.joda.time.LocalDate class ContactDiaryAddLocationViewModel @AssistedInject constructor( + @AppScope private val appScope: CoroutineScope, dispatcherProvider: DispatcherProvider, @Assisted private val addedAt: String?, private val contactDiaryRepository: ContactDiaryRepository ) : CWAViewModel(dispatcherProvider = dispatcherProvider) { - private val coroutineExceptionHandler = CoroutineExceptionHandler { _, ex -> - shouldClose.postValue(null) - ex.report(ExceptionCategory.INTERNAL, TAG) + + init { + launchErrorHandler = CoroutineExceptionHandler { _, ex -> + shouldClose.postValue(null) + ex.report(ExceptionCategory.INTERNAL, TAG) + } } val shouldClose = SingleLiveEvent<Unit>() @@ -42,7 +48,7 @@ class ContactDiaryAddLocationViewModel @AssistedInject constructor( locationName.value = value } - fun addLocation(phoneNumber: String, emailAddress: String) = launch(coroutineExceptionHandler) { + fun addLocation(phoneNumber: String, emailAddress: String) = launch(scope = appScope) { val location = contactDiaryRepository.addLocation( DefaultContactDiaryLocation( locationName = locationName.value, @@ -63,7 +69,7 @@ class ContactDiaryAddLocationViewModel @AssistedInject constructor( } fun updateLocation(location: ContactDiaryLocationEntity, phoneNumber: String, emailAddress: String) = - launch(coroutineExceptionHandler) { + launch(scope = appScope) { contactDiaryRepository.updateLocation( DefaultContactDiaryLocation( location.locationId, @@ -75,7 +81,7 @@ class ContactDiaryAddLocationViewModel @AssistedInject constructor( shouldClose.postValue(null) } - fun deleteLocation(location: ContactDiaryLocationEntity) = launch(coroutineExceptionHandler) { + fun deleteLocation(location: ContactDiaryLocationEntity) = launch(scope = appScope) { contactDiaryRepository.locationVisits.firstOrNull()?.forEach { if (it.contactDiaryLocation.locationId == location.locationId) contactDiaryRepository.deleteLocationVisit(it) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/onboarding/ContactDiaryOnboardingFragmentViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/onboarding/ContactDiaryOnboardingFragmentViewModel.kt index cce9ca8057393898c8c94e4932d5591b2a0c0750..7721b5f40cc033b22c32fc1538fc47d82fbe67be 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/onboarding/ContactDiaryOnboardingFragmentViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/onboarding/ContactDiaryOnboardingFragmentViewModel.kt @@ -2,7 +2,7 @@ package de.rki.coronawarnapp.contactdiary.ui.onboarding import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject -import de.rki.coronawarnapp.ui.SingleLiveEvent +import de.rki.coronawarnapp.util.ui.SingleLiveEvent import de.rki.coronawarnapp.util.viewmodel.CWAViewModel import de.rki.coronawarnapp.util.viewmodel.SimpleCWAViewModelFactory diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/overview/ContactDiaryOverviewViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/overview/ContactDiaryOverviewViewModel.kt index 497b3fbf113c473ef459bed221d068903be99921..d1f5c152ec795c6b51704f291fbc5f8d3fb8d2a5 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/overview/ContactDiaryOverviewViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/overview/ContactDiaryOverviewViewModel.kt @@ -21,10 +21,10 @@ import de.rki.coronawarnapp.risk.storage.RiskLevelStorage import de.rki.coronawarnapp.server.protocols.internal.v2.RiskCalculationParametersOuterClass import de.rki.coronawarnapp.task.TaskController import de.rki.coronawarnapp.task.common.DefaultTaskRequest -import de.rki.coronawarnapp.ui.SingleLiveEvent import de.rki.coronawarnapp.util.TimeAndDateExtensions.toLocalDate import de.rki.coronawarnapp.util.TimeStamper import de.rki.coronawarnapp.util.coroutine.DispatcherProvider +import de.rki.coronawarnapp.util.ui.SingleLiveEvent import de.rki.coronawarnapp.util.viewmodel.CWAViewModel import de.rki.coronawarnapp.util.viewmodel.SimpleCWAViewModelFactory import kotlinx.coroutines.flow.combine diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/person/ContactDiaryAddPersonFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/person/ContactDiaryAddPersonFragment.kt index e54cede4df8d31fdc7e82a5d309f34f7b4803c32..9bb29a89ca82319784afe4a12635fa32e9e7a40f 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/person/ContactDiaryAddPersonFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/person/ContactDiaryAddPersonFragment.kt @@ -108,7 +108,7 @@ class ContactDiaryAddPersonFragment : DialogHelper.DialogInstance( requireActivity(), R.string.contact_diary_delete_person_title, - R.string.contact_diary_delete_persons_message, + R.string.contact_diary_delete_person_message, R.string.contact_diary_delete_button_positive, R.string.contact_diary_delete_button_negative, positiveButtonFunction = { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/person/ContactDiaryAddPersonViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/person/ContactDiaryAddPersonViewModel.kt index 34eb68336c02d2300dd75fda71a27ce5310af72d..6ef9c0ad653d396c69192d8b198742977ed8c239 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/person/ContactDiaryAddPersonViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/person/ContactDiaryAddPersonViewModel.kt @@ -10,23 +10,29 @@ import de.rki.coronawarnapp.contactdiary.storage.entity.ContactDiaryPersonEntity import de.rki.coronawarnapp.contactdiary.storage.repo.ContactDiaryRepository import de.rki.coronawarnapp.exception.ExceptionCategory import de.rki.coronawarnapp.exception.reporting.report +import de.rki.coronawarnapp.util.coroutine.AppScope import de.rki.coronawarnapp.util.coroutine.DispatcherProvider import de.rki.coronawarnapp.util.ui.SingleLiveEvent import de.rki.coronawarnapp.util.viewmodel.CWAViewModel import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactory import kotlinx.coroutines.CoroutineExceptionHandler +import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.firstOrNull import kotlinx.coroutines.flow.map import org.joda.time.LocalDate class ContactDiaryAddPersonViewModel @AssistedInject constructor( + @AppScope private val appScope: CoroutineScope, dispatcherProvider: DispatcherProvider, @Assisted private val addedAt: String?, private val contactDiaryRepository: ContactDiaryRepository ) : CWAViewModel(dispatcherProvider = dispatcherProvider) { - private val coroutineExceptionHandler = CoroutineExceptionHandler { _, ex -> - ex.report(ExceptionCategory.INTERNAL, TAG) + + init { + launchErrorHandler = CoroutineExceptionHandler { _, ex -> + ex.report(ExceptionCategory.INTERNAL, TAG) + } } val shouldClose = SingleLiveEvent<Unit>() @@ -41,7 +47,7 @@ class ContactDiaryAddPersonViewModel @AssistedInject constructor( name.value = value } - fun addPerson(phoneNumber: String, emailAddress: String) = launch(coroutineExceptionHandler) { + fun addPerson(phoneNumber: String, emailAddress: String) = launch(scope = appScope) { val person = contactDiaryRepository.addPerson( DefaultContactDiaryPerson( fullName = name.value, @@ -62,7 +68,7 @@ class ContactDiaryAddPersonViewModel @AssistedInject constructor( } fun updatePerson(person: ContactDiaryPersonEntity, phoneNumber: String, emailAddress: String) = - launch(coroutineExceptionHandler) { + launch(scope = appScope) { contactDiaryRepository.updatePerson( DefaultContactDiaryPerson( person.personId, @@ -75,7 +81,7 @@ class ContactDiaryAddPersonViewModel @AssistedInject constructor( shouldClose.postValue(null) } - fun deletePerson(person: ContactDiaryPersonEntity) = launch(coroutineExceptionHandler) { + fun deletePerson(person: ContactDiaryPersonEntity) = launch(scope = appScope) { contactDiaryRepository.personEncounters.firstOrNull()?.forEach { if (it.contactDiaryPerson.personId == person.personId) contactDiaryRepository.deletePersonEncounter(it) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/diagnosiskeys/DiagnosisKeysModule.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/diagnosiskeys/DiagnosisKeysModule.kt index c106f0a7efcee86ec5362cda32960171c3064ae9..fcf70982c601e88946bff1f75be686ac905f6c39 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/diagnosiskeys/DiagnosisKeysModule.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/diagnosiskeys/DiagnosisKeysModule.kt @@ -1,14 +1,10 @@ package de.rki.coronawarnapp.diagnosiskeys -import android.content.Context import dagger.Module import dagger.Provides import de.rki.coronawarnapp.diagnosiskeys.server.DiagnosisKeyApiV1 -import de.rki.coronawarnapp.diagnosiskeys.storage.legacy.KeyCacheLegacyDao import de.rki.coronawarnapp.environment.download.DownloadCDNHttpClient import de.rki.coronawarnapp.environment.download.DownloadCDNServerUrl -import de.rki.coronawarnapp.storage.AppDatabase -import de.rki.coronawarnapp.util.di.AppContext import okhttp3.OkHttpClient import retrofit2.Retrofit import retrofit2.converter.gson.GsonConverterFactory @@ -29,10 +25,4 @@ class DiagnosisKeysModule { .addConverterFactory(gsonConverterFactory) .build() .create(DiagnosisKeyApiV1::class.java) - - @Singleton - @Provides - fun legacyKeyCacheDao(@AppContext context: Context): KeyCacheLegacyDao { - return AppDatabase.getInstance(context).dateDao() - } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/diagnosiskeys/download/KeyDownloadTool.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/diagnosiskeys/download/KeyDownloadTool.kt index c182eef184c624c3a18dc416b9469101730251e0..22be3c46e0a288058dc548f12d32f9530d87eda0 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/diagnosiskeys/download/KeyDownloadTool.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/diagnosiskeys/download/KeyDownloadTool.kt @@ -3,17 +3,14 @@ package de.rki.coronawarnapp.diagnosiskeys.download import dagger.Reusable import de.rki.coronawarnapp.appconfig.KeyDownloadConfig import de.rki.coronawarnapp.diagnosiskeys.server.DiagnosisKeyServer -import de.rki.coronawarnapp.diagnosiskeys.server.DownloadInfo import de.rki.coronawarnapp.diagnosiskeys.storage.CachedKey import de.rki.coronawarnapp.diagnosiskeys.storage.KeyCacheRepository -import de.rki.coronawarnapp.diagnosiskeys.storage.legacy.LegacyKeyCacheMigration import kotlinx.coroutines.withTimeout import timber.log.Timber import javax.inject.Inject @Reusable class KeyDownloadTool @Inject constructor( - private val legacyKeyCache: LegacyKeyCacheMigration, private val keyServer: DiagnosisKeyServer, private val keyCache: KeyCacheRepository ) { @@ -24,24 +21,12 @@ class KeyDownloadTool @Inject constructor( val saveTo = cachedKey.path val keyInfo = cachedKey.info - val preconditionHook: suspend (DownloadInfo) -> Boolean = - { downloadInfo -> - /** - * To try legacy migration, we attempt to the etag as checksum. - * Removing the quotes, the etag can represent the file's MD5 checksum. - */ - val etagAsChecksum = downloadInfo.etag?.removePrefix("\"")?.removeSuffix("\"") - val continueDownload = !legacyKeyCache.tryMigration(etagAsChecksum, saveTo) - continueDownload // Continue download if no migration happened - } - val downloadInfo = withTimeout(downloadConfig.individualDownloadTimeout.millis) { keyServer.downloadKeyFile( locationCode = keyInfo.location, day = keyInfo.day, hour = keyInfo.hour, - saveTo = saveTo, - precondition = preconditionHook + saveTo = saveTo ) } Timber.tag(TAG).v("Download finished: %s -> %s", cachedKey, saveTo) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/diagnosiskeys/storage/legacy/KeyCacheLegacyDao.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/diagnosiskeys/storage/legacy/KeyCacheLegacyDao.kt deleted file mode 100644 index cd48b1f002493f73b758e51c2f38856d7b74e7b1..0000000000000000000000000000000000000000 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/diagnosiskeys/storage/legacy/KeyCacheLegacyDao.kt +++ /dev/null @@ -1,10 +0,0 @@ -package de.rki.coronawarnapp.diagnosiskeys.storage.legacy - -import androidx.room.Dao -import androidx.room.Query - -@Dao -interface KeyCacheLegacyDao { - @Query("DELETE FROM date") - suspend fun clear() -} diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/diagnosiskeys/storage/legacy/KeyCacheLegacyEntity.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/diagnosiskeys/storage/legacy/KeyCacheLegacyEntity.kt deleted file mode 100644 index b07327d563d0fa3f2cd93b92c3043eb4d7dd1c36..0000000000000000000000000000000000000000 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/diagnosiskeys/storage/legacy/KeyCacheLegacyEntity.kt +++ /dev/null @@ -1,18 +0,0 @@ -package de.rki.coronawarnapp.diagnosiskeys.storage.legacy - -import androidx.room.Entity -import androidx.room.Index -import androidx.room.PrimaryKey - -@Entity( - tableName = "date", - indices = [Index("id")] -) -class KeyCacheLegacyEntity { - @PrimaryKey - var id: String = "" - - var path: String = "" - - var type: Int = 0 -} diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/diagnosiskeys/storage/legacy/LegacyKeyCacheMigration.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/diagnosiskeys/storage/legacy/LegacyKeyCacheMigration.kt deleted file mode 100644 index b7b4113d75a8bba9d27107abee15f67cfe268ad7..0000000000000000000000000000000000000000 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/diagnosiskeys/storage/legacy/LegacyKeyCacheMigration.kt +++ /dev/null @@ -1,104 +0,0 @@ -package de.rki.coronawarnapp.diagnosiskeys.storage.legacy - -import android.content.Context -import dagger.Lazy -import de.rki.coronawarnapp.risk.TimeVariables -import de.rki.coronawarnapp.util.HashExtensions.hashToMD5 -import de.rki.coronawarnapp.util.TimeStamper -import de.rki.coronawarnapp.util.di.AppContext -import kotlinx.coroutines.sync.Mutex -import kotlinx.coroutines.sync.withLock -import org.joda.time.Duration -import org.joda.time.Instant -import timber.log.Timber -import java.io.File -import javax.inject.Inject - -class LegacyKeyCacheMigration @Inject constructor( - @AppContext private val context: Context, - private val legacyDao: Lazy<KeyCacheLegacyDao>, - private val timeStamper: TimeStamper -) { - - private val cacheDir by lazy { - File(context.cacheDir, "key-export") - } - - private val workMutex = Mutex() - private var isInit = false - private val legacyCacheMap = mutableMapOf<String, File>() - - private suspend fun tryInit() { - if (isInit) return - isInit = true - - if (!cacheDir.exists()) { - Timber.tag(TAG).v("Legacy cache dir doesn't exist, we are done.") - return - } - - try { - legacyDao.get().clear() - } catch (e: Exception) { - // Not good, but not a problem, we don't need the actual entities for migration. - Timber.tag(TAG).w(e, "Failed to clear legacy key cache from db.") - } - - try { - cacheDir.listFiles()?.forEach { file -> - val isExpired = Duration( - Instant.ofEpochMilli(file.lastModified()), - timeStamper.nowUTC - ).standardDays > TimeVariables.getDefaultRetentionPeriodInDays() - - if (isExpired) { - Timber.tag(TAG).d("Deleting expired file: %s", file) - file.delete() - } else { - val md5 = file.hashToMD5() - Timber.tag(TAG).v("MD5 %s for %s", md5, file) - legacyCacheMap[md5] = file - } - } - } catch (e: Exception) { - Timber.tag(TAG).e(e, "Reading legacy cached failed. Clearing.") - cacheDir.deleteRecursively() - } - - if (cacheDir.exists() && cacheDir.listFiles()?.isNullOrEmpty() == true) { - Timber.tag(TAG).v("Legacy cache dir is empty, deleting.") - cacheDir.delete() - } - } - - suspend fun tryMigration(fileMD5: String?, targetPath: File): Boolean = workMutex.withLock { - if (fileMD5 == null) return false - tryInit() - - val legacyFile = legacyCacheMap[fileMD5] ?: return false - Timber.tag(TAG).i("Migrating legacy file for %s to %s", fileMD5, targetPath) - - return try { - legacyFile.inputStream().use { from -> - targetPath.outputStream().use { to -> - from.copyTo(to, DEFAULT_BUFFER_SIZE) - } - } - true - } catch (e: Exception) { - Timber.tag(TAG).e(e, "Failed to migrate %s", legacyFile) - false - } finally { - try { - val removedFile = legacyCacheMap.remove(fileMD5) - if (removedFile?.delete() == true) Timber.tag(TAG).d("Deleted %s", removedFile) - } catch (e: Exception) { - Timber.tag(TAG).e(e, "Failed to delete %s", legacyFile) - } - } - } - - companion object { - private val TAG = this::class.java.simpleName - } -} diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/nearby/modules/tracing/DefaultTracingStatus.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/nearby/modules/tracing/DefaultTracingStatus.kt index a34f35c65762487bf05abbf4a7079699f566ed9a..208465596fcc7d74c6eaf67970ed7232ac0c3197 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/nearby/modules/tracing/DefaultTracingStatus.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/nearby/modules/tracing/DefaultTracingStatus.kt @@ -4,13 +4,9 @@ import com.google.android.gms.common.api.ApiException import com.google.android.gms.common.api.Status import com.google.android.gms.nearby.exposurenotification.ExposureNotificationClient import com.google.android.gms.nearby.exposurenotification.ExposureNotificationStatusCodes -import de.rki.coronawarnapp.CoronaWarnApplication import de.rki.coronawarnapp.exception.ExceptionCategory import de.rki.coronawarnapp.exception.reporting.report -import de.rki.coronawarnapp.risk.TimeVariables import de.rki.coronawarnapp.storage.LocalData -import de.rki.coronawarnapp.storage.tracing.TracingIntervalRepository -import de.rki.coronawarnapp.util.TimeAndDateExtensions.millisecondsToSeconds import de.rki.coronawarnapp.util.coroutine.AppScope import de.rki.coronawarnapp.util.flow.shareLatest import kotlinx.coroutines.CancellationException @@ -25,7 +21,6 @@ import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.onStart import kotlinx.coroutines.launch import timber.log.Timber -import java.util.Date import javax.inject.Inject import javax.inject.Singleton import kotlin.coroutines.resume @@ -77,20 +72,6 @@ class DefaultTracingStatus @Inject constructor( client.start() .addOnSuccessListener { cont.resume(it) } .addOnFailureListener { cont.resumeWithException(it) } - }.also { - LocalData.lastNonActiveTracingTimestamp()?.let { ts -> - TracingIntervalRepository.getDateRepository(CoronaWarnApplication.getAppContext()) - .createInterval(ts, System.currentTimeMillis()) - val difference = Date().time.minus(ts).millisecondsToSeconds() - if (difference >= TimeVariables.getDeactivationTracingMeasureThresholdTimeRange()) { - LocalData.totalNonActiveTracing( - LocalData.totalNonActiveTracing().plus(difference) - ) - } - } - LocalData.lastNonActiveTracingTimestamp(null) - LocalData.initialTracingActivationTimestamp() - ?: LocalData.initialTracingActivationTimestamp(System.currentTimeMillis()) } private suspend fun asyncStop() = suspendCoroutine<Void> { cont -> diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/release/NewReleaseInfoViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/release/NewReleaseInfoViewModel.kt index 6a872ed31b89446f265d33b3e10c6cdb4f75198d..49b04a5fb345f0e2d5dbb392e22428e046d85195 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/release/NewReleaseInfoViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/release/NewReleaseInfoViewModel.kt @@ -7,8 +7,8 @@ import de.rki.coronawarnapp.R import de.rki.coronawarnapp.datadonation.analytics.storage.AnalyticsSettings import de.rki.coronawarnapp.environment.BuildConfigWrap import de.rki.coronawarnapp.main.CWASettings -import de.rki.coronawarnapp.ui.SingleLiveEvent import de.rki.coronawarnapp.util.coroutine.DispatcherProvider +import de.rki.coronawarnapp.util.ui.SingleLiveEvent import de.rki.coronawarnapp.util.ui.toResolvingString import de.rki.coronawarnapp.util.viewmodel.CWAViewModel import de.rki.coronawarnapp.util.viewmodel.SimpleCWAViewModelFactory diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/DefaultRiskLevels.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/DefaultRiskLevels.kt index 734d7ff3de2b076aa8307f5c99c4e379730d17b2..85fd30cce117c6ae076783472a42c243834f098e 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/DefaultRiskLevels.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/DefaultRiskLevels.kt @@ -1,6 +1,5 @@ package de.rki.coronawarnapp.risk -import android.text.TextUtils import com.google.android.gms.nearby.exposurenotification.ExposureWindow import com.google.android.gms.nearby.exposurenotification.Infectiousness import com.google.android.gms.nearby.exposurenotification.ReportType @@ -114,8 +113,9 @@ class DefaultRiskLevels @Inject constructor() : RiskLevels { return null } - val transmissionRiskValue: Double = - transmissionRiskLevel * appConfig.transmissionRiskLevelMultiplier + val transmissionRiskValue: Double = appConfig.transmissionRiskValueMapping + .find { it.transmissionRiskLevel == transmissionRiskLevel } + ?.transmissionRiskValue ?: 0.0 Timber.d("%s's transmissionRiskValue is: %s", exposureWindow, transmissionRiskValue) @@ -135,8 +135,12 @@ class DefaultRiskLevels @Inject constructor() : RiskLevels { ) if (riskLevel == null) { - Timber.e("Exposure Window: $exposureWindow could not be mapped to a risk level") - throw NormalizedTimePerExposureWindowToRiskLevelMappingMissingException() + Timber.d( + "%s dropped due to risk level filter is %s", + exposureWindow, + riskLevel + ) + return null } Timber.d("%s's riskLevel is: %s", exposureWindow, riskLevel) @@ -158,13 +162,13 @@ class DefaultRiskLevels @Inject constructor() : RiskLevels { Timber.d( "uniqueDates: %s", - { TextUtils.join(System.lineSeparator(), uniqueDatesMillisSinceEpoch) } + uniqueDatesMillisSinceEpoch ) - val exposureHistory = uniqueDatesMillisSinceEpoch.map { + val exposureHistory = uniqueDatesMillisSinceEpoch.mapNotNull { aggregateRiskPerDate(appConfig, it, exposureWindowResultMap) } - Timber.d("exposureHistory size: ${exposureHistory.size}") + Timber.d("exposureHistory size: %d", exposureHistory.size) // 6. Determine `Total Risk` val totalRiskLevel = @@ -180,43 +184,43 @@ class DefaultRiskLevels @Inject constructor() : RiskLevels { RiskCalculationParametersOuterClass.NormalizedTimeToRiskLevelMapping.RiskLevel.LOW } - Timber.d("totalRiskLevel: ${totalRiskLevel.name} (${totalRiskLevel.ordinal})") + Timber.d("totalRiskLevel: %s (%d)", totalRiskLevel.name, totalRiskLevel.ordinal) // 7. Determine `Date of Most Recent Date with Low Risk` val mostRecentDateWithLowRisk = exposureHistory.mostRecentDateForRisk(ProtoRiskLevel.LOW) - Timber.d("mostRecentDateWithLowRisk: $mostRecentDateWithLowRisk") + Timber.d("mostRecentDateWithLowRisk: %s", mostRecentDateWithLowRisk) // 8. Determine `Date of Most Recent Date with High Risk` val mostRecentDateWithHighRisk = exposureHistory.mostRecentDateForRisk(ProtoRiskLevel.HIGH) - Timber.d("mostRecentDateWithHighRisk: $mostRecentDateWithHighRisk") + Timber.d("mostRecentDateWithHighRisk: %s", mostRecentDateWithHighRisk) // 9. Determine `Total Minimum Distinct Encounters With Low Risk` val totalMinimumDistinctEncountersWithLowRisk = exposureHistory .sumBy { it.minimumDistinctEncountersWithLowRisk } - Timber.d("totalMinimumDistinctEncountersWithLowRisk: $totalMinimumDistinctEncountersWithLowRisk") + Timber.d("totalMinimumDistinctEncountersWithLowRisk: %d", totalMinimumDistinctEncountersWithLowRisk) // 10. Determine `Total Minimum Distinct Encounters With High Risk` val totalMinimumDistinctEncountersWithHighRisk = exposureHistory .sumBy { it.minimumDistinctEncountersWithHighRisk } - Timber.d("totalMinimumDistinctEncountersWithHighRisk: $totalMinimumDistinctEncountersWithHighRisk") + Timber.d("totalMinimumDistinctEncountersWithHighRisk: %d", totalMinimumDistinctEncountersWithHighRisk) // 11. Determine `Number of Days With Low Risk` val numberOfDaysWithLowRisk = exposureHistory.numberOfDaysForRisk(ProtoRiskLevel.LOW) - Timber.d("numberOfDaysWithLowRisk: $numberOfDaysWithLowRisk") + Timber.d("numberOfDaysWithLowRisk: %d", numberOfDaysWithLowRisk) // 12. Determine `Number of Days With High Risk` val numberOfDaysWithHighRisk = exposureHistory.numberOfDaysForRisk(ProtoRiskLevel.HIGH) - Timber.d("numberOfDaysWithHighRisk: $numberOfDaysWithHighRisk") + Timber.d("numberOfDaysWithHighRisk: %d", numberOfDaysWithHighRisk) return AggregatedRiskResult( totalRiskLevel = totalRiskLevel, @@ -243,7 +247,7 @@ class DefaultRiskLevels @Inject constructor() : RiskLevels { appConfig: ExposureWindowRiskCalculationConfig, dateMillisSinceEpoch: Long, exposureWindowsAndResult: Map<ExposureWindow, RiskResult> - ): AggregatedRiskPerDateResult { + ): AggregatedRiskPerDateResult? { // 1. Group `Exposure Windows by Date` val exposureWindowsAndResultForDate = exposureWindowsAndResult .filter { it.key.dateMillisSinceEpoch == dateMillisSinceEpoch } @@ -252,31 +256,40 @@ class DefaultRiskLevels @Inject constructor() : RiskLevels { val normalizedTime = exposureWindowsAndResultForDate.values .sumOf { it.normalizedTime } - Timber.d("Aggregating result for date $dateMillisSinceEpoch - ${Instant.ofEpochMilli(dateMillisSinceEpoch)}") + Timber.d( + "Aggregating result for date %d - %s", + dateMillisSinceEpoch, + Instant.ofEpochMilli(dateMillisSinceEpoch) + ) // 3. Determine `Risk Level per Date` - val riskLevel = try { - appConfig.normalizedTimePerDayToRiskLevelMappingList - .filter { it.normalizedTimeRange.inRange(normalizedTime) } - .map { it.riskLevel } - .first() - } catch (e: Exception) { - throw NormalizedTimePerDayToRiskLevelMappingMissingException() + val riskLevel = appConfig.normalizedTimePerDayToRiskLevelMappingList + .filter { it.normalizedTimeRange.inRange(normalizedTime) } + .map { it.riskLevel } + .firstOrNull() + + if (riskLevel == null) { + Timber.d( + "No Risk Level is associated with date %d - %s", + dateMillisSinceEpoch, + Instant.ofEpochMilli(dateMillisSinceEpoch) + ) + return null } - Timber.d("riskLevel: ${riskLevel.name} (${riskLevel.ordinal})") + Timber.d("riskLevel: %s (%d)", riskLevel.name, riskLevel.ordinal) // 4. Determine `Minimum Distinct Encounters With Low Risk per Date` val minimumDistinctEncountersWithLowRisk = exposureWindowsAndResultForDate.minimumDistinctEncountersForRisk(ProtoRiskLevel.LOW) - Timber.d("minimumDistinctEncountersWithLowRisk: $minimumDistinctEncountersWithLowRisk") + Timber.d("minimumDistinctEncountersWithLowRisk: %d", minimumDistinctEncountersWithLowRisk) // 5. Determine `Minimum Distinct Encounters With High Risk per Date` val minimumDistinctEncountersWithHighRisk = exposureWindowsAndResultForDate.minimumDistinctEncountersForRisk(ProtoRiskLevel.HIGH) - Timber.d("minimumDistinctEncountersWithHighRisk: $minimumDistinctEncountersWithHighRisk") + Timber.d("minimumDistinctEncountersWithHighRisk: %d", minimumDistinctEncountersWithHighRisk) return AggregatedRiskPerDateResult( dateMillisSinceEpoch = dateMillisSinceEpoch, @@ -293,17 +306,6 @@ class DefaultRiskLevels @Inject constructor() : RiskLevels { .size companion object { - - open class RiskLevelMappingMissingException(msg: String) : Exception(msg) - - class NormalizedTimePerExposureWindowToRiskLevelMappingMissingException : RiskLevelMappingMissingException( - "Failed to map the normalized Time per Exposure Window to a Risk Level" - ) - - class NormalizedTimePerDayToRiskLevelMappingMissingException : RiskLevelMappingMissingException( - "Failed to map the normalized Time per Day to a Risk Level" - ) - class UnknownReportTypeException : Exception( "The Report Type returned by the ENF is not known" ) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/TimeVariables.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/TimeVariables.kt index b1f46c2a894f9f7360bd2497a46fad1f5d581ef6..457db5ea6167ed9c909e548ee07eab8c581ccd2a 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/TimeVariables.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/TimeVariables.kt @@ -1,16 +1,7 @@ package de.rki.coronawarnapp.risk -import com.google.android.gms.common.api.ApiException -import de.rki.coronawarnapp.CoronaWarnApplication -import de.rki.coronawarnapp.exception.ExceptionCategory -import de.rki.coronawarnapp.exception.reporting.report -import de.rki.coronawarnapp.nearby.InternalExposureNotificationClient -import de.rki.coronawarnapp.storage.LocalData -import de.rki.coronawarnapp.storage.tracing.TracingIntervalRepository import de.rki.coronawarnapp.util.CWADebug import de.rki.coronawarnapp.util.TimeAndDateExtensions.daysToMilliseconds -import de.rki.coronawarnapp.util.TimeAndDateExtensions.roundUpMsToDays -import timber.log.Timber object TimeVariables { @@ -111,102 +102,4 @@ object TimeVariables { * @return max attenuation duration in minutes */ fun getMaxAttenuationDuration() = MAX_ATTENUATION_DURATION - - /**************************************************** - * STORED DATA - ****************************************************/ - /** - * timestamp when the tracing was activated by the user read from the mobile device storage. - * The parameter is only filled once the tracing was activated and - * not if the user activated or deactivates the tracing. - * - * It will change when you reinstall your app and activate tracing again. - * - * @return time in milliseconds when tracing was initially activated - */ - fun getInitialExposureTracingActivationTimestamp(): Long? = - LocalData.initialTracingActivationTimestamp() - - /**************************************************** - * CALCULATED TIME VARIABLES - ****************************************************/ - - /** - * The time the tracing is active. - * - * @return in milliseconds - */ - fun getTimeActiveTracingDuration(): Long = System.currentTimeMillis() - - (getInitialExposureTracingActivationTimestamp() ?: 0L) - - LocalData.totalNonActiveTracing() - - suspend fun getActiveTracingDaysInRetentionPeriod(): Long { - // the active tracing time during the retention period - all non active tracing times - val tracingActiveMS = getTimeRangeFromRetentionPeriod() - val retentionPeriodInMS = getDefaultRetentionPeriodInMS() - val lastNonActiveTracingTimestamp = LocalData.lastNonActiveTracingTimestamp() - val current = System.currentTimeMillis() - val retentionTimestamp = current - retentionPeriodInMS - val inactiveTracingIntervals = TracingIntervalRepository - .getDateRepository(CoronaWarnApplication.getAppContext()) - .getIntervals() - .toMutableList() - - // by default the tracing is assumed to be activated - // if the API is reachable we set the value accordingly - val enIsDisabled = try { - !InternalExposureNotificationClient.asyncIsEnabled() - } catch (e: ApiException) { - e.report(ExceptionCategory.EXPOSURENOTIFICATION) - false - } - - // lastNonActiveTracingTimestamp could be null when en is disabled - // it only gets updated when you turn the en back on - // if en is disabled and lastNonActiveTracingTimestamp != null, only then we add a pair to - // the inactive intervals list to account for the time of inactivity between the last time - // en was not active and now. - if (enIsDisabled && lastNonActiveTracingTimestamp != null) { - val lastTimeTracingWasNotActivated = - LocalData.lastNonActiveTracingTimestamp() ?: current - inactiveTracingIntervals.add(Pair(lastTimeTracingWasNotActivated, current)) - } - val inactiveTracingMS = inactiveTracingIntervals - .map { it.second - maxOf(it.first, retentionTimestamp) } - .sum() - - // because we delete periods that are past 14 days but tracingActiveMS counts from first - // ever activation, there are edge cases where tracingActiveMS gets to be > 14 days - val activeTracingDays = (minOf(tracingActiveMS, retentionPeriodInMS) - inactiveTracingMS).roundUpMsToDays() - return if (activeTracingDays >= 0) { - activeTracingDays - } else { - Timber.w("Negative active tracing days: %d", activeTracingDays) - 0 - } - } - - /**************************************************** - * HELPER FUNCTIONS - ****************************************************/ - - /** - * Return the maximum time of the time range that is used as retention time range. - * The retention time range will be corrected to the initial exposure activation timestamp - * (e.g. when we reset our data or start tracing for the first time after a fresh install) - * - * @return max number of days the server should fetch - */ - private fun getTimeRangeFromRetentionPeriod(): Long { - val activeTracingTimeInMS = - getInitialExposureTracingActivationTimestamp()?.let { - System.currentTimeMillis().minus(it) - } ?: return 0 - - return if (activeTracingTimeInMS > getDefaultRetentionPeriodInMS()) { - getDefaultRetentionPeriodInMS() - } else { - activeTracingTimeInMS - } - } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/storage/BaseRiskLevelStorage.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/storage/BaseRiskLevelStorage.kt index a0e337d4b16da0ae89a478a4124794dbbd7ad794..8b84f939545f110e36ca9d2d3efba290e490f432 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/storage/BaseRiskLevelStorage.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/storage/BaseRiskLevelStorage.kt @@ -8,7 +8,6 @@ import de.rki.coronawarnapp.risk.storage.internal.riskresults.PersistedRiskLevel import de.rki.coronawarnapp.risk.storage.internal.riskresults.toPersistedAggregatedRiskPerDateResult import de.rki.coronawarnapp.risk.storage.internal.riskresults.toPersistedRiskResult import de.rki.coronawarnapp.risk.storage.internal.windows.PersistedExposureWindowDaoWrapper -import de.rki.coronawarnapp.risk.storage.legacy.RiskLevelResultMigrator import de.rki.coronawarnapp.util.flow.combine import de.rki.coronawarnapp.util.flow.shareLatest import kotlinx.coroutines.CoroutineScope @@ -19,7 +18,6 @@ import timber.log.Timber abstract class BaseRiskLevelStorage constructor( private val riskResultDatabaseFactory: RiskResultDatabase.Factory, - private val riskLevelResultMigrator: RiskLevelResultMigrator, scope: CoroutineScope ) : RiskLevelStorage { @@ -55,13 +53,6 @@ abstract class BaseRiskLevelStorage constructor( } } - private suspend fun List<RiskLevelTaskResult>.fallbackToLegacyIfEmpty(): List<RiskLevelResult> = - if (isNotEmpty()) { - this - } else { - riskLevelResultMigrator.getLegacyResults() - } - final override val allRiskLevelResults: Flow<List<RiskLevelResult>> = combine( riskResultsTables.allEntries(), exposureWindowsTables.allEntries() @@ -73,7 +64,6 @@ abstract class BaseRiskLevelStorage constructor( Timber.v("Mapping took %dms", (System.currentTimeMillis() - startTime)) } } - .map { results -> results.fallbackToLegacyIfEmpty() } .shareLatest(tag = TAG, scope = scope) override val latestRiskLevelResults: Flow<List<RiskLevelResult>> = riskResultsTables.latestEntries(2) @@ -81,7 +71,6 @@ abstract class BaseRiskLevelStorage constructor( Timber.v("Mapping latestRiskLevelResults:\n%s", results.joinToString("\n")) results.combineWithWindows(null) } - .map { results -> results.fallbackToLegacyIfEmpty() } .shareLatest(tag = TAG, scope = scope) override val latestAndLastSuccessful: Flow<List<RiskLevelResult>> = riskResultsTables.latestAndLastSuccessful() @@ -89,7 +78,6 @@ abstract class BaseRiskLevelStorage constructor( Timber.v("Mapping latestAndLastSuccessful:\n%s", results.joinToString("\n")) results.combineWithWindows(null) } - .map { results -> results.fallbackToLegacyIfEmpty() } .shareLatest(tag = TAG, scope = scope) override suspend fun storeResult(result: RiskLevelResult) { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/storage/legacy/RiskLevelResultMigrator.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/storage/legacy/RiskLevelResultMigrator.kt deleted file mode 100644 index 07f3a3fb3f6e6578f0c341aface0383151d020ef..0000000000000000000000000000000000000000 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/storage/legacy/RiskLevelResultMigrator.kt +++ /dev/null @@ -1,135 +0,0 @@ -package de.rki.coronawarnapp.risk.storage.legacy - -import android.content.Context -import android.content.SharedPreferences -import androidx.annotation.VisibleForTesting -import com.google.android.gms.nearby.exposurenotification.ExposureWindow -import dagger.Lazy -import de.rki.coronawarnapp.risk.RiskLevelResult -import de.rki.coronawarnapp.risk.RiskState -import de.rki.coronawarnapp.risk.result.AggregatedRiskResult -import de.rki.coronawarnapp.storage.AppDatabase -import de.rki.coronawarnapp.storage.EncryptedPreferences -import de.rki.coronawarnapp.util.TimeStamper -import de.rki.coronawarnapp.util.di.AppContext -import org.joda.time.Duration -import org.joda.time.Instant -import timber.log.Timber -import javax.inject.Inject -import javax.inject.Singleton - -/** - * TODO Remove this in the future - * Once a significant portion of the user base has already been running 1.8.x, - * this class can be removed to reduce access to the EncryptedPreferences. - */ -@Singleton -class RiskLevelResultMigrator @Inject constructor( - @EncryptedPreferences encryptedPreferences: Lazy<SharedPreferences>, - private val timeStamper: TimeStamper, - @AppContext - private val context: Context -) { - - private val prefs by lazy { encryptedPreferences.get() } - - private fun lastTimeRiskLevelCalculation(): Instant? { - prefs.getLong("preference_timestamp_risk_level_calculation", -1L).also { - Timber.tag(TAG).d("preference_timestamp_risk_level_calculation=$it") - return if (it < 0) null else Instant.ofEpochMilli(it) - } - } - - private fun lastCalculatedRiskLevel(): RiskState? { - val rawRiskLevel = prefs.getInt("preference_risk_level_score", -1) - Timber.tag(TAG).d("preference_risk_level_score=$rawRiskLevel") - return if (rawRiskLevel != -1) mapRiskLevelConstant(rawRiskLevel) else null - } - - private fun lastSuccessfullyCalculatedRiskLevel(): RiskState? { - val rawRiskLevel = prefs.getInt("preference_risk_level_score_successful", -1) - Timber.tag(TAG).d("preference_risk_level_score_successful=$rawRiskLevel") - return if (rawRiskLevel != -1) mapRiskLevelConstant(rawRiskLevel) else null - } - - private suspend fun lastEncounterAt(): Instant? { - return try { - val daysSinceLastExposure = - AppDatabase.getInstance(context) - .exposureSummaryDao() - .getLatestExposureSummary()?.daysSinceLastExposure - if (daysSinceLastExposure == null) { - null - } else { - timeStamper.nowUTC.minus(Duration.standardDays(daysSinceLastExposure.toLong())) - } - } catch (exception: Exception) { - Timber.tag(TAG).w(exception, "failed to select exposure summary dao from enf v1") - null - } - } - - suspend fun getLegacyResults(): List<RiskLevelResult> = try { - val legacyResults = mutableListOf<RiskLevelResult>() - lastCalculatedRiskLevel()?.let { - legacyResults.add( - LegacyResult( - riskState = it, - calculatedAt = lastTimeRiskLevelCalculation() ?: timeStamper.nowUTC, - lastEncounterAt = lastEncounterAt() - ) - ) - } - - lastSuccessfullyCalculatedRiskLevel()?.let { - legacyResults.add( - LegacyResult( - riskState = it, - calculatedAt = timeStamper.nowUTC, - lastEncounterAt = lastEncounterAt() - ) - ) - } - - Timber.tag(TAG).d("legacyResults=$legacyResults") - legacyResults - } catch (e: Exception) { - Timber.tag(TAG).e(e, "Failed to parse legacy risklevel data.") - emptyList() - } - - data class LegacyResult( - override val riskState: RiskState, - override val calculatedAt: Instant, - private val lastEncounterAt: Instant? - ) : RiskLevelResult { - override val failureReason: RiskLevelResult.FailureReason? = null - override val aggregatedRiskResult: AggregatedRiskResult? = null - override val exposureWindows: List<ExposureWindow>? = null - override val matchedKeyCount: Int = 0 - override val daysWithEncounters: Int = 0 - override val lastRiskEncounterAt: Instant? = lastEncounterAt - } - - companion object { - private const val TAG = "RiskLevelResultMigrator" - - @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE) - internal fun mapRiskLevelConstant(value: Int): RiskState = when (value) { - MigrationRiskLevelConstants.LOW_LEVEL_RISK -> RiskState.LOW_RISK - MigrationRiskLevelConstants.INCREASED_RISK -> RiskState.INCREASED_RISK - else -> RiskState.CALCULATION_FAILED - } - } -} - -@VisibleForTesting(otherwise = VisibleForTesting.PRIVATE) -internal object MigrationRiskLevelConstants { - const val NO_CALCULATION_POSSIBLE_TRACING_OFF = 1 - const val LOW_LEVEL_RISK = 2 - const val INCREASED_RISK = 3 - const val UNKNOWN_RISK_OUTDATED_RESULTS = 4 - const val UNKNOWN_RISK_OUTDATED_RESULTS_MANUAL = 5 - const val UNKNOWN_RISK_NO_INTERNET = 6 - const val UNDETERMINED = 9001 -} diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/statistics/source/StatisticsServer.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/statistics/source/StatisticsServer.kt index 11526a01c55cf71e0cbeca327521b8dc53535e3c..10eea6f67247612b59534f183242ad8da01753bf 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/statistics/source/StatisticsServer.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/statistics/source/StatisticsServer.kt @@ -5,7 +5,7 @@ import dagger.Reusable import de.rki.coronawarnapp.statistics.Statistics import de.rki.coronawarnapp.util.ZipHelper.readIntoMap import de.rki.coronawarnapp.util.ZipHelper.unzip -import de.rki.coronawarnapp.util.security.VerificationKeys +import de.rki.coronawarnapp.util.security.SignatureValidation import okhttp3.Cache import retrofit2.HttpException import timber.log.Timber @@ -15,7 +15,7 @@ import javax.inject.Inject @Reusable class StatisticsServer @Inject constructor( private val api: Lazy<StatisticsApiV1>, - private val verificationKeys: VerificationKeys, + private val signatureValidation: SignatureValidation, @Statistics val cache: Cache ) { @@ -37,7 +37,12 @@ class StatisticsServer @Inject constructor( throw IOException("Unknown files: ${fileMap.keys}") } - if (verificationKeys.hasInvalidSignature(exportBinary, exportSignature)) { + val hasValidSignature = signatureValidation.hasValidSignature( + exportBinary, + SignatureValidation.parseTEKStyleSignature(exportSignature) + ) + + if (!hasValidSignature) { throw InvalidStatisticsSignatureException(message = "Statistics signature did not match.") } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/AppDatabase.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/AppDatabase.kt deleted file mode 100644 index 1f37983a9d50edb4ab09fa0b658c65833b3d1e77..0000000000000000000000000000000000000000 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/AppDatabase.kt +++ /dev/null @@ -1,78 +0,0 @@ -package de.rki.coronawarnapp.storage - -import android.content.Context -import android.database.sqlite.SQLiteDatabase -import androidx.annotation.VisibleForTesting -import androidx.room.Database -import androidx.room.Room -import androidx.room.RoomDatabase -import androidx.room.TypeConverters -import de.rki.coronawarnapp.diagnosiskeys.storage.legacy.KeyCacheLegacyDao -import de.rki.coronawarnapp.diagnosiskeys.storage.legacy.KeyCacheLegacyEntity -import de.rki.coronawarnapp.storage.tracing.TracingIntervalDao -import de.rki.coronawarnapp.storage.tracing.TracingIntervalEntity -import de.rki.coronawarnapp.storage.tracing.TracingIntervalRepository -import de.rki.coronawarnapp.util.database.CommonConverters -import de.rki.coronawarnapp.util.di.AppInjector -import de.rki.coronawarnapp.util.security.SecurityHelper -import kotlinx.coroutines.runBlocking -import net.sqlcipher.database.SupportFactory -import java.io.File - -@Database( - entities = [ - ExposureSummaryEntity::class, - KeyCacheLegacyEntity::class, - TracingIntervalEntity::class - ], - version = 1, - exportSchema = true -) -@TypeConverters(CommonConverters::class) -abstract class AppDatabase : RoomDatabase() { - - abstract fun exposureSummaryDao(): ExposureSummaryDao - abstract fun dateDao(): KeyCacheLegacyDao - abstract fun tracingIntervalDao(): TracingIntervalDao - - companion object { - @Volatile - private var instance: AppDatabase? = null - - fun getInstance(context: Context): AppDatabase { - return instance ?: synchronized(this) { - instance ?: buildDatabase(context).also { instance = it } - } - } - - @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE) - fun resetInstance() = synchronized(this) { - instance = null - } - - fun reset(context: Context) { - val path: String = context.getDatabasePath(DATABASE_NAME).path - val dbFile = File(path) - if (dbFile.exists()) { - SQLiteDatabase.deleteDatabase(dbFile) - } - resetInstance() - - // reset also the repo instances - val keyRepository = AppInjector.component.keyCacheRepository - runBlocking { keyRepository.clear() } // TODO this is not nice - TracingIntervalRepository.resetInstance() - } - - private fun buildDatabase(context: Context): AppDatabase { - return Room.databaseBuilder(context, AppDatabase::class.java, DATABASE_NAME) - /** - * The fallback behavior is to reset the app as we only store exposure summaries - * and cached references that are non-critical to app operation. - */ - .fallbackToDestructiveMigrationFrom() - .openHelperFactory(SupportFactory(SecurityHelper.getDBPassword())) - .build() - } - } -} diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/DatabaseConstants.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/DatabaseConstants.kt deleted file mode 100644 index d7148c9f6acf124d0a3f4ffb4c148ade432666cd..0000000000000000000000000000000000000000 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/DatabaseConstants.kt +++ /dev/null @@ -1,3 +0,0 @@ -package de.rki.coronawarnapp.storage - -const val DATABASE_NAME = "coronawarnapp-db" diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/ExposureSummaryDao.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/ExposureSummaryDao.kt deleted file mode 100644 index 93233ecdea7d9068d568ce4d78b113cb9a789330..0000000000000000000000000000000000000000 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/ExposureSummaryDao.kt +++ /dev/null @@ -1,18 +0,0 @@ -package de.rki.coronawarnapp.storage - -import androidx.room.Dao -import androidx.room.Insert -import androidx.room.Query - -@Dao -interface ExposureSummaryDao { - - @Query("SELECT * FROM exposure_summary") - suspend fun getExposureSummaryEntities(): List<ExposureSummaryEntity> - - @Query("SELECT * FROM exposure_summary ORDER BY id DESC LIMIT 1") - suspend fun getLatestExposureSummary(): ExposureSummaryEntity? - - @Insert - suspend fun insertExposureSummaryEntity(exposureSummaryEntity: ExposureSummaryEntity): Long -} diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/ExposureSummaryEntity.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/ExposureSummaryEntity.kt deleted file mode 100644 index 8a03e9ed8aca415cc51c8e302fbf742e89019916..0000000000000000000000000000000000000000 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/ExposureSummaryEntity.kt +++ /dev/null @@ -1,25 +0,0 @@ -package de.rki.coronawarnapp.storage - -import androidx.room.Entity -import androidx.room.Index -import androidx.room.PrimaryKey - -@Entity( - tableName = "exposure_summary", - indices = [Index("id")] -) -class ExposureSummaryEntity { - - @PrimaryKey(autoGenerate = true) - var id: Long = 0 - - var daysSinceLastExposure: Int = 0 - - var matchedKeyCount: Int = 0 - - var maximumRiskScore: Int = 0 - - var summationRiskScore: Int = 0 - - var attenuationDurationsInMinutes: List<Int> = arrayListOf() -} diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/LocalData.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/LocalData.kt index 139ca0b795007348e74b60f529e9cec251ab7054..a5cb1011cb3155c2f2275c19f7a7b6addd8253e4 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/LocalData.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/LocalData.kt @@ -261,35 +261,6 @@ object LocalData { ) } - /** - * Gets the boolean if the user has seen the explanation dialog for the - * risk level tracing days - * from the EncryptedSharedPrefs - * - * @return boolean if user is onboarded - */ - fun tracingExplanationDialogWasShown(): Boolean = getSharedPreferenceInstance().getBoolean( - CoronaWarnApplication.getAppContext() - .getString(R.string.preference_risk_days_explanation_shown), - false - ) - - /** - * Sets the boolean if the user has seen the explanation dialog for the - * risk level tracing days - * from the EncryptedSharedPrefs - * - * @param value boolean if onboarding was completed - */ - fun tracingExplanationDialogWasShown(value: Boolean) = - getSharedPreferenceInstance().edit(true) { - putBoolean( - CoronaWarnApplication.getAppContext() - .getString(R.string.preference_risk_days_explanation_shown), - value - ) - } - /** * Sets a boolean depending whether the risk level decreased or not. */ diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/TracingRepository.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/TracingRepository.kt index bb2abf7be0583b0523b54894f3fab011c44b4a13..197617c59e7036b4798387deadc399e128f48973 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/TracingRepository.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/TracingRepository.kt @@ -7,7 +7,6 @@ import de.rki.coronawarnapp.nearby.InternalExposureNotificationClient import de.rki.coronawarnapp.nearby.modules.detectiontracker.ExposureDetectionTracker import de.rki.coronawarnapp.nearby.modules.detectiontracker.lastSubmission import de.rki.coronawarnapp.risk.RiskLevelTask -import de.rki.coronawarnapp.risk.TimeVariables.getActiveTracingDaysInRetentionPeriod import de.rki.coronawarnapp.task.TaskController import de.rki.coronawarnapp.task.TaskInfo import de.rki.coronawarnapp.task.common.DefaultTaskRequest @@ -20,7 +19,6 @@ import de.rki.coronawarnapp.util.device.BackgroundModeStatus import de.rki.coronawarnapp.util.di.AppContext import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.first import kotlinx.coroutines.flow.map @@ -36,7 +34,6 @@ import javax.inject.Singleton * * @see LocalData * @see InternalExposureNotificationClient - * @see RiskLevelRepository */ @Singleton class TracingRepository @Inject constructor( @@ -49,9 +46,6 @@ class TracingRepository @Inject constructor( private val backgroundModeStatus: BackgroundModeStatus ) { - private val internalActiveTracingDaysInRetentionPeriod = MutableStateFlow(0L) - val activeTracingDaysInRetentionPeriod: Flow<Long> = internalActiveTracingDaysInRetentionPeriod - val tracingProgress: Flow<TracingProgress> = combine( taskController.tasks.map { it.isDownloadDiagnosisKeysTaskRunning() }, enfClient.isPerformingExposureDetection(), @@ -97,18 +91,6 @@ class TracingRepository @Inject constructor( } } - /** - * Refresh the activeTracingDaysInRetentionPeriod calculation. - * - * @see de.rki.coronawarnapp.risk.TimeVariables - */ - fun refreshActiveTracingDaysInRetentionPeriod() { - scope.launch { - internalActiveTracingDaysInRetentionPeriod.value = - getActiveTracingDaysInRetentionPeriod() - } - } - /** * Launches the RetrieveDiagnosisKeysTransaction and RiskLevelTransaction in the viewModel scope */ diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/tracing/TracingIntervalDao.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/tracing/TracingIntervalDao.kt deleted file mode 100644 index c8b4a854cc7bd2a666527d1e104d233bcaf0995c..0000000000000000000000000000000000000000 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/tracing/TracingIntervalDao.kt +++ /dev/null @@ -1,17 +0,0 @@ -package de.rki.coronawarnapp.storage.tracing - -import androidx.room.Dao -import androidx.room.Insert -import androidx.room.Query - -@Dao -interface TracingIntervalDao { - @Query("DELETE FROM tracing_interval WHERE `to` < :retentionTimestamp") - suspend fun deleteOutdatedIntervals(retentionTimestamp: Long) - - @Query("SELECT * FROM tracing_interval") - suspend fun getAllIntervals(): List<TracingIntervalEntity> - - @Insert - suspend fun insertInterval(interval: TracingIntervalEntity) -} diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/tracing/TracingIntervalEntity.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/tracing/TracingIntervalEntity.kt deleted file mode 100644 index 4457b80affafb2d87d66323e21c754bf051a082b..0000000000000000000000000000000000000000 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/tracing/TracingIntervalEntity.kt +++ /dev/null @@ -1,14 +0,0 @@ -package de.rki.coronawarnapp.storage.tracing - -import androidx.room.Entity -import androidx.room.Index - -@Entity( - tableName = "tracing_interval", - indices = [Index("from", "to")], - primaryKeys = ["from", "to"] -) -class TracingIntervalEntity { - var from: Long = 0L - var to: Long = 0L -} diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/tracing/TracingIntervalRepository.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/tracing/TracingIntervalRepository.kt deleted file mode 100644 index 2035405b06c806b50349e7055e48c7b8cb0385e5..0000000000000000000000000000000000000000 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/tracing/TracingIntervalRepository.kt +++ /dev/null @@ -1,55 +0,0 @@ -package de.rki.coronawarnapp.storage.tracing - -import android.content.Context -import de.rki.coronawarnapp.risk.TimeVariables -import de.rki.coronawarnapp.storage.AppDatabase -import timber.log.Timber - -class TracingIntervalRepository(private val tracingIntervalDao: TracingIntervalDao) { - - companion object { - private val TAG: String? = TracingIntervalRepository::class.simpleName - - @Volatile - private var instance: TracingIntervalRepository? = null - - private fun getInstance(tracingIntervalDao: TracingIntervalDao) = - instance ?: synchronized(this) { - instance - ?: TracingIntervalRepository(tracingIntervalDao) - .also { instance = it } - } - - fun resetInstance() = synchronized(this) { - instance = null - } - - fun getDateRepository(context: Context): TracingIntervalRepository { - return getInstance( - AppDatabase.getInstance(context.applicationContext) - .tracingIntervalDao() - ) - } - } - - suspend fun createInterval(from: Long, to: Long) { - Timber.v("Insert Tracing Interval $from, $to") - if (to < from) throw IllegalArgumentException("to cannot be before from") - tracingIntervalDao.insertInterval( - TracingIntervalEntity().apply { - this.from = from - this.to = to - } - ) - } - - suspend fun getIntervals(): List<Pair<Long, Long>> { - val retentionTimestamp = System.currentTimeMillis() - TimeVariables.getDefaultRetentionPeriodInMS() - tracingIntervalDao.deleteOutdatedIntervals(retentionTimestamp) - - return tracingIntervalDao - .getAllIntervals() - .map { Pair(it.from, it.to) } - .also { Timber.d("Intervals: $it") } - } -} diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/states/TracingState.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/states/TracingState.kt index a34123bfa1c03cec56d0d0529566da0c5e9a682c..35b60f17d6cea8f1d3ae8fe623567a64b07d07ad 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/states/TracingState.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/states/TracingState.kt @@ -5,7 +5,6 @@ import android.text.format.DateUtils import androidx.annotation.ColorInt import de.rki.coronawarnapp.R import de.rki.coronawarnapp.risk.RiskState -import de.rki.coronawarnapp.risk.TimeVariables import de.rki.coronawarnapp.tracing.TracingProgress import de.rki.coronawarnapp.util.ContextExtensions.getColorCompat import de.rki.coronawarnapp.util.TimeAndDateExtensions.toLocalDate @@ -33,8 +32,7 @@ data class IncreasedRisk( val lastExposureDetectionTime: Instant?, val lastEncounterAt: Instant?, val allowManualUpdate: Boolean, - val daysWithEncounters: Int, - val activeTracingDays: Int + val daysWithEncounters: Int ) : TracingState() { val showUpdateButton: Boolean = allowManualUpdate && !isInDetailsMode @@ -70,16 +68,6 @@ data class IncreasedRisk( ) } - fun getRiskActiveTracingDaysInRetentionPeriod(context: Context): String { - if (!isInDetailsMode) return "" - - return if (activeTracingDays < TimeVariables.getDefaultRetentionPeriodInDays()) { - context.getString(R.string.risk_card_body_saved_days).format(activeTracingDays) - } else { - context.getString(R.string.risk_card_body_saved_days_full) - } - } - fun getRiskContactLast(context: Context): String? { if (lastEncounterAt == null) return null // caution! lastEncounterAt is null after migration from 1.7.x -> 1.8.x @@ -107,8 +95,7 @@ data class LowRisk( val lastExposureDetectionTime: Instant?, val lastEncounterAt: Instant?, val allowManualUpdate: Boolean, - val daysWithEncounters: Int, - val activeTracingDays: Int + val daysWithEncounters: Int ) : TracingState() { val showUpdateButton: Boolean = allowManualUpdate && !isInDetailsMode @@ -144,13 +131,6 @@ data class LowRisk( ) } - fun getRiskActiveTracingDaysInRetentionPeriod(context: Context): String = - if (activeTracingDays < TimeVariables.getDefaultRetentionPeriodInDays()) { - context.getString(R.string.risk_card_body_saved_days).format(activeTracingDays) - } else { - context.getString(R.string.risk_card_body_saved_days_full) - } - fun getRiskContactLast(context: Context): String? { if (lastEncounterAt == null) return null // caution! lastEncounterAt is null after migration from 1.7.x -> 1.8.x diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/states/TracingStateProvider.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/states/TracingStateProvider.kt index cb94ae132c27493a2fd52f84207670d1529f868f..2e70177578a512828ca632c58e65ba75df522ee7 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/states/TracingStateProvider.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/states/TracingStateProvider.kt @@ -38,9 +38,6 @@ class TracingStateProvider @AssistedInject constructor( riskLevelStorage.latestAndLastSuccessful.onEach { Timber.v("riskLevelResults: $it") }, - tracingRepository.activeTracingDaysInRetentionPeriod.onEach { - Timber.v("activeTracingDaysInRetentionPeriod: $it") - }, exposureDetectionTracker.latestSubmission().onEach { Timber.v("latestSubmission: $it") }, @@ -50,7 +47,6 @@ class TracingStateProvider @AssistedInject constructor( ) { tracingStatus, tracingProgress, riskLevelResults, - activeTracingDaysInRetentionPeriod, latestSubmission, isBackgroundJobEnabled -> @@ -76,7 +72,6 @@ class TracingStateProvider @AssistedInject constructor( lastExposureDetectionTime = latestSubmission?.startedAt, lastEncounterAt = latestCalc.lastRiskEncounterAt, daysWithEncounters = latestCalc.daysWithEncounters, - activeTracingDays = activeTracingDaysInRetentionPeriod.toInt(), allowManualUpdate = !isBackgroundJobEnabled ) latestCalc.riskState == RiskState.INCREASED_RISK -> IncreasedRisk( @@ -85,7 +80,6 @@ class TracingStateProvider @AssistedInject constructor( lastExposureDetectionTime = latestSubmission?.startedAt, lastEncounterAt = latestCalc.lastRiskEncounterAt, daysWithEncounters = latestCalc.daysWithEncounters, - activeTracingDays = activeTracingDaysInRetentionPeriod.toInt(), allowManualUpdate = !isBackgroundJobEnabled ) else -> TracingFailed( diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/TracingExplanationDialog.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/TracingExplanationDialog.kt deleted file mode 100644 index 2909572598943ce83a8d403bfc3ec8733ff624ff..0000000000000000000000000000000000000000 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/TracingExplanationDialog.kt +++ /dev/null @@ -1,38 +0,0 @@ -package de.rki.coronawarnapp.tracing.ui - -import android.content.Context -import de.rki.coronawarnapp.R -import de.rki.coronawarnapp.ui.main.home.HomeFragment -import de.rki.coronawarnapp.util.DialogHelper -import javax.inject.Inject - -class TracingExplanationDialog @Inject constructor( - private val homeFragment: HomeFragment -) { - private val context: Context - get() = homeFragment.requireContext() - - fun show(activeTracingDaysInRetentionPeriod: Long, onPositive: () -> Unit) { - // get all text strings and the current active tracing time - val infoPeriodLogged = - context.getString(R.string.risk_details_information_body_period_logged) - val infoPeriodLoggedAssessment = - context.getString( - R.string.risk_details_information_body_period_logged_assessment, - activeTracingDaysInRetentionPeriod.toString() - ) - val infoFAQ = context.getString(R.string.risk_details_explanation_dialog_faq_body) - - val data = DialogHelper.DialogInstance( - context = context, - title = context.getString(R.string.risk_details_explanation_dialog_title), - message = "$infoPeriodLogged\n\n$infoPeriodLoggedAssessment\n\n$infoFAQ", - positiveButton = context.getString(R.string.errors_generic_button_positive), - negativeButton = null, - cancelable = null, - positiveButtonFunction = onPositive, - negativeButtonFunction = {} - ) - DialogHelper.showDialog(data) - } -} diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/details/TracingDetailsFragmentViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/details/TracingDetailsFragmentViewModel.kt index e7fa208798eaa4d03d3ace92c00d141d499ae932..66db208208dd0bf51abb16c562e5c0067ebd626a 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/details/TracingDetailsFragmentViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/details/TracingDetailsFragmentViewModel.kt @@ -101,7 +101,6 @@ class TracingDetailsFragmentViewModel @AssistedInject constructor( fun refreshData() { launch { tracingRepository.refreshRiskLevel() - tracingRepository.refreshActiveTracingDaysInRetentionPeriod() } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/details/TracingDetailsItemProvider.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/details/TracingDetailsItemProvider.kt index c5a0e75bc397264c42289f4983dc2073034d1fb9..68ffdbac536510e10f6690795dc36132fbc55e1d 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/details/TracingDetailsItemProvider.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/details/TracingDetailsItemProvider.kt @@ -5,7 +5,6 @@ import de.rki.coronawarnapp.datadonation.survey.Surveys import de.rki.coronawarnapp.risk.RiskState import de.rki.coronawarnapp.risk.storage.RiskLevelStorage import de.rki.coronawarnapp.risk.tryLatestResultsWithDefaults -import de.rki.coronawarnapp.storage.TracingRepository import de.rki.coronawarnapp.tracing.GeneralTracingStatus import de.rki.coronawarnapp.tracing.GeneralTracingStatus.Status import de.rki.coronawarnapp.tracing.ui.details.items.DetailsItem @@ -29,7 +28,6 @@ import javax.inject.Inject @Reusable class TracingDetailsItemProvider @Inject constructor( tracingStatus: GeneralTracingStatus, - tracingRepository: TracingRepository, riskLevelStorage: RiskLevelStorage, surveys: Surveys ) { @@ -37,11 +35,9 @@ class TracingDetailsItemProvider @Inject constructor( val state: Flow<List<DetailsItem>> = combine( tracingStatus.generalStatus, riskLevelStorage.latestAndLastSuccessful, - tracingRepository.activeTracingDaysInRetentionPeriod, surveys.availableSurveys ) { status, riskLevelResults, - activeTracingDaysInRetentionPeriod, availableSurveys -> val (latestCalc, _) = riskLevelResults.tryLatestResultsWithDefaults() @@ -72,7 +68,6 @@ class TracingDetailsItemProvider @Inject constructor( if (latestCalc.riskState != RiskState.CALCULATION_FAILED && status != Status.TRACING_INACTIVE) { PeriodLoggedBox.Item( - activeTracingDaysInRetentionPeriod = activeTracingDaysInRetentionPeriod.toInt(), tracingStatus = status ).also { add(it) } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/details/items/periodlogged/PeriodLoggedBox.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/details/items/periodlogged/PeriodLoggedBox.kt index e9556c86dc9c482ff0c0c0dc96dfaa814a1d0419..985a26953ee6455c5b6ce8af5478ab576b82f26f 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/details/items/periodlogged/PeriodLoggedBox.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/details/items/periodlogged/PeriodLoggedBox.kt @@ -34,14 +34,9 @@ class PeriodLoggedBox( } data class Item( - val activeTracingDaysInRetentionPeriod: Int, val tracingStatus: GeneralTracingStatus.Status ) : DetailsItem { - fun getRiskActiveTracingDaysInRetentionPeriodLogged(context: Context): String = context.getString( - R.string.risk_details_information_body_period_logged_assessment - ).format(activeTracingDaysInRetentionPeriod) - fun getProgressColor(context: Context) = when (tracingStatus) { GeneralTracingStatus.Status.TRACING_INACTIVE, GeneralTracingStatus.Status.BLUETOOTH_DISABLED, diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/settings/SettingsTracingFragmentViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/settings/SettingsTracingFragmentViewModel.kt index ca9bc2c5c034784514d93c88d181a0869dc43875..37a9cdd1e4ae11d24b963127f677c779c8fb377e 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/settings/SettingsTracingFragmentViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/settings/SettingsTracingFragmentViewModel.kt @@ -12,12 +12,10 @@ import de.rki.coronawarnapp.exception.ExceptionCategory import de.rki.coronawarnapp.exception.reporting.report import de.rki.coronawarnapp.nearby.InternalExposureNotificationClient import de.rki.coronawarnapp.nearby.TracingPermissionHelper -import de.rki.coronawarnapp.storage.TracingRepository import de.rki.coronawarnapp.tracing.GeneralTracingStatus import de.rki.coronawarnapp.tracing.ui.details.items.periodlogged.PeriodLoggedBox import de.rki.coronawarnapp.util.coroutine.DispatcherProvider import de.rki.coronawarnapp.util.device.BackgroundModeStatus -import de.rki.coronawarnapp.util.flow.combine import de.rki.coronawarnapp.util.flow.shareLatest import de.rki.coronawarnapp.util.ui.SingleLiveEvent import de.rki.coronawarnapp.util.viewmodel.CWAViewModel @@ -33,20 +31,14 @@ import timber.log.Timber class SettingsTracingFragmentViewModel @AssistedInject constructor( dispatcherProvider: DispatcherProvider, tracingStatus: GeneralTracingStatus, - tracingRepository: TracingRepository, private val backgroundStatus: BackgroundModeStatus, tracingPermissionHelperFactory: TracingPermissionHelper.Factory ) : CWAViewModel(dispatcherProvider = dispatcherProvider) { - val loggingPeriod: LiveData<PeriodLoggedBox.Item> = combine( - tracingRepository.activeTracingDaysInRetentionPeriod, - tracingStatus.generalStatus - ) { activeTracingDays, - status -> - PeriodLoggedBox.Item(activeTracingDays.toInt(), status) - } - .onEach { Timber.v("logginPeriod onEach") } - .asLiveData(dispatcherProvider.Main) + val loggingPeriod: LiveData<PeriodLoggedBox.Item> = + tracingStatus.generalStatus.map { PeriodLoggedBox.Item(it) } + .onEach { Timber.v("logginPeriod onEach") } + .asLiveData(dispatcherProvider.Main) val tracingSettingsState: LiveData<TracingSettingsState> = tracingStatus.generalStatus .map { it.toTracingSettingsState() } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/SingleLiveEvent.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/SingleLiveEvent.kt deleted file mode 100644 index 4a3d66dea96514640b7d1fe014ad5c0e2ed6897f..0000000000000000000000000000000000000000 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/SingleLiveEvent.kt +++ /dev/null @@ -1,73 +0,0 @@ - -package de.rki.coronawarnapp.ui - -/* - * Copyright 2017 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * Modifications Copyright SAP SE. 2020. All rights reserved. - * - */ - -import androidx.annotation.MainThread -import androidx.lifecycle.LifecycleOwner -import androidx.lifecycle.MutableLiveData -import androidx.lifecycle.Observer -import timber.log.Timber -import java.util.concurrent.atomic.AtomicBoolean - -/** - * A lifecycle-aware observable that sends only new updates after subscription, used for events like - * navigation and Snackbar messages. - * - * - * This avoids a common problem with events: on configuration change (like rotation) an update - * can be emitted if the observer is active. This LiveData only calls the observable if there's an - * explicit call to setValue() or call(). - * - * - * Note that only one observer is going to be notified of changes. - */ -class SingleLiveEvent<T> : MutableLiveData<T>() { - private val pending = AtomicBoolean(false) - @MainThread - override fun observe(owner: LifecycleOwner, observer: Observer<in T>) { - if (hasActiveObservers()) { - Timber - .w("Multiple observers registered but only one will be notified of changes.") - } - // Observe the internal MutableLiveData - super.observe( - owner, - Observer { t -> - if (pending.compareAndSet(true, false)) { - observer.onChanged(t) - } - } - ) - } - - @MainThread - override fun setValue(t: T?) { - pending.set(true) - super.setValue(t) - } - /** - * Used for cases where T is Void, to make calls cleaner. - */ - @MainThread - fun call() { - value = null - } -} diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/home/HomeFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/home/HomeFragment.kt index cf4fa15014bc8b981fe90186c02150ba84bc6b2f..d08a82cd6f66f888f36a0a9a95cdcc59b78b44a7 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/home/HomeFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/home/HomeFragment.kt @@ -9,7 +9,6 @@ import androidx.recyclerview.widget.DefaultItemAnimator import androidx.recyclerview.widget.LinearLayoutManager import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.HomeFragmentLayoutBinding -import de.rki.coronawarnapp.tracing.ui.TracingExplanationDialog import de.rki.coronawarnapp.ui.main.home.popups.DeviceTimeIncorrectDialog import de.rki.coronawarnapp.util.ContextExtensions.getColorCompat import de.rki.coronawarnapp.util.DialogHelper @@ -41,7 +40,6 @@ class HomeFragment : Fragment(R.layout.home_fragment_layout), AutoInject { val binding: HomeFragmentLayoutBinding by viewBindingLazy() @Inject lateinit var homeMenu: HomeMenu - @Inject lateinit var tracingExplanationDialog: TracingExplanationDialog @Inject lateinit var deviceTimeIncorrectDialog: DeviceTimeIncorrectDialog private val homeAdapter = HomeAdapter() @@ -80,11 +78,6 @@ class HomeFragment : Fragment(R.layout.home_fragment_layout), AutoInject { vm.popupEvents.observe2(this) { event -> when (event) { - is HomeFragmentEvents.ShowTracingExplanation -> { - tracingExplanationDialog.show(event.activeTracingDaysInRetentionPeriod) { - vm.tracingExplanationWasShown() - } - } HomeFragmentEvents.ShowErrorResetDialog -> { RecoveryByResetDialogFactory(this).showDialog( detailsLink = R.string.errors_generic_text_catastrophic_error_encryption_failure, diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/home/HomeFragmentEvents.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/home/HomeFragmentEvents.kt index 595e0aa4f4b7a69e4f8d2267f6430c70597731c7..c99db2506808087fa7d0f2a9a658bee8b84aafd7 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/home/HomeFragmentEvents.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/home/HomeFragmentEvents.kt @@ -2,10 +2,6 @@ package de.rki.coronawarnapp.ui.main.home sealed class HomeFragmentEvents { - data class ShowTracingExplanation( - val activeTracingDaysInRetentionPeriod: Long - ) : HomeFragmentEvents() - object ShowErrorResetDialog : HomeFragmentEvents() object ShowDeleteTestDialog : HomeFragmentEvents() diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/home/HomeFragmentViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/home/HomeFragmentViewModel.kt index 86309e8ec5e3746a6f683f364e0117eb8a5c6be4..f10170180f96824889fb921897e7607b463acf56 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/home/HomeFragmentViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/home/HomeFragmentViewModel.kt @@ -9,7 +9,6 @@ import de.rki.coronawarnapp.appconfig.AppConfigProvider import de.rki.coronawarnapp.deadman.DeadmanNotificationScheduler import de.rki.coronawarnapp.main.CWASettings import de.rki.coronawarnapp.notification.ShareTestResultNotificationService -import de.rki.coronawarnapp.risk.TimeVariables import de.rki.coronawarnapp.statistics.source.StatisticsProvider import de.rki.coronawarnapp.statistics.ui.homecards.StatisticsHomeCard import de.rki.coronawarnapp.storage.LocalData @@ -49,7 +48,6 @@ import de.rki.coronawarnapp.tracing.ui.homecards.TracingProgressCard import de.rki.coronawarnapp.tracing.ui.statusbar.TracingHeaderState import de.rki.coronawarnapp.tracing.ui.statusbar.toHeaderState import de.rki.coronawarnapp.ui.main.home.HomeFragmentEvents.ShowErrorResetDialog -import de.rki.coronawarnapp.ui.main.home.HomeFragmentEvents.ShowTracingExplanation import de.rki.coronawarnapp.ui.main.home.items.FAQCard import de.rki.coronawarnapp.ui.main.home.items.HomeItem import de.rki.coronawarnapp.ui.main.home.items.ReenableRiskCard @@ -96,15 +94,6 @@ class HomeFragmentViewModel @AssistedInject constructor( val popupEvents = SingleLiveEvent<HomeFragmentEvents>() fun showPopUps() { - launch { - if (!LocalData.tracingExplanationDialogWasShown()) { - popupEvents.postValue( - ShowTracingExplanation( - TimeVariables.getActiveTracingDaysInRetentionPeriod() - ) - ) - } - } launch { if (errorResetTool.isResetNoticeToBeShown) { popupEvents.postValue(ShowErrorResetDialog) @@ -293,7 +282,6 @@ class HomeFragmentViewModel @AssistedInject constructor( launch { submissionRepository.refreshDeviceUIState() tracingRepository.refreshRiskLevel() - tracingRepository.refreshActiveTracingDaysInRetentionPeriod() } } @@ -303,10 +291,6 @@ class HomeFragmentViewModel @AssistedInject constructor( } } - fun tracingExplanationWasShown() { - LocalData.tracingExplanationDialogWasShown(true) - } - private fun refreshDiagnosisKeys() { tracingRepository.refreshDiagnosisKeys() } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingAnalyticsViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingAnalyticsViewModel.kt index 600c2405f51c51168d9355634cc2f233bdc43d4a..cc75f5ea137895520b130363ea3cbbf5a091188b 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingAnalyticsViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingAnalyticsViewModel.kt @@ -8,10 +8,10 @@ import de.rki.coronawarnapp.datadonation.analytics.Analytics import de.rki.coronawarnapp.datadonation.analytics.common.Districts import de.rki.coronawarnapp.datadonation.analytics.storage.AnalyticsSettings import de.rki.coronawarnapp.environment.BuildConfigWrap -import de.rki.coronawarnapp.ui.SingleLiveEvent import de.rki.coronawarnapp.util.coroutine.AppScope import de.rki.coronawarnapp.util.coroutine.DispatcherProvider import de.rki.coronawarnapp.util.flow.combine +import de.rki.coronawarnapp.util.ui.SingleLiveEvent import de.rki.coronawarnapp.util.viewmodel.CWAViewModel import de.rki.coronawarnapp.util.viewmodel.SimpleCWAViewModelFactory import kotlinx.coroutines.CoroutineScope diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingNotificationsViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingNotificationsViewModel.kt index d1fbe9763edb4d10d3eaa701e1565fbdf2725e42..0dcde002e31bc4f51c4222246c330a891d60ae75 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingNotificationsViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingNotificationsViewModel.kt @@ -2,7 +2,7 @@ package de.rki.coronawarnapp.ui.onboarding import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject -import de.rki.coronawarnapp.ui.SingleLiveEvent +import de.rki.coronawarnapp.util.ui.SingleLiveEvent import de.rki.coronawarnapp.util.viewmodel.CWAViewModel import de.rki.coronawarnapp.util.viewmodel.SimpleCWAViewModelFactory diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingPrivacyViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingPrivacyViewModel.kt index f596bf7e0d24205360ec18743161f5cc066dc7ff..a3f23fadf59c4accd398fb331723aa46103f4e36 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingPrivacyViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingPrivacyViewModel.kt @@ -2,7 +2,7 @@ package de.rki.coronawarnapp.ui.onboarding import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject -import de.rki.coronawarnapp.ui.SingleLiveEvent +import de.rki.coronawarnapp.util.ui.SingleLiveEvent import de.rki.coronawarnapp.util.viewmodel.CWAViewModel import de.rki.coronawarnapp.util.viewmodel.SimpleCWAViewModelFactory diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTestViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTestViewModel.kt index df46e8f35b55e63a7add5d2d04b309b436784cbe..17fcfa5da44e4f0c2ced62b3dda9bbde3d8753fa 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTestViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTestViewModel.kt @@ -2,7 +2,7 @@ package de.rki.coronawarnapp.ui.onboarding import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject -import de.rki.coronawarnapp.ui.SingleLiveEvent +import de.rki.coronawarnapp.util.ui.SingleLiveEvent import de.rki.coronawarnapp.util.viewmodel.CWAViewModel import de.rki.coronawarnapp.util.viewmodel.SimpleCWAViewModelFactory diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragmentViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragmentViewModel.kt index e420b70372f84463cf41772eea014c73ccec2d0e..844e900278f2dd137c08cddb441dd38f1f96ff03 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragmentViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragmentViewModel.kt @@ -11,8 +11,8 @@ import de.rki.coronawarnapp.nearby.InternalExposureNotificationClient import de.rki.coronawarnapp.nearby.TracingPermissionHelper import de.rki.coronawarnapp.storage.LocalData import de.rki.coronawarnapp.storage.interoperability.InteroperabilityRepository -import de.rki.coronawarnapp.ui.SingleLiveEvent import de.rki.coronawarnapp.util.coroutine.DispatcherProvider +import de.rki.coronawarnapp.util.ui.SingleLiveEvent import de.rki.coronawarnapp.util.viewmodel.CWAViewModel import de.rki.coronawarnapp.util.viewmodel.SimpleCWAViewModelFactory import timber.log.Timber diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsResetViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsResetViewModel.kt index e9128ec667395042f895de51c2d97e5fa0712b22..e61dfcc8a84099ece7ece5ed6709fa90abd34c4f 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsResetViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsResetViewModel.kt @@ -7,10 +7,10 @@ import de.rki.coronawarnapp.exception.ExceptionCategory import de.rki.coronawarnapp.exception.reporting.report import de.rki.coronawarnapp.nearby.InternalExposureNotificationClient import de.rki.coronawarnapp.notification.ShareTestResultNotificationService -import de.rki.coronawarnapp.ui.SingleLiveEvent import de.rki.coronawarnapp.util.DataReset import de.rki.coronawarnapp.util.coroutine.DispatcherProvider import de.rki.coronawarnapp.util.shortcuts.AppShortcutsHelper +import de.rki.coronawarnapp.util.ui.SingleLiveEvent import de.rki.coronawarnapp.util.viewmodel.CWAViewModel import de.rki.coronawarnapp.util.viewmodel.SimpleCWAViewModelFactory import de.rki.coronawarnapp.worker.BackgroundWorkScheduler diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/resultavailable/SubmissionTestResultAvailableFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/resultavailable/SubmissionTestResultAvailableFragment.kt index 48e46282470e66d0107d7d49b36ee8f2ba1bbb60..b8759f19066dd5eb922cb2c03cc98fc3e509b4de 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/resultavailable/SubmissionTestResultAvailableFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/resultavailable/SubmissionTestResultAvailableFragment.kt @@ -94,23 +94,15 @@ class SubmissionTestResultAvailableFragment : Fragment(R.layout.fragment_submiss } private fun showCloseDialog() { - var dialogTitle = R.string.submission_test_result_available_close_dialog_title_consent_given - var dialogBody = R.string.submission_test_result_available_close_dialog_body_consent_given - - if (!binding.submissionTestResultAvailableConsentStatus.consent) { - dialogTitle = R.string.submission_test_result_available_close_dialog_title_consent_not_given - dialogBody = R.string.submission_test_result_available_close_dialog_body_consent_not_given - } - val closeDialogInstance = DialogHelper.DialogInstance( context = requireActivity(), - title = dialogTitle, - message = dialogBody, + title = R.string.submission_test_result_available_close_dialog_title_consent_given, + message = R.string.submission_test_result_available_close_dialog_body_consent_given, positiveButton = R.string.submission_test_result_available_close_dialog_continue_button, negativeButton = R.string.submission_test_result_available_close_dialog_cancel_button, cancelable = true, - positiveButtonFunction = { vm.onCancelConfirmed() }, - negativeButtonFunction = { } + positiveButtonFunction = {}, + negativeButtonFunction = { vm.onCancelConfirmed() } ) DialogHelper.showDialog(closeDialogInstance) } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/resultavailable/SubmissionTestResultAvailableViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/resultavailable/SubmissionTestResultAvailableViewModel.kt index 89e79f6b9d6cf2ddfcb3d1dd0e091b7bf008d8b7..83566280d37b0b27506f1007a781499d7c4936df 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/resultavailable/SubmissionTestResultAvailableViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/resultavailable/SubmissionTestResultAvailableViewModel.kt @@ -13,8 +13,8 @@ import de.rki.coronawarnapp.exception.reporting.report import de.rki.coronawarnapp.submission.SubmissionRepository import de.rki.coronawarnapp.submission.auto.AutoSubmission import de.rki.coronawarnapp.submission.data.tekhistory.TEKHistoryUpdater -import de.rki.coronawarnapp.ui.SingleLiveEvent import de.rki.coronawarnapp.util.coroutine.DispatcherProvider +import de.rki.coronawarnapp.util.ui.SingleLiveEvent import de.rki.coronawarnapp.util.viewmodel.CWAViewModel import de.rki.coronawarnapp.util.viewmodel.SimpleCWAViewModelFactory import kotlinx.coroutines.flow.first diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/warnothers/SubmissionResultPositiveOtherWarningNoConsentViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/warnothers/SubmissionResultPositiveOtherWarningNoConsentViewModel.kt index c02bbe34e37c171ee8e060def68fd83f9e4362d9..5eb733701ba3164646c710325bb8e2d944819fc2 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/warnothers/SubmissionResultPositiveOtherWarningNoConsentViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/warnothers/SubmissionResultPositiveOtherWarningNoConsentViewModel.kt @@ -44,7 +44,7 @@ class SubmissionResultPositiveOtherWarningNoConsentViewModel @AssistedInject con val countryList = interoperabilityRepository.countryList .asLiveData(context = dispatcherProvider.Default) - val showTracingConsentDialog = de.rki.coronawarnapp.ui.SingleLiveEvent<(Boolean) -> Unit>() + val showTracingConsentDialog = SingleLiveEvent<(Boolean) -> Unit>() private val tekHistoryUpdater = tekHistoryUpdaterFactory.create( object : TEKHistoryUpdater.Callback { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/yourconsent/SubmissionYourConsentViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/yourconsent/SubmissionYourConsentViewModel.kt index 767af4172bef2a62a6143c426a9e10b7fc94d964..8e76e60416cfd52d94eb293d41942a579f7c85d1 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/yourconsent/SubmissionYourConsentViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/yourconsent/SubmissionYourConsentViewModel.kt @@ -5,8 +5,8 @@ import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject import de.rki.coronawarnapp.storage.interoperability.InteroperabilityRepository import de.rki.coronawarnapp.submission.SubmissionRepository -import de.rki.coronawarnapp.ui.SingleLiveEvent import de.rki.coronawarnapp.util.coroutine.DispatcherProvider +import de.rki.coronawarnapp.util.ui.SingleLiveEvent import de.rki.coronawarnapp.util.viewmodel.CWAViewModel import de.rki.coronawarnapp.util.viewmodel.SimpleCWAViewModelFactory import kotlinx.coroutines.flow.first diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/DataReset.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/DataReset.kt index c680030e85171caa3d2589e08a686d430c59afa7..d78661d2b7a2a4ac2d2152c02ade522a4c19440c 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/DataReset.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/DataReset.kt @@ -15,7 +15,6 @@ import de.rki.coronawarnapp.main.CWASettings import de.rki.coronawarnapp.nearby.modules.detectiontracker.ExposureDetectionTracker import de.rki.coronawarnapp.risk.storage.RiskLevelStorage import de.rki.coronawarnapp.statistics.source.StatisticsProvider -import de.rki.coronawarnapp.storage.AppDatabase import de.rki.coronawarnapp.storage.LocalData import de.rki.coronawarnapp.submission.SubmissionRepository import de.rki.coronawarnapp.util.di.AppContext @@ -58,8 +57,6 @@ class DataReset @Inject constructor( @SuppressLint("ApplySharedPref") // We need a commit here to ensure consistency suspend fun clearAllLocalData() = mutex.withLock { Timber.w("CWA LOCAL DATA DELETION INITIATED.") - // Database Reset - AppDatabase.reset(context) // Because LocalData does not behave like a normal shared preference LocalData.clear() // Shared Preferences Reset diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/security/EncryptionErrorResetTool.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/security/EncryptionErrorResetTool.kt index 785a30392ac5d339e9211e408f640534d9f93afd..ae4f6a47b04c194e57d4a36a28ed30a3995579e5 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/security/EncryptionErrorResetTool.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/security/EncryptionErrorResetTool.kt @@ -3,7 +3,6 @@ package de.rki.coronawarnapp.util.security import android.content.Context import android.content.SharedPreferences import androidx.core.content.edit -import de.rki.coronawarnapp.storage.DATABASE_NAME import de.rki.coronawarnapp.util.TimeStamper import de.rki.coronawarnapp.util.di.AppContext import de.rki.coronawarnapp.util.errors.causes @@ -33,9 +32,6 @@ class EncryptionErrorResetTool @Inject constructor( val sharedPrefsDir = File(appbaseDir, "shared_prefs") File(sharedPrefsDir, "${SecurityConstants.ENCRYPTED_SHARED_PREFERENCES_FILE}.xml") } - private val encryptedDatabaseFile by lazy { - context.getDatabasePath(DATABASE_NAME) - } private val prefs: SharedPreferences by lazy { context.getSharedPreferences("encryption_error_reset_tool", Context.MODE_PRIVATE) } @@ -116,14 +112,6 @@ class EncryptionErrorResetTool @Inject constructor( return false } - // The user may have encountered the error even before a database was created. - if (encryptedDatabaseFile.exists() && !encryptedDatabaseFile.delete()) { - Timber.w("Couldn't delete %s", encryptedDatabaseFile) - // There was a database, but we couldn't delete it - // The database is inaccessible without the matching preferences (which we just deleted). - return false - } - resetPerformedAt = timeStamper.nowUTC isResetNoticeToBeShown = true diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/security/SecurityConstants.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/security/SecurityConstants.kt index d50d30dc2fcd318ceaee49dc345543918132bf00..03bffdb2867296613d131f024afafeb9ffbe440d 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/security/SecurityConstants.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/security/SecurityConstants.kt @@ -2,9 +2,6 @@ package de.rki.coronawarnapp.util.security object SecurityConstants { const val DIGEST_ALGORITHM = "SHA-256" - const val DB_PASSWORD_MIN_LENGTH = 32 - const val DB_PASSWORD_MAX_LENGTH = 48 - const val CWA_APP_SQLITE_DB_PW = "CWA_APP_SQLITE_DB_PW" const val ENCRYPTED_SHARED_PREFERENCES_FILE = "shared_preferences_cwa" const val EXPORT_FILE_SIGNATURE_VERIFICATION_ALGORITHM = "SHA256withECDSA" } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/security/SecurityHelper.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/security/SecurityHelper.kt index c811176af4423b34caca3e1e945c6e841c50db17..cad222cb23d445517cd1760ef0762b155740f74a 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/security/SecurityHelper.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/security/SecurityHelper.kt @@ -8,9 +8,6 @@ import de.rki.coronawarnapp.exception.CwaSecurityException import de.rki.coronawarnapp.util.di.AppInjector import de.rki.coronawarnapp.util.di.ApplicationComponent import de.rki.coronawarnapp.util.preferences.clearAndNotify -import de.rki.coronawarnapp.util.security.SecurityConstants.CWA_APP_SQLITE_DB_PW -import de.rki.coronawarnapp.util.security.SecurityConstants.DB_PASSWORD_MAX_LENGTH -import de.rki.coronawarnapp.util.security.SecurityConstants.DB_PASSWORD_MIN_LENGTH import de.rki.coronawarnapp.util.security.SecurityConstants.ENCRYPTED_SHARED_PREFERENCES_FILE import timber.log.Timber @@ -47,44 +44,11 @@ object SecurityHelper { private val ByteArray.toPreservedString: String get() = Base64.encodeToString(this, Base64.NO_WRAP) - /** - * Retrieves the db password from encrypted shared preferences. The password is automatically - * encrypted when storing the password and decrypted when retrieving the password. - * - * If no password exists yet, a new password is generated and stored into - * encrypted shared preferences. The length of the password will be in the interval - * of [[DB_PASSWORD_MIN_LENGTH], [DB_PASSWORD_MAX_LENGTH]] - */ - fun getDBPassword(): ByteArray = - getStoredDbPassword() ?: storeDbPassword(generateDBPassword()) - @SuppressLint("ApplySharedPref") fun resetSharedPrefs() { globalEncryptedSharedPreferencesInstance.clearAndNotify() } - private fun getStoredDbPassword(): ByteArray? = - globalEncryptedSharedPreferencesInstance - .getString(CWA_APP_SQLITE_DB_PW, null)?.toPreservedByteArray - - private fun storeDbPassword(keyBytes: ByteArray): ByteArray { - globalEncryptedSharedPreferencesInstance - .edit() - .putString(CWA_APP_SQLITE_DB_PW, keyBytes.toPreservedString) - .apply() - return keyBytes - } - - private fun generateDBPassword(): ByteArray { - val secureRandom = SecurityModule().secureRandom() - val max = DB_PASSWORD_MAX_LENGTH - val min = DB_PASSWORD_MIN_LENGTH - val passwordLength = secureRandom.nextInt(max - min + 1) + min - val password = ByteArray(passwordLength) - secureRandom.nextBytes(password) - return password - } - fun <T> withSecurityCatch(doInCatch: () -> T) = try { doInCatch.invoke() } catch (e: Exception) { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/security/SignatureValidation.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/security/SignatureValidation.kt new file mode 100644 index 0000000000000000000000000000000000000000..a3221d6d27e661752b4161e9d2dc81855f36fb32 --- /dev/null +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/security/SignatureValidation.kt @@ -0,0 +1,75 @@ +package de.rki.coronawarnapp.util.security + +import android.security.keystore.KeyProperties +import android.util.Base64 +import de.rki.coronawarnapp.environment.EnvironmentSetup +import de.rki.coronawarnapp.exception.CwaSecurityException +import de.rki.coronawarnapp.server.protocols.external.exposurenotification.TemporaryExposureKeySignatureList.TEKSignatureList +import timber.log.Timber +import java.security.KeyFactory +import java.security.Signature +import java.security.spec.X509EncodedKeySpec +import javax.inject.Inject +import javax.inject.Singleton + +@Singleton +class SignatureValidation @Inject constructor( + private val environmentSetup: EnvironmentSetup +) { + + private val keyFactory by lazy { + KeyFactory.getInstance(KeyProperties.KEY_ALGORITHM_EC) + } + private val signature by lazy { + Signature.getInstance(SecurityConstants.EXPORT_FILE_SIGNATURE_VERIFICATION_ALGORITHM) + } + + // Public keys within this server environment + private val publicKeys by lazy { + environmentSetup.appConfigVerificationKey.split(KEY_DELIMITER) + .mapNotNull { pubKeyBase64 -> Base64.decode(pubKeyBase64, Base64.DEFAULT) } + .map { pubKeyBinary -> keyFactory.generatePublic(X509EncodedKeySpec(pubKeyBinary)) } + .onEach { Timber.tag(TAG).v("ENV PubKey: %s", it) } + } + + fun hasValidSignature(toVerify: ByteArray, signatureList: Sequence<ByteArray>): Boolean = try { + val validSignatures = signature.findMatchingPublicKeys(toVerify, signatureList) + Timber.tag(TAG).v("${validSignatures.size} valid signatures found") + + validSignatures.isNotEmpty().also { + if (it) Timber.tag(TAG).d("Valid signatures found.") + else Timber.tag(TAG).w("No valid signature found.") + } + } catch (e: Exception) { + throw CwaSecurityException(e) + } + + private fun Signature.findMatchingPublicKeys( + toVerify: ByteArray, + signatures: Sequence<ByteArray> + ) = publicKeys.filter { publicKey -> + for (signature in signatures) { + initVerify(publicKey) + update(toVerify) + if (verify(signature)) return@filter true + } + return@filter false + } + + companion object { + private const val KEY_DELIMITER = "," + private val TAG = SignatureValidation::class.java.simpleName + + fun parseTEKStyleSignature(signatureListProto: ByteArray) = try { + TEKSignatureList + .parseFrom(signatureListProto) + .signaturesList + .asSequence() + .onEach { Timber.tag(TAG).v(it.toString()) } + .mapNotNull { it.signature.toByteArray() } + } catch (e: Exception) { + Timber.w("%s is not a valid TEKSignatureList", signatureListProto) + throw CwaSecurityException(e) + } + } +} diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/security/VerificationKeys.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/security/VerificationKeys.kt deleted file mode 100644 index 1ba8319fe9aae755a9d33947fc8744baca812e7a..0000000000000000000000000000000000000000 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/security/VerificationKeys.kt +++ /dev/null @@ -1,75 +0,0 @@ -package de.rki.coronawarnapp.util.security - -import android.security.keystore.KeyProperties -import android.util.Base64 -import de.rki.coronawarnapp.environment.EnvironmentSetup -import de.rki.coronawarnapp.server.protocols.external.exposurenotification.TemporaryExposureKeySignatureList.TEKSignatureList -import timber.log.Timber -import java.security.KeyFactory -import java.security.Signature -import java.security.spec.X509EncodedKeySpec -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class VerificationKeys @Inject constructor( - private val environmentSetup: EnvironmentSetup -) { - companion object { - private const val KEY_DELIMITER = "," - private val TAG = VerificationKeys::class.java.simpleName - } - - private val keyFactory = KeyFactory.getInstance(KeyProperties.KEY_ALGORITHM_EC) - private val signature = - Signature.getInstance(SecurityConstants.EXPORT_FILE_SIGNATURE_VERIFICATION_ALGORITHM) - - fun hasInvalidSignature( - export: ByteArray, - signatureListBinary: ByteArray - ): Boolean = SecurityHelper.withSecurityCatch { - signature.getValidSignaturesForExport(export, signatureListBinary) - .isEmpty() - .also { - if (it) Timber.tag(TAG).d("export is invalid") - else Timber.tag(TAG).d("export is valid") - } - } - - private fun Signature.getValidSignaturesForExport( - export: ByteArray?, - signatures: ByteArray? - ) = getKeysForSignatureVerificationFilteredByEnvironment() - .filter { publicKey -> - var verified = false - getTEKSignaturesForEnvironment(signatures).forEach { tek -> - initVerify(publicKey) - update(export) - if (verify(tek)) verified = true - } - verified - } - .also { Timber.tag(TAG).v("${it.size} valid signatures found") } - - private fun getKeysForSignatureVerificationFilteredByEnvironment() = - environmentSetup.appConfigVerificationKey.split(KEY_DELIMITER) - .mapNotNull { delimitedString -> - Base64.decode(delimitedString, Base64.DEFAULT) - }.map { binaryPublicKey -> - keyFactory.generatePublic( - X509EncodedKeySpec( - binaryPublicKey - ) - ) - } - .onEach { Timber.tag(TAG).v("$it") } - - private fun getTEKSignaturesForEnvironment( - signatureListBinary: ByteArray? - ) = TEKSignatureList - .parseFrom(signatureListBinary) - .signaturesList - .asSequence() - .onEach { Timber.tag(TAG).v(it.toString()) } - .mapNotNull { it.signature.toByteArray() } -} diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/viewmodel/CWAViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/viewmodel/CWAViewModel.kt index 32217bfafbd686390c53ef73fea75525427b9bfd..eca763ca8350351466411c1cdbf9051ac9d5bde8 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/viewmodel/CWAViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/viewmodel/CWAViewModel.kt @@ -6,6 +6,7 @@ import androidx.lifecycle.viewModelScope import de.rki.coronawarnapp.util.coroutine.DefaultDispatcherProvider import de.rki.coronawarnapp.util.coroutine.DispatcherProvider import kotlinx.coroutines.CancellationException +import kotlinx.coroutines.CoroutineExceptionHandler import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.launchIn @@ -20,6 +21,7 @@ abstract class CWAViewModel constructor( ) : ViewModel() { private val tag: String = this::class.simpleName!! + var launchErrorHandler: CoroutineExceptionHandler? = null init { Timber.tag(tag).v("Initialized") @@ -30,13 +32,16 @@ abstract class CWAViewModel constructor( * Remember to switch to the main thread if you want to update the UI directly */ fun launch( + scope: CoroutineScope = viewModelScope, context: CoroutineContext = dispatcherProvider.Default, + errorHandler: CoroutineExceptionHandler? = launchErrorHandler, block: suspend CoroutineScope.() -> Unit ) { + val combinedContext = errorHandler?.let { context + it } ?: context try { - viewModelScope.launch(context = context, block = block) + scope.launch(context = combinedContext, block = block) } catch (e: CancellationException) { - Timber.w(e, "launch()ed coroutine was canceled.") + Timber.w(e, "launch()ed coroutine was canceled (scope=%s).", scope) } } diff --git a/Corona-Warn-App/src/main/res/drawable-night/ic_illustration_interoperability.xml b/Corona-Warn-App/src/main/res/drawable-night/ic_illustration_interoperability.xml index 7e82ad9aed03b52bc673a7cbfc3e1df7bd25b3cf..166460d452a78794b62291a03e435e344e4fd2cc 100644 --- a/Corona-Warn-App/src/main/res/drawable-night/ic_illustration_interoperability.xml +++ b/Corona-Warn-App/src/main/res/drawable-night/ic_illustration_interoperability.xml @@ -10,67 +10,67 @@ android:pathData="M0,0h375v209h-375z" android:fillColor="#000000"/> <path - android:pathData="M123.402,136.31V135.764L123.341,135.278L123.402,135.825V136.371L123.462,136.796L123.402,136.31Z" + android:pathData="M123.402,136.31V135.763L123.341,135.278L123.402,135.824V136.371L123.462,136.796L123.402,136.31Z" android:fillColor="#3F3F43"/> <path - android:pathData="M124.373,134.125L124.252,133.032V132.546L124.191,132.061L124.13,132.121L124.191,132.607V133.153L124.252,134.185L124.312,134.671L124.373,134.61V134.125Z" + android:pathData="M124.373,134.125L124.252,133.032V132.546L124.191,132.06L124.13,132.121L124.191,132.607V133.153L124.252,134.185L124.312,134.671L124.373,134.61V134.125Z" android:fillColor="#3F3F43"/> <path android:pathData="M123.584,138.373L123.523,137.888H123.038V137.948L123.523,137.888L123.584,138.434V138.92V138.373Z" android:fillColor="#3F3F43"/> <path - android:pathData="M129.837,129.51L129.776,128.964L129.23,128.539L129.169,128.6L129.715,129.085L129.776,129.571L129.351,131.149L129.412,131.089L129.837,129.51Z" + android:pathData="M129.837,129.511L129.776,128.964L129.23,128.539L129.169,128.6L129.715,129.086L129.776,129.571L129.351,131.15L129.412,131.089L129.837,129.511Z" android:fillColor="#3F3F43"/> <path - android:pathData="M120.063,133.396L120.488,132.91L120.063,133.396Z" + android:pathData="M120.063,133.395L120.488,132.91L120.063,133.395Z" android:fillColor="#3F3F43"/> <path android:pathData="M119.092,142.44L119.152,142.865V142.805V142.44H119.092Z" android:fillColor="#3F3F43"/> <path - android:pathData="M129.655,127.446L129.594,126.414L129.533,125.929H129.472L129.533,126.475L129.594,127.507L129.655,127.993L129.715,127.932L129.655,127.446Z" + android:pathData="M129.654,127.446L129.594,126.414L129.533,125.929H129.472L129.533,126.475L129.594,127.507L129.654,127.993L129.715,127.932L129.654,127.446Z" android:fillColor="#3F3F43"/> <path - android:pathData="M130.079,125.261L130.019,124.776L129.958,124.29V124.836L130.019,125.383L130.079,125.808V125.261Z" + android:pathData="M130.08,125.262L130.019,124.776L129.958,124.29V124.837L130.019,125.383L130.08,125.808V125.262Z" android:fillColor="#3F3F43"/> <path - android:pathData="M184.776,191.311L185.323,191.736L184.776,191.311Z" + android:pathData="M184.776,191.31L185.323,191.735L184.776,191.31Z" android:fillColor="#3F3F43"/> <path - android:pathData="M127.348,154.947L127.408,155.494L127.348,154.947Z" + android:pathData="M127.348,154.947L127.408,155.493L127.348,154.947Z" android:fillColor="#3F3F43"/> <path - android:pathData="M147.503,140.377L146.531,140.984L147.564,140.377H147.503Z" + android:pathData="M147.503,140.377L146.531,140.984L147.563,140.377H147.503Z" android:fillColor="#3F3F43"/> <path - android:pathData="M118.484,141.409L118.545,141.834V141.895V141.409H118.484Z" + android:pathData="M118.484,141.409L118.545,141.834V141.894V141.409H118.484Z" android:fillColor="#3F3F43"/> <path android:pathData="M138.154,157.375L138.396,157.557L138.154,157.375Z" android:fillColor="#3F3F43"/> <path - android:pathData="M123.827,141.59L124.373,142.076V142.197V142.015L123.766,141.53L123.219,141.044V141.105L123.827,141.59Z" + android:pathData="M123.827,141.59L124.373,142.076V142.197V142.015L123.766,141.53L123.22,141.044V141.105L123.827,141.59Z" android:fillColor="#3F3F43"/> <path - android:pathData="M124.495,143.533L124.434,143.048V142.684V143.109L124.495,143.533Z" + android:pathData="M124.494,143.533L124.434,143.047V142.683V143.108L124.494,143.533Z" android:fillColor="#3F3F43"/> <path - android:pathData="M123.219,140.983V140.497L123.159,140.012V139.708V140.012L122.673,140.072L123.219,140.619V140.983Z" + android:pathData="M123.22,140.983V140.498L123.159,140.012V139.708V140.012L122.673,140.073L123.22,140.619V140.983Z" android:fillColor="#3F3F43"/> <path android:pathData="M181.923,187.243L182.348,186.758L181.923,187.243Z" android:fillColor="#3F3F43"/> <path - android:pathData="M124.07,144.323L124.555,145.112L125.162,146.084V146.144L124.555,145.112L124.07,144.323Z" + android:pathData="M124.07,144.323L124.555,145.113L125.162,146.084V146.145L124.555,145.113L124.07,144.323Z" android:fillColor="#3F3F43"/> <path - android:pathData="M127.773,153.307L127.712,152.275V151.79L128.198,151.182V150.697L128.623,149.604L129.108,149.058L130.079,147.965L130.019,147.904L129.108,148.936L128.562,149.543L128.137,150.636L128.198,151.122L127.651,151.729L127.712,152.275L127.773,153.307V153.793L127.348,154.339V154.4L127.833,153.854L127.773,153.307Z" + android:pathData="M127.772,153.308L127.712,152.276V151.79L128.197,151.183V150.697L128.622,149.604L129.108,149.058L130.079,147.965L130.019,147.905L129.108,148.937L128.562,149.544L128.137,150.636L128.197,151.122L127.651,151.729L127.712,152.276L127.772,153.308V153.793L127.348,154.34V154.4L127.833,153.854L127.772,153.308Z" android:fillColor="#3F3F43"/> <path - android:pathData="M124.069,175.101L125.041,175.04L124.919,174.979L123.887,175.04H123.462L123.523,175.162L124.069,175.101Z" + android:pathData="M124.069,175.101L125.041,175.041L124.919,174.98L123.887,175.041H123.462L123.523,175.162L124.069,175.101Z" android:fillColor="#3F3F43"/> <path - android:pathData="M159.947,161.441L159.522,161.502L159.947,161.441Z" + android:pathData="M159.947,161.442L159.522,161.503L159.947,161.442Z" android:fillColor="#3F3F43"/> <path android:pathData="M182.652,167.755H183.016H182.47L182.045,167.816L182.652,167.755Z" @@ -79,10 +79,10 @@ android:pathData="M147.806,162.292H147.867L147.442,161.928L147.806,162.292Z" android:fillColor="#3F3F43"/> <path - android:pathData="M188.055,171.095L189.026,170.487V170.427L187.994,171.095L187.569,171.58L187.63,171.641L188.055,171.095Z" + android:pathData="M188.055,171.095L189.026,170.488V170.427L187.994,171.095L187.569,171.581L187.63,171.641L188.055,171.095Z" android:fillColor="#3F3F43"/> <path - android:pathData="M189.566,181.465L189.324,181.482L189.328,181.543L189.57,181.526L189.566,181.465Z" + android:pathData="M189.566,181.466L189.324,181.483L189.328,181.543L189.57,181.526L189.566,181.466Z" android:fillColor="#3F3F43"/> <path android:pathData="M116.238,139.467L116.178,138.435H116.117L116.238,139.406V139.892L115.753,140.438L115.813,140.499L116.299,140.013L116.238,139.467Z" @@ -91,7 +91,7 @@ android:pathData="M188.358,174.798H188.601L188.662,174.737H188.358V174.798Z" android:fillColor="#3F3F43"/> <path - android:pathData="M122.552,169.942L122.43,169.881H121.945L122.066,170.002L122.552,169.942Z" + android:pathData="M122.552,169.941L122.43,169.881H121.945L122.066,170.002L122.552,169.941Z" android:fillColor="#3F3F43"/> <path android:pathData="M111.746,135.582V136.007H111.807V135.582H111.746Z" @@ -103,7 +103,7 @@ android:pathData="M113.931,137.038L113.992,137.463V137.524V137.038H113.931Z" android:fillColor="#3F3F43"/> <path - android:pathData="M122.916,144.14L123.523,144.08L122.613,143.897L122.916,144.14Z" + android:pathData="M122.916,144.14L123.523,144.079L122.613,143.897L122.916,144.14Z" android:fillColor="#3F3F43"/> <path android:pathData="M121.641,169.638L121.52,169.517L121.641,169.638Z" @@ -112,13 +112,13 @@ android:pathData="M123.827,164.478H124.13L123.766,164.175L123.827,164.478Z" android:fillColor="#3F3F43"/> <path - android:pathData="M163.887,157.477L163.403,157.512L163.407,157.572L163.892,157.538L163.887,157.477Z" + android:pathData="M163.887,157.478L163.403,157.512L163.407,157.573L163.892,157.538L163.887,157.478Z" android:fillColor="#3F3F43"/> <path android:pathData="M164.257,155.371L164.197,155.553H164.318V155.371H164.257Z" android:fillColor="#3F3F43"/> <path - android:pathData="M162.497,159.743H162.982V159.683L162.497,159.743Z" + android:pathData="M162.497,159.743H162.982V159.682L162.497,159.743Z" android:fillColor="#3F3F43"/> <path android:pathData="M183.502,149.787L183.077,149.423H182.895L183.441,149.848L183.502,149.787Z" @@ -127,43 +127,43 @@ android:pathData="M166.443,154.279L165.958,153.854H165.775L166.261,154.279H166.443Z" android:fillColor="#3F3F43"/> <path - android:pathData="M184.655,149.301L184.594,149.361L184.837,149.422L184.655,149.301Z" + android:pathData="M184.655,149.301L184.594,149.362L184.837,149.423L184.655,149.301Z" android:fillColor="#3F3F43"/> <path android:pathData="M165.108,152.519L164.986,152.397L165.047,152.519H165.108Z" android:fillColor="#3F3F43"/> <path - android:pathData="M149.688,157.982L149.566,157.921L149.688,157.982Z" + android:pathData="M149.688,157.981L149.567,157.921L149.688,157.981Z" android:fillColor="#3F3F43"/> <path - android:pathData="M149.142,157.497L149.263,157.618L149.202,157.072L149.142,156.586L149.081,156.525V157.011L149.142,157.497Z" + android:pathData="M149.142,157.496L149.263,157.618L149.202,157.071L149.142,156.586L149.081,156.525V157.011L149.142,157.496Z" android:fillColor="#3F3F43"/> <path - android:pathData="M141.25,157.01V156.585H141.128V157.01H141.25Z" + android:pathData="M141.249,157.01V156.585H141.128V157.01H141.249Z" android:fillColor="#3F3F43"/> <path android:pathData="M149.688,156.04L150.113,156.404L149.688,156.04Z" android:fillColor="#3F3F43"/> <path - android:pathData="M159.704,149.36L159.219,148.996L159.644,149.36H159.704Z" + android:pathData="M159.705,149.361L159.219,148.997L159.644,149.361H159.705Z" android:fillColor="#3F3F43"/> <path - android:pathData="M164.865,155.372L165.29,154.825H165.229L164.865,155.311V155.372Z" + android:pathData="M164.865,155.372L165.29,154.826H165.229L164.865,155.311V155.372Z" android:fillColor="#3F3F43"/> <path - android:pathData="M137.486,157.252L137.364,157.191L137.486,157.252Z" + android:pathData="M137.486,157.253L137.364,157.192L137.486,157.253Z" android:fillColor="#3F3F43"/> <path android:pathData="M149.02,154.461L149.445,154.886V154.825L149.02,154.461Z" android:fillColor="#3F3F43"/> <path - android:pathData="M163.226,155.433V155.493H163.772L163.894,155.433H163.772H163.226Z" + android:pathData="M163.226,155.432V155.493H163.772L163.893,155.432H163.772H163.226Z" android:fillColor="#3F3F43"/> <path android:pathData="M167.111,140.62L167.05,140.56L166.625,141.106L167.111,140.62Z" android:fillColor="#3F3F43"/> <path - android:pathData="M176.945,144.626L176.885,144.08L177.856,143.533V143.473L176.824,144.08L176.885,144.626L176.46,145.112V145.172L176.945,144.626Z" + android:pathData="M176.945,144.627L176.885,144.08L177.856,143.534V143.473L176.824,144.08L176.885,144.627L176.46,145.112V145.173L176.945,144.627Z" android:fillColor="#3F3F43"/> <path android:pathData="M164.501,140.741H164.683L164.44,140.802L164.986,141.227H165.047L164.501,140.741Z" @@ -172,19 +172,19 @@ android:pathData="M181.134,144.323L181.255,144.08L181.073,144.323L179.556,144.93L181.134,144.323Z" android:fillColor="#3F3F43"/> <path - android:pathData="M174.821,144.201L175.306,144.14L175.792,143.654H175.731L175.246,144.201H174.699L174.274,144.747L174.335,144.808L174.821,144.201Z" + android:pathData="M174.821,144.201L175.306,144.14L175.792,143.655H175.731L175.246,144.201H174.699L174.274,144.747L174.335,144.808L174.821,144.201Z" android:fillColor="#3F3F43"/> <path - android:pathData="M150.173,140.194H150.113L149.141,140.801L150.173,140.194Z" + android:pathData="M150.173,140.195H150.113L149.141,140.802L150.173,140.195Z" android:fillColor="#3F3F43"/> <path - android:pathData="M164.076,141.833L164.501,141.287H164.44L164.015,141.833V142.198L164.076,142.319V141.833Z" + android:pathData="M164.075,141.834L164.5,141.287H164.44L164.015,141.834V142.198L164.075,142.32V141.834Z" android:fillColor="#3F3F43"/> <path - android:pathData="M151.206,139.588L151.691,139.527L153.27,138.374L153.695,137.827L154.18,137.281L155.212,136.674L154.18,137.281L153.695,137.827L153.209,138.374L151.691,139.527L151.145,139.588L150.659,140.134L151.206,139.588Z" + android:pathData="M151.205,139.587L151.691,139.527L153.269,138.373L153.694,137.827L154.18,137.281L155.212,136.673L154.18,137.281L153.694,137.827L153.209,138.373L151.691,139.527L151.145,139.587L150.659,140.134L151.205,139.587Z" android:fillColor="#3F3F43"/> <path - android:pathData="M150.781,148.572L150.234,148.086L149.566,147.054L149.02,146.022L148.413,145.597V145.051L148.292,144.019L147.745,143.473L147.199,143.048L147.138,142.016H146.592H147.077L147.199,143.048L147.745,143.473L148.292,144.019L148.352,145.051L148.413,145.597L149.02,146.022L149.566,147.054L150.174,148.086L150.72,148.572L151.206,148.511L151.327,148.633L151.266,148.511L150.781,148.572Z" + android:pathData="M150.781,148.572L150.234,148.086L149.566,147.054L149.02,146.022L148.413,145.597V145.051L148.292,144.019L147.745,143.472L147.199,143.047L147.138,142.015H146.592H147.077L147.199,143.047L147.745,143.472L148.292,144.019L148.352,145.051L148.413,145.597L149.02,146.022L149.566,147.054L150.174,148.086L150.72,148.572L151.206,148.511L151.327,148.632L151.266,148.511L150.781,148.572Z" android:fillColor="#3F3F43"/> <path android:pathData="M145.924,139.952H145.863L145.985,140.984L146.592,142.016L145.985,140.984L145.924,139.952Z" @@ -193,22 +193,22 @@ android:pathData="M162.861,140.863L161.89,140.924L162.861,140.863Z" android:fillColor="#3F3F43"/> <path - android:pathData="M156.851,137.099V136.978L156.791,137.038L156.851,137.099L156.305,137.645L156.851,137.099Z" + android:pathData="M156.851,137.099V136.977L156.791,137.038L156.851,137.099L156.305,137.645L156.851,137.099Z" android:fillColor="#3F3F43"/> <path - android:pathData="M153.998,150.818L153.512,150.454L153.937,150.818H153.998Z" + android:pathData="M153.998,150.819L153.513,150.454L153.938,150.819H153.998Z" android:fillColor="#3F3F43"/> <path - android:pathData="M168.871,35.536L169.842,35.476L170.935,35.961L172.028,36.447L172.089,37.479H172.149L172.028,36.447L170.996,35.961L169.903,35.476L168.871,35.536Z" + android:pathData="M168.871,35.536L169.843,35.476L170.935,35.961L172.028,36.447L172.089,37.479H172.149L172.028,36.447L170.996,35.961L169.903,35.476L168.871,35.536Z" android:fillColor="#3F3F43"/> <path android:pathData="M167.9,37.235L168.932,37.721V37.66L167.9,37.235Z" android:fillColor="#3F3F43"/> <path - android:pathData="M170.328,33.411L170.571,33.351L170.328,33.411Z" + android:pathData="M170.328,33.411L170.571,33.35L170.328,33.411Z" android:fillColor="#3F3F43"/> <path - android:pathData="M172.514,34.808L172.453,34.261L171.36,33.836L170.814,33.351L171.36,33.836L172.453,34.261V34.808L173.06,35.84H173.364H173.121L172.514,34.808Z" + android:pathData="M172.514,34.807L172.453,34.261L171.36,33.836L170.814,33.35L171.36,33.836L172.453,34.261V34.807L173.06,35.839H173.364H173.121L172.514,34.807Z" android:fillColor="#3F3F43"/> <path android:pathData="M150.234,86.408L149.809,86.469L150.234,86.408Z" @@ -220,10 +220,10 @@ android:pathData="M166.443,38.936L166.989,39.421L167.475,39.361L167.05,39.421L166.443,38.936Z" android:fillColor="#3F3F43"/> <path - android:pathData="M151.934,64.676L151.874,64.737V65.222L152.359,65.161H151.934V64.676Z" + android:pathData="M151.934,64.675L151.874,64.736V65.222L152.359,65.161H151.934V64.675Z" android:fillColor="#3F3F43"/> <path - android:pathData="M163.954,40.696H163.407H163.954L164.986,41.121L165.472,41.061L165.047,41.121L163.954,40.696Z" + android:pathData="M163.954,40.696H163.407H163.954L164.986,41.121L165.472,41.06L165.047,41.121L163.954,40.696Z" android:fillColor="#3F3F43"/> <path android:pathData="M176.824,35.597L177.31,35.536L177.917,36.507L177.31,35.536L176.824,35.597Z" @@ -232,25 +232,25 @@ android:pathData="M220.108,113.787L219.137,113.848L220.108,113.787Z" android:fillColor="#3F3F43"/> <path - android:pathData="M146.895,90.84H146.835L146.895,91.386L147.381,91.872H147.442L146.956,91.386L146.895,90.84Z" + android:pathData="M146.895,90.84H146.835L146.895,91.386L147.381,91.871H147.442L146.956,91.386L146.895,90.84Z" android:fillColor="#3F3F43"/> <path - android:pathData="M174.76,38.327L175.913,38.752H176.399L176.52,39.784L177.067,40.27L177.127,40.816V41.302L177.188,41.909V42.395L176.702,42.941H176.763L177.249,42.395L177.188,41.848V41.302L177.127,40.816L177.067,40.27L176.52,39.784L176.46,38.752H175.913L174.821,38.327L173.728,37.842L173.242,37.903L173.728,37.842L174.76,38.327Z" + android:pathData="M174.76,38.327L175.913,38.752H176.399L176.52,39.784L177.067,40.27L177.128,40.816V41.302L177.188,41.909V42.395L176.703,42.941H176.763L177.249,42.395L177.188,41.848V41.302L177.128,40.816L177.067,40.27L176.52,39.784L176.46,38.752H175.913L174.821,38.327L173.728,37.842L173.242,37.903L173.728,37.842L174.76,38.327Z" android:fillColor="#3F3F43"/> <path android:pathData="M184.109,27.158H183.866H184.109L183.623,28.251L185.262,28.615L183.684,28.251L184.109,27.158Z" android:fillColor="#3F3F43"/> <path - android:pathData="M186.598,32.258L186.537,31.772L186.476,30.679L186.962,30.072V29.526L186.355,29.101L185.809,28.615H185.687H185.748L186.355,29.101L186.901,29.587L186.962,30.072L186.476,30.679L186.537,31.772V32.258L186.598,32.743L186.659,33.29V32.743L186.598,32.258Z" + android:pathData="M186.598,32.257L186.537,31.772L186.477,30.679L186.962,30.072V29.525L186.355,29.101L185.809,28.615H185.687H185.748L186.355,29.101L186.902,29.586L186.962,30.072L186.477,30.679L186.537,31.772V32.257L186.598,32.743L186.659,33.289V32.743L186.598,32.257Z" android:fillColor="#3F3F43"/> <path - android:pathData="M179.07,23.82L178.099,24.427L178.16,25.459V26.005L178.22,26.491L178.706,25.459L179.131,24.366L179.617,23.212L179.556,22.727L179.495,22.241L179.07,23.273V23.82Z" + android:pathData="M179.07,23.82L178.099,24.427L178.16,25.459V26.005L178.22,26.491L178.706,25.459L179.131,24.366L179.617,23.213L179.556,22.727L179.495,22.241L179.07,23.273V23.82Z" android:fillColor="#3F3F43"/> <path - android:pathData="M100.015,105.953L99.955,105.957L99.981,106.32L100.041,106.316L100.015,105.953Z" + android:pathData="M100.015,105.952L99.955,105.957L99.981,106.32L100.041,106.316L100.015,105.952Z" android:fillColor="#3F3F43"/> <path - android:pathData="M81.757,108.323H81.696L81.271,108.809V108.87L81.757,108.323Z" + android:pathData="M81.757,108.323H81.696L81.271,108.809V108.869L81.757,108.323Z" android:fillColor="#3F3F43"/> <path android:pathData="M101.426,105.834L101.547,105.713L101.183,105.409H100.94L101.426,105.834Z" @@ -259,61 +259,61 @@ android:pathData="M79.51,105.835H79.875L80.482,106.26L80.543,106.199L79.996,105.774L79.51,105.835Z" android:fillColor="#3F3F43"/> <path - android:pathData="M172.635,37.418L173.243,37.904L172.635,37.418Z" + android:pathData="M172.635,37.418L173.243,37.903L172.635,37.418Z" android:fillColor="#3F3F43"/> <path - android:pathData="M93.41,124.704L93.046,124.729L93.055,124.851L93.418,124.825L93.41,124.704Z" + android:pathData="M93.41,124.704L93.046,124.73L93.055,124.851L93.418,124.825L93.41,124.704Z" android:fillColor="#3F3F43"/> <path - android:pathData="M71.679,114.759L71.133,114.82L70.587,114.334L69.555,114.941L70.04,114.88L70.647,114.82L71.194,115.366L72.226,115.305L72.772,115.245L72.165,114.759H71.679Z" + android:pathData="M71.679,114.759L71.133,114.82L70.587,114.334L69.555,114.941L70.04,114.881L70.647,114.82L71.194,115.366L72.226,115.306L72.772,115.245L72.165,114.759H71.679Z" android:fillColor="#3F3F43"/> <path android:pathData="M84.064,110.752L84.671,111.238L84.61,110.752H84.064Z" android:fillColor="#3F3F43"/> <path - android:pathData="M188.116,37.478L187.994,37.296V37.417L188.116,37.478Z" + android:pathData="M188.116,37.479L187.994,37.296V37.418L188.116,37.479Z" android:fillColor="#3F3F43"/> <path - android:pathData="M193.761,52.23L193.883,52.351L193.761,51.866L193.822,51.684L193.761,51.744V52.23Z" + android:pathData="M193.761,52.23L193.883,52.352L193.761,51.866L193.822,51.684L193.761,51.744V52.23Z" android:fillColor="#3F3F43"/> <path - android:pathData="M186.962,33.229L186.78,33.29L186.962,33.229Z" + android:pathData="M186.962,33.23L186.78,33.291L186.962,33.23Z" android:fillColor="#3F3F43"/> <path - android:pathData="M194.186,49.195L194.065,49.073L194.126,49.316L194.186,49.195Z" + android:pathData="M194.186,49.194L194.065,49.073L194.126,49.316L194.186,49.194Z" android:fillColor="#3F3F43"/> <path - android:pathData="M226.058,50.773L226.665,50.713L227.697,51.138L227.15,50.106L226.604,49.681L224.054,50.348L225.086,50.834L226.058,50.773Z" + android:pathData="M226.058,50.773L226.665,50.713L227.697,51.138L227.15,50.105L226.604,49.681L224.054,50.348L225.086,50.834L226.058,50.773Z" android:fillColor="#3F3F43"/> <path - android:pathData="M199.225,71.352L199.347,71.23V70.866L199.225,71.352Z" + android:pathData="M199.225,71.352L199.346,71.231V70.867L199.225,71.352Z" android:fillColor="#3F3F43"/> <path android:pathData="M195.401,55.933H195.34L195.401,55.993V55.933Z" android:fillColor="#3F3F43"/> <path - android:pathData="M204.871,186.817H204.81L204.385,187.242H204.506L204.871,186.817Z" + android:pathData="M204.871,186.818H204.81L204.385,187.243H204.506L204.871,186.818Z" android:fillColor="#3F3F43"/> <path - android:pathData="M190.787,174.736L190.726,174.433L190.665,174.312V174.615L190.787,174.736Z" + android:pathData="M190.787,174.736L190.726,174.433L190.665,174.311V174.615L190.787,174.736Z" android:fillColor="#3F3F43"/> <path android:pathData="M202.2,187.485L201.653,187.85L202.2,187.485Z" android:fillColor="#3F3F43"/> <path - android:pathData="M204.749,147.177L205.296,146.57L205.781,146.084L205.721,146.145L205.235,146.57L204.688,147.177L203.292,147.784H203.353L204.749,147.177Z" + android:pathData="M204.749,147.177L205.296,146.57L205.781,146.084L205.721,146.145L205.235,146.57L204.689,147.177L203.292,147.784H203.353L204.749,147.177Z" android:fillColor="#3F3F43"/> <path - android:pathData="M209.97,146.812L210.517,146.751L209.91,146.812L209.485,147.297L209.545,147.358L209.97,146.812Z" + android:pathData="M209.97,146.811L210.517,146.751L209.91,146.811L209.485,147.297L209.545,147.358L209.97,146.811Z" android:fillColor="#3F3F43"/> <path - android:pathData="M216.162,153.187H216.648H216.162L215.677,153.247L216.162,153.187Z" + android:pathData="M216.162,153.186H216.648H216.162L215.677,153.247L216.162,153.186Z" android:fillColor="#3F3F43"/> <path android:pathData="M202.139,147.358V147.48H202.321L202.139,147.358Z" android:fillColor="#3F3F43"/> <path - android:pathData="M209.849,182.75H209.788L209.302,183.296H209.424L209.849,182.75Z" + android:pathData="M209.849,182.75H209.788L209.302,183.297H209.424L209.849,182.75Z" android:fillColor="#3F3F43"/> <path android:pathData="M212.034,147.176V147.722H212.095L212.034,147.176Z" @@ -322,7 +322,7 @@ android:pathData="M207.117,186.394L206.995,186.515H207.117V186.394Z" android:fillColor="#3F3F43"/> <path - android:pathData="M207.967,184.45L207.724,184.511L207.785,184.572L207.967,184.693V184.45Z" + android:pathData="M207.967,184.451L207.724,184.511L207.785,184.572L207.967,184.693V184.451Z" android:fillColor="#3F3F43"/> <path android:pathData="M251.19,138.739L252.162,138.678L253.194,138.617L252.222,138.678L251.19,138.739Z" @@ -334,7 +334,7 @@ android:pathData="M209.181,186.454V186.394L208.756,186.94L209.181,186.454Z" android:fillColor="#3F3F43"/> <path - android:pathData="M208.271,189.125L208.088,189.368L208.271,189.125Z" + android:pathData="M208.27,189.125L208.088,189.368L208.27,189.125Z" android:fillColor="#3F3F43"/> <path android:pathData="M208.695,187.546V187.485L208.574,187.546H208.695Z" @@ -343,28 +343,28 @@ android:pathData="M245.727,128.175V128.114L244.695,128.661L244.755,128.721L245.727,128.175Z" android:fillColor="#3F3F43"/> <path - android:pathData="M243.662,128.295L243.602,127.749V128.295L242.691,128.842L243.662,128.295Z" + android:pathData="M243.662,128.296L243.602,127.749V128.296L242.691,128.842L243.662,128.296Z" android:fillColor="#3F3F43"/> <path android:pathData="M238.442,128.114L239.413,127.021H239.352L238.381,128.114L237.956,128.661L237.713,128.721L238.017,128.661L238.442,128.114Z" android:fillColor="#3F3F43"/> <path - android:pathData="M236.863,128.235H236.803L236.317,128.782H236.378L236.863,128.235Z" + android:pathData="M236.863,128.236H236.803L236.317,128.782H236.378L236.863,128.236Z" android:fillColor="#3F3F43"/> <path android:pathData="M252.526,128.114L252.465,128.175L251.979,128.782H252.04L252.526,128.114Z" android:fillColor="#3F3F43"/> <path - android:pathData="M235.831,128.297L235.285,128.358L234.313,128.418L235.345,128.358L235.831,128.297Z" + android:pathData="M235.831,128.297L235.285,128.357L234.313,128.418L235.345,128.357L235.831,128.297Z" android:fillColor="#3F3F43"/> <path - android:pathData="M246.819,128.053L247.851,127.992H248.034H247.791L246.759,128.053L246.819,128.539L246.395,128.599L246.819,128.539V128.053Z" + android:pathData="M246.819,128.053L247.851,127.992H248.034H247.791L246.759,128.053L246.819,128.538L246.395,128.599L246.819,128.538V128.053Z" android:fillColor="#3F3F43"/> <path android:pathData="M248.883,128.417H248.823L248.883,128.903L248.944,129.024L248.883,128.417Z" android:fillColor="#3F3F43"/> <path - android:pathData="M209.302,129.693L209.363,129.571L209.302,129.632V129.693Z" + android:pathData="M209.302,129.692L209.363,129.571L209.302,129.632V129.692Z" android:fillColor="#3F3F43"/> <path android:pathData="M190.544,130.482L190.605,130.36L190.483,130.482H190.544Z" @@ -373,13 +373,13 @@ android:pathData="M214.645,128.843V128.782H214.463L214.645,128.843Z" android:fillColor="#3F3F43"/> <path - android:pathData="M207.542,129.328L207.603,129.207L207.299,128.964L207.542,129.328Z" + android:pathData="M207.542,129.328L207.602,129.206L207.299,128.963L207.542,129.328Z" android:fillColor="#3F3F43"/> <path - android:pathData="M193.579,128.113L194.186,128.053L193.579,128.113Z" + android:pathData="M193.579,128.114L194.186,128.053L193.579,128.114Z" android:fillColor="#3F3F43"/> <path - android:pathData="M221.808,121.559H221.747L220.715,122.044H220.776L221.808,121.559Z" + android:pathData="M221.808,121.558H221.747L220.715,122.044H220.776L221.808,121.558Z" android:fillColor="#3F3F43"/> <path android:pathData="M225.329,120.708L224.358,121.376H224.418L225.329,120.708Z" @@ -391,10 +391,10 @@ android:pathData="M230.914,124.471H231.278H230.853L230.368,125.078L230.914,124.471Z" android:fillColor="#3F3F43"/> <path - android:pathData="M136.818,114.395L137.304,114.819H137.364L136.818,114.395Z" + android:pathData="M136.818,114.395L137.304,114.82H137.364L136.818,114.395Z" android:fillColor="#3F3F43"/> <path - android:pathData="M138.336,114.759L138.639,115.062L138.7,115.002L138.457,114.759H138.336Z" + android:pathData="M138.336,114.759L138.639,115.062L138.7,115.001L138.457,114.759H138.336Z" android:fillColor="#3F3F43"/> <path android:pathData="M264.242,160.167L264.667,159.135H264.606L264.181,160.228L263.696,160.774H263.635H263.696L264.242,160.167Z" @@ -406,19 +406,19 @@ android:pathData="M179.374,104.62H179.313L177.674,105.288H177.795L179.374,104.62Z" android:fillColor="#3F3F43"/> <path - android:pathData="M269.402,159.804L267.277,159.986H266.853H267.277L269.402,159.804Z" + android:pathData="M269.402,159.804L267.278,159.986H266.853H267.278L269.402,159.804Z" android:fillColor="#3F3F43"/> <path - android:pathData="M198.375,93.39V93.45L198.861,93.875L199.468,94.361V94.3L198.982,93.875L198.375,93.39Z" + android:pathData="M198.375,93.39V93.451L198.861,93.876L199.468,94.361V94.301L198.982,93.876L198.375,93.39Z" android:fillColor="#3F3F43"/> <path android:pathData="M280.451,160.654L280.937,160.108L281.908,159.501H281.847L280.876,160.108L280.39,160.654L279.419,160.715L278.933,160.776L279.419,160.715L280.451,160.654Z" android:fillColor="#3F3F43"/> <path - android:pathData="M138.275,122.104L138.214,121.011L137.122,120.586L137.729,121.072L138.275,122.104Z" + android:pathData="M138.275,122.103L138.214,121.011L137.122,120.586L137.729,121.071L138.275,122.103Z" android:fillColor="#3F3F43"/> <path - android:pathData="M276.687,159.863L275.169,159.985L276.687,159.863Z" + android:pathData="M276.687,159.864L275.169,159.985L276.687,159.864Z" android:fillColor="#3F3F43"/> <path android:pathData="M274.077,159.501H274.38H274.016L272.498,160.169L271.891,160.229L272.559,160.169L274.077,159.501Z" @@ -427,82 +427,82 @@ android:pathData="M270.495,160.289L269.948,160.35L270.495,160.289Z" android:fillColor="#3F3F43"/> <path - android:pathData="M197.464,95.576V96.122L197.525,96.062V95.576H197.464Z" + android:pathData="M197.464,95.576V96.122L197.525,96.061V95.576H197.464Z" android:fillColor="#3F3F43"/> <path - android:pathData="M200.56,103.65L199.65,104.257L200.196,104.743L200.682,105.228L200.257,105.775L199.286,106.321V106.382L200.318,105.775L200.743,105.228L200.257,104.743L199.711,104.257L200.621,103.65L201.653,103.043H201.593L200.56,103.65Z" + android:pathData="M200.56,103.65L199.65,104.257L200.196,104.743L200.682,105.229L200.257,105.775L199.286,106.321V106.382L200.318,105.775L200.743,105.229L200.257,104.743L199.711,104.257L200.621,103.65L201.653,103.043H201.593L200.56,103.65Z" android:fillColor="#3F3F43"/> <path - android:pathData="M204.324,103.406L203.717,103.467L202.928,103.528L203.778,103.467L204.324,103.406Z" + android:pathData="M204.324,103.406L203.717,103.467L202.928,103.527L203.778,103.467L204.324,103.406Z" android:fillColor="#3F3F43"/> <path - android:pathData="M216.708,117.126L217.741,117.551H217.801L216.769,117.126H216.708Z" + android:pathData="M216.708,117.126L217.74,117.551H217.801L216.769,117.126H216.708Z" android:fillColor="#3F3F43"/> <path android:pathData="M199.164,96.486H199.043L198.618,96.911V96.972L199.164,96.486Z" android:fillColor="#3F3F43"/> <path - android:pathData="M206.935,104.255L207.967,103.708V103.162H207.845L207.906,103.708L206.874,104.255H206.51H206.935Z" + android:pathData="M206.935,104.255L207.967,103.709V103.162H207.845L207.906,103.709L206.874,104.255H206.51H206.935Z" android:fillColor="#3F3F43"/> <path android:pathData="M88.07,176.012L87.099,175.162L87.524,175.587L88.07,176.012Z" android:fillColor="#3F3F43"/> <path - android:pathData="M300.12,159.258H300.181L300.12,158.226L300.545,157.133H300.484L300.059,158.226L300.12,159.258Z" + android:pathData="M300.12,159.257H300.181L300.12,158.225L300.545,157.133H300.484L300.059,158.225L300.12,159.257Z" android:fillColor="#3F3F43"/> <path - android:pathData="M194.793,95.757L195.4,96.728H195.461L194.854,95.757H194.793Z" + android:pathData="M194.793,95.757L195.4,96.729H195.461L194.854,95.757H194.793Z" android:fillColor="#3F3F43"/> <path android:pathData="M191.151,94.422L192.122,94.847H192.304H192.183L191.151,94.422Z" android:fillColor="#3F3F43"/> <path - android:pathData="M190.058,94.481V94.542L190.544,94.967H191.151H190.665L190.058,94.481Z" + android:pathData="M190.058,94.482V94.543L190.544,94.968H191.151H190.665L190.058,94.482Z" android:fillColor="#3F3F43"/> <path android:pathData="M197.95,96.061H198.071L198.496,96L197.586,96.061H197.95Z" android:fillColor="#3F3F43"/> <path - android:pathData="M192.729,95.332L192.669,94.847H192.608L192.669,95.393L193.276,95.879L193.458,95.818L193.276,95.879L192.729,95.332Z" + android:pathData="M192.729,95.332L192.668,94.847H192.608L192.668,95.393L193.276,95.879L193.458,95.818L193.276,95.879L192.729,95.332Z" android:fillColor="#3F3F43"/> <path - android:pathData="M285.551,166.542L286.583,166.421H287.129H286.644L285.551,166.542Z" + android:pathData="M285.551,166.542L286.583,166.421H287.129H286.643L285.551,166.542Z" android:fillColor="#3F3F43"/> <path - android:pathData="M292.167,170.791L293.078,170.73L292.167,170.791Z" + android:pathData="M292.167,170.792L293.078,170.731L292.167,170.792Z" android:fillColor="#3F3F43"/> <path - android:pathData="M289.8,159.985H289.982H289.739L288.829,160.532L289.8,159.985Z" + android:pathData="M289.8,159.985H289.982H289.739L288.829,160.531L289.8,159.985Z" android:fillColor="#3F3F43"/> <path - android:pathData="M288.525,163.628L288.464,163.689L289.557,164.66H289.921H289.618L288.525,163.628Z" + android:pathData="M288.525,163.628L288.464,163.688L289.557,164.66H289.921H289.618L288.525,163.628Z" android:fillColor="#3F3F43"/> <path android:pathData="M290.589,164.599L291.682,165.024V164.963L290.65,164.599H290.589Z" android:fillColor="#3F3F43"/> <path - android:pathData="M292.471,169.151L291.985,169.212L292.471,169.151Z" + android:pathData="M292.471,169.152L291.985,169.213L292.471,169.152Z" android:fillColor="#3F3F43"/> <path android:pathData="M295.628,172.613L295.446,172.674L295.628,172.613Z" android:fillColor="#3F3F43"/> <path - android:pathData="M298.724,160.957L299.27,159.803L298.603,159.378L299.635,159.318L299.999,159.257L299.635,159.318L298.603,159.378L299.21,159.803L298.724,160.957L297.631,161.503H297.692L298.724,160.957Z" + android:pathData="M298.724,160.957L299.27,159.804L298.603,159.379L299.635,159.318L299.999,159.257L299.635,159.318L298.603,159.379L299.21,159.804L298.724,160.957L297.631,161.503H297.692L298.724,160.957Z" android:fillColor="#3F3F43"/> <path - android:pathData="M53.098,197.366L52.675,197.396L52.679,197.457L53.103,197.427L53.098,197.366Z" + android:pathData="M53.098,197.367L52.674,197.397L52.679,197.457L53.103,197.427L53.098,197.367Z" android:fillColor="#3F3F43"/> <path - android:pathData="M55.713,187.729V187.851L56.685,188.215H57.231V188.154L56.806,188.215L55.713,187.729Z" + android:pathData="M55.713,187.729V187.85L56.685,188.215H57.231V188.154L56.806,188.215L55.713,187.729Z" android:fillColor="#3F3F43"/> <path - android:pathData="M58.688,184.875V184.997L59.113,184.936L59.659,184.875V184.814L59.173,184.875H58.688Z" + android:pathData="M58.688,184.875V184.997L59.113,184.936L59.659,184.875V184.815L59.173,184.875H58.688Z" android:fillColor="#3F3F43"/> <path - android:pathData="M286.097,159.196V158.649H286.036V159.196L285.065,159.742V159.803L286.097,159.196Z" + android:pathData="M286.097,159.196V158.65H286.036V159.196L285.065,159.742V159.803L286.097,159.196Z" android:fillColor="#3F3F43"/> <path - android:pathData="M53.164,196.896H53.65L54.135,196.835H54.196H53.71L53.164,196.896Z" + android:pathData="M53.164,196.895H53.65L54.135,196.835H54.196H53.71L53.164,196.895Z" android:fillColor="#3F3F43"/> <path android:pathData="M60.934,180.079L61.42,180.019V179.958L60.995,180.019L60.934,180.079Z" @@ -511,94 +511,94 @@ android:pathData="M54.681,196.288L55.167,196.228V196.167L54.742,196.228L54.681,196.288Z" android:fillColor="#3F3F43"/> <path - android:pathData="M54.924,193.13L55.471,193.069V193.009L54.985,193.069L54.924,193.13Z" + android:pathData="M54.924,193.13L55.471,193.07V193.009L54.985,193.07L54.924,193.13Z" android:fillColor="#3F3F43"/> <path - android:pathData="M61.481,179.412V179.473L61.906,179.412H62.452V179.352L62.027,179.412H61.481Z" + android:pathData="M61.481,179.412V179.473L61.906,179.412H62.452V179.351L62.027,179.412H61.481Z" android:fillColor="#3F3F43"/> <path - android:pathData="M55.167,172.126L55.045,172.065V172.551L55.167,172.49V172.126Z" + android:pathData="M55.167,172.126L55.046,172.065V172.551L55.167,172.49V172.126Z" android:fillColor="#3F3F43"/> <path - android:pathData="M284.033,159.379L283.972,158.771L283.912,158.832L283.972,159.379L283.487,159.925H283.547L284.033,159.379Z" + android:pathData="M284.033,159.379L283.972,158.772L283.912,158.833L283.972,159.379L283.487,159.925H283.547L284.033,159.379Z" android:fillColor="#3F3F43"/> <path - android:pathData="M60.63,174.858H60.509V175.162L60.63,175.283V174.858Z" + android:pathData="M60.63,174.859H60.509V175.162L60.63,175.284V174.859Z" android:fillColor="#3F3F43"/> <path - android:pathData="M62.452,178.804V178.925L62.938,178.865H63.423V178.743L62.998,178.804H62.452Z" + android:pathData="M62.452,178.804V178.925L62.938,178.864H63.423V178.743L62.998,178.804H62.452Z" android:fillColor="#3F3F43"/> <path android:pathData="M63.904,178.181L63.42,178.215L63.424,178.275L63.909,178.241L63.904,178.181Z" android:fillColor="#3F3F43"/> <path - android:pathData="M153.877,162.959L154.241,162.898L153.877,162.959Z" + android:pathData="M153.877,162.959L154.241,162.899L153.877,162.959Z" android:fillColor="#3F3F43"/> <path - android:pathData="M158.551,161.564L159.401,161.503H159.461H158.915L158.551,161.564Z" + android:pathData="M158.551,161.564L159.401,161.503H159.462H158.915L158.551,161.564Z" android:fillColor="#3F3F43"/> <path - android:pathData="M146.713,160.835L146.652,160.774L146.713,161.26L147.259,161.806L147.32,161.867L146.774,161.321L146.713,160.835Z" + android:pathData="M146.713,160.835L146.652,160.774L146.713,161.26L147.26,161.806L147.32,161.867L146.774,161.32L146.713,160.835Z" android:fillColor="#3F3F43"/> <path - android:pathData="M150.477,162.109L150.781,162.352L150.538,162.109H150.477Z" + android:pathData="M150.477,162.11L150.781,162.352L150.538,162.11H150.477Z" android:fillColor="#3F3F43"/> <path - android:pathData="M151.57,162.595V162.655H151.691L151.631,162.595H151.57Z" + android:pathData="M151.57,162.595V162.656H151.691L151.631,162.595H151.57Z" android:fillColor="#3F3F43"/> <path android:pathData="M139.792,159.742H139.732V160.228L139.792,160.714H139.853L139.792,160.289V159.742Z" android:fillColor="#3F3F43"/> <path - android:pathData="M180.223,104.56L179.374,104.621L180.284,104.56L180.831,104.014H180.77L180.223,104.56Z" + android:pathData="M180.223,104.56L179.373,104.621L180.284,104.56L180.83,104.014H180.77L180.223,104.56Z" android:fillColor="#3F3F43"/> <path - android:pathData="M183.866,103.771L183.38,103.832L181.984,103.893L183.441,103.832L183.927,103.771L184.898,103.164L185.991,103.043L184.898,103.164L183.866,103.771Z" + android:pathData="M183.866,103.772L183.381,103.832L181.984,103.893L183.441,103.832L183.927,103.772L184.898,103.165L185.991,103.043L184.898,103.165L183.866,103.772Z" android:fillColor="#3F3F43"/> <path - android:pathData="M184.473,113.06L184.534,113.181V113.12L184.473,113.06Z" + android:pathData="M184.473,113.059L184.534,113.181V113.12L184.473,113.059Z" android:fillColor="#3F3F43"/> <path - android:pathData="M185.869,150.212H185.748L185.809,150.273L185.869,150.212Z" + android:pathData="M185.869,150.212H185.748L185.809,150.272L185.869,150.212Z" android:fillColor="#3F3F43"/> <path android:pathData="M136.575,159.438L136.211,159.135L136.575,159.499L137.182,159.985L138.639,159.863V159.803L137.182,159.924L136.575,159.438Z" android:fillColor="#3F3F43"/> <path - android:pathData="M127.347,155.858L126.862,155.433V155.493L127.408,155.979L127.347,155.858Z" + android:pathData="M127.347,155.857L126.862,155.432V155.493L127.408,155.979L127.347,155.857Z" android:fillColor="#3F3F43"/> <path android:pathData="M126.376,156.525L125.83,156.039L125.284,155.554V155.614L125.769,156.039L126.376,156.525Z" android:fillColor="#3F3F43"/> <path - android:pathData="M127.894,155.857L127.409,155.493L127.894,155.918V155.857Z" + android:pathData="M127.894,155.858L127.409,155.493L127.894,155.918V155.858Z" android:fillColor="#3F3F43"/> <path - android:pathData="M188.055,103.466H188.115L189.087,102.859L188.055,103.466Z" + android:pathData="M188.055,103.467H188.115L189.087,102.86L188.055,103.467Z" android:fillColor="#3F3F43"/> <path - android:pathData="M134.815,156.708L134.39,156.586V156.04L134.269,156.101V156.526L134.815,156.708Z" + android:pathData="M134.815,156.708L134.39,156.586V156.04L134.269,156.1V156.525L134.815,156.708Z" android:fillColor="#3F3F43"/> <path - android:pathData="M133.338,155.546L133.217,155.555L133.251,156.039L133.372,156.031L133.338,155.546Z" + android:pathData="M133.338,155.546L133.217,155.555L133.251,156.039L133.372,156.03L133.338,155.546Z" android:fillColor="#3F3F43"/> <path - android:pathData="M122.006,162.11L121.034,162.717L122.066,162.11L122.491,161.018H122.552H122.431L122.006,162.11Z" + android:pathData="M122.006,162.11L121.034,162.718L122.066,162.11L122.491,161.018H122.552H122.431L122.006,162.11Z" android:fillColor="#3F3F43"/> <path - android:pathData="M134.633,162.171V162.717H134.693V162.292L134.633,162.171Z" + android:pathData="M134.632,162.171V162.717H134.693V162.292L134.632,162.171Z" android:fillColor="#3F3F43"/> <path - android:pathData="M130.505,162.535L130.383,162.475L130.444,163.021L130.505,163.507L130.565,163.567V163.082L130.505,162.535Z" + android:pathData="M130.505,162.535L130.383,162.474L130.444,163.021L130.505,163.507L130.565,163.567V163.082L130.505,162.535Z" android:fillColor="#3F3F43"/> <path - android:pathData="M137.243,162.534L136.818,162.109H136.757L137.243,162.534Z" + android:pathData="M137.243,162.534L136.818,162.11H136.757L137.243,162.534Z" android:fillColor="#3F3F43"/> <path - android:pathData="M123.219,160.472L123.462,160.411L123.219,160.472Z" + android:pathData="M123.22,160.472L123.462,160.411L123.22,160.472Z" android:fillColor="#3F3F43"/> <path - android:pathData="M123.02,160.472L122.959,160.477L122.998,161.022L123.059,161.017L123.02,160.472Z" + android:pathData="M123.02,160.472L122.959,160.476L122.998,161.021L123.059,161.017L123.02,160.472Z" android:fillColor="#3F3F43"/> <path android:pathData="M124.13,161.988L123.644,162.049H123.584L124.13,161.988Z" @@ -607,10 +607,10 @@ android:pathData="M198.193,106.441L197.646,106.502H197.404L197.768,106.441H198.193Z" android:fillColor="#3F3F43"/> <path - android:pathData="M189.39,129.996V130.057L189.936,129.996H189.39Z" + android:pathData="M189.39,129.996V130.057L189.937,129.996H189.39Z" android:fillColor="#3F3F43"/> <path - android:pathData="M190.119,125.2L190.058,125.261H190.119V125.2Z" + android:pathData="M190.119,125.201L190.058,125.261H190.119V125.201Z" android:fillColor="#3F3F43"/> <path android:pathData="M198.739,105.956L198.679,105.896L198.193,106.442H198.314L198.739,105.956Z" @@ -619,19 +619,19 @@ android:pathData="M191.455,129.146L191.576,128.782L191.455,128.843V129.146Z" android:fillColor="#3F3F43"/> <path - android:pathData="M189.39,121.74L189.694,122.104L189.936,122.712L189.876,122.226L189.39,121.74Z" + android:pathData="M189.39,121.741L189.694,122.105L189.937,122.712L189.876,122.226L189.39,121.741Z" android:fillColor="#3F3F43"/> <path - android:pathData="M190.119,116.944L190.605,115.852H190.544L190.058,116.944L189.573,117.491L190.119,116.944Z" + android:pathData="M190.119,116.944L190.604,115.851H190.544L190.058,116.944L189.572,117.49L190.119,116.944Z" android:fillColor="#3F3F43"/> <path android:pathData="M209.667,128.599L210.213,128.053H210.152L209.667,128.599Z" android:fillColor="#3F3F43"/> <path - android:pathData="M219.198,122.59V122.651L219.258,123.197H219.319L219.258,122.165V122.651L219.198,122.59Z" + android:pathData="M219.198,122.59V122.65L219.258,123.197H219.319L219.258,122.165V122.65L219.198,122.59Z" android:fillColor="#3F3F43"/> <path - android:pathData="M212.277,128.357H212.338L212.823,127.871L213.005,127.811L212.763,127.871L212.277,128.357Z" + android:pathData="M212.277,128.357H212.338L212.823,127.871L213.005,127.81L212.763,127.871L212.277,128.357Z" android:fillColor="#3F3F43"/> <path android:pathData="M219.258,122.164L220.169,121.679H220.108L219.198,122.164L219.258,122.65V122.164Z" @@ -643,85 +643,85 @@ android:pathData="M192.608,115.184H192.547L191.515,115.791H191.576L192.608,115.184Z" android:fillColor="#3F3F43"/> <path - android:pathData="M204.931,128.903H204.688H205.053L205.538,128.356H205.963H205.478L204.931,128.903Z" + android:pathData="M204.931,128.903H204.688H205.053L205.538,128.357H205.963H205.478L204.931,128.903Z" android:fillColor="#3F3F43"/> <path android:pathData="M194.429,128.053H194.49L196.129,127.507H196.068L194.429,128.053Z" android:fillColor="#3F3F43"/> <path - android:pathData="M198.496,108.991L196.311,108.687L197.222,106.502H197.161L196.25,108.687L198.375,108.991L197.404,110.144H197.464L198.496,108.991Z" + android:pathData="M198.496,108.991L196.311,108.688L197.222,106.502H197.161L196.25,108.688L198.375,108.991L197.404,110.145H197.464L198.496,108.991Z" android:fillColor="#3F3F43"/> <path - android:pathData="M194.065,114.029L194.004,113.483L193.883,112.026V111.48L195.947,110.812L195.886,110.266H195.825V110.812L193.822,111.48V112.026L193.944,113.483L194.004,114.029L193.519,115.122H193.579L194.065,114.029Z" + android:pathData="M194.065,114.03L194.004,113.483L193.883,112.026V111.48L195.947,110.812L195.886,110.266H195.825V110.812L193.822,111.48V112.026L193.943,113.483L194.004,114.03L193.518,115.122H193.579L194.065,114.03Z" android:fillColor="#3F3F43"/> <path - android:pathData="M193.154,115.122H193.518L193.094,115.183L193.154,115.668V115.122Z" + android:pathData="M193.154,115.122H193.518L193.094,115.183L193.154,115.669V115.122Z" android:fillColor="#3F3F43"/> <path - android:pathData="M239.595,160.349L240.263,160.835L240.567,159.256V158.771L241.538,157.617L242.631,157.556V158.103L243.602,158.042L244.695,157.921L245.666,157.314V156.828L245.12,156.342L245.059,155.796H245.545V155.189L245.059,155.25L243.966,155.31L242.934,155.978L242.509,156.524L242.024,157.071L239.96,157.192V156.707L239.292,156.221L238.26,156.767L237.774,156.342L237.713,155.796H237.228L236.742,155.857L236.681,155.371L236.621,154.946L236.074,154.4L235.467,153.914L235.042,155.007L234.617,155.553L234.557,155.068L234.01,154.521L233.403,154.582V154.096H232.918L232.978,155.189L233.039,155.614L232.553,156.16L231.582,156.767V157.253L230.489,157.374L230.004,157.921V158.467L229.093,159.074V159.56L230.064,158.953H230.611L231.157,158.892L231.764,159.378L232.796,159.803L233.282,159.256L233.343,159.803L233.889,160.774L233.464,161.32L233.95,162.352L233.525,162.899L233.585,163.445L235.164,163.324L235.649,163.809L237.228,163.142L237.592,161.563L238.138,161.017L238.563,160.47L239.535,159.863L239.595,160.349Z" + android:pathData="M239.595,160.349L240.263,160.835L240.567,159.257V158.771L241.538,157.617L242.631,157.557V158.103L243.602,158.042L244.695,157.921L245.666,157.314V156.828L245.12,156.343L245.059,155.796H245.545V155.189L245.059,155.25L243.966,155.311L242.934,155.978L242.509,156.525L242.024,157.071L239.96,157.192V156.707L239.292,156.221L238.26,156.768L237.774,156.343L237.713,155.796H237.228L236.742,155.857L236.681,155.371L236.621,154.946L236.074,154.4L235.467,153.914L235.042,155.007L234.617,155.553L234.557,155.068L234.01,154.521L233.403,154.582V154.096H232.918L232.978,155.189L233.039,155.614L232.553,156.16L231.582,156.768V157.253L230.489,157.375L230.004,157.921V158.467L229.093,159.074V159.56L230.064,158.953H230.611L231.157,158.892L231.764,159.378L232.796,159.803L233.282,159.257L233.343,159.803L233.889,160.774L233.464,161.321L233.95,162.353L233.525,162.899L233.585,163.445L235.164,163.324L235.649,163.81L237.228,163.142L237.592,161.563L238.138,161.017L238.563,160.471L239.535,159.864L239.595,160.349Z" android:fillColor="#3F3F43"/> <path - android:pathData="M228.121,19.266L229.153,19.691L229.214,20.237L230.307,20.662L231.339,21.087L231.825,20.601L231.278,20.055L231.764,18.962L231.703,18.476L231.642,17.93L231.035,17.02L230.064,17.08L228.911,16.655L228.364,16.716L228.425,17.202L228,18.173L228.121,19.266Z" + android:pathData="M228.121,19.266L229.153,19.691L229.214,20.237L230.307,20.662L231.339,21.087L231.825,20.602L231.278,20.055L231.764,18.963L231.703,18.477L231.642,17.931L231.035,17.02L230.064,17.081L228.911,16.656L228.364,16.716L228.425,17.202L228,18.173L228.121,19.266Z" android:fillColor="#3F3F43"/> <path - android:pathData="M318.939,85.923L318.393,84.891L317.3,83.98H316.814L316.268,84.466L315.236,85.133L313.718,85.255L312.686,85.316L312.201,85.376L310.562,84.891L310.501,84.466L309.894,83.373L309.469,83.434H308.922L307.89,84.648L307.405,85.133L306.433,85.194L305.341,84.284L304.187,82.705L304.127,81.673V81.248L303.52,80.763L302.912,80.277V79.791L301.759,78.759L301.638,76.695L302.002,75.117L301.455,74.631L300.423,74.146L300.302,72.567L300.241,71.535L299.756,72.081L299.816,72.628L298.906,74.813L297.934,76.452L296.417,77.06L294.899,77.727L293.867,78.274L292.167,76.331L292.107,74.753L293.139,74.146L294.596,73.599L295.142,74.024L295.749,74.51L296.174,73.963L296.113,72.871L296.053,72.324L296.538,71.292L296.963,70.26L296.417,69.228L295.385,68.864L295.324,68.318H294.778L294.292,68.925L293.26,68.985L292.774,69.046L292.228,69.532L290.225,70.746L289.193,70.807L288.586,69.35L287.432,67.771L286.825,67.286L287.371,66.739H287.918L287.796,65.161L287.129,63.583L285.914,62.125L286.4,61.033L286.886,60.486L287.493,60.426L287.432,59.879L286.825,59.029L286.764,58.483L286.643,56.905V56.358L285.49,56.419L285.429,55.448L284.943,54.416L284.336,53.93L283.79,52.898H283.183V52.412L282.636,51.987L282.151,52.473L281.544,50.955L280.329,48.952L279.662,47.009L279.115,45.977L277.415,45.006L277.294,43.428L276.748,43.003L275.655,41.971L275.594,41L274.987,39.907L274.441,39.482L273.834,38.935L273.166,36.993L272.68,36.507L271.588,36.082L271.527,35.536L270.556,35.05L269.948,34.564L269.22,32.015H268.674L268.613,30.983L268.006,30.011V30.497L267.46,29.526L267.399,28.433L266.852,28.008L266.306,26.915L265.638,26.066L264.606,26.187L264.546,25.58V25.094L265.578,25.034L266.124,24.426L265.942,22.302L265.82,20.784L265.76,19.752L266.245,19.691L266.67,18.113L266.488,15.988L265.335,13.499L265.76,12.467L266.67,11.314L267.156,10.221L266.488,8.764L266.367,7.186L265.82,6.214L264.788,5.668L265.213,4.575L264.728,4.636L264.121,4.15L263.514,4.211L263.089,5.243L262.664,5.304L262.057,4.332L261.449,3.786L260.964,3.847L260.417,3.422L260.357,2.45L259.81,2.511L258.718,2.572L258.293,3.058L257.746,3.118L257.261,3.179L256.714,2.086L256.047,1.661L256.654,1.115L256.593,0.508L255.986,0.569L253.922,0.69L251.979,1.965L250.947,2.511L249.429,2.633L248.337,2.693L248.883,3.24L249.005,4.697L248.519,5.304L249.065,5.729L249.672,6.214L250.219,7.307L251.251,7.246L251.797,7.671L250.826,8.764L250.401,10.403L250.886,10.342L251.494,10.889L250.522,11.921L249.49,11.981L248.397,11.071L248.883,10.464L248.276,9.432L247.73,9.007L247.244,9.553L246.819,10.646V11.192L246.941,12.164V12.71L246.516,13.803L244.998,13.924L243.905,13.985V14.531L243.541,16.535V17.081L242.691,18.234V18.72L242.752,19.266L242.084,18.781L241.598,18.295L240.688,19.934L240.627,18.841L240.566,17.809L240.991,17.263L240.506,16.777L240.384,15.867H239.898L239.291,15.927L238.806,15.381L238.381,16.899H238.927L238.988,17.931L238.442,17.992L238.381,17.445L237.895,17.506L237.956,17.992V18.538L239.17,20.056L238.077,20.116L237.531,19.631V19.084L236.985,19.691L236.499,20.723H236.013L235.163,22.969L234.617,23.516L234.131,24.062L234.678,24.548L235.285,25.034L234.313,26.187L233.767,26.733H233.342L234.435,27.705L234.496,28.676L234.556,29.708L234.617,30.254L234.071,30.801L233.16,31.408L231.582,32.076L231.157,32.622L229.457,31.651L228.425,31.165L227.393,31.226L226.3,30.861L226.239,30.315L226.179,29.283L226.118,28.858L227.696,28.19L227.636,27.705L228.668,27.644L229.093,27.037L228.061,26.612L227.514,26.126L226.968,25.641L225.936,25.701L225.329,24.669L224.843,24.73L223.265,25.337L222.293,25.398V25.944L221.201,26.005L222.354,26.49L222.9,26.976L223.447,27.462L223.508,28.008L223.568,29.04L224.115,29.404L224.175,29.89H224.6L224.236,30.983V31.468L224.357,33.107L225.45,33.047L226.422,32.925L226.907,33.411L226.968,33.957L227.575,34.443L227.636,34.929L228.182,35.475L227.696,36.021L227.15,37.054L228.364,38.025L228.911,38.571L227.939,39.178L227.271,38.632L226.361,39.239L225.268,39.36L225.814,38.207H226.3L225.147,37.236L224.722,37.782L223.629,37.843L222.536,37.418L222.597,37.903L222.111,38.996L221.686,40.635L220.715,41.121L220.229,41.667L220.29,42.76L219.865,43.792L219.379,44.399L218.955,45.006L219.44,45.431L221.14,46.402L222.172,46.827V47.374L223.325,48.345L223.993,49.863L224.054,50.348L226.604,49.681L227.15,50.105L227.696,51.138L226.664,50.713L226.057,50.773L225.086,50.834L224.054,50.348L223.447,49.863L222.9,49.923L222.415,50.47L221.929,49.984L220.836,50.591L219.319,50.166L218.226,49.681L217.133,49.741V49.256L216.648,49.316L215.009,49.438L213.491,49.013L213.552,50.045L213.005,50.652L213.066,51.138L214.159,51.623L214.705,52.048L216.283,52.473V51.987L216.83,51.927L217.923,52.837L218.59,54.841L217.558,55.508L217.073,56.055L215.98,55.63L214.948,55.691H214.462L213.309,54.719L212.762,54.234L212.216,53.748L211.791,54.841L211.245,54.355L209.666,53.93L209.606,52.959L209.059,53.02L208.999,52.473V51.987L208.391,51.441V50.955L207.724,49.923L207.177,49.498V48.952L207.602,48.345L207.542,47.374L206.995,46.827V46.342L206.449,45.917L205.963,45.37L204.324,45.492H203.778L203.353,45.553L202.685,45.006H203.292L203.231,44.46L202.685,44.521L202.199,44.581L202.139,44.035L201.107,44.096L200.621,43.61L199.892,42.639L200.439,41.606L199.832,41.667L199.346,41.182L199.771,41.121H200.439L200.864,41.06L202.017,42.032L202.503,42.456L203.11,42.396L203.049,41.91L204.081,42.335L205.174,42.76L205.781,42.699H206.206L206.752,43.185L207.845,43.124L208.877,43.003L210.456,43.428L210.941,42.881L211.427,42.335L211.973,42.821V43.306L213.066,43.246L214.037,43.185L215.13,43.124L216.101,41.971H216.587L217.619,41.364L218.105,40.878L218.044,40.392L218.59,39.785H219.076L219.015,39.239L218.955,38.693H219.501L219.865,36.568L219.258,35.536L219.197,34.504H218.651L218.59,33.533L218.165,34.018L217.558,33.593L217.498,32.5L216.526,32.561L215.919,32.622V32.076L214.341,31.711L213.309,32.258L212.762,31.833L212.216,31.286L211.123,30.861L211.184,31.347L210.638,30.861L209.484,30.072L207.967,30.133L206.267,29.222L204.81,28.737L203.717,29.404L200.075,29.647L199.589,29.708L198.921,29.162L197.95,29.829L197.889,29.222L197.404,28.797L196.918,29.283L196.311,28.312L195.764,28.372L195.157,27.34H194.732L194.247,28.494H193.761L193.154,27.462L192.608,27.522L192.729,29.101L191.697,29.162L191.09,28.676L190.24,28.737V29.04L189.026,29.344L187.933,30.133L187.326,31.347L187.205,33.229H186.962H187.144L186.658,33.775L186.719,34.322L186.233,34.929V35.414L186.84,35.9L187.387,36.386L187.933,36.871L187.994,37.296L188.115,37.478L189.087,37.843L190.179,38.814L190.24,39.907L190.301,40.392L189.815,41L189.876,42.032L189.937,42.517L189.997,43.549L190.604,44.581L191.151,45.067L191.211,45.613L192.304,45.977L192.85,46.524L193.458,47.556L194.065,48.527V49.074L194.186,49.195L194.125,49.316V49.559L193.64,50.166L194.247,51.198L193.822,51.684L193.761,51.866L193.882,52.352L194.368,52.716V53.262L194.429,53.809V54.294L195.036,54.841L195.522,54.234L195.582,54.78L196.129,55.266L195.097,55.812L195.339,55.933H195.4V55.994L196.189,56.298L196.25,56.783V57.33L197.282,57.269L197.343,57.815L197.95,58.301V58.787L198.011,59.272L197.464,59.879L196.979,59.94L196.493,60.001H196.432L197.039,61.033L197.586,60.972L198.132,61.397L198.678,61.883L200.317,62.308L201.957,62.733L202.503,63.218L203.11,64.25L202.624,65.282L201.592,65.889L201.167,67.043L201.228,67.529L200.742,68.135L200.257,68.621L200.317,69.714L199.832,70.26L200.378,70.746L199.892,71.292L199.346,71.353V71.232L199.225,71.353L198.921,72.385L198.436,73.538L198.011,74.085L197.525,74.692L197.039,75.724L196.554,76.27L196.129,77.181L196.25,78.334L197.282,78.274L198.253,77.666H198.678L198.739,78.152L198.375,79.245L198.436,79.791L199.407,79.731L199.953,80.277L201.107,80.702L201.532,80.156L202.564,80.095L203.171,80.034L203.656,80.52L204.203,80.459L204.263,81.491L203.717,81.552L202.624,81.613L201.592,81.673L200.075,81.795V82.341H199.589V81.795L199.043,82.402L199.103,82.887V83.434L199.164,83.919L198.739,83.98L198.132,82.948L197.646,83.494V84.041L197.707,84.587L197.768,85.619H197.828L198.436,86.044L198.496,87.137L197.464,88.29L197.525,88.776L198.071,89.201L197.646,90.233L198.253,91.265L198.314,92.358L199.407,92.783L199.892,93.268V93.815L199.528,94.361L199.468,94.3V94.361L198.86,93.875L198.375,93.45L197.889,93.936L197.95,94.482L198.496,94.968L199.043,94.907L198.557,96H198.496L198.071,96.061V96.546L198.618,96.486V96.911L199.043,96.486H199.164L199.65,96.425L199.771,97.457L199.832,98.55H199.771L198.739,98.61L199.346,99.643L199.892,99.582H200.317L200.378,100.067L200.985,100.978L201.046,102.01L201.653,103.042H202.139H202.199L202.746,102.981V103.528H202.928L203.717,103.467L204.324,103.406L204.87,103.346L205.781,103.285H205.842H205.902L206.449,103.771L206.51,104.256H206.874L207.906,103.71L207.845,103.164H207.967L208.452,103.103L209.545,103.588L210.152,104.56L211.184,104.499V105.045L210.759,105.531V106.077L211.852,107.595L212.58,109.113L211.548,109.72L213.066,109.598L213.127,110.084L213.187,110.63L214.766,110.934H215.312L216.405,111.359L216.466,112.452L216.526,112.877L217.498,112.816L218.044,112.755L219.015,112.695L219.137,113.848L220.108,113.787H220.169L220.776,114.759L220.29,115.305L219.804,115.851L219.319,116.458L218.347,117.065L217.801,117.551H217.74L216.708,117.126L216.283,117.187V117.673L216.344,118.705L216.405,119.251L217.012,120.283L217.558,121.254L217.619,121.861L218.165,122.226L219.197,122.59V122.165L220.108,121.679H220.169H220.229L220.715,122.043L221.747,121.558H221.808H221.99H222.233L222.718,120.89L223.265,120.829H223.325L224.357,121.376L225.329,120.708L225.875,120.647L226.422,121.254L227.089,122.104L227.575,122.59L227.636,123.622L227.696,124.715L227.757,125.261L228.789,125.2L230.367,125.079L230.853,124.472H231.278H231.339L231.399,125.018L232.067,125.989L233.039,125.929L233.099,126.414L233.646,127.932L233.706,128.418H234.313L235.285,128.357L235.831,128.296L236.317,128.782L236.802,128.236H236.863H236.924L237.41,128.721H237.713L237.956,128.661L238.381,128.114L239.352,127.021H239.413L240.506,126.961V127.446L240.991,127.932L242.691,128.843L243.602,128.296V127.75L244.209,128.236L244.694,128.661L245.726,128.114V128.175L245.787,128.114L245.848,128.6H246.394L246.819,128.539L246.758,128.053L247.79,127.993H248.033L248.397,127.932V128.418L248.883,128.903L248.822,128.418H248.883L249.794,128.357H249.854L249.915,128.296L251.008,128.843L251.979,128.782L252.465,128.175L252.526,128.114H253.133L253.254,129.753L252.708,130.239L251.676,130.846L251.251,131.453L251.736,131.817H252.161L252.829,131.757V132.242L252.343,132.849L251.858,133.396L251.918,133.942L252.404,133.881L253.618,135.399L253.74,136.977L253.315,138.556L253.193,138.616L252.161,138.677L251.19,138.738L250.644,138.799L250.219,139.284L249.794,140.923L248.276,141.53L248.458,144.019L248.883,143.473H249.429L249.854,142.987L249.915,143.959H250.522L251.494,142.866L251.979,142.38L252.951,142.32L253.011,143.17L253.072,143.777L252.101,144.323L251.008,144.991L250.583,145.537L251.129,146.023L251.736,146.508L250.704,147.055L249.672,146.63L249.126,146.691L248.58,147.237H248.155V147.783L248.64,148.269L250.219,148.147L250.826,148.633L250.886,149.119L252.465,149.544L251.979,149.604L251.372,150.151L250.886,149.665L250.947,150.758L251.494,151.183L251.069,151.79L250.462,151.244L249.976,150.819L249.429,151.304L249.551,152.397L249.005,153.004L249.612,153.429L249.672,154.461L248.64,154.522L248.215,156.1V156.646L249.308,157.071L250.401,157.557L250.886,157.496L251.918,157.436L252.586,157.921V158.407L253.558,158.346L254.043,157.8L254.59,158.286L255.682,158.225V158.711L256.775,159.135L257.807,159.075L258.353,159.56L258.9,160.046L259.993,159.985L261.632,161.989L262.117,160.896H262.178H262.664L263.635,160.775H263.696L264.181,160.228L264.606,159.135H264.667L265.76,159.56L266.852,159.985H267.277L269.402,159.803L269.948,160.35L270.495,160.289H270.556L271.588,160.228H271.891L272.498,160.167L274.016,159.5H274.38L274.562,159.439L275.169,159.985L276.687,159.864H276.748L277.78,159.803L278.326,159.743L278.933,160.228L278.387,160.775H278.933L279.419,160.714L280.39,160.653L280.876,160.107L281.847,159.5H281.908L283.061,159.925H283.486L283.972,159.378L283.911,158.832L283.972,158.771H284.518L285.004,158.711L285.065,159.743L286.036,159.196V158.65H286.097L286.825,158.589H287.068L288.161,159.075L288.221,159.56V160.107L288.828,160.532L289.739,159.985H289.982L290.346,159.925L291.924,160.35L293.503,160.228L294.049,160.167L295.142,161.2L296.174,161.624H296.538L297.206,161.564L297.631,161.503L298.724,160.957L299.209,159.803L298.602,159.378L299.634,159.318L299.999,159.257H300.12L300.059,158.225L300.484,157.132L299.999,157.193L298.966,156.707L297.813,156.222L297.267,155.797L295.688,154.886L294.596,154.4L293.503,153.429L293.321,151.365L292.774,150.94L292.167,150.454L292.107,149.422L291.56,148.33L291.014,148.39V147.905L289.86,147.48L288.282,146.508L288.343,147.055L287.857,147.601L287.25,147.115L286.218,146.63L286.582,144.505L286.522,144.019L287.007,143.473L286.946,142.441L287.432,141.834L286.886,141.348L286.764,139.952L287.25,138.799L287.189,137.767L287.675,137.706L288.221,138.192L289.132,137.038L289.678,136.492L290.164,136.006L290.589,134.853L291.075,135.399L291.56,134.306L290.892,132.728L289.921,132.849H289.435L288.343,132.424L288.768,131.332L289.253,130.785L289.8,130.725L289.253,130.239L287.554,129.268L285.429,127.932L284.336,126.961L283.79,127.568L282.697,127.628L282.758,128.114L282.272,128.721L281.24,128.236L280.694,127.811L280.633,126.779L280.572,126.172L279.48,125.747L278.447,125.807L277.962,126.354L277.84,124.836L277.78,123.743L278.751,122.104L277.173,121.801L276.626,121.254L277.051,120.647L276.991,119.129L276.444,118.583L275.837,117.733L276.262,116.58H276.808L276.687,115.001H276.201L277.051,113.362L278.144,113.909L278.69,114.819L279.844,115.305L280.39,115.791L281.301,114.637L281.24,114.152L280.694,113.119L280.087,111.602L278.933,111.177L279.965,110.57L280.997,110.509V109.963L280.936,109.477L280.815,107.352L281.847,107.231L282.333,106.685L282.818,105.713L283.79,104.56L284.215,103.588L284.154,102.981L284.093,102.435H284.7L285.186,102.86L285.732,103.467L286.704,102.799L287.25,101.767L287.614,100.675L288.586,100.067L289.193,100.007L290.346,101.039L290.285,100.432L290.71,99.4L291.196,99.339L292.228,99.278L292.835,99.764L293.867,100.189L295.445,100.128L295.992,100.614L297.024,100.553L297.57,100.492L298.117,100.978L297.995,99.885L297.51,99.4V98.914H297.934L300.666,99.218L302.245,99.643L302.67,98.55V98.003L302.609,97.518L303.095,97.457L303.034,96.971L302.548,96.486L303.52,96.425L304.612,96.304L304.005,95.272H304.552L305.037,94.664L306.13,95.15L307.162,95.09L307.041,93.997L308.012,93.936L307.526,92.965L307.89,92.479L308.437,91.933L309.53,91.326L310.015,91.811L310.562,92.722L311.654,92.661L313.718,92.054L314.204,91.993H314.75L314.69,91.447L314.629,90.476L315.54,89.808L317.179,89.14L318.575,87.562L319,86.955L318.939,85.923Z" + android:pathData="M318.939,85.923L318.393,84.891L317.3,83.98H316.814L316.268,84.466L315.236,85.133L313.718,85.255L312.686,85.316L312.201,85.376L310.562,84.891L310.501,84.466L309.894,83.373L309.469,83.434H308.923L307.891,84.648L307.405,85.133L306.434,85.194L305.341,84.284L304.187,82.705L304.127,81.673V81.248L303.52,80.763L302.913,80.277V79.791L301.759,78.759L301.638,76.695L302.002,75.117L301.456,74.631L300.424,74.146L300.302,72.567L300.241,71.535L299.756,72.081L299.817,72.628L298.906,74.813L297.935,76.452L296.417,77.06L294.899,77.727L293.867,78.274L292.167,76.331L292.107,74.753L293.139,74.146L294.596,73.599L295.142,74.024L295.749,74.51L296.174,73.963L296.113,72.871L296.053,72.324L296.538,71.292L296.963,70.26L296.417,69.228L295.385,68.864L295.324,68.318H294.778L294.292,68.925L293.26,68.985L292.774,69.046L292.228,69.532L290.225,70.746L289.193,70.807L288.586,69.35L287.432,67.771L286.825,67.286L287.372,66.739H287.918L287.797,65.161L287.129,63.583L285.915,62.125L286.4,61.033L286.886,60.486L287.493,60.426L287.432,59.879L286.825,59.029L286.764,58.483L286.643,56.905V56.358L285.49,56.419L285.429,55.448L284.943,54.416L284.336,53.93L283.79,52.898H283.183V52.412L282.636,51.987L282.151,52.473L281.544,50.955L280.33,48.952L279.662,47.009L279.115,45.977L277.416,45.006L277.294,43.428L276.748,43.003L275.655,41.971L275.594,41L274.987,39.907L274.441,39.482L273.834,38.935L273.166,36.993L272.68,36.507L271.588,36.082L271.527,35.536L270.556,35.05L269.949,34.564L269.22,32.015H268.674L268.613,30.983L268.006,30.011V30.497L267.46,29.526L267.399,28.433L266.853,28.008L266.306,26.915L265.638,26.066L264.606,26.187L264.546,25.58V25.094L265.578,25.034L266.124,24.426L265.942,22.302L265.821,20.784L265.76,19.752L266.245,19.691L266.67,18.113L266.488,15.988L265.335,13.499L265.76,12.467L266.67,11.314L267.156,10.221L266.488,8.764L266.367,7.186L265.821,6.214L264.789,5.668L265.213,4.575L264.728,4.636L264.121,4.15L263.514,4.211L263.089,5.243L262.664,5.304L262.057,4.332L261.45,3.786L260.964,3.847L260.418,3.422L260.357,2.45L259.811,2.511L258.718,2.572L258.293,3.058L257.746,3.118L257.261,3.179L256.714,2.086L256.047,1.661L256.654,1.115L256.593,0.508L255.986,0.569L253.922,0.69L251.979,1.965L250.947,2.511L249.43,2.633L248.337,2.693L248.883,3.24L249.005,4.697L248.519,5.304L249.065,5.729L249.672,6.214L250.219,7.307L251.251,7.246L251.797,7.671L250.826,8.764L250.401,10.403L250.887,10.342L251.494,10.889L250.522,11.921L249.49,11.981L248.398,11.071L248.883,10.464L248.276,9.432L247.73,9.007L247.244,9.553L246.819,10.646V11.192L246.941,12.164V12.71L246.516,13.803L244.998,13.924L243.905,13.985V14.531L243.541,16.535V17.081L242.691,18.234V18.72L242.752,19.266L242.084,18.781L241.598,18.295L240.688,19.934L240.627,18.841L240.566,17.809L240.991,17.263L240.506,16.777L240.384,15.867H239.899L239.292,15.927L238.806,15.381L238.381,16.899H238.927L238.988,17.931L238.442,17.992L238.381,17.445L237.895,17.506L237.956,17.992V18.538L239.17,20.056L238.077,20.116L237.531,19.631V19.084L236.985,19.691L236.499,20.723H236.013L235.163,22.969L234.617,23.516L234.131,24.062L234.678,24.548L235.285,25.034L234.314,26.187L233.767,26.733H233.342L234.435,27.705L234.496,28.676L234.556,29.708L234.617,30.254L234.071,30.801L233.16,31.408L231.582,32.076L231.157,32.622L229.457,31.651L228.425,31.165L227.393,31.226L226.3,30.861L226.239,30.315L226.179,29.283L226.118,28.858L227.696,28.19L227.636,27.705L228.668,27.644L229.093,27.037L228.061,26.612L227.514,26.126L226.968,25.641L225.936,25.701L225.329,24.669L224.843,24.73L223.265,25.337L222.294,25.398V25.944L221.201,26.005L222.354,26.49L222.901,26.976L223.447,27.462L223.508,28.008L223.568,29.04L224.115,29.404L224.175,29.89H224.6L224.236,30.983V31.468L224.358,33.107L225.45,33.047L226.422,32.925L226.907,33.411L226.968,33.957L227.575,34.443L227.636,34.929L228.182,35.475L227.696,36.021L227.15,37.054L228.364,38.025L228.911,38.571L227.939,39.178L227.272,38.632L226.361,39.239L225.268,39.36L225.815,38.207H226.3L225.147,37.236L224.722,37.782L223.629,37.843L222.536,37.418L222.597,37.903L222.111,38.996L221.686,40.635L220.715,41.121L220.229,41.667L220.29,42.76L219.865,43.792L219.38,44.399L218.955,45.006L219.44,45.431L221.14,46.402L222.172,46.827V47.374L223.326,48.345L223.993,49.863L224.054,50.348L226.604,49.681L227.15,50.105L227.696,51.138L226.664,50.713L226.057,50.773L225.086,50.834L224.054,50.348L223.447,49.863L222.901,49.923L222.415,50.47L221.929,49.984L220.837,50.591L219.319,50.166L218.226,49.681L217.133,49.741V49.256L216.648,49.316L215.009,49.438L213.491,49.013L213.552,50.045L213.005,50.652L213.066,51.138L214.159,51.623L214.705,52.048L216.284,52.473V51.987L216.83,51.927L217.923,52.837L218.59,54.841L217.558,55.508L217.073,56.055L215.98,55.63L214.948,55.691H214.462L213.309,54.719L212.763,54.234L212.216,53.748L211.791,54.841L211.245,54.355L209.666,53.93L209.606,52.959L209.059,53.02L208.999,52.473V51.987L208.392,51.441V50.955L207.724,49.923L207.177,49.498V48.952L207.602,48.345L207.542,47.374L206.995,46.827V46.342L206.449,45.917L205.963,45.37L204.324,45.492H203.778L203.353,45.553L202.685,45.006H203.292L203.232,44.46L202.685,44.521L202.2,44.581L202.139,44.035L201.107,44.096L200.621,43.61L199.893,42.639L200.439,41.606L199.832,41.667L199.346,41.182L199.771,41.121H200.439L200.864,41.06L202.017,42.032L202.503,42.456L203.11,42.396L203.049,41.91L204.081,42.335L205.174,42.76L205.781,42.699H206.206L206.753,43.185L207.845,43.124L208.877,43.003L210.456,43.428L210.941,42.881L211.427,42.335L211.973,42.821V43.306L213.066,43.246L214.037,43.185L215.13,43.124L216.101,41.971H216.587L217.619,41.364L218.105,40.878L218.044,40.392L218.59,39.785H219.076L219.015,39.239L218.955,38.693H219.501L219.865,36.568L219.258,35.536L219.197,34.504H218.651L218.59,33.533L218.165,34.018L217.558,33.593L217.498,32.5L216.526,32.561L215.919,32.622V32.076L214.341,31.711L213.309,32.258L212.763,31.833L212.216,31.286L211.123,30.861L211.184,31.347L210.638,30.861L209.484,30.072L207.967,30.133L206.267,29.222L204.81,28.737L203.717,29.404L200.075,29.647L199.589,29.708L198.921,29.162L197.95,29.829L197.889,29.222L197.404,28.797L196.918,29.283L196.311,28.312L195.765,28.372L195.157,27.34H194.733L194.247,28.494H193.761L193.154,27.462L192.608,27.522L192.729,29.101L191.697,29.162L191.09,28.676L190.24,28.737V29.04L189.026,29.344L187.933,30.133L187.326,31.347L187.205,33.229H186.962H187.144L186.658,33.775L186.719,34.322L186.234,34.929V35.414L186.841,35.9L187.387,36.386L187.933,36.871L187.994,37.296L188.115,37.478L189.087,37.843L190.179,38.814L190.24,39.907L190.301,40.392L189.815,41L189.876,42.032L189.937,42.517L189.997,43.549L190.604,44.581L191.151,45.067L191.212,45.613L192.304,45.977L192.851,46.524L193.458,47.556L194.065,48.527V49.074L194.186,49.195L194.125,49.316V49.559L193.64,50.166L194.247,51.198L193.822,51.684L193.761,51.866L193.883,52.352L194.368,52.716V53.262L194.429,53.809V54.294L195.036,54.841L195.522,54.234L195.582,54.78L196.129,55.266L195.097,55.812L195.34,55.933H195.4V55.994L196.189,56.298L196.25,56.783V57.33L197.282,57.269L197.343,57.815L197.95,58.301V58.787L198.011,59.272L197.464,59.879L196.979,59.94L196.493,60.001H196.432L197.039,61.033L197.586,60.972L198.132,61.397L198.678,61.883L200.318,62.308L201.957,62.733L202.503,63.218L203.11,64.25L202.624,65.282L201.592,65.889L201.167,67.043L201.228,67.529L200.743,68.135L200.257,68.621L200.318,69.714L199.832,70.26L200.378,70.746L199.893,71.292L199.346,71.353V71.232L199.225,71.353L198.921,72.385L198.436,73.538L198.011,74.085L197.525,74.692L197.039,75.724L196.554,76.27L196.129,77.181L196.25,78.334L197.282,78.274L198.254,77.666H198.678L198.739,78.152L198.375,79.245L198.436,79.791L199.407,79.731L199.953,80.277L201.107,80.702L201.532,80.156L202.564,80.095L203.171,80.034L203.656,80.52L204.203,80.459L204.264,81.491L203.717,81.552L202.624,81.613L201.592,81.673L200.075,81.795V82.341H199.589V81.795L199.043,82.402L199.103,82.887V83.434L199.164,83.919L198.739,83.98L198.132,82.948L197.646,83.494V84.041L197.707,84.587L197.768,85.619H197.829L198.436,86.044L198.496,87.137L197.464,88.29L197.525,88.776L198.071,89.201L197.646,90.233L198.254,91.265L198.314,92.358L199.407,92.783L199.893,93.268V93.815L199.528,94.361L199.468,94.3V94.361L198.861,93.875L198.375,93.45L197.889,93.936L197.95,94.482L198.496,94.968L199.043,94.907L198.557,96H198.496L198.071,96.061V96.546L198.618,96.486V96.911L199.043,96.486H199.164L199.65,96.425L199.771,97.457L199.832,98.55H199.771L198.739,98.61L199.346,99.643L199.893,99.582H200.318L200.378,100.067L200.985,100.978L201.046,102.01L201.653,103.042H202.139H202.2L202.746,102.981V103.528H202.928L203.717,103.467L204.324,103.406L204.871,103.346L205.781,103.285H205.842H205.903L206.449,103.771L206.51,104.256H206.874L207.906,103.71L207.845,103.164H207.967L208.452,103.103L209.545,103.588L210.152,104.56L211.184,104.499V105.045L210.759,105.531V106.077L211.852,107.595L212.58,109.113L211.548,109.72L213.066,109.598L213.127,110.084L213.187,110.63L214.766,110.934H215.312L216.405,111.359L216.466,112.452L216.526,112.877L217.498,112.816L218.044,112.755L219.015,112.695L219.137,113.848L220.108,113.787H220.169L220.776,114.759L220.29,115.305L219.805,115.851L219.319,116.458L218.348,117.065L217.801,117.551H217.741L216.708,117.126L216.284,117.187V117.673L216.344,118.705L216.405,119.251L217.012,120.283L217.558,121.254L217.619,121.861L218.165,122.226L219.197,122.59V122.165L220.108,121.679H220.169H220.229L220.715,122.043L221.747,121.558H221.808H221.99H222.233L222.718,120.89L223.265,120.829H223.326L224.358,121.376L225.329,120.708L225.875,120.647L226.422,121.254L227.089,122.104L227.575,122.59L227.636,123.622L227.696,124.715L227.757,125.261L228.789,125.2L230.368,125.079L230.853,124.472H231.278H231.339L231.4,125.018L232.067,125.989L233.039,125.929L233.099,126.414L233.646,127.932L233.706,128.418H234.314L235.285,128.357L235.831,128.296L236.317,128.782L236.803,128.236H236.863H236.924L237.41,128.721H237.713L237.956,128.661L238.381,128.114L239.352,127.021H239.413L240.506,126.961V127.446L240.991,127.932L242.691,128.843L243.602,128.296V127.75L244.209,128.236L244.694,128.661L245.726,128.114V128.175L245.787,128.114L245.848,128.6H246.394L246.819,128.539L246.759,128.053L247.791,127.993H248.033L248.398,127.932V128.418L248.883,128.903L248.823,128.418H248.883L249.794,128.357H249.855L249.915,128.296L251.008,128.843L251.979,128.782L252.465,128.175L252.526,128.114H253.133L253.254,129.753L252.708,130.239L251.676,130.846L251.251,131.453L251.736,131.817H252.161L252.829,131.757V132.242L252.344,132.849L251.858,133.396L251.919,133.942L252.404,133.881L253.618,135.399L253.74,136.977L253.315,138.556L253.193,138.616L252.161,138.677L251.19,138.738L250.644,138.799L250.219,139.284L249.794,140.923L248.276,141.53L248.458,144.019L248.883,143.473H249.43L249.855,142.987L249.915,143.959H250.522L251.494,142.866L251.979,142.38L252.951,142.32L253.011,143.17L253.072,143.777L252.101,144.323L251.008,144.991L250.583,145.537L251.129,146.023L251.736,146.508L250.704,147.055L249.672,146.63L249.126,146.691L248.58,147.237H248.155V147.783L248.64,148.269L250.219,148.147L250.826,148.633L250.887,149.119L252.465,149.544L251.979,149.604L251.372,150.151L250.887,149.665L250.947,150.758L251.494,151.183L251.069,151.79L250.462,151.244L249.976,150.819L249.43,151.304L249.551,152.397L249.005,153.004L249.612,153.429L249.672,154.461L248.64,154.522L248.215,156.1V156.646L249.308,157.071L250.401,157.557L250.887,157.496L251.919,157.436L252.586,157.921V158.407L253.558,158.346L254.043,157.8L254.59,158.286L255.682,158.225V158.711L256.775,159.135L257.807,159.075L258.354,159.56L258.9,160.046L259.993,159.985L261.632,161.989L262.117,160.896H262.178H262.664L263.635,160.775H263.696L264.181,160.228L264.606,159.135H264.667L265.76,159.56L266.853,159.985H267.278L269.402,159.803L269.949,160.35L270.495,160.289H270.556L271.588,160.228H271.891L272.498,160.167L274.016,159.5H274.38L274.562,159.439L275.169,159.985L276.687,159.864H276.748L277.78,159.803L278.326,159.743L278.933,160.228L278.387,160.775H278.933L279.419,160.714L280.39,160.653L280.876,160.107L281.847,159.5H281.908L283.061,159.925H283.486L283.972,159.378L283.911,158.832L283.972,158.771H284.518L285.004,158.711L285.065,159.743L286.036,159.196V158.65H286.097L286.825,158.589H287.068L288.161,159.075L288.221,159.56V160.107L288.829,160.532L289.739,159.985H289.982L290.346,159.925L291.925,160.35L293.503,160.228L294.049,160.167L295.142,161.2L296.174,161.624H296.538L297.206,161.564L297.631,161.503L298.724,160.957L299.209,159.803L298.602,159.378L299.634,159.318L299.999,159.257H300.12L300.059,158.225L300.484,157.132L299.999,157.193L298.967,156.707L297.813,156.222L297.267,155.797L295.688,154.886L294.596,154.4L293.503,153.429L293.321,151.365L292.774,150.94L292.167,150.454L292.107,149.422L291.56,148.33L291.014,148.39V147.905L289.861,147.48L288.282,146.508L288.343,147.055L287.857,147.601L287.25,147.115L286.218,146.63L286.582,144.505L286.522,144.019L287.007,143.473L286.947,142.441L287.432,141.834L286.886,141.348L286.764,139.952L287.25,138.799L287.189,137.767L287.675,137.706L288.221,138.192L289.132,137.038L289.678,136.492L290.164,136.006L290.589,134.853L291.075,135.399L291.56,134.306L290.893,132.728L289.921,132.849H289.436L288.343,132.424L288.768,131.332L289.253,130.785L289.8,130.725L289.253,130.239L287.554,129.268L285.429,127.932L284.336,126.961L283.79,127.568L282.697,127.628L282.758,128.114L282.272,128.721L281.24,128.236L280.694,127.811L280.633,126.779L280.572,126.172L279.48,125.747L278.448,125.807L277.962,126.354L277.841,124.836L277.78,123.743L278.751,122.104L277.173,121.801L276.626,121.254L277.051,120.647L276.991,119.129L276.444,118.583L275.837,117.733L276.262,116.58H276.809L276.687,115.001H276.201L277.051,113.362L278.144,113.909L278.69,114.819L279.844,115.305L280.39,115.791L281.301,114.637L281.24,114.152L280.694,113.119L280.087,111.602L278.933,111.177L279.965,110.57L280.997,110.509V109.963L280.937,109.477L280.815,107.352L281.847,107.231L282.333,106.685L282.819,105.713L283.79,104.56L284.215,103.588L284.154,102.981L284.093,102.435H284.7L285.186,102.86L285.732,103.467L286.704,102.799L287.25,101.767L287.614,100.675L288.586,100.067L289.193,100.007L290.346,101.039L290.285,100.432L290.71,99.4L291.196,99.339L292.228,99.278L292.835,99.764L293.867,100.189L295.446,100.128L295.992,100.614L297.024,100.553L297.57,100.492L298.117,100.978L297.995,99.885L297.51,99.4V98.914H297.935L300.666,99.218L302.245,99.643L302.67,98.55V98.003L302.609,97.518L303.095,97.457L303.034,96.971L302.548,96.486L303.52,96.425L304.612,96.304L304.005,95.272H304.552L305.037,94.664L306.13,95.15L307.162,95.09L307.041,93.997L308.012,93.936L307.526,92.965L307.891,92.479L308.437,91.933L309.53,91.326L310.015,91.811L310.562,92.722L311.654,92.661L313.718,92.054L314.204,91.993H314.75L314.69,91.447L314.629,90.476L315.54,89.808L317.179,89.14L318.575,87.562L319,86.955L318.939,85.923Z" android:fillColor="#3F3F43"/> <path - android:pathData="M179.495,94.179L180.102,94.118L180.588,94.665L180.649,95.15L181.195,94.604L181.134,94.058L182.166,93.997L182.652,93.936V93.451L183.077,92.904L183.684,92.297L182.531,91.872L181.074,93.025L180.406,92.054L179.981,92.54L180.042,93.147V93.633L179.01,94.179H179.495Z" + android:pathData="M179.495,94.179L180.102,94.118L180.588,94.665L180.649,95.15L181.195,94.604L181.134,94.058L182.166,93.997L182.652,93.936V93.451L183.077,92.904L183.684,92.297L182.531,91.872L181.074,93.026L180.406,92.054L179.981,92.54L180.042,93.147V93.633L179.01,94.179H179.495Z" android:fillColor="#3F3F43"/> <path android:pathData="M181.377,90.355L181.438,91.387L181.923,90.841L182.409,90.294V89.869L181.316,89.384L180.831,89.991H180.284L180.345,90.416H180.891L181.377,90.355Z" android:fillColor="#3F3F43"/> <path - android:pathData="M189.997,94.483L190.058,94.544V94.483L190.665,94.969H191.151L191.09,94.423H191.151L192.183,94.847H192.304H192.608H192.669L192.729,95.333L193.276,95.879L193.458,95.819H193.822L194.793,95.758H194.854L195.461,96.729L196.432,96.183L197.464,95.576H197.525V96.062H197.586L198.496,96.001H198.557L199.043,94.908L198.496,94.969L197.95,94.483L197.889,93.937L198.375,93.451V93.391L198.982,93.876L199.468,94.301L199.528,94.362L199.893,93.815V93.269L199.407,92.783L198.314,92.358L198.254,91.266L197.647,90.234L198.071,89.202L197.525,88.777L197.464,88.291L198.496,87.138L198.436,86.045L197.829,85.62H197.768H197.282L195.158,85.802L194.672,85.863L194.125,85.316L193.64,85.377L192.608,85.984L192.547,85.438L191.515,85.498L191.029,85.559L190.544,85.62H189.997L189.512,86.227H188.965L187.994,86.288L187.387,86.348L186.901,86.409H186.355V86.895L186.416,87.502H185.93L185.444,87.563H184.898L184.412,88.17V88.655L184.473,89.202L184.534,89.687L185.566,89.627V90.052L185.626,90.598L185.08,90.659L185.141,91.144L185.262,92.783L186.355,93.694L186.841,93.633V93.208L187.326,92.601H187.812L188.419,93.087L187.933,94.119L187.994,95.151L188.055,95.576L189.512,95.03L189.997,94.483Z" + android:pathData="M189.997,94.483L190.058,94.544V94.483L190.665,94.968H191.151L191.09,94.422H191.151L192.183,94.847H192.304H192.608H192.668L192.729,95.333L193.275,95.879L193.458,95.818H193.822L194.793,95.758H194.854L195.461,96.729L196.432,96.183L197.464,95.576H197.525V96.061H197.586L198.496,96.001H198.557L199.043,94.908L198.496,94.968L197.95,94.483L197.889,93.936L198.375,93.451V93.39L198.982,93.876L199.468,94.301L199.528,94.361L199.893,93.815V93.269L199.407,92.783L198.314,92.358L198.253,91.265L197.646,90.233L198.071,89.201L197.525,88.776L197.464,88.291L198.496,87.137L198.436,86.045L197.829,85.62H197.768H197.282L195.157,85.802L194.672,85.862L194.125,85.316L193.64,85.377L192.608,85.984L192.547,85.438L191.515,85.498L191.029,85.559L190.544,85.62H189.997L189.512,86.227H188.965L187.994,86.287L187.387,86.348L186.901,86.409H186.355V86.894L186.416,87.502H185.93L185.444,87.562H184.898L184.412,88.169V88.655L184.473,89.201L184.534,89.687L185.566,89.626V90.051L185.626,90.598L185.08,90.658L185.141,91.144L185.262,92.783L186.355,93.694L186.841,93.633V93.208L187.326,92.601H187.812L188.419,93.087L187.933,94.119L187.994,95.151L188.055,95.576L189.512,95.029L189.997,94.483Z" android:fillColor="#3F3F43"/> <path android:pathData="M198.072,96.061L198.496,96L198.072,96.061Z" android:fillColor="#3F3F43"/> <path - android:pathData="M179.374,104.621L180.224,104.56L180.77,104.014H180.831L181.316,103.953L181.924,103.892H181.984L183.381,103.831L183.866,103.771L184.898,103.164L185.991,103.042H186.537L188.055,103.467L189.087,102.86H189.148L189.694,103.346L190.726,103.831L192.365,104.256L192.851,104.196L193.458,105.228L195.097,106.138L195.643,106.624L197.222,106.503H197.404H197.647L198.193,106.442L198.679,105.896L198.739,105.956V105.896L199.286,106.32L200.257,105.774L200.682,105.228L200.196,104.742L199.65,104.256L200.561,103.649L201.593,103.042H201.653L201.046,102.01L200.986,100.978L200.379,100.068L200.318,99.582H199.893L199.347,99.643L198.739,98.611L199.771,98.55H199.832L199.771,97.457L199.65,96.425L199.164,96.486L198.618,96.972V96.911V96.486L198.072,96.547V96.061H197.95H197.586H197.525L197.465,96.122V95.575L196.433,96.182L195.461,96.729H195.401L194.793,95.757L193.822,95.818H193.458L193.276,95.879L192.669,95.393L192.608,94.847H192.304H192.122L191.151,94.422H191.09L191.151,94.968H190.544L190.058,94.543L189.998,94.483L189.512,95.029L188.055,95.575L187.509,95.757V96.243L187.569,96.789L187.63,97.275L187.691,98.307V98.854L187.812,99.885L187.326,100.493L186.841,101.039H186.294L185.141,100.068L184.655,99.643L184.534,98.55L183.441,97.579L182.956,97.639L182.409,97.154L182.349,96.607L181.316,96.729L180.284,97.336L179.799,97.822L179.313,97.882L178.888,98.914L178.949,100.068L178.524,101.1L178.038,102.071L177.674,105.288L179.313,104.621H179.374Z" + android:pathData="M179.374,104.621L180.224,104.56L180.77,104.013H180.831L181.316,103.953L181.924,103.892H181.984L183.381,103.831L183.866,103.771L184.898,103.164L185.991,103.042H186.537L188.055,103.467L189.087,102.86H189.148L189.694,103.346L190.726,103.831L192.365,104.256L192.851,104.196L193.458,105.228L195.097,106.138L195.643,106.624L197.222,106.502H197.404H197.647L198.193,106.442L198.679,105.895L198.739,105.956V105.895L199.286,106.32L200.257,105.774L200.682,105.228L200.196,104.742L199.65,104.256L200.561,103.649L201.593,103.042H201.653L201.046,102.01L200.986,100.978L200.379,100.068L200.318,99.582H199.893L199.347,99.643L198.739,98.61L199.771,98.55H199.832L199.771,97.457L199.65,96.425L199.164,96.486L198.618,96.971V96.911V96.486L198.072,96.547V96.061H197.95H197.586H197.525L197.465,96.122V95.575L196.433,96.182L195.461,96.729H195.401L194.793,95.757L193.822,95.818H193.458L193.276,95.879L192.669,95.393L192.608,94.847H192.304H192.122L191.151,94.422H191.09L191.151,94.968H190.544L190.058,94.543L189.998,94.482L189.512,95.029L188.055,95.575L187.509,95.757V96.243L187.569,96.789L187.63,97.275L187.691,98.307V98.853L187.812,99.885L187.326,100.492L186.841,101.039H186.294L185.141,100.068L184.655,99.643L184.534,98.55L183.441,97.578L182.956,97.639L182.409,97.154L182.349,96.607L181.316,96.729L180.284,97.336L179.799,97.821L179.313,97.882L178.888,98.914L178.949,100.068L178.524,101.1L178.038,102.071L177.674,105.288L179.313,104.621H179.374Z" android:fillColor="#3F3F43"/> <path - android:pathData="M182.895,111.48L183.805,111.723L184.291,112.573L184.473,112.997V113.058L184.534,113.119V113.18L184.716,113.908L184.595,114.637L184.413,114.758L185.02,114.697L184.655,115.304V115.365L185.627,115.911L186.416,116.033L187.569,116.883L187.63,117.126L188.48,117.065L188.541,117.55L189.573,117.49L190.058,116.943L190.544,115.851H190.605L190.058,115.911L190.605,115.851H191.09L191.515,115.79L192.547,115.183H192.608L193.154,115.669L193.094,115.183L193.519,115.122L194.004,114.029L193.944,113.483L193.822,112.026V111.48L195.825,110.812V110.266H195.886L197.404,110.144L198.375,108.991L196.25,108.687L197.161,106.502H197.222L195.643,106.623L195.097,106.138L193.458,105.227L192.851,104.195L192.365,104.256L190.726,103.831L189.694,103.345L189.148,102.859H189.087L188.116,103.466H188.055L186.537,103.041H185.991L184.898,103.163L183.927,103.77L183.441,103.831L181.984,103.891H181.924L181.316,103.952L180.831,104.013L180.284,104.559L179.374,104.62L177.795,105.288H177.674L177.795,106.866L177.856,107.352V107.898L178.524,109.416L178.645,110.994L179.738,110.933L179.799,111.419L180.284,111.905L180.77,111.844L181.377,112.33H181.62L182.045,111.783L182.895,111.48Z" + android:pathData="M182.895,111.48L183.805,111.723L184.291,112.573L184.473,112.998V113.058L184.534,113.119V113.18L184.716,113.908L184.595,114.637L184.413,114.758L185.02,114.698L184.655,115.305V115.365L185.627,115.912L186.416,116.033L187.569,116.883L187.63,117.126L188.48,117.065L188.541,117.551L189.573,117.49L190.058,116.944L190.544,115.851H190.605L190.058,115.912L190.605,115.851H191.09L191.515,115.79L192.547,115.183H192.608L193.154,115.669L193.094,115.183L193.519,115.123L194.004,114.03L193.944,113.483L193.822,112.026V111.48L195.825,110.812V110.266H195.886L197.404,110.145L198.375,108.991L196.25,108.688L197.161,106.502H197.222L195.643,106.624L195.097,106.138L193.458,105.227L192.851,104.195L192.365,104.256L190.726,103.831L189.694,103.345L189.148,102.86H189.087L188.116,103.467H188.055L186.537,103.042H185.991L184.898,103.163L183.927,103.77L183.441,103.831L181.984,103.892H181.924L181.316,103.952L180.831,104.013L180.284,104.559L179.374,104.62L177.795,105.288H177.674L177.795,106.866L177.856,107.352V107.898L178.524,109.416L178.645,110.994L179.738,110.934L179.799,111.419L180.284,111.905L180.77,111.844L181.377,112.33H181.62L182.045,111.784L182.895,111.48Z" android:fillColor="#3F3F43"/> <path - android:pathData="M219.258,122.651L219.198,122.165V122.59L219.258,122.651Z" + android:pathData="M219.258,122.65L219.198,122.165V122.59L219.258,122.65Z" android:fillColor="#3F3F43"/> <path - android:pathData="M199.71,104.256L200.257,104.742L200.742,105.228L200.317,105.774L199.285,106.381V106.32L198.739,105.895V105.956L198.314,106.442H198.193H197.768L197.403,106.502H197.221L196.311,108.688L198.496,108.991L197.464,110.145H197.403L195.886,110.266L195.947,110.813L193.882,111.48V112.027L194.004,113.484L194.065,114.03L193.579,115.123H193.518H193.154V115.669L192.608,115.184L191.576,115.791H191.515L191.09,115.851H190.604L190.119,116.944L189.572,117.49L188.54,117.551L188.48,117.065L187.63,117.126L187.69,117.976L187.933,118.765L188.297,119.069L188.419,120.587L188.722,120.951L189.39,121.74L189.876,122.226L189.937,122.711L190.119,123.136L190.24,124.836L190.119,125.2V125.261H190.058L189.937,125.747L188.055,127.204L188.54,127.811L189.512,127.993L189.269,129.571V129.935L189.39,130.057V129.996H189.937H189.997L190.483,130.482L190.604,130.36L190.847,129.935L191.393,129.328L191.454,129.146V128.843L191.576,128.782V128.721L192.486,128.053L193.579,128.114L194.186,128.053H194.429L196.068,127.507H196.129L197.646,127.386L199.225,127.689L200.317,128.236L202.381,128.6L202.928,128.539L203.474,129.025L204.688,128.903H204.931L205.478,128.357H205.963L206.631,128.296L207.177,128.782L207.299,128.964L207.602,129.207L208.027,128.175L208.634,128.296L209.302,129.632L209.363,129.571L209.484,129.207L209.606,128.6H209.666L210.152,128.053H210.213H210.273L210.638,127.993H210.698L212.277,128.357L212.762,127.871L213.005,127.811H213.309L214.462,128.782H214.644L214.584,127.689L214.766,127.264L214.098,126.172L214.401,125.018L214.341,124.047L215.069,123.197H215.676L216.587,123.075L217.255,123.318H217.74L218.226,123.258L219.258,123.197L219.197,122.651V122.59L218.165,122.226L217.619,121.861L217.558,121.254L217.012,120.283L216.405,119.251L216.344,118.705L216.283,117.673V117.187L216.708,117.126H216.769L217.801,117.551L218.347,117.065L219.319,116.458L219.804,115.851L220.29,115.305L220.776,114.759L220.169,113.787H220.108L219.137,113.848L219.015,112.695L218.044,112.755L217.498,112.816L216.526,112.877L216.466,112.452L216.405,111.359L215.312,110.934H214.766L213.187,110.631L213.127,110.084L213.066,109.599L211.548,109.72L212.58,109.113L211.852,107.595L210.759,106.078V105.531L211.184,105.045V104.499L210.152,104.56L209.545,103.589L208.452,103.103L207.967,103.164V103.71L206.935,104.256H206.51L206.449,103.771L205.902,103.285H205.842H205.781L204.87,103.346L204.324,103.406L203.778,103.467L202.928,103.528H202.746V102.981L202.199,103.042H201.653L200.621,103.649L199.71,104.256Z" + android:pathData="M199.71,104.256L200.257,104.741L200.742,105.227L200.317,105.774L199.285,106.381V106.32L198.739,105.895V105.956L198.314,106.441H198.193H197.768L197.403,106.502H197.221L196.311,108.687L198.496,108.991L197.464,110.144H197.403L195.886,110.266L195.947,110.812L193.882,111.48V112.026L194.004,113.483L194.065,114.03L193.579,115.122H193.518H193.154V115.669L192.608,115.183L191.576,115.79H191.515L191.09,115.851H190.604L190.119,116.944L189.572,117.49L188.54,117.551L188.48,117.065L187.63,117.126L187.69,117.976L187.933,118.765L188.297,119.068L188.419,120.586L188.722,120.95L189.39,121.739L189.876,122.225L189.937,122.711L190.119,123.136L190.24,124.836L190.119,125.2V125.26H190.058L189.937,125.746L188.055,127.203L188.54,127.81L189.512,127.992L189.269,129.571V129.935L189.39,130.056V129.996H189.937H189.997L190.483,130.481L190.604,130.36L190.847,129.935L191.393,129.328L191.454,129.146V128.842L191.576,128.782V128.721L192.486,128.053L193.579,128.114L194.186,128.053H194.429L196.068,127.507H196.129L197.646,127.385L199.225,127.689L200.317,128.235L202.381,128.599L202.928,128.539L203.474,129.024L204.688,128.903H204.931L205.478,128.357H205.963L206.631,128.296L207.177,128.782L207.299,128.964L207.602,129.206L208.027,128.174L208.634,128.296L209.302,129.631L209.363,129.571L209.484,129.206L209.606,128.599H209.666L210.152,128.053H210.213H210.273L210.638,127.992H210.698L212.277,128.357L212.762,127.871L213.005,127.81H213.309L214.462,128.782H214.644L214.584,127.689L214.766,127.264L214.098,126.171L214.401,125.018L214.341,124.046L215.069,123.196H215.676L216.587,123.075L217.255,123.318H217.74L218.226,123.257L219.258,123.196L219.197,122.65V122.589L218.165,122.225L217.619,121.861L217.558,121.254L217.012,120.283L216.405,119.25L216.344,118.704L216.283,117.672V117.186L216.708,117.126H216.769L217.801,117.551L218.347,117.065L219.319,116.458L219.804,115.851L220.29,115.305L220.776,114.758L220.169,113.787H220.108L219.137,113.848L219.015,112.694L218.044,112.755L217.498,112.816L216.526,112.876L216.466,112.451L216.405,111.359L215.312,110.934H214.766L213.187,110.63L213.127,110.084L213.066,109.598L211.548,109.719L212.58,109.112L211.852,107.595L210.759,106.077V105.531L211.184,105.045V104.499L210.152,104.559L209.545,103.588L208.452,103.102L207.967,103.163V103.709L206.935,104.256H206.51L206.449,103.77L205.902,103.285H205.842H205.781L204.87,103.345L204.324,103.406L203.778,103.467L202.928,103.527H202.746V102.981L202.199,103.042H201.653L200.621,103.649L199.71,104.256Z" android:fillColor="#3F3F43"/> <path - android:pathData="M190.058,115.912L190.604,115.852L190.058,115.912Z" + android:pathData="M190.058,115.912L190.605,115.851L190.058,115.912Z" android:fillColor="#3F3F43"/> <path - android:pathData="M185.02,149.483L184.777,149.24L184.655,149.301L184.837,149.422L185.02,149.483Z" + android:pathData="M185.019,149.483L184.777,149.24L184.655,149.301L184.837,149.422L185.019,149.483Z" android:fillColor="#3F3F43"/> <path - android:pathData="M249.794,140.924L250.219,139.285L250.644,138.799L251.19,138.738L252.222,138.677L253.194,138.617L253.315,138.556L253.74,136.978L253.618,135.399L252.404,133.882L251.919,133.942L251.858,133.396L252.344,132.85L252.829,132.243V131.757L252.162,131.818H251.737L251.251,131.453L251.676,130.846L252.708,130.239L253.254,129.754L253.133,128.114H252.526L252.04,128.782H251.979L251.008,128.843L249.915,128.297L249.855,128.357H249.794L248.883,128.418L248.944,129.025L248.883,128.904L248.398,128.418V127.932L248.033,127.993H247.851L246.819,128.054V128.539L246.394,128.6H245.848L245.787,128.114L245.727,128.175L244.755,128.722L244.695,128.661L244.209,128.236L243.602,127.75L243.663,128.297L242.691,128.843L240.991,127.932L240.506,127.447V126.961L239.413,127.022L238.442,128.114L238.017,128.661L237.713,128.722H237.41L236.924,128.236H236.863L236.378,128.782H236.317L235.831,128.297L235.346,128.357L234.314,128.418H233.707L233.646,127.932L233.099,126.415L233.039,125.929L232.067,125.99L231.4,125.018L231.339,124.472H231.278H230.914L230.368,125.079L228.789,125.2L227.757,125.261L227.697,124.715L227.636,123.622L227.575,122.59L227.089,122.104L226.422,121.255L225.875,120.647L225.329,120.708L224.418,121.376H224.358L223.326,120.83H223.265L222.779,120.89L222.294,121.497L221.99,121.558H221.808L220.776,122.044H220.715L220.23,121.679H220.169L219.258,122.165L219.319,123.197H219.258L218.226,123.258L217.741,123.319H217.255L216.587,123.076L215.677,123.197H215.069L214.341,124.047L214.402,125.018L214.098,126.172L214.766,127.265L214.584,127.689L214.645,128.782V128.843L214.462,128.782L213.309,127.811H213.005L212.823,127.872L212.338,128.357H212.277L210.699,127.993H210.638L210.274,128.054H210.213L209.667,128.6H209.606L209.484,129.207L209.363,129.571L209.302,129.693V129.632L208.635,128.297L208.027,128.175L207.603,129.207L207.542,129.329L207.299,128.964L207.178,128.782L206.631,128.297L205.963,128.357H205.538L205.053,128.904H204.689L203.474,129.025L202.928,128.539L202.382,128.6L200.318,128.236L199.225,127.689L197.647,127.386L196.129,127.507L194.49,128.054H194.429H194.186L193.579,128.114L192.486,128.054L191.576,128.722V128.782L191.454,129.146L191.394,129.329L190.847,129.936L190.605,130.361L190.544,130.482H190.483L189.997,129.996H189.937L189.39,130.057L189.451,130.118L189.208,131.696L189.512,132.121L189.269,132.546L190.058,133.032L190.483,133.76L191.515,134.914L191.151,135.096V135.764L191.576,135.946L192.001,136.674L191.697,137.828L191.151,138.253L190.119,138.192L189.087,139.224L188.844,139.77L188.419,140.742L187.873,140.924L187.448,141.591L187.266,142.259L187.144,143.413V143.838L187.205,144.445L187.084,144.93L187.144,145.477L186.901,145.902L187.023,146.266L186.476,146.63L186.173,147.055L186.355,147.723H185.869L185.627,148.208L185.505,148.816L185.687,149.18L185.627,149.908L185.748,150.212H185.869L186.112,150.09L186.719,150.212L186.901,150.394L187.691,150.151L189.148,150.03L190.119,150.212L190.908,150.515L191.515,150.819L192.486,150.94L192.972,150.151L193.883,149.969L194.49,149.908L196.007,150.515L196.554,150.09L197.647,149.058L198.011,149.119L198.861,149.058L199.832,148.937L200.014,148.512L200.196,147.905L201.653,147.298L202.139,147.48V147.359L202.321,147.48L202.625,147.601L203.292,147.784L204.689,147.176L205.235,146.569L205.721,146.144L205.781,146.084L207.299,146.023V146.448L208.392,146.327L208.938,146.873L209.484,147.298L209.909,146.812L210.516,146.752L211.063,147.237L212.034,147.723V147.176L213.248,147.662V148.148L213.309,148.694L213.734,148.633H213.795L213.855,149.665L213.916,150.697L213.977,151.244H214.462L214.948,151.183L215.616,152.154L215.677,153.247L216.162,153.186H216.648H216.769V153.611L216.83,154.158L217.376,154.704L217.923,155.19L218.469,155.615L218.408,156.222L218.894,155.615L219.501,156.161L219.987,156.586L220.533,156.525L220.412,155.008L220.897,153.915L221.444,153.854L221.929,154.34L222.961,153.733L223.933,152.64H224.418L224.479,153.065L225.025,153.004L224.965,152.033L224.904,151.487L224.843,150.515L225.39,151.487L225.936,151.972L225.997,152.519L226.604,153.49L225.572,153.551V154.097L225.633,154.643L225.693,155.129L226.786,155.615L227.818,155.979L229.336,154.886L230.246,154.279H230.793L231.339,153.672L231.946,155.251L232.432,154.643L232.917,153.611L232.857,153.065L233.342,153.004L233.949,153.49L234.435,152.944L234.921,152.883L236.499,152.822L236.56,153.308H237.045L236.985,152.762L237.531,152.701L237.895,151.122L238.927,150.515L238.988,151.608L239.595,151.547L240.991,149.848L242.023,149.301L242.388,148.694L242.934,148.148L243.42,148.087L244.573,148.573L244.998,148.026L244.512,147.48L245.423,146.934L245.909,145.841L246.455,145.295L246.941,145.234L247.366,144.687V144.141L247.973,144.627L248.398,144.566L248.458,144.08V144.02L248.276,141.531L249.794,140.924Z" + android:pathData="M249.794,140.924L250.219,139.285L250.644,138.799L251.19,138.739L252.222,138.678L253.194,138.617L253.315,138.556L253.74,136.978L253.618,135.4L252.404,133.882L251.919,133.943L251.858,133.396L252.344,132.85L252.829,132.243V131.757L252.162,131.818H251.737L251.251,131.454L251.676,130.847L252.708,130.24L253.254,129.754L253.133,128.115H252.526L252.04,128.783H251.979L251.008,128.843L249.915,128.297L249.855,128.358H249.794L248.883,128.418L248.944,129.025L248.883,128.904L248.398,128.418V127.933L248.033,127.993H247.851L246.819,128.054V128.54L246.394,128.6H245.848L245.787,128.115L245.727,128.176L244.755,128.722L244.695,128.661L244.209,128.236L243.602,127.751L243.663,128.297L242.691,128.843L240.991,127.933L240.506,127.447V126.961L239.413,127.022L238.442,128.115L238.017,128.661L237.713,128.722H237.41L236.924,128.236H236.863L236.378,128.783H236.317L235.831,128.297L235.346,128.358L234.314,128.418H233.707L233.646,127.933L233.099,126.415L233.039,125.929L232.067,125.99L231.4,125.019L231.339,124.472H231.278H230.914L230.368,125.079L228.789,125.201L227.757,125.262L227.697,124.715L227.636,123.622L227.575,122.59L227.089,122.105L226.422,121.255L225.875,120.648L225.329,120.709L224.418,121.376H224.358L223.326,120.83H223.265L222.779,120.891L222.294,121.498L221.99,121.558H221.808L220.776,122.044H220.715L220.23,121.68H220.169L219.258,122.166L219.319,123.198H219.258L218.226,123.258L217.741,123.319H217.255L216.587,123.076L215.677,123.198H215.069L214.341,124.047L214.402,125.019L214.098,126.172L214.766,127.265L214.584,127.69L214.645,128.783V128.843L214.462,128.783L213.309,127.811H213.005L212.823,127.872L212.338,128.358H212.277L210.699,127.993H210.638L210.274,128.054H210.213L209.667,128.6H209.606L209.484,129.208L209.363,129.572L209.302,129.693V129.632L208.635,128.297L208.027,128.176L207.603,129.208L207.542,129.329L207.299,128.965L207.178,128.783L206.631,128.297L205.963,128.358H205.538L205.053,128.904H204.689L203.474,129.025L202.928,128.54L202.382,128.6L200.318,128.236L199.225,127.69L197.647,127.386L196.129,127.508L194.49,128.054H194.429H194.186L193.579,128.115L192.486,128.054L191.576,128.722V128.783L191.454,129.147L191.394,129.329L190.847,129.936L190.605,130.361L190.544,130.482H190.483L189.997,129.997H189.937L189.39,130.057L189.451,130.118L189.208,131.697L189.512,132.121L189.269,132.546L190.058,133.032L190.483,133.761L191.515,134.914L191.151,135.096V135.764L191.576,135.946L192.001,136.675L191.697,137.828L191.151,138.253L190.119,138.192L189.087,139.224L188.844,139.771L188.419,140.742L187.873,140.924L187.448,141.592L187.266,142.26L187.144,143.413V143.838L187.205,144.445L187.084,144.931L187.144,145.477L186.901,145.902L187.023,146.266L186.476,146.63L186.173,147.055L186.355,147.723H185.869L185.627,148.209L185.505,148.816L185.687,149.18L185.627,149.909L185.748,150.212H185.869L186.112,150.091L186.719,150.212L186.901,150.394L187.691,150.151L189.148,150.03L190.119,150.212L190.908,150.516L191.515,150.819L192.486,150.941L192.972,150.151L193.883,149.969L194.49,149.909L196.007,150.516L196.554,150.091L197.647,149.059L198.011,149.119L198.861,149.059L199.832,148.937L200.014,148.512L200.196,147.905L201.653,147.298L202.139,147.48V147.359L202.321,147.48L202.625,147.602L203.292,147.784L204.689,147.177L205.235,146.57L205.721,146.145L205.781,146.084L207.299,146.023V146.448L208.392,146.327L208.938,146.873L209.484,147.298L209.909,146.813L210.516,146.752L211.063,147.238L212.034,147.723V147.177L213.248,147.662V148.148L213.309,148.695L213.734,148.634H213.795L213.855,149.666L213.916,150.698L213.977,151.244H214.462L214.948,151.184L215.616,152.155L215.677,153.248L216.162,153.187H216.648H216.769V153.612L216.83,154.158L217.376,154.705L217.923,155.19L218.469,155.615L218.408,156.222L218.894,155.615L219.501,156.161L219.987,156.586L220.533,156.526L220.412,155.008L220.897,153.915L221.444,153.855L221.929,154.34L222.961,153.733L223.933,152.64H224.418L224.479,153.065L225.025,153.005L224.965,152.033L224.904,151.487L224.843,150.516L225.39,151.487L225.936,151.973L225.997,152.519L226.604,153.49L225.572,153.551V154.097L225.633,154.644L225.693,155.129L226.786,155.615L227.818,155.979L229.336,154.887L230.246,154.28H230.793L231.339,153.672L231.946,155.251L232.432,154.644L232.917,153.612L232.857,153.065L233.342,153.005L233.949,153.49L234.435,152.944L234.921,152.883L236.499,152.823L236.56,153.308H237.045L236.985,152.762L237.531,152.701L237.895,151.123L238.927,150.516L238.988,151.608L239.595,151.548L240.991,149.848L242.023,149.302L242.388,148.695L242.934,148.148L243.42,148.087L244.573,148.573L244.998,148.027L244.512,147.48L245.423,146.934L245.909,145.841L246.455,145.295L246.941,145.234L247.366,144.688V144.141L247.973,144.627L248.398,144.566L248.458,144.081V144.02L248.276,141.531L249.794,140.924Z" android:fillColor="#3F3F43"/> <path - android:pathData="M217.923,155.189L217.377,154.704L216.83,154.157L216.77,153.611V153.186H216.648H216.162L215.677,153.247L215.616,152.154L214.948,151.183L214.463,151.243H213.977L213.916,150.697L213.856,149.665L213.795,148.633H213.734L213.309,148.694L213.249,148.147V147.662L212.034,147.176L212.095,147.722H212.034L211.063,147.237L210.517,146.751L209.97,146.812L209.545,147.358L209.485,147.297L208.938,146.872L208.392,146.326L207.299,146.447V146.022L205.782,146.083L205.296,146.569L204.75,147.176L203.353,147.783L203.778,147.844L204.325,148.329L206.024,149.301L205.903,151.122L207.178,151.304L208.271,151.729L208.331,152.761L208.938,153.307L209.485,153.793L210.577,154.218V154.764L211.184,155.736L211.245,156.282L211.306,157.375H210.76L210.82,157.86V158.407L211.427,158.892V159.378L211.549,160.471L211.609,161.503L212.217,162.292L213.249,161.928L213.916,162.231L214.281,162.413L214.584,162.231L215.009,161.624H215.13H215.191L216.162,161.746L216.527,161.867L216.77,161.988L216.709,161.503V160.956L216.102,160.471V159.985L216.587,159.378H217.134V159.864L217.619,159.317L218.651,159.257L219.137,158.71L219.683,158.65L220.169,158.589L220.108,157.618L219.562,157.071H219.016L217.923,156.707V156.221H218.409L218.469,155.614L217.923,155.189Z" + android:pathData="M217.923,155.19L217.377,154.704L216.83,154.158L216.77,153.611V153.186H216.648H216.162L215.677,153.247L215.616,152.154L214.948,151.183L214.463,151.244H213.977L213.916,150.697L213.856,149.665L213.795,148.633H213.734L213.309,148.694L213.249,148.148V147.662L212.034,147.176L212.095,147.723H212.034L211.063,147.237L210.517,146.751L209.97,146.812L209.545,147.358L209.485,147.298L208.938,146.873L208.392,146.326L207.299,146.448V146.023L205.782,146.083L205.296,146.569L204.75,147.176L203.353,147.783L203.778,147.844L204.325,148.33L206.024,149.301L205.903,151.122L207.178,151.304L208.271,151.729L208.331,152.761L208.938,153.308L209.485,153.793L210.577,154.218V154.765L211.184,155.736L211.245,156.282L211.306,157.375H210.76L210.82,157.861V158.407L211.427,158.893V159.378L211.549,160.471L211.609,161.503L212.217,162.292L213.249,161.928L213.916,162.232L214.281,162.414L214.584,162.232L215.009,161.624H215.13H215.191L216.162,161.746L216.527,161.867L216.77,161.989L216.709,161.503V160.957L216.102,160.471V159.985L216.587,159.378H217.134V159.864L217.619,159.318L218.651,159.257L219.137,158.711L219.683,158.65L220.169,158.589L220.108,157.618L219.562,157.071H219.016L217.923,156.707V156.222H218.409L218.469,155.614L217.923,155.19Z" android:fillColor="#3F3F43"/> <path android:pathData="M298.177,176.072L298.238,176.011L298.177,175.525V176.072Z" android:fillColor="#3F3F43"/> <path - android:pathData="M300.181,159.258H300.12H299.998L299.634,159.318L298.602,159.379L299.27,159.804L298.724,160.957L297.692,161.504H297.631L297.206,161.564L296.538,161.625H296.174L295.142,161.2L294.049,160.168L293.503,160.229L291.924,160.35H291.864H291.439L291.499,161.443L291.56,161.989L293.078,162.414L293.685,162.9V163.264L293.806,164.357L293.199,164.418L291.742,164.539V165.025L291.682,164.964V165.025L290.589,164.6L289.921,164.66H289.557L288.464,163.689L288.039,164.236L287.553,165.328L288.646,165.753L288.707,166.3L289.253,166.239H289.739L291.317,167.149L290.892,167.757L289.921,168.303L291.439,169.214H291.985L292.471,169.153H292.592L293.624,169.638V170.124L293.139,170.731H293.078L292.167,170.792L292.714,171.217L294.292,171.642L295.445,172.674L295.628,172.613L296.477,172.552H296.781H296.902H296.963L297.509,173.099L297.024,173.584H297.509H297.57L298.117,174.07L298.238,176.013L298.602,174.981L298.541,174.434V174.009L299.573,173.402L300.545,172.31L300.484,171.763L300.97,170.67L301.395,169.578L302.487,169.517L302.852,168.424L303.459,168.364L304.491,169.396L305.159,169.881L305.219,170.913H304.612L305.219,171.399L305.826,172.492V172.977L304.794,173.584L304.309,173.645L305.401,173.949L306.433,174.434L306.919,173.888L307.465,173.827L309.59,174.192L308.983,173.706L309.529,173.281L308.376,172.795L307.89,171.763L308.315,171.217L308.255,170.67L308.194,170.124H308.74L308.801,171.156L309.287,170.063L309.226,169.031L309.165,168.546L308.619,167.999L308.012,167.028L308.497,166.967V166.482L308.437,165.45L308.376,164.903L307.83,164.418L307.769,163.871L308.255,163.325L308.74,162.232L309.226,161.807L310.258,161.686L310.197,161.2L309.712,160.654L308.68,161.261L307.587,161.382L306.616,161.443L306.008,160.472L304.976,160.532L304.43,160.047L303.762,159.015L303.216,158.529L302.67,158.043L302.062,157.497L301.638,157.558L300.545,157.133L300.12,158.226L300.181,159.258Z" + android:pathData="M300.181,159.257H300.12H299.998L299.634,159.318L298.602,159.379L299.27,159.804L298.724,160.957L297.692,161.504H297.631L297.206,161.564L296.538,161.625H296.174L295.142,161.2L294.049,160.168L293.503,160.229L291.924,160.35H291.864H291.439L291.499,161.443L291.56,161.989L293.078,162.414L293.685,162.9V163.264L293.806,164.357L293.199,164.417L291.742,164.539V165.025L291.682,164.964V165.025L290.589,164.6L289.921,164.66H289.557L288.464,163.689L288.039,164.235L287.553,165.328L288.646,165.753L288.707,166.299L289.253,166.239H289.739L291.317,167.149L290.892,167.756L289.921,168.303L291.439,169.213H291.985L292.471,169.153H292.592L293.624,169.638V170.124L293.139,170.731H293.078L292.167,170.792L292.714,171.217L294.292,171.642L295.445,172.674L295.628,172.613L296.477,172.552H296.781H296.902H296.963L297.509,173.099L297.024,173.584H297.509H297.57L298.117,174.07L298.238,176.013L298.602,174.98L298.541,174.434V174.009L299.573,173.402L300.545,172.309L300.484,171.763L300.97,170.67L301.395,169.578L302.487,169.517L302.852,168.424L303.459,168.363L304.491,169.395L305.159,169.881L305.219,170.913H304.612L305.219,171.399L305.826,172.491V172.977L304.794,173.584L304.309,173.645L305.401,173.948L306.433,174.434L306.919,173.888L307.465,173.827L309.59,174.191L308.983,173.706L309.529,173.281L308.376,172.795L307.89,171.763L308.315,171.217L308.255,170.67L308.194,170.124H308.74L308.801,171.156L309.287,170.063L309.226,169.031L309.165,168.546L308.619,167.999L308.012,167.028L308.497,166.967V166.481L308.437,165.449L308.376,164.903L307.83,164.417L307.769,163.871L308.255,163.325L308.74,162.232L309.226,161.807L310.258,161.686L310.197,161.2L309.712,160.654L308.68,161.261L307.587,161.382L306.616,161.443L306.008,160.471L304.976,160.532L304.43,160.047L303.762,159.015L303.216,158.529L302.67,158.043L302.062,157.497L301.638,157.558L300.545,157.133L300.12,158.225L300.181,159.257Z" android:fillColor="#3F3F43"/> <path - android:pathData="M297.57,173.584H297.51H297.024L297.51,173.099L296.963,172.552H296.903H296.781H296.478L295.628,172.613L295.446,172.674L294.292,171.642L292.714,171.217L292.167,170.792L293.078,170.731H293.139L293.624,170.124V169.638L292.592,169.153H292.471L291.985,169.213H291.439L289.921,168.303L290.893,167.756L291.318,167.149L289.739,166.239H289.254L288.707,166.299L288.646,165.753L287.554,165.328H287.432H287.129L287.189,165.874V166.421H287.129H286.582L285.55,166.542L285.611,167.089H285.49H285.065L284.033,167.21L283.061,167.756L282.09,168.363L280.572,169.517H280.512L282.09,169.881L282.151,170.428L282.636,170.913L282.272,171.945L282.333,172.492L282.819,173.524L283.426,174.07L283.972,174.009H284.458L285.004,173.949H285.49L285.975,173.888L286.461,173.281L287.068,173.827L287.129,174.313L288.161,174.252L288.707,174.191L289.8,174.616V175.102L291.378,176.013L292.532,176.498L293.017,176.923L294.596,176.802L295.688,176.741H296.174L297.206,176.134L298.177,176.073V175.527L298.238,176.013V176.073V176.013L298.117,174.07L297.57,173.584Z" + android:pathData="M297.57,173.584H297.51H297.024L297.51,173.098L296.963,172.552H296.903H296.781H296.478L295.628,172.613L295.446,172.673L294.292,171.641L292.714,171.216L292.167,170.792L293.078,170.731H293.139L293.624,170.124V169.638L292.592,169.152H292.471L291.985,169.213H291.439L289.921,168.303L290.892,167.756L291.317,167.149L289.739,166.238H289.253L288.707,166.299L288.646,165.753L287.554,165.328H287.432H287.129L287.189,165.874V166.421H287.129H286.582L285.55,166.542L285.611,167.088H285.49H285.065L284.033,167.21L283.061,167.756L282.09,168.363L280.572,169.517H280.512L282.09,169.881L282.151,170.427L282.636,170.913L282.272,171.945L282.333,172.491L282.818,173.523L283.426,174.07L283.972,174.009H284.458L285.004,173.948H285.49L285.975,173.888L286.461,173.281L287.068,173.827L287.129,174.313L288.161,174.252L288.707,174.191L289.8,174.616V175.102L291.378,176.012L292.532,176.498L293.017,176.923L294.596,176.802L295.688,176.741H296.174L297.206,176.134L298.177,176.073V175.527L298.238,176.012V176.073V176.012L298.117,174.07L297.57,173.584Z" android:fillColor="#3F3F43"/> <path - android:pathData="M282.09,168.364L283.061,167.757L284.033,167.21L285.065,167.089H285.489H285.611L285.55,166.542L286.643,166.421H287.129H287.189V165.875L287.129,165.328H287.432H287.554L288.039,164.236L288.464,163.689L288.525,163.629L289.618,164.661H289.921L290.589,164.6H290.65L291.682,164.964L291.742,165.025V164.539L293.199,164.418L293.806,164.357L293.685,163.264V162.9L293.078,162.414L291.56,161.989L291.499,161.443L291.439,160.35H291.864H291.924L290.346,159.925L289.982,159.986H289.8L288.828,160.532L288.221,160.108V159.561L288.161,159.076L287.068,158.59H286.825L286.097,158.651V159.197L285.065,159.804V159.743L285.004,158.711L284.518,158.772H283.972L284.033,159.379L283.547,159.925H283.486H283.061L281.908,159.5L280.936,160.108L280.451,160.654L279.419,160.715L278.933,160.775H278.387L278.933,160.229L278.326,159.743L277.78,159.804L276.748,159.865H276.687L275.169,159.986L274.562,159.44L274.38,159.5H274.077L272.559,160.168L271.891,160.229H271.588L270.556,160.29H270.495L269.948,160.35L269.402,159.804L267.277,159.986H266.852L265.76,159.561L264.667,159.136L264.242,160.168L263.696,160.775H263.635L262.664,160.897H262.178L261.692,161.989H261.632L263.271,162.354L263.817,162.293H264.303L264.849,162.839L265.335,162.779L265.881,162.172L266.367,162.111L266.974,162.657L268.067,162.597L268.127,163.629L268.613,163.568L269.645,163.507L270.131,163.993L270.191,164.539L270.859,165.45L271.345,165.935L272.498,166.907L272.984,167.392L273.045,167.939L272.559,167.999L272.134,169.092V169.578L272.195,170.063H272.741L272.68,169.517H273.166L273.773,169.456L275.776,169.274L276.323,168.789L276.808,168.728L277.233,168.182L278.326,168.607H278.872L278.933,169.092V169.639L279.479,169.578L280.512,169.517H280.572L282.09,168.364Z" + android:pathData="M282.09,168.363L283.061,167.756L284.033,167.21L285.065,167.088H285.489H285.611L285.55,166.542L286.643,166.421H287.129H287.189V165.874L287.129,165.328H287.432H287.554L288.039,164.235L288.464,163.689L288.525,163.628L289.618,164.66H289.921L290.589,164.599H290.65L291.682,164.964L291.742,165.024V164.539L293.199,164.417L293.806,164.357L293.685,163.264V162.9L293.078,162.414L291.56,161.989L291.499,161.443L291.439,160.35H291.864H291.924L290.346,159.925L289.982,159.986H289.8L288.828,160.532L288.221,160.107V159.561L288.161,159.075L287.068,158.589H286.825L286.097,158.65V159.196L285.065,159.804V159.743L285.004,158.711L284.518,158.772H283.972L284.033,159.379L283.547,159.925H283.486H283.061L281.908,159.5L280.936,160.107L280.451,160.653L279.419,160.714L278.933,160.775H278.387L278.933,160.228L278.326,159.743L277.78,159.804L276.748,159.864H276.687L275.169,159.986L274.562,159.439L274.38,159.5H274.077L272.559,160.168L271.891,160.228H271.588L270.556,160.289H270.495L269.948,160.35L269.402,159.804L267.277,159.986H266.852L265.76,159.561L264.667,159.136L264.242,160.168L263.696,160.775H263.635L262.664,160.896H262.178L261.692,161.989H261.632L263.271,162.353L263.817,162.293H264.303L264.849,162.839L265.335,162.778L265.881,162.171L266.367,162.11L266.974,162.657L268.067,162.596L268.127,163.628L268.613,163.567L269.645,163.507L270.131,163.992L270.191,164.539L270.859,165.449L271.345,165.935L272.498,166.906L272.984,167.392L273.045,167.938L272.559,167.999L272.134,169.092V169.577L272.195,170.063H272.741L272.68,169.517H273.166L273.773,169.456L275.776,169.274L276.323,168.788L276.808,168.727L277.233,168.181L278.326,168.606H278.872L278.933,169.092V169.638L279.479,169.577L280.512,169.517H280.572L282.09,168.363Z" android:fillColor="#3F3F43"/> <path - android:pathData="M54.24,168.464L53.695,168.503L53.729,168.987L54.275,168.949L54.24,168.464Z" + android:pathData="M54.24,168.464L53.695,168.503L53.729,168.987L54.274,168.948L54.24,168.464Z" android:fillColor="#3F3F43"/> <path - android:pathData="M104.461,182.264L103.915,182.325L103.49,182.447L102.883,182.386L102.336,181.961L101.244,182.022L100.879,182.082L100.697,182.264H100.333L99.847,182.204L99.24,182.022L98.937,181.172V181.111L98.573,181.172H98.026L97.48,180.686L97.54,179.897L97.298,179.29L96.63,178.925L95.476,179.35H94.201L94.141,178.804L93.655,178.865L92.563,178.379L92.016,178.44L91.409,177.954V177.893L90.863,177.469L90.377,176.983L89.77,177.044L89.284,177.104L88.677,176.072H88.191L88.07,176.012L87.524,175.587L87.099,175.162L87.038,175.101L86.552,175.162H85.945V174.676L85.885,174.13L85.338,173.644L84.731,173.219L84.853,173.098L84.731,173.158L84.124,172.612L83.092,172.733L81.999,172.248L81.453,171.762L80.907,171.823H80.36L79.328,171.883L78.782,171.398L78.175,170.426L77.143,170.487L76.536,170.002L76.05,170.062L75.018,170.123L74.411,170.184L73.925,169.698L73.318,169.759H72.833L72.286,169.212L71.74,168.727L71.193,168.787L70.101,168.362L69.554,168.423L68.462,167.937V167.452L67.369,167.513L66.823,166.966L66.337,167.027L65.305,167.088L64.698,166.663L64.091,166.177L63.119,166.784L62.512,165.752L61.966,165.266L61.905,164.72V164.234L60.873,164.781L60.327,164.841L59.781,164.356V164.841L59.295,164.902L58.749,164.963H58.263L58.809,165.449L58.324,166.056L57.838,166.602L57.777,166.056L57.231,165.57L56.685,165.631H56.138L55.592,165.145L55.167,166.238L54.62,165.752L54.074,166.359L53.589,166.905L54.196,167.391V167.877L54.681,167.33L54.742,167.877L54.256,168.484L55.288,168.362L55.349,168.848L54.863,169.455V169.941L54.378,170.487H54.924L54.985,171.034L54.438,171.58L53.892,171.094L53.406,171.641L53.467,172.673H53.528V172.612L54.62,172.551H55.046V172.066L55.167,172.126V172.005L56.199,172.43H56.745V172.915L56.806,173.462L56.867,173.948H57.352L57.899,173.887L58.384,173.826L58.991,174.312H59.538L60.084,174.797L60.509,175.162V174.858H60.631V174.737H61.116L61.662,174.676L61.723,175.162H62.209L62.755,175.101L63.241,175.647L62.816,176.194L62.877,176.679L62.937,177.226H63.362L63.969,177.711L64.03,178.197H63.969V178.258L63.423,178.318L63.484,178.743H63.423V178.865H62.937L62.452,178.925L62.512,179.35H62.452V179.411H61.905L61.48,179.472V179.958H61.42V180.018L60.934,180.079L60.509,180.565V181.05L60.084,181.657V182.143L59.598,182.75L59.659,183.236V183.782L59.72,184.328L59.781,184.814H59.659V184.875L59.113,184.935L58.688,184.996L58.749,185.36L57.717,186.514L57.777,187.06L57.292,187.607V188.153H57.231V188.214H56.685L55.713,187.849L55.774,188.76L55.835,189.306L55.895,189.853L56.442,190.338L56.502,190.824V191.37L56.017,191.978L55.531,192.463V193.01H55.47V193.07L54.924,193.131L54.56,193.617V194.163L54.074,194.709L54.62,195.195L55.167,195.134V195.681L55.228,196.166H55.167V196.227L54.681,196.288L54.256,196.834H54.196H54.135L53.649,196.895H53.164L53.224,197.38H53.103L53.164,197.441L52.678,197.502L52.739,197.927L52.253,198.534L52.314,199.566L52.374,200.598H52.921H52.86H53.346L53.953,201.084L54.499,201.569L55.046,202.055V202.601L56.138,203.026L56.745,203.512V204.058L56.26,204.605L56.806,204.544H57.352L56.867,205.576L56.927,206.183L55.835,206.244L56.442,206.669L56.502,207.761L57.049,208.247L57.595,208.186L58.141,208.672L58.749,209.704L59.234,209.097L59.174,208.611L60.206,208.004L61.298,207.943L61.784,207.397L62.33,207.336L63.362,207.822L63.909,207.761L64.334,206.669L65.366,206.608L66.458,207.033L67.065,207.519L68.158,207.458L68.705,208.429L69.737,208.368L71.315,208.247H71.861L72.954,208.672L73.44,208.126L74.472,208.065L75.079,208.551L75.564,208.49L75.625,209.036L76.111,208.976L76.657,208.429L76.596,207.883V207.336L77.629,206.79L77.568,206.244L78.6,206.183L79.086,205.637L80.118,205.515H80.664L81.757,206.001L82.242,205.394L83.274,204.787L83.153,203.755L83.638,203.208L84.185,203.148L84.671,202.601L84.61,202.055L85.642,201.509L86.128,201.448L87.22,201.387L88.191,200.234L87.645,199.748V199.202L87.038,198.777L86.977,198.17V197.684L86.856,196.652L86.795,195.62L87.342,195.013L87.767,194.467L88.799,193.859L89.77,192.767L90.316,192.706L90.863,192.16L91.834,191.006L92.259,190.521L93.291,189.853V189.367L93.777,189.306V188.821L94.262,188.214H94.809L95.78,188.092L96.873,188.032L97.905,187.971L98.451,187.91H98.937L99.483,187.849L100.454,187.242L101.061,187.182L101.486,186.696L102.579,186.575H103.125L103.611,185.968H104.158L104.643,185.36L105.129,184.814L105.068,184.328L105.554,183.782L105.493,183.236L105.432,182.143L105.311,182.022L104.886,182.507L104.461,182.264Z" + android:pathData="M104.461,182.264L103.915,182.325L103.49,182.446L102.883,182.385L102.336,181.961L101.244,182.021L100.879,182.082L100.697,182.264H100.333L99.847,182.203L99.24,182.021L98.937,181.171V181.111L98.573,181.171H98.026L97.48,180.686L97.541,179.896L97.298,179.289L96.63,178.925L95.477,179.35H94.202L94.141,178.804L93.655,178.864L92.563,178.379L92.016,178.44L91.409,177.954V177.893L90.863,177.468L90.377,176.983L89.77,177.043L89.284,177.104L88.677,176.072H88.192L88.07,176.011L87.524,175.586L87.099,175.161L87.038,175.101L86.553,175.161H85.946V174.676L85.885,174.129L85.338,173.644L84.731,173.219L84.853,173.097L84.731,173.158L84.124,172.612L83.092,172.733L81.999,172.247L81.453,171.762L80.907,171.822H80.36L79.328,171.883L78.782,171.398L78.175,170.426L77.143,170.487L76.536,170.001L76.05,170.062L75.018,170.123L74.411,170.183L73.925,169.698L73.318,169.758H72.833L72.286,169.212L71.74,168.726L71.194,168.787L70.101,168.362L69.555,168.423L68.462,167.937V167.452L67.369,167.512L66.823,166.966L66.337,167.027L65.305,167.087L64.698,166.662L64.091,166.177L63.12,166.784L62.513,165.752L61.966,165.266L61.905,164.72V164.234L60.874,164.78L60.327,164.841L59.781,164.355V164.841L59.295,164.902L58.749,164.963H58.263L58.809,165.448L58.324,166.055L57.838,166.602L57.777,166.055L57.231,165.57L56.685,165.63H56.138L55.592,165.145L55.167,166.237L54.621,165.752L54.074,166.359L53.589,166.905L54.196,167.391V167.876L54.681,167.33L54.742,167.876L54.256,168.484L55.288,168.362L55.349,168.848L54.863,169.455V169.941L54.378,170.487H54.924L54.985,171.033L54.438,171.58L53.892,171.094L53.407,171.64L53.467,172.672H53.528V172.612L54.621,172.551H55.046V172.065L55.167,172.126V172.005L56.199,172.43H56.745V172.915L56.806,173.462L56.867,173.947H57.352L57.899,173.886L58.384,173.826L58.992,174.311H59.538L60.084,174.797L60.509,175.161V174.858H60.631V174.736H61.116L61.663,174.676L61.723,175.161H62.209L62.755,175.101L63.241,175.647L62.816,176.193L62.877,176.679L62.938,177.225H63.362L63.97,177.711L64.03,178.197H63.97V178.257L63.423,178.318L63.484,178.743H63.423V178.864H62.938L62.452,178.925L62.513,179.35H62.452V179.411H61.905L61.48,179.472V179.957H61.42V180.018L60.934,180.079L60.509,180.564V181.05L60.084,181.657V182.143L59.599,182.75L59.659,183.235V183.782L59.72,184.328L59.781,184.814H59.659V184.874L59.113,184.935L58.688,184.996L58.749,185.36L57.717,186.514L57.777,187.06L57.292,187.606V188.153H57.231V188.213H56.685L55.713,187.849L55.774,188.76L55.835,189.306L55.896,189.852L56.442,190.338L56.503,190.824V191.37L56.017,191.977L55.531,192.463V193.009H55.471V193.07L54.924,193.131L54.56,193.616V194.163L54.074,194.709L54.621,195.195L55.167,195.134V195.68L55.228,196.166H55.167V196.227L54.681,196.287L54.256,196.834H54.196H54.135L53.649,196.894H53.164L53.224,197.38H53.103L53.164,197.441L52.678,197.502L52.739,197.927L52.253,198.534L52.314,199.566L52.375,200.598H52.921H52.86H53.346L53.953,201.083L54.499,201.569L55.046,202.055V202.601L56.138,203.026L56.745,203.512V204.058L56.26,204.604L56.806,204.544H57.352L56.867,205.576L56.928,206.183L55.835,206.243L56.442,206.668L56.503,207.761L57.049,208.247L57.595,208.186L58.142,208.672L58.749,209.704L59.234,209.097L59.174,208.611L60.206,208.004L61.298,207.943L61.784,207.397L62.33,207.336L63.362,207.822L63.909,207.761L64.334,206.668L65.366,206.608L66.459,207.033L67.066,207.518L68.158,207.458L68.705,208.429L69.737,208.368L71.315,208.247H71.861L72.954,208.672L73.44,208.125L74.472,208.065L75.079,208.55L75.565,208.49L75.625,209.036L76.111,208.975L76.657,208.429L76.597,207.882V207.336L77.629,206.79L77.568,206.243L78.6,206.183L79.086,205.636L80.118,205.515H80.664L81.757,206.001L82.242,205.393L83.274,204.786L83.153,203.754L83.639,203.208L84.185,203.147L84.671,202.601L84.61,202.055L85.642,201.508L86.128,201.448L87.22,201.387L88.192,200.233L87.645,199.748V199.201L87.038,198.776L86.978,198.169V197.684L86.856,196.652L86.795,195.62L87.342,195.013L87.767,194.466L88.799,193.859L89.77,192.766L90.316,192.706L90.863,192.159L91.834,191.006L92.259,190.52L93.291,189.852V189.367L93.777,189.306V188.82L94.262,188.213H94.809L95.78,188.092L96.873,188.031L97.905,187.971L98.451,187.91H98.937L99.483,187.849L100.454,187.242L101.062,187.181L101.487,186.696L102.579,186.574H103.126L103.611,185.967H104.158L104.643,185.36L105.129,184.814L105.068,184.328L105.554,183.782L105.493,183.235L105.432,182.143L105.311,182.021L104.886,182.507L104.461,182.264Z" android:fillColor="#3F3F43"/> <path - android:pathData="M52.374,200.598L52.314,199.566L52.253,198.534L52.739,197.927L52.678,197.502V197.441L53.103,197.38H53.224L53.164,196.895L53.71,196.834H54.196H54.256L54.681,196.288L54.742,196.227L55.167,196.166H55.228L55.167,195.681V195.134L54.62,195.195L54.074,194.709L54.56,194.163V193.617L54.924,193.131L54.985,193.07L55.47,193.01H55.531V192.463L56.017,191.978L56.502,191.37V190.824L56.442,190.338L55.895,189.853L55.835,189.306L55.774,188.76L55.713,187.849V187.728L56.806,188.214L57.231,188.153H57.292V187.607L57.777,187.06L57.717,186.514L58.749,185.36L58.688,184.996V184.875H59.174L59.659,184.814H59.781L59.72,184.328L59.659,183.782V183.236L59.598,182.75L60.084,182.143V181.657L60.509,181.05V180.565L60.934,180.079L60.995,180.018L61.42,179.958H61.48V179.472V179.411H62.027L62.452,179.35H62.512L62.452,178.925V178.804H62.998L63.423,178.743H63.484L63.423,178.318V178.258L63.969,178.197H64.03L63.969,177.711L63.362,177.226H62.937L62.877,176.679L62.816,176.194L63.241,175.647L62.755,175.101L62.209,175.162H61.723L61.662,174.676L61.116,174.737H60.631V174.858V175.283L60.509,175.162L60.084,174.797L59.538,174.312H58.991L58.384,173.826L57.899,173.887L57.352,173.948H56.867L56.806,173.462L56.745,172.915V172.43H56.199L55.167,172.005V172.126V172.491L55.046,172.551H54.62L53.528,172.612V172.673L53.589,173.098L53.649,173.705V174.19L53.224,174.737V175.283L53.346,176.376L52.799,176.861L52.374,177.469L52.435,178.501L51.889,179.047L51.464,179.593L51.525,180.686L51.039,181.232L50.553,182.325L50.068,182.811L49.582,183.418L49.643,183.964L49.157,184.511L48.671,185.603L48.186,185.664L47.093,185.725L46.607,186.271L46.668,186.757V187.303L46.729,187.849L46.243,188.396L45.757,189.003L45.818,189.489V189.974L46.85,189.913L47.457,190.399H47.943L48.003,191.431L48.064,191.978L47.578,192.524L47.093,193.07L47.153,193.617L46.668,194.163L47.214,194.649L46.789,195.741L46.85,196.288H46.304L45.757,196.834L45.818,197.38L45.393,198.473L44.847,199.02L44.907,199.566L45.454,199.505H45.939L46.486,198.898L47.032,199.445L47.093,199.93L47.578,199.869H48.125L48.671,200.355L49.764,200.78L50.371,201.266L50.796,200.719L50.857,201.266L51.342,201.205L52.86,200.598H52.921H52.374Z" + android:pathData="M52.375,200.598L52.314,199.566L52.253,198.534L52.739,197.927L52.678,197.502V197.442L53.103,197.381H53.224L53.164,196.895L53.71,196.834H54.196H54.256L54.681,196.288L54.742,196.227L55.167,196.167H55.228L55.167,195.681V195.135L54.621,195.195L54.074,194.71L54.56,194.163V193.617L54.924,193.131L54.985,193.071L55.471,193.01H55.531V192.464L56.017,191.978L56.503,191.371V190.824L56.442,190.339L55.896,189.853L55.835,189.307L55.774,188.76L55.713,187.85V187.728L56.806,188.214L57.231,188.153H57.292V187.607L57.777,187.061L57.717,186.514L58.749,185.361L58.688,184.997V184.875H59.174L59.659,184.814H59.781L59.72,184.329L59.659,183.782V183.236L59.599,182.75L60.084,182.143V181.658L60.509,181.051V180.565L60.934,180.079L60.995,180.019L61.42,179.958H61.48V179.472V179.412H62.027L62.452,179.351H62.513L62.452,178.926V178.804H62.998L63.423,178.744H63.484L63.423,178.319V178.258L63.97,178.197H64.03L63.97,177.712L63.362,177.226H62.938L62.877,176.68L62.816,176.194L63.241,175.648L62.755,175.101L62.209,175.162H61.723L61.663,174.676L61.116,174.737H60.631V174.858V175.283L60.509,175.162L60.084,174.798L59.538,174.312H58.992L58.384,173.826L57.899,173.887L57.353,173.948H56.867L56.806,173.462L56.745,172.916V172.43H56.199L55.167,172.005V172.127V172.491L55.046,172.552H54.621L53.528,172.612V172.673L53.589,173.098L53.649,173.705V174.191L53.224,174.737V175.283L53.346,176.376L52.799,176.862L52.375,177.469L52.435,178.501L51.889,179.047L51.464,179.594L51.525,180.686L51.039,181.233L50.553,182.325L50.068,182.811L49.582,183.418L49.643,183.965L49.157,184.511L48.671,185.604L48.186,185.664L47.093,185.725L46.607,186.271L46.668,186.757V187.303L46.729,187.85L46.243,188.396L45.757,189.003L45.818,189.489V189.975L46.85,189.914L47.457,190.399H47.943L48.004,191.432L48.064,191.978L47.579,192.524L47.093,193.071L47.154,193.617L46.668,194.163L47.214,194.649L46.789,195.742L46.85,196.288H46.304L45.757,196.834L45.818,197.381L45.393,198.474L44.847,199.02L44.908,199.566L45.454,199.506H45.939L46.486,198.898L47.032,199.445L47.093,199.931L47.579,199.87H48.125L48.671,200.355L49.764,200.78L50.371,201.266L50.796,200.72L50.857,201.266L51.342,201.205L52.86,200.598H52.921H52.375Z" android:fillColor="#3F3F43"/> <path android:pathData="M103.49,197.685L102.883,197.199V196.653L102.276,196.167L101.79,196.774L101.851,197.26L100.758,197.381H100.272L99.726,197.442L99.786,197.988L100.819,197.867H101.365L101.972,198.899L102.458,198.838L102.518,199.324H103.065L103.55,198.777L103.49,198.231L104.036,198.17L104.522,197.624L103.975,197.685H103.49Z" @@ -730,252 +730,184 @@ android:pathData="M108.65,196.288H108.104L107.618,196.349L107.011,195.863H106.525V196.41L107.132,196.895H107.618L108.225,197.381L108.771,197.32L108.711,196.774L108.65,196.288Z" android:fillColor="#3F3F43"/> <path - android:pathData="M94.627,199.931H94.141V200.477L93.109,200.538V201.084L93.17,201.631L94.202,201.024L94.687,200.963L94.627,200.416L95.173,199.87L94.627,199.931Z" + android:pathData="M94.627,199.931H94.141V200.478L93.109,200.538V201.085L93.17,201.631L94.202,201.024L94.687,200.963L94.627,200.417L95.173,199.871L94.627,199.931Z" android:fillColor="#3F3F43"/> <path - android:pathData="M124.555,177.105L125.041,176.498L124.98,176.012L125.465,175.466L125.041,175.041L124.069,175.101L123.523,175.162L123.462,175.041H123.341L122.734,174.009V173.523L122.612,172.491V171.945L123.098,171.398L123.037,170.852V170.366L122.552,169.941L122.066,170.002L121.944,169.88L121.641,169.638L121.519,169.516L121.337,169.395V168.909L121.823,168.848H122.369L122.916,168.788L123.401,168.181L123.887,167.634L124.373,167.088L123.826,166.602L123.766,166.117L123.219,165.57L123.159,165.085L123.705,165.024V164.478H123.826L123.766,164.174L123.705,164.053L123.159,163.628V163.081L123.644,163.021L123.098,162.535V162.049H123.159H123.341H123.584H123.644L124.13,161.989L124.069,161.442L123.462,160.41L123.219,160.471H123.037L123.098,161.017H122.976H122.552H122.491L122.066,162.11L121.034,162.717H120.973L120.366,161.685L120.852,160.592L121.823,159.5V158.953L122.248,158.407L123.341,158.346L124.312,157.739L124.737,156.646V156.161L125.223,155.554L125.283,155.614V155.554L125.83,156.039L126.376,156.525L126.801,155.432L126.862,155.493V155.432L127.347,155.857V155.432L127.408,155.493L127.347,154.947V154.4V154.339L127.772,153.793V153.307L127.712,152.275L127.651,151.729L128.197,151.122L128.137,150.636L128.562,149.544L129.108,148.937L130.018,147.905L129.533,147.419H129.047L128.44,147.48L127.894,146.994L126.801,147.115L125.769,146.63L125.223,146.144H125.162V146.083L124.555,145.112L124.069,144.323L124.008,144.201L123.523,144.08L122.916,144.141L122.612,143.898L121.944,143.776L121.884,143.837H121.337L120.852,144.444L120.791,143.898L120.245,143.412L119.638,142.927H119.152V142.805V142.866L119.091,142.441L118.545,141.955V141.895V141.834L118.484,141.409L117.938,140.984V140.377L117.391,140.438L117.452,140.984L116.906,141.045L116.359,141.105L115.813,140.559V140.498L115.752,140.438L116.238,139.891V139.406L116.117,138.434H115.631L115.145,138.495L114.599,138.556L113.992,137.524V137.463L113.931,137.038H113.445L112.899,137.099V136.977L112.838,136.431L112.778,136.006L112.292,136.067H111.806V136.006H111.746V135.581L111.199,135.095V134.974H111.139V134.488L111.078,133.942V133.396L109.985,133.456L109.439,133.517L108.953,133.578H108.407L107.921,133.638L107.435,134.185V134.731L107.496,135.217L107.01,135.763L107.071,136.309L107.132,137.402L107.193,137.949H106.586L106.1,138.009L105.554,138.556H105.068L104.036,139.163L103.004,139.77L101.972,139.83L100.94,139.891L101,140.438H101.486L102.579,140.862L103.125,141.348H102.64V141.955L101.608,141.47L100.515,141.53L99.483,141.591L99.422,141.045L98.39,141.166L97.297,140.741L96.205,140.255L96.265,140.802L95.112,140.316L95.658,139.77L95.051,139.284V138.798L95.537,138.191L94.991,138.252L94.505,138.313L93.898,137.766L93.412,137.827V138.373L92.926,138.92L92.987,139.952V140.438L93.655,141.47L93.109,142.016L93.169,142.623V143.048L93.776,143.594L93.837,144.08L92.805,144.141L92.198,143.716L91.712,143.776H91.166L91.652,143.169L90.62,143.23L89.527,143.351L88.98,142.927L89.041,143.351L88.009,143.412L87.949,142.987L87.888,141.895H87.341L86.795,141.955V141.47L85.702,140.984L85.217,141.591V142.077L84.185,142.137V141.652L83.092,141.712L82.546,141.773L81.999,141.227L81.453,141.834L81.028,141.895H80.481L79.935,141.955L79.996,142.441L80.542,142.38H81.028L81.513,142.319L81.574,142.866V143.412L81.149,143.473V143.898L80.603,143.959L80.117,144.019L79.632,144.626L80.117,144.566L80.724,144.991L81.331,146.023L81.271,145.537L82.363,145.962L82.303,145.416H82.788L82.849,145.962L83.942,146.872H84.549V147.358H85.035L85.095,147.905L85.156,148.39L86.188,148.329L87.281,148.269L86.734,148.815H87.281L87.827,149.24L87.402,150.333H87.888L88.495,150.818L88.555,151.365L89.041,151.304V151.79L88.07,152.943L88.131,153.49L88.798,154.461L89.223,154.4L89.284,155.493L89.891,155.979L89.952,156.464L91.045,156.889L91.53,156.343L91.591,156.889V157.436L91.105,157.982L91.652,157.921L91.166,158.528L91.227,159.56L91.287,160.046L90.802,160.653V161.199L91.348,161.139L91.409,161.685V162.171L91.955,162.656L92.016,163.203L92.077,164.235L92.137,164.72L91.591,164.295L91.53,163.688L91.469,163.203L90.923,162.717L90.862,162.171L90.316,161.746L90.255,161.199L89.77,161.806L89.891,163.324V163.81L89.466,164.417L89.527,165.449L88.98,165.51L90.073,165.935L89.648,166.481L88.555,166.542L88.616,167.149V167.634L88.131,168.181V168.727L87.645,168.788L87.706,169.759L87.22,169.82L86.674,170.366L86.734,170.913L85.763,172.066L84.852,173.098L84.731,173.219L85.338,173.644L85.884,174.13L85.945,174.676V175.162H86.552L87.038,175.101L87.099,175.162L88.07,176.012L88.191,176.073H88.677L89.284,177.105L89.77,177.044L90.377,176.983L90.862,177.469L91.409,177.894V177.955L92.016,178.44L92.562,178.379L93.655,178.865L94.141,178.804L94.201,179.351H95.476L96.63,178.926L97.297,179.29L97.54,179.897L97.479,180.686L98.026,181.172H98.572L98.937,181.111L99.179,180.747L99.544,180.565L100.151,180.383L100.576,180.322L101.122,180.99V181.779L100.879,182.083L101.243,182.022L102.336,181.961L102.882,182.386L103.489,182.447L103.914,182.325L104.461,182.265L104.886,182.508L105.311,182.022L105.432,181.961L105.189,181.779L105.007,181.536L104.886,181.233L105.371,180.686L104.825,180.201L105.311,179.108L105.25,178.562L105.736,178.015L106.282,177.955L106.768,177.408L107.314,177.347H107.8L108.346,177.287L108.832,176.74L109.317,176.133H109.864L110.41,176.619L110.956,177.105L111.442,177.044L112.535,176.983L112.596,178.076L113.081,177.469H113.628L114.113,176.862H114.66L114.72,177.408V177.894H115.206L115.752,177.833L115.813,178.319V178.865L116.299,178.319L116.906,178.804L117.452,179.29L117.513,179.836L118.059,180.322L118.545,180.261H119.091L119.638,180.201L120.184,180.14H120.73L121.155,179.533V179.047L121.095,178.501L121.641,178.44H122.127L122.673,178.379L122.612,177.833H123.219L123.705,177.772V178.319L124.616,177.347L124.069,177.59L124.555,177.105Z" + android:pathData="M124.555,177.105L125.041,176.498L124.98,176.012L125.465,175.466L125.041,175.041L124.069,175.102L123.523,175.162L123.462,175.041H123.341L122.734,174.009V173.523L122.612,172.491V171.945L123.098,171.399L123.037,170.852V170.367L122.552,169.942L122.066,170.002L121.944,169.881L121.641,169.638L121.519,169.517L121.337,169.395V168.91L121.823,168.849H122.369L122.916,168.788L123.401,168.181L123.887,167.635L124.373,167.088L123.826,166.603L123.766,166.117L123.219,165.571L123.159,165.085L123.705,165.024V164.478H123.826L123.766,164.174L123.705,164.053L123.159,163.628V163.082L123.644,163.021L123.098,162.535V162.05H123.159H123.341H123.584H123.644L124.13,161.989L124.069,161.443L123.462,160.411L123.219,160.471H123.037L123.098,161.018H122.976H122.552H122.491L122.066,162.11L121.034,162.717H120.973L120.366,161.685L120.852,160.593L121.823,159.5V158.954L122.248,158.407L123.341,158.347L124.312,157.739L124.737,156.647V156.161L125.223,155.554L125.283,155.615V155.554L125.83,156.04L126.376,156.525L126.801,155.433L126.862,155.493V155.433L127.347,155.858V155.433L127.408,155.493L127.347,154.947V154.401V154.34L127.772,153.794V153.308L127.712,152.276L127.651,151.729L128.197,151.122L128.137,150.637L128.562,149.544L129.108,148.937L130.018,147.905L129.533,147.419H129.047L128.44,147.48L127.894,146.994L126.801,147.116L125.769,146.63L125.223,146.144H125.162V146.084L124.555,145.112L124.069,144.323L124.008,144.202L123.523,144.08L122.916,144.141L122.612,143.898L121.944,143.777L121.884,143.838H121.337L120.852,144.445L120.791,143.898L120.245,143.413L119.638,142.927H119.152V142.806V142.866L119.091,142.441L118.545,141.956V141.895V141.834L118.484,141.409L117.938,140.984V140.377L117.391,140.438L117.452,140.984L116.906,141.045L116.359,141.106L115.813,140.559V140.499L115.752,140.438L116.238,139.892V139.406L116.117,138.435H115.631L115.145,138.495L114.599,138.556L113.992,137.524V137.463L113.931,137.038H113.445L112.899,137.099V136.978L112.838,136.431L112.778,136.006L112.292,136.067H111.806V136.006H111.746V135.581L111.199,135.096V134.974H111.139V134.489L111.078,133.942V133.396L109.985,133.457L109.439,133.517L108.953,133.578H108.407L107.921,133.639L107.435,134.185V134.731L107.496,135.217L107.01,135.764L107.071,136.31L107.132,137.403L107.193,137.949H106.586L106.1,138.01L105.554,138.556H105.068L104.036,139.163L103.004,139.77L101.972,139.831L100.94,139.892L101,140.438H101.486L102.579,140.863L103.125,141.349H102.64V141.956L101.608,141.47L100.515,141.531L99.483,141.591L99.422,141.045L98.39,141.166L97.297,140.741L96.205,140.256L96.265,140.802L95.112,140.317L95.658,139.77L95.051,139.285V138.799L95.537,138.192L94.991,138.253L94.505,138.313L93.898,137.767L93.412,137.828V138.374L92.926,138.92L92.987,139.952V140.438L93.655,141.47L93.109,142.016L93.169,142.623V143.048L93.776,143.595L93.837,144.08L92.805,144.141L92.198,143.716L91.712,143.777H91.166L91.652,143.17L90.62,143.23L89.527,143.352L88.98,142.927L89.041,143.352L88.009,143.413L87.949,142.988L87.888,141.895H87.341L86.795,141.956V141.47L85.702,140.984L85.217,141.591V142.077L84.185,142.138V141.652L83.092,141.713L82.546,141.774L81.999,141.227L81.453,141.834L81.028,141.895H80.481L79.935,141.956L79.996,142.441L80.542,142.381H81.028L81.513,142.32L81.574,142.866V143.413L81.149,143.473V143.898L80.603,143.959L80.117,144.02L79.632,144.627L80.117,144.566L80.724,144.991L81.331,146.023L81.271,145.537L82.363,145.962L82.303,145.416H82.788L82.849,145.962L83.942,146.873H84.549V147.359H85.035L85.095,147.905L85.156,148.391L86.188,148.33L87.281,148.269L86.734,148.816H87.281L87.827,149.24L87.402,150.333H87.888L88.495,150.819L88.555,151.365L89.041,151.305V151.79L88.07,152.944L88.131,153.49L88.798,154.461L89.223,154.401L89.284,155.493L89.891,155.979L89.952,156.465L91.045,156.89L91.53,156.343L91.591,156.89V157.436L91.105,157.982L91.652,157.922L91.166,158.529L91.227,159.561L91.287,160.046L90.802,160.653V161.2L91.348,161.139L91.409,161.685V162.171L91.955,162.657L92.016,163.203L92.077,164.235L92.137,164.721L91.591,164.296L91.53,163.689L91.469,163.203L90.923,162.717L90.862,162.171L90.316,161.746L90.255,161.2L89.77,161.807L89.891,163.325V163.81L89.466,164.417L89.527,165.449L88.98,165.51L90.073,165.935L89.648,166.481L88.555,166.542L88.616,167.149V167.635L88.131,168.181V168.727L87.645,168.788L87.706,169.759L87.22,169.82L86.674,170.367L86.734,170.913L85.763,172.066L84.852,173.098L84.731,173.22L85.338,173.645L85.884,174.13L85.945,174.677V175.162H86.552L87.038,175.102L87.099,175.162L88.07,176.012L88.191,176.073H88.677L89.284,177.105L89.77,177.044L90.377,176.984L90.862,177.469L91.409,177.894V177.955L92.016,178.441L92.562,178.38L93.655,178.866L94.141,178.805L94.201,179.351H95.476L96.63,178.926L97.297,179.291L97.54,179.898L97.479,180.687L98.026,181.172H98.572L98.937,181.112L99.179,180.747L99.544,180.565L100.151,180.383L100.576,180.323L101.122,180.99V181.78L100.879,182.083L101.243,182.022L102.336,181.962L102.882,182.387L103.489,182.447L103.914,182.326L104.461,182.265L104.886,182.508L105.311,182.022L105.432,181.962L105.189,181.78L105.007,181.537L104.886,181.233L105.371,180.687L104.825,180.201L105.311,179.108L105.25,178.562L105.736,178.016L106.282,177.955L106.768,177.409L107.314,177.348H107.8L108.346,177.287L108.832,176.741L109.317,176.134H109.864L110.41,176.619L110.956,177.105L111.442,177.044L112.535,176.984L112.596,178.076L113.081,177.469H113.628L114.113,176.862H114.66L114.72,177.409V177.894H115.206L115.752,177.834L115.813,178.319V178.866L116.299,178.319L116.906,178.805L117.452,179.291L117.513,179.837L118.059,180.323L118.545,180.262H119.091L119.638,180.201L120.184,180.14H120.73L121.155,179.533V179.048L121.095,178.501L121.641,178.441H122.127L122.673,178.38L122.612,177.834H123.219L123.705,177.773V178.319L124.616,177.348L124.069,177.591L124.555,177.105Z" android:fillColor="#3F3F43"/> <path - android:pathData="M65.426,41.122L65.973,41.668L66.58,42.154L67.066,42.64L67.612,42.579L68.158,42.518L68.219,43.125V43.611L68.28,44.157L68.34,44.643L68.826,45.129L69.979,46.1H70.526L71.011,46.039L71.072,46.586L71.133,47.071L72.165,47.496L72.772,48.043L72.711,47.496L73.258,46.889V47.436H73.804L74.775,46.828L75.322,46.768L76.414,47.193L76.9,46.646L77.507,47.132L78.539,47.071V47.618L79.571,47.011L80.057,46.403L81.15,46.889L81.635,46.828L82.182,46.282L82.728,46.768L82.789,47.314L83.274,46.768L83.76,46.707L84.792,46.1L85.217,45.068L85.824,45.554H86.31L87.402,45.432L87.342,44.4L87.827,43.793L88.313,43.732L88.252,43.186V42.7L88.738,42.154L88.677,41.668L88.131,41.122L88.07,40.636V40.09L87.038,40.151L86.978,39.604L87.463,39.119L88.009,39.544L87.949,39.058L87.463,38.572L87.402,38.026V37.54L88.374,36.933L88.313,36.387L87.827,36.933L86.795,37.055V36.508L86.735,36.023L87.22,35.416L87.16,34.869L86.067,34.444L86.128,34.991L85.581,35.537L85.156,36.083L84.549,36.144L84.063,35.658L84.003,35.112L83.032,35.719L81.999,36.326L81.453,36.387L81.878,34.748L81.332,34.262V34.748L80.846,35.901L80.907,36.387L80.482,36.933L79.875,36.508L79.814,35.416L80.3,34.869L80.239,33.837L79.632,33.291L79.207,33.898L78.6,33.352V33.958L78.175,34.444L77.689,35.051H77.143L77.082,34.566V34.019L76.961,32.987L76.475,32.502L75.929,33.534L75.565,34.626L74.957,34.687V34.201H74.411L73.865,34.262L73.015,35.901L72.954,35.355L72.408,35.416V34.869L72.893,34.323L72.833,33.776V33.291L72.711,32.198H73.258L73.743,32.137L74.229,31.045L73.622,31.105V30.62L74.168,30.013L74.108,29.527L74.047,28.434L72.954,27.463L71.861,27.524L72.408,28.07L73.015,29.041L72.529,29.102V29.648L72.59,30.134V30.68L72.104,31.166L71.558,30.741L71.497,29.709L70.951,30.255L70.89,29.223L70.829,28.131V28.677H70.344L69.797,28.252L69.919,29.83L68.765,29.345L69.372,29.83L69.919,30.316L68.887,30.923L68.401,30.984V30.438L68.34,29.952L67.733,29.466L67.794,29.952V30.498H67.308L67.248,30.013L66.762,30.559L66.823,31.045H67.369L67.855,30.984L68.462,31.47L69.494,31.348L70.04,31.895L70.587,32.38L70.647,32.926H71.133L71.679,32.866L71.801,33.837L71.194,33.898L70.162,33.473L69.069,33.534L69.676,34.019L70.222,34.505L70.769,34.991L70.283,35.537L69.797,35.598L69.19,35.112L68.644,34.626L68.098,34.687L67.005,34.201L65.973,33.776L64.941,34.323L65.002,34.869L66.034,34.808L67.066,34.748L67.673,35.233V35.719H68.158L68.219,36.265L68.28,36.751L67.794,37.358L67.855,38.39L68.34,37.783V38.329L67.915,38.876L67.43,39.483H66.883L66.398,39.544L65.791,39.604L65.366,40.151L64.759,39.665L64.334,40.758L64.88,41.183L65.426,41.122Z" + android:pathData="M65.426,41.122L65.973,41.668L66.58,42.154L67.065,42.639L67.612,42.579L68.158,42.518L68.219,43.125V43.611L68.28,44.157L68.34,44.643L68.826,45.129L69.979,46.1H70.526L71.011,46.039L71.072,46.585L71.133,47.071L72.165,47.496L72.772,48.042L72.711,47.496L73.258,46.889V47.435H73.804L74.775,46.828L75.322,46.768L76.414,47.193L76.9,46.646L77.507,47.132L78.539,47.071V47.618L79.571,47.011L80.057,46.403L81.149,46.889L81.635,46.828L82.182,46.282L82.728,46.768L82.789,47.314L83.274,46.768L83.76,46.707L84.792,46.1L85.217,45.068L85.824,45.554H86.31L87.402,45.432L87.342,44.4L87.827,43.793L88.313,43.732L88.252,43.186V42.7L88.738,42.154L88.677,41.668L88.131,41.122L88.07,40.636V40.09L87.038,40.151L86.977,39.604L87.463,39.118L88.009,39.543L87.949,39.058L87.463,38.572L87.402,38.026V37.54L88.374,36.933L88.313,36.387L87.827,36.933L86.795,37.055V36.508L86.734,36.022L87.22,35.415L87.16,34.869L86.067,34.444L86.128,34.99L85.581,35.537L85.156,36.083L84.549,36.144L84.063,35.658L84.003,35.112L83.031,35.719L81.999,36.326L81.453,36.387L81.878,34.748L81.332,34.262V34.748L80.846,35.901L80.907,36.387L80.482,36.933L79.875,36.508L79.814,35.415L80.3,34.869L80.239,33.837L79.632,33.291L79.207,33.898L78.6,33.351V33.958L78.175,34.444L77.689,35.051H77.143L77.082,34.565V34.019L76.961,32.987L76.475,32.501L75.929,33.534L75.564,34.626L74.957,34.687V34.201H74.411L73.865,34.262L73.015,35.901L72.954,35.355L72.408,35.415V34.869L72.893,34.323L72.833,33.776V33.291L72.711,32.198H73.258L73.743,32.137L74.229,31.045L73.622,31.105V30.619L74.168,30.013L74.107,29.527L74.047,28.434L72.954,27.463L71.861,27.524L72.408,28.07L73.015,29.041L72.529,29.102V29.648L72.59,30.134V30.68L72.104,31.166L71.558,30.741L71.497,29.709L70.951,30.255L70.89,29.223L70.829,28.131V28.677H70.344L69.797,28.252L69.919,29.83L68.765,29.345L69.372,29.83L69.919,30.316L68.887,30.923L68.401,30.984V30.437L68.34,29.952L67.733,29.466L67.794,29.952V30.498H67.308L67.248,30.013L66.762,30.559L66.823,31.045H67.369L67.855,30.984L68.462,31.469L69.494,31.348L70.04,31.894L70.587,32.38L70.647,32.926H71.133L71.679,32.866L71.801,33.837L71.193,33.898L70.161,33.473L69.069,33.534L69.676,34.019L70.222,34.505L70.769,34.99L70.283,35.537L69.797,35.597L69.19,35.112L68.644,34.626L68.098,34.687L67.005,34.201L65.973,33.776L64.941,34.323L65.001,34.869L66.033,34.808L67.065,34.748L67.673,35.233V35.719H68.158L68.219,36.265L68.28,36.751L67.794,37.358L67.855,38.39L68.34,37.783V38.329L67.915,38.876L67.43,39.483H66.883L66.398,39.543L65.791,39.604L65.366,40.151L64.759,39.665L64.334,40.758L64.88,41.183L65.426,41.122Z" android:fillColor="#3F3F43"/> <path android:pathData="M84.367,109.72L83.821,109.234L83.76,108.688L82.728,108.202L82.182,108.263H81.817L81.332,108.809L81.271,108.748L81.21,108.809L80.664,108.323L80.118,107.838L79.571,107.352L79.025,106.927L79.511,106.32L79.45,105.834H79.571V105.774L80.057,105.713L80.603,106.138L81.028,105.652L80.968,105.106L81.514,104.559L81.939,104.013H82.06L82.121,103.952L83.214,103.892L83.699,103.831L83.153,103.345L83.639,103.285L84.185,103.224L84.61,102.678L84.064,102.192L83.457,101.646L83.517,102.192L83.032,102.253L82.485,102.313L81.878,102.495L80.785,102.01L80.36,102.617L79.328,102.678L78.782,103.224L78.357,103.77L76.779,104.377L77.325,104.863L78.418,105.349L78.904,105.288L78.479,105.834L77.447,105.895L77.507,106.441L77.568,106.988L76.536,107.595L75.99,107.109L74.958,106.623L74.897,106.077L74.29,105.652L73.743,105.106L72.711,105.167L72.226,106.259L71.679,106.32L72.226,106.806L72.286,107.352L72.347,107.838L71.862,108.384L71.437,108.93L70.89,108.991L70.465,109.537L71.012,110.569L71.072,111.055L71.619,110.994L71.679,112.026L72.165,111.48L73.258,111.419L73.743,111.359L73.804,111.844L73.379,112.451L72.833,112.512L71.254,113.119L70.283,114.273L69.251,114.333L69.858,114.758L69.312,114.819L69.372,115.365L67.794,115.487L67.309,115.547L66.762,116.094L66.823,116.64L67.369,116.579L68.401,116.519L68.948,117.004L68.401,117.065L67.855,117.126L67.369,117.187L66.823,117.733L66.337,118.279L66.883,118.765L67.43,118.219L67.976,118.704L67.491,119.251L67.551,119.797L68.037,119.736L68.583,119.676L67.551,120.283L69.13,120.161L69.19,120.647L69.251,121.193L70.222,120.586L70.708,120.525L71.315,121.011L72.347,120.95L72.772,120.404L73.318,120.89L74.351,120.829L74.29,120.283L74.836,120.222L75.322,119.676L75.382,120.161L75.929,120.1L76.414,119.554L76.961,119.493L77.993,119.433L79.025,119.372L79.996,119.311L80.603,119.797L81.635,119.251L82.06,118.704L82,118.158L82.546,118.097L82.971,117.551L82.91,117.065L83.457,117.004L83.396,116.458L83.335,115.912L83.274,115.365L83.76,114.819L83.699,114.333L83.639,113.787L84.124,113.241L84.064,112.209L84.003,111.723L84.549,111.116L83.942,110.63L84.489,110.569L84.549,111.055L85.035,110.509V110.448L84.974,110.569L84.367,109.72ZM72.226,115.305L71.194,115.365L70.647,114.819L70.101,114.88L69.615,114.94L70.647,114.394L71.194,114.88L71.74,114.819L72.226,114.758L72.772,115.244L72.226,115.305Z" android:fillColor="#3F3F43"/> <path - android:pathData="M67.855,120.829L68.948,120.282L67.369,120.889L67.855,120.829Z" + android:pathData="M67.855,120.828L68.947,120.282L67.369,120.889L67.855,120.828Z" android:fillColor="#3F3F43"/> <path - android:pathData="M87.403,106.868L87.342,106.382V105.775L86.674,104.804V104.318L86.613,103.772H86.128L85.521,103.832L85.035,103.893V103.347L84.489,103.407L84.003,103.954H83.457L82.91,104.014L82,104.075H81.878L81.453,104.682L80.907,105.229L80.968,105.775L80.543,106.2L80.482,106.261L79.875,105.836H79.511L79.389,105.896V106.382L78.904,106.989L79.45,107.414L80.057,107.9L80.603,108.385L81.15,108.932L81.271,108.81L81.696,108.325H81.757H82.182L82.728,108.264L83.821,108.689V109.235L84.367,109.721L84.974,110.753L85.096,110.632L85.521,110.146L85.946,109.6L86.553,109.539H87.038L86.917,108.507L87.463,107.9L87.524,108.446L87.585,108.992L88.07,108.932L88.01,108.446L87.949,107.9L87.463,107.414L86.917,107.96L86.37,107.475L86.856,106.928L87.403,106.868Z" + android:pathData="M87.402,106.868L87.342,106.382V105.775L86.674,104.804V104.318L86.613,103.772H86.128L85.521,103.833L85.035,103.893V103.347L84.489,103.408L84.003,103.954H83.456L82.91,104.015L81.999,104.075H81.878L81.453,104.682L80.907,105.229L80.967,105.775L80.543,106.2L80.482,106.261L79.875,105.836H79.51L79.389,105.897V106.382L78.903,106.989L79.45,107.414L80.057,107.9L80.603,108.386L81.15,108.932L81.271,108.811L81.696,108.325H81.757H82.182L82.728,108.264L83.821,108.689V109.235L84.367,109.721L84.974,110.753L85.096,110.632L85.521,110.146L85.946,109.6L86.552,109.539H87.038L86.917,108.507L87.463,107.9L87.524,108.446L87.585,108.993L88.07,108.932L88.009,108.446L87.949,107.9L87.463,107.414L86.917,107.961L86.37,107.475L86.856,106.929L87.402,106.868Z" android:fillColor="#3F3F43"/> <path - android:pathData="M133.236,185.846L133.176,184.814V184.268L133.115,183.722L132.872,183.236L132.629,182.993L132.508,183.115L132.022,183.054L131.537,183.357H130.929L130.687,183.54L130.505,183.904L129.958,184.147L129.533,184.754L129.169,185.118L129.351,185.543L129.29,186.15L129.412,186.696L129.655,187.121L129.715,187.668V187.85L129.412,188.214L129.776,188.76L130.201,189.185V189.671L130.565,190.157L130.929,190.217L131.476,190.703L131.415,190.157L131.961,189.61L131.901,189.125L132.326,188.032V187.485L132.265,186.939L132.751,186.453L133.236,185.846Z" + android:pathData="M133.236,185.846L133.176,184.814V184.268L133.115,183.721L132.872,183.236L132.629,182.993L132.508,183.114L132.022,183.054L131.537,183.357H130.93L130.687,183.539L130.505,183.903L129.958,184.146L129.533,184.753L129.169,185.118L129.351,185.542L129.29,186.15L129.412,186.696L129.655,187.121L129.715,187.667V187.849L129.412,188.214L129.776,188.76L130.201,189.185V189.671L130.565,190.156L130.93,190.217L131.476,190.703L131.415,190.156L131.962,189.61L131.901,189.124L132.326,188.031V187.485L132.265,186.939L132.751,186.453L133.236,185.846Z" android:fillColor="#3F3F43"/> <path - android:pathData="M132.872,195.378L133.358,194.285L133.297,193.739H132.751V193.253L132.204,192.768H132.69L132.144,192.221L131.537,191.796V191.25L131.051,191.796L130.505,191.857V192.343L130.019,192.403H129.473L129.048,193.011L128.501,193.071L127.409,193.132L126.923,193.678L126.377,193.193L126.437,193.678L125.891,194.225L125.952,194.832L126.012,195.317L126.619,196.349V196.835L126.741,197.867H127.226L128.258,197.746L127.773,198.353L127.287,198.899L127.348,199.445V199.992L126.923,200.477L126.377,200.538L126.923,201.024L126.498,202.117L127.044,202.602L127.105,203.149V203.634L128.198,204.12L128.744,204.059H129.23V203.513L129.169,203.027L129.715,202.42L130.747,202.906L131.294,202.845L131.84,203.331L132.326,202.784L132.265,202.238L132.204,201.206L132.144,200.113L132.629,199.081L132.569,198.535V197.988L132.508,197.503V196.956L132.447,196.471L132.933,196.41L133.419,195.864V195.378H132.872Z" + android:pathData="M132.872,195.378L133.358,194.286L133.297,193.739H132.751V193.254L132.204,192.768H132.69L132.144,192.222L131.537,191.797V191.25L131.051,191.797L130.504,191.857V192.343L130.019,192.404H129.472L129.048,193.011L128.501,193.071L127.408,193.132L126.923,193.678L126.376,193.193L126.437,193.678L125.891,194.225L125.951,194.832L126.012,195.318L126.619,196.35V196.835L126.741,197.867H127.226L128.258,197.746L127.773,198.353L127.287,198.899L127.348,199.446V199.992L126.923,200.478L126.376,200.538L126.923,201.024L126.498,202.117L127.044,202.602L127.105,203.149V203.634L128.198,204.12L128.744,204.059H129.23V203.513L129.169,203.027L129.715,202.42L130.747,202.906L131.294,202.845L131.84,203.331L132.326,202.785L132.265,202.238L132.204,201.206L132.144,200.113L132.629,199.081L132.569,198.535V197.989L132.508,197.503V196.957L132.447,196.471L132.933,196.41L133.418,195.864V195.378H132.872Z" android:fillColor="#3F3F43"/> <path - android:pathData="M159.705,208.187L158.673,208.794L157.641,208.854L157.155,209.461L156.548,208.915L156.062,208.976L155.516,209.522L155.03,209.583L154.484,209.643H153.998L152.966,210.251L151.874,210.311L150.781,209.886L149.749,209.401L149.142,208.915L148.11,208.976L147.078,209.583L147.017,209.097L146.531,208.611L145.985,209.158H145.499L145.56,210.251L145.014,210.797L145.074,211.343L145.681,211.829L146.774,212.315L147.26,212.254L147.867,212.74L149.445,213.164L150.052,213.65L150.659,214.682L151.691,214.561L152.238,215.046L153.27,214.986L154.363,215.411L154.423,215.957L155.03,216.989L156.062,217.414L156.609,216.868L157.701,217.293L157.641,216.261L158.612,215.653L158.551,214.621H158.066L158.551,214.075L158.005,214.136L157.944,213.589V213.043L158.43,212.497L158.369,211.95V211.465L158.309,210.918L158.794,210.372H159.28L159.766,209.219L159.705,208.733V208.187Z" + android:pathData="M159.705,208.186L158.673,208.793L157.641,208.854L157.155,209.461L156.548,208.915L156.062,208.975L155.516,209.522L155.03,209.582L154.484,209.643H153.998L152.966,210.25L151.874,210.311L150.781,209.886L149.749,209.4L149.142,208.915L148.11,208.975L147.078,209.582L147.017,209.097L146.531,208.611L145.985,209.158H145.499L145.56,210.25L145.014,210.797L145.074,211.343L145.681,211.829L146.774,212.314L147.26,212.254L147.867,212.739L149.445,213.164L150.052,213.65L150.659,214.682L151.691,214.56L152.238,215.046L153.27,214.985L154.363,215.41L154.423,215.957L155.03,216.989L156.062,217.414L156.609,216.867L157.701,217.292L157.641,216.26L158.612,215.653L158.551,214.621H158.066L158.551,214.075L158.005,214.136L157.944,213.589V213.043L158.43,212.496L158.369,211.95V211.464L158.309,210.918L158.794,210.372H159.28L159.766,209.218L159.705,208.733V208.186Z" android:fillColor="#3F3F43"/> <path android:pathData="M89.649,115.244L89.163,115.305L89.224,116.276H89.77L90.256,116.216L90.742,115.73L90.134,115.184L89.649,115.244Z" android:fillColor="#3F3F43"/> <path - android:pathData="M96.994,132.605L95.962,132.666L96.508,133.213L97.055,133.152L97.601,133.091L97.54,132.605H96.994Z" + android:pathData="M96.994,132.606L95.962,132.667L96.508,133.213L97.055,133.152L97.601,133.092L97.54,132.606H96.994Z" android:fillColor="#3F3F43"/> <path - android:pathData="M103.49,85.862L103.429,85.315V84.83L103.368,84.283L102.883,84.83L102.336,84.89L102.883,85.315L103.49,85.862Z" + android:pathData="M103.49,85.862L103.429,85.315V84.83L103.368,84.283L102.883,84.83L102.336,84.891L102.883,85.315L103.49,85.862Z" android:fillColor="#3F3F43"/> <path - android:pathData="M109.378,80.156L109.985,80.641V81.127L109.5,81.734L110.532,81.127L110.471,80.641L110.957,80.034V79.488L110.896,79.002V78.456L110.775,77.424L110.35,79.002L110.41,79.549L109.378,79.609V80.156Z" + android:pathData="M109.378,80.155L109.985,80.641V81.127L109.5,81.734L110.532,81.127L110.471,80.641L110.957,80.034V79.488L110.896,79.002V78.456L110.775,77.424L110.35,79.002L110.41,79.548L109.378,79.609V80.155Z" android:fillColor="#3F3F43"/> <path - android:pathData="M89.345,88.958L89.406,89.444L89.891,88.351L90.377,87.805L90.984,88.29V88.837L91.47,88.23L91.409,87.744L91.895,87.137H92.441V86.591L92.866,86.044L92.805,85.559L92.38,86.105H91.834L90.802,86.226L90.863,87.198L90.316,86.773L90.256,86.226L89.77,86.833L89.831,87.319L89.345,88.412V88.958Z" + android:pathData="M89.345,88.958L89.406,89.444L89.891,88.351L90.377,87.805L90.984,88.29V88.837L91.47,88.23L91.409,87.744L91.895,87.137H92.441V86.591L92.866,86.044L92.805,85.559L92.38,86.105H91.834L90.802,86.227L90.863,87.198L90.316,86.773L90.256,86.227L89.77,86.834L89.83,87.319L89.345,88.412V88.958Z" android:fillColor="#3F3F43"/> <path android:pathData="M92.016,110.874V110.327L91.409,109.842L90.863,110.388L90.438,110.995L90.984,111.481L92.016,110.874Z" android:fillColor="#3F3F43"/> <path - android:pathData="M91.106,90.477L90.074,91.084V91.569L90.134,92.176L91.166,91.509L91.106,91.023V90.477Z" + android:pathData="M91.106,90.476L90.074,91.084V91.569L90.134,92.176L91.166,91.508L91.106,91.023V90.476Z" android:fillColor="#3F3F43"/> <path - android:pathData="M92.138,90.415L91.713,90.961L91.166,91.508L90.742,92.601L91.288,93.086V93.632L91.773,92.54V92.054L91.713,91.447L92.198,90.961L92.138,90.415Z" + android:pathData="M92.138,90.415L91.713,90.962L91.166,91.508L90.742,92.601L91.288,93.087V93.633L91.773,92.54V92.054L91.713,91.447L92.198,90.962L92.138,90.415Z" android:fillColor="#3F3F43"/> <path - android:pathData="M89.892,96.305L90.438,96.548V96.305H89.892Z" + android:pathData="M89.892,96.305L90.438,96.547V96.305H89.892Z" android:fillColor="#3F3F43"/> <path - android:pathData="M90.438,96.547V96.85L89.952,97.457L90.498,97.397L91.045,97.336V96.79H90.984L90.438,96.547Z" + android:pathData="M90.438,96.547V96.851L89.952,97.458L90.498,97.397L91.045,97.336V96.79H90.984L90.438,96.547Z" android:fillColor="#3F3F43"/> <path android:pathData="M80.178,131.939L81.21,131.878H80.725L80.178,131.939Z" android:fillColor="#3F3F43"/> <path - android:pathData="M95.173,112.938L95.719,112.392L95.173,112.938Z" + android:pathData="M95.173,112.938L95.719,112.391L95.173,112.938Z" android:fillColor="#3F3F43"/> <path - android:pathData="M94.748,118.401L95.233,118.826L95.294,119.372L94.869,119.919L94.323,120.526V121.011L94.384,121.497L93.898,122.104L93.473,123.197L92.987,123.743V124.29L93.048,124.715H93.412V124.775H93.594L93.655,125.868H93.109L93.17,126.293L94.019,126.232L94.505,126.172L94.08,126.718L93.594,127.325L93.048,127.386H92.502L92.016,127.932L92.077,128.478H91.53L90.498,128.539L89.952,128.6L89.466,128.661L88.859,128.175H88.313V127.689L87.767,127.75H87.281L86.735,127.811L87.342,128.236L86.795,128.843L86.249,128.357H85.702L85.763,128.903L85.278,129.996L84.246,130.057L82.728,130.725V131.21L82.242,131.271L81.21,131.878L81.271,132.91H81.817L82.364,132.849L82.303,132.303H82.849V132.789L83.335,132.242L84.367,131.635L85.46,132.121L86.492,131.999L86.552,132.546L87.099,133.032L88.131,132.971L88.617,132.424V131.878L88.556,131.332L89.041,130.785L89.648,131.271L90.134,131.21H90.68L91.166,131.15L91.713,131.089L92.259,131.635L92.866,132.121V132.607H93.412L93.898,131.999L94.93,131.939L95.476,132.424L96.569,132.364L96.508,131.817L97.055,131.271L97.601,131.757L98.147,132.242H98.633L99.179,132.182L99.24,132.667L100.272,132.607L100.819,132.546H101.365L101.851,132.485L102.397,132.971H102.943L103.49,133.456L104.522,132.849L105.068,132.789L105.614,133.274L106.1,132.728L106.586,132.182L107.132,132.121L107.618,131.575L108.103,131.028L107.557,130.543H107.071L106.525,131.15L105.918,130.664H105.432L104.886,130.178L104.34,129.693L104.279,129.207L104.825,129.146H105.311L105.857,129.571L106.343,129.025V128.478L105.797,128.539L106.282,127.993H106.889L107.375,127.932H107.921L107.861,127.325H108.407L108.893,127.264L109.378,126.718L109.864,126.172L109.803,125.625L110.35,124.593L110.289,124.047L110.228,122.954L109.621,122.468L108.528,122.044L107.496,122.104L106.889,121.619L106.464,122.165L105.857,122.226L105.372,122.772L104.825,122.286L104.765,121.801V121.254L105.25,121.194L105.797,120.647L106.282,120.101V119.615L106.222,119.008V118.523L105.614,118.037L105.554,117.49L104.461,117.066L103.975,117.126L103.915,116.58L104.4,116.519L104.947,116.458L105.493,117.005L105.311,114.394V113.848L105.25,113.302L105.19,112.816L104.643,112.27L104.582,111.784H104.097L103.55,111.359H103.004V110.873L102.883,109.781V109.234L103.368,108.749L103.308,108.202L102.761,107.717L102.701,107.17V106.685L103.125,105.592L102.579,105.106L101.972,104.074L101.911,104.196L101.972,104.256L101.486,105.349L101.183,105.41L101.547,105.713L101.426,105.835H101.547L101.061,106.442L100.454,105.956H99.969V106.32V106.503L99.483,106.563H99.544V107.049L98.997,107.11L98.512,107.656L98.026,108.263H97.48L97.419,107.777V107.595L96.933,108.142L96.448,108.202V108.688L95.962,108.202L95.416,108.749L94.93,109.295L94.991,109.841L95.051,110.934L95.112,111.42L95.659,111.905L96.205,111.845L95.719,112.391L96.205,112.33L97.298,112.816V113.362L96.326,113.423V113.969H95.78L95.841,114.516L95.901,115.062H95.355L94.869,115.669V116.155L95.416,116.094L95.476,116.641V117.126H96.023L95.537,117.733H94.991L94.93,117.187L94.505,117.733L94.687,117.855L94.748,118.401Z" + android:pathData="M94.748,118.401L95.233,118.826L95.294,119.372L94.869,119.918L94.323,120.525V121.011L94.384,121.497L93.898,122.104L93.473,123.197L92.987,123.743V124.289L93.048,124.714H93.412V124.775H93.594L93.655,125.868H93.109L93.17,126.293L94.019,126.232L94.505,126.171L94.08,126.718L93.594,127.325L93.048,127.385H92.502L92.016,127.932L92.077,128.478H91.53L90.498,128.539L89.952,128.599L89.466,128.66L88.859,128.175H88.313V127.689L87.767,127.75H87.281L86.735,127.81L87.342,128.235L86.795,128.842L86.249,128.357H85.702L85.763,128.903L85.278,129.996L84.246,130.056L82.728,130.724V131.21L82.242,131.271L81.21,131.878L81.271,132.91H81.817L82.364,132.849L82.303,132.303H82.849V132.788L83.335,132.242L84.367,131.635L85.46,132.12L86.492,131.999L86.552,132.545L87.099,133.031L88.131,132.97L88.617,132.424V131.878L88.556,131.331L89.041,130.785L89.648,131.271L90.134,131.21H90.68L91.166,131.149L91.713,131.088L92.259,131.635L92.866,132.12V132.606H93.412L93.898,131.999L94.93,131.938L95.476,132.424L96.569,132.363L96.508,131.817L97.055,131.271L97.601,131.756L98.147,132.242H98.633L99.179,132.181L99.24,132.667L100.272,132.606L100.819,132.545H101.365L101.851,132.485L102.397,132.97H102.943L103.49,133.456L104.522,132.849L105.068,132.788L105.614,133.274L106.1,132.728L106.586,132.181L107.132,132.12L107.618,131.574L108.103,131.028L107.557,130.542H107.071L106.525,131.149L105.918,130.664H105.432L104.886,130.178L104.34,129.692L104.279,129.207L104.825,129.146H105.311L105.857,129.571L106.343,129.024V128.478L105.797,128.539L106.282,127.992H106.889L107.375,127.932H107.921L107.861,127.325H108.407L108.893,127.264L109.378,126.718L109.864,126.171L109.803,125.625L110.35,124.593L110.289,124.046L110.228,122.954L109.621,122.468L108.528,122.043L107.496,122.104L106.889,121.618L106.464,122.165L105.857,122.225L105.372,122.772L104.825,122.286L104.765,121.8V121.254L105.25,121.193L105.797,120.647L106.282,120.1V119.615L106.222,119.008V118.522L105.614,118.036L105.554,117.49L104.461,117.065L103.975,117.126L103.915,116.579L104.4,116.519L104.947,116.458L105.493,117.004L105.311,114.394V113.848L105.25,113.301L105.19,112.816L104.643,112.269L104.582,111.784H104.097L103.55,111.359H103.004V110.873L102.883,109.78V109.234L103.368,108.748L103.308,108.202L102.761,107.716L102.701,107.17V106.684L103.125,105.591L102.579,105.106L101.972,104.074L101.911,104.195L101.972,104.256L101.486,105.349L101.183,105.409L101.547,105.713L101.426,105.834H101.547L101.061,106.441L100.454,105.956H99.969V106.32V106.502L99.483,106.563H99.544V107.048L98.997,107.109L98.512,107.656L98.026,108.263H97.48L97.419,107.777V107.595L96.933,108.141L96.448,108.202V108.688L95.962,108.202L95.416,108.748L94.93,109.295L94.991,109.841L95.051,110.934L95.112,111.419L95.659,111.905L96.205,111.844L95.719,112.391L96.205,112.33L97.298,112.816V113.362L96.326,113.423V113.969H95.78L95.841,114.515L95.901,115.062H95.355L94.869,115.669V116.155L95.416,116.094L95.476,116.64V117.126H96.023L95.537,117.733H94.991L94.93,117.187L94.505,117.733L94.687,117.854L94.748,118.401Z" android:fillColor="#3F3F43"/> <path - android:pathData="M89.648,121.375L89.163,121.922L88.677,122.529L88.07,121.983L87.584,122.59H87.099L86.552,122.65L86.006,122.711L85.46,122.165L84.974,122.772V123.257L84.488,123.804L85.581,123.743L86.127,123.682V124.229H85.581L85.642,124.775L86.734,124.714L87.22,124.107H87.706L88.252,124.047V124.593L88.313,125.139V125.686L89.406,125.564H89.952L89.466,126.171L90.013,126.596L90.62,127.082L91.045,127.021L92.137,126.961L92.684,126.9L93.169,126.353V126.293L93.109,125.868H93.655L93.594,124.775H93.412L93.048,124.836V124.714L92.987,124.289V123.743L93.473,123.197L93.898,122.104L94.383,121.497L94.323,121.011V120.526L94.869,119.918L95.294,119.372L95.233,118.826L94.748,118.401L94.687,117.854L94.505,117.733L94.08,117.369L94.019,116.822L93.534,116.883H93.048L92.987,116.397L91.409,117.005L90.863,117.065L90.377,117.612L89.406,117.672L88.859,118.279H88.373V118.826L88.92,118.765L89.406,118.219L90.013,118.704L90.438,118.158L90.984,118.097V118.644L90.498,119.19L90.559,119.676V120.222L90.134,120.283L90.62,120.768L90.195,121.315L89.648,121.375Z" + android:pathData="M89.648,121.376L89.163,121.922L88.677,122.529L88.07,121.983L87.584,122.59H87.099L86.552,122.651L86.006,122.711L85.46,122.165L84.974,122.772V123.258L84.488,123.804L85.581,123.743L86.127,123.683V124.229H85.581L85.642,124.775L86.734,124.715L87.22,124.108H87.706L88.252,124.047V124.593L88.313,125.14V125.686L89.406,125.565H89.952L89.466,126.172L90.013,126.597L90.62,127.082L91.045,127.022L92.137,126.961L92.684,126.9L93.169,126.354V126.293L93.109,125.868H93.655L93.594,124.775H93.412L93.048,124.836V124.715L92.987,124.29V123.743L93.473,123.197L93.898,122.104L94.383,121.497L94.323,121.012V120.526L94.869,119.919L95.294,119.372L95.233,118.826L94.748,118.401L94.687,117.855L94.505,117.733L94.08,117.369L94.019,116.823L93.534,116.883H93.048L92.987,116.398L91.409,117.005L90.863,117.066L90.377,117.612L89.406,117.673L88.859,118.28H88.373V118.826L88.92,118.765L89.406,118.219L90.013,118.705L90.438,118.158L90.984,118.098V118.644L90.498,119.19L90.559,119.676V120.222L90.134,120.283L90.62,120.769L90.195,121.315L89.648,121.376Z" android:fillColor="#3F3F43"/> <path - android:pathData="M97.48,108.263H98.026L98.512,107.656L98.997,107.11L99.544,107.049V106.563H99.483L99.969,106.503V106.32L99.908,105.956H99.969H100.454L101.061,106.442L101.547,105.835H101.426L100.94,105.41H101.183L101.486,105.349L101.972,104.256L101.911,104.196L101.365,103.224L100.758,102.739L100.212,102.314H99.665L98.633,102.375L98.148,102.435L97.54,101.95L96.994,102.01V101.464H97.54L98.087,101.889H98.633L99.18,101.828L99.119,101.342L100.151,101.282L100.637,100.675H100.09L99.544,100.189L99.058,100.25V99.764L100.029,99.643H100.576L101.122,100.068L101.669,99.582L102.154,99.521L102.094,98.975L103.126,98.429L103.611,97.822V97.336L103.004,96.85L103.49,96.243H104.036L103.975,95.697L104.522,95.636L105.007,95.15L104.947,94.604V94.058L104.461,94.118H103.854L103.368,94.179L103.308,93.633L102.701,93.147L102.215,93.208L101.183,93.268H100.637L99.604,93.39H99.058L98.087,93.997L97.54,94.058V93.511L97.48,92.965L97.419,92.479L98.451,91.872H98.937L98.876,91.326L99.362,90.78L99.908,90.719L100.454,90.658L101.001,90.112L101.426,89.565L102.458,89.444V88.958L102.943,88.412L102.336,87.926H101.851L101.304,87.987V87.501L100.272,88.048L99.18,87.623L99.119,87.076L98.633,87.683L98.148,87.137H98.573L97.54,86.651L97.055,86.712V87.198L96.569,88.29H97.176L96.63,88.897L95.537,88.412L96.084,88.897L95.598,88.958L95.051,89.444L95.659,89.93V90.537L95.719,91.022L95.173,90.537L94.627,90.597V89.99L94.08,90.051L93.534,90.112L93.048,90.719L93.109,91.204V91.751L93.17,92.236L93.716,92.722L93.777,93.268L92.745,93.329L92.805,93.876V94.361L92.259,94.422L91.773,94.968L91.834,95.515L91.895,96.061L90.863,96.607L90.984,96.789H91.045L91.409,97.093L91.955,97.639L92.38,96.486H92.987L93.412,95.94L93.959,95.879L93.473,96.425L92.987,97.032L92.502,97.579L93.048,97.518V98.064L92.502,98.125H92.016L91.531,98.671L91.045,99.764L91.105,100.31V100.796L91.652,100.25L92.077,99.218L92.563,99.157L93.17,99.582L93.23,100.128L92.684,100.675L92.198,100.735L92.259,101.282L92.745,101.221L93.291,101.16L93.837,101.707H94.384V102.192H93.898V102.739L93.412,103.285L92.927,103.831L92.441,104.439H91.955V104.985L91.47,105.531H90.923L90.984,106.138H90.438L90.498,106.624L90.559,107.717L90.62,108.263L91.105,108.202V107.656L91.045,107.11H91.591L92.137,107.595L92.198,108.142L92.745,108.627V108.081L92.684,107.535L93.17,106.988L93.716,107.474L93.777,108.02L94.748,107.413L94.809,107.96L95.355,107.899L95.294,107.352H95.841L96.387,107.838L96.873,107.777L97.419,107.231V107.595V107.777L97.48,108.263Z" + android:pathData="M97.48,108.263H98.026L98.512,107.656L98.997,107.11L99.544,107.049V106.563H99.483L99.969,106.503V106.321L99.908,105.956H99.969H100.454L101.061,106.442L101.547,105.835H101.426L100.94,105.41H101.183L101.486,105.349L101.972,104.257L101.911,104.196L101.365,103.225L100.758,102.739L100.212,102.314H99.665L98.633,102.375L98.148,102.435L97.54,101.95L96.994,102.01V101.464H97.54L98.087,101.889H98.633L99.18,101.828L99.119,101.343L100.151,101.282L100.637,100.675H100.09L99.544,100.189L99.058,100.25V99.764L100.029,99.643H100.576L101.122,100.068L101.669,99.582L102.154,99.521L102.094,98.975L103.126,98.429L103.611,97.822V97.336L103.004,96.85L103.49,96.243H104.036L103.975,95.697L104.522,95.636L105.007,95.15L104.947,94.604V94.058L104.461,94.118H103.854L103.368,94.179L103.308,93.633L102.701,93.147L102.215,93.208L101.183,93.269H100.637L99.604,93.39H99.058L98.087,93.997L97.54,94.058V93.511L97.48,92.965L97.419,92.479L98.451,91.872H98.937L98.876,91.326L99.362,90.78L99.908,90.719L100.454,90.658L101.001,90.112L101.426,89.565L102.458,89.444V88.958L102.943,88.412L102.336,87.926H101.851L101.304,87.987V87.502L100.272,88.048L99.18,87.623L99.119,87.076L98.633,87.684L98.148,87.137H98.573L97.54,86.652L97.055,86.712V87.198L96.569,88.291H97.176L96.63,88.898L95.537,88.412L96.084,88.898L95.598,88.958L95.051,89.444L95.659,89.93V90.537L95.719,91.022L95.173,90.537L94.627,90.598V89.99L94.08,90.051L93.534,90.112L93.048,90.719L93.109,91.205V91.751L93.17,92.237L93.716,92.722L93.777,93.269L92.745,93.329L92.805,93.876V94.361L92.259,94.422L91.773,94.968L91.834,95.515L91.895,96.061L90.863,96.607L90.984,96.79H91.045L91.409,97.093L91.955,97.64L92.38,96.486H92.987L93.412,95.94L93.959,95.879L93.473,96.425L92.987,97.033L92.502,97.579L93.048,97.518V98.064L92.502,98.125H92.016L91.531,98.672L91.045,99.764L91.105,100.311V100.796L91.652,100.25L92.077,99.218L92.563,99.157L93.17,99.582L93.23,100.129L92.684,100.675L92.198,100.736L92.259,101.282L92.745,101.221L93.291,101.161L93.837,101.707H94.384V102.193H93.898V102.739L93.412,103.285L92.927,103.832L92.441,104.439H91.955V104.985L91.47,105.531H90.923L90.984,106.139H90.438L90.498,106.624L90.559,107.717L90.62,108.263L91.105,108.203V107.656L91.045,107.11H91.591L92.137,107.596L92.198,108.142L92.745,108.628V108.081L92.684,107.535L93.17,106.988L93.716,107.474L93.777,108.02L94.748,107.413L94.809,107.96L95.355,107.899L95.294,107.353H95.841L96.387,107.838L96.873,107.778L97.419,107.231V107.596V107.778L97.48,108.263Z" android:fillColor="#3F3F43"/> <path - android:pathData="M151.752,165.812L150.963,165.266L151.691,164.78L151.874,164.598L151.813,164.173L151.631,163.688L151.449,163.263L151.57,162.656V162.595L151.084,162.656L150.781,162.352L150.477,162.109L149.445,162.17L148.899,162.231H148.413L147.867,162.291H147.806L147.442,161.927L147.321,161.866L147.26,161.806L146.713,161.259L146.653,160.774L146.167,160.349L145.56,159.863L144.589,159.924L144.042,159.985H143.496L142.95,160.045L142.403,159.56L141.857,159.62L141.918,160.106L140.946,160.713L140.4,160.774H139.854V160.713H139.793L139.732,160.227V159.742L139.246,159.802H138.639V159.863H139.307H138.761L138.822,160.349V160.956L138.882,161.441L138.336,161.502L137.79,161.017L137.304,161.563L136.818,162.109L137.243,162.534L137.365,162.595L136.879,163.141L136.333,162.656L135.786,162.716L135.24,162.777H134.754L134.693,162.716H134.633V162.17L134.147,161.745L133.601,161.806L133.661,162.352L133.722,163.384H133.176L132.69,163.991L132.204,164.538V165.084L131.719,164.598L131.112,164.113L130.565,163.566L130.505,163.506L130.444,163.02L130.383,162.474L129.958,162.049L129.412,162.109L128.926,162.656L128.987,163.202L128.441,164.295L127.955,164.355L126.923,164.416L126.316,163.87L124.313,164.598L124.13,164.477H123.827H123.705V165.023L123.159,165.084L123.22,165.57L123.766,166.116L123.827,166.602L124.373,167.087L123.888,167.634L123.402,168.18L122.916,168.787L122.37,168.848H121.824L121.338,168.908V169.394L121.52,169.516L121.641,169.637L121.945,169.88H122.431L122.552,169.94L123.038,170.365V170.851L123.098,171.397L122.613,171.944V172.49L122.734,173.522V174.008L123.341,175.04H123.463H123.888L124.92,174.979L125.041,175.04L125.466,175.465L124.98,176.011L125.041,176.497L124.555,177.104L124.07,177.59L124.616,177.347V177.286L125.041,177.104L125.587,176.497L126.073,176.436L126.619,176.375L127.651,175.829L128.137,175.283L128.076,174.736L128.562,174.19L129.048,173.583L130.14,173.522L130.626,173.461L131.78,174.494L132.265,173.886L133.904,174.858L133.844,174.311L134.39,173.765L134.876,173.704H135.422L134.936,174.251L134.997,174.797L135.543,175.283L135.058,175.768L136.15,176.74L136.879,178.864L137.486,180.868L138.093,181.414L139.307,183.903H139.854L141.007,184.874L141.553,185.906L142.16,186.331L142.707,186.878L144.346,188.274L147.745,191.249L148.292,191.188L148.899,192.22L149.931,192.159L150.538,193.131L151.024,192.584L152.723,194.041L153.331,194.527L153.816,195.013L154.363,194.952L155.455,195.923H156.062L156.548,196.409L156.669,197.441V197.987L156.73,198.473L157.823,198.958L158.369,198.898H158.855L159.948,199.323L160.494,199.808L160.555,200.355L161.101,200.84L161.708,202.358L162.376,203.876L162.497,205.454L161.951,206.001L161.465,206.061L160.98,206.122V206.608L161.04,207.154V207.64L161.101,208.125L160.615,208.732L160.13,209.279L160.19,209.825L160.737,210.311L161.222,210.25H161.769L162.254,210.189L162.801,209.643H163.287V209.097L164.319,208.489L164.258,207.943L164.197,206.911L164.683,206.365L165.168,205.818L165.654,205.211H166.2L166.686,205.151H167.232V204.604L167.172,204.119V203.572L167.05,202.479V201.994L166.99,201.447L166.383,200.962L165.411,201.569L164.804,200.719L164.561,199.323L164.683,198.473L165.168,198.412V197.866L165.654,197.38H165.108L165.593,196.834L166.079,196.287L166.625,196.227L167.111,196.166L167.172,196.712L168.264,197.198L168.811,197.137H169.297L169.843,197.077L170.389,197.016V197.502L170.45,198.048L170.996,198.534V199.08L171.603,199.566H172.089L172.635,199.505L173.121,198.898L173.06,197.866L173,196.834L172.939,196.287L171.846,195.862L171.3,194.83L170.693,194.345L169.6,193.859L168.568,193.981L168.022,193.495L167.475,193.009L165.775,192.584L165.29,192.099L164.683,191.613H164.197L163.165,191.734L162.558,191.249L161.465,190.824H160.919L161.465,190.277L161.951,190.217L162.437,189.67L162.376,188.578L160.737,188.213L160.251,188.274L158.673,188.335L157.58,188.456L156.548,187.97L155.88,186.999L155.395,186.453L154.241,185.482L153.573,184.51L152.541,183.539L152.481,182.446L152.906,181.9L152.359,180.928L151.691,179.896V179.35L151.145,178.864L151.084,177.893H150.477L149.445,177.407L148.353,176.983H147.806L146.713,176.558L146.653,176.011L146.106,175.586V175.04L145.499,174.008L145.985,173.461L145.924,172.915V172.429L146.349,171.883L146.896,171.276L146.835,170.79H146.289L145.742,170.305V169.819L145.196,169.88L145.681,169.273L146.167,169.212L146.106,168.18L147.199,168.119L147.685,168.059H148.231L148.778,167.998L149.263,167.451L149.749,167.391L149.688,166.905L150.295,166.844H150.781L150.842,167.33L151.388,167.816L151.327,166.784L151.813,166.723L151.934,166.602L151.813,166.541L151.752,165.812Z" + android:pathData="M151.752,165.813L150.963,165.266L151.691,164.781L151.874,164.599L151.813,164.174L151.631,163.688L151.449,163.263L151.57,162.656V162.595L151.084,162.656L150.781,162.352L150.477,162.11L149.445,162.17L148.899,162.231H148.413L147.867,162.292H147.806L147.442,161.928L147.321,161.867L147.26,161.806L146.713,161.26L146.653,160.774L146.167,160.349L145.56,159.863L144.589,159.924L144.042,159.985H143.496L142.95,160.046L142.403,159.56L141.857,159.621L141.918,160.106L140.946,160.713L140.4,160.774H139.854V160.713H139.793L139.732,160.228V159.742L139.246,159.803H138.639V159.863H139.307H138.761L138.822,160.349V160.956L138.882,161.442L138.336,161.503L137.79,161.017L137.304,161.563L136.818,162.11L137.243,162.535L137.365,162.595L136.879,163.142L136.333,162.656L135.786,162.717L135.24,162.777H134.754L134.693,162.717H134.633V162.17L134.147,161.745L133.601,161.806L133.661,162.352L133.722,163.384H133.176L132.69,163.992L132.204,164.538V165.084L131.719,164.599L131.112,164.113L130.565,163.567L130.505,163.506L130.444,163.02L130.383,162.474L129.958,162.049L129.412,162.11L128.926,162.656L128.987,163.202L128.441,164.295L127.955,164.356L126.923,164.417L126.316,163.87L124.313,164.599L124.13,164.477H123.827H123.705V165.024L123.159,165.084L123.22,165.57L123.766,166.116L123.827,166.602L124.373,167.088L123.888,167.634L123.402,168.18L122.916,168.787L122.37,168.848H121.824L121.338,168.909V169.394L121.52,169.516L121.641,169.637L121.945,169.88H122.431L122.552,169.941L123.038,170.366V170.851L123.098,171.398L122.613,171.944V172.491L122.734,173.523V174.008L123.341,175.04H123.463H123.888L124.92,174.98L125.041,175.04L125.466,175.465L124.98,176.012L125.041,176.497L124.555,177.104L124.07,177.59L124.616,177.347V177.286L125.041,177.104L125.587,176.497L126.073,176.437L126.619,176.376L127.651,175.829L128.137,175.283L128.076,174.737L128.562,174.19L129.048,173.583L130.14,173.523L130.626,173.462L131.78,174.494L132.265,173.887L133.904,174.858L133.844,174.312L134.39,173.765L134.876,173.705H135.422L134.936,174.251L134.997,174.797L135.543,175.283L135.058,175.769L136.15,176.74L136.879,178.865L137.486,180.868L138.093,181.414L139.307,183.903H139.854L141.007,184.875L141.553,185.907L142.16,186.332L142.707,186.878L144.346,188.274L147.745,191.249L148.292,191.188L148.899,192.22L149.931,192.16L150.538,193.131L151.024,192.585L152.723,194.042L153.331,194.527L153.816,195.013L154.363,194.952L155.455,195.923H156.062L156.548,196.409L156.669,197.441V197.988L156.73,198.473L157.823,198.959L158.369,198.898H158.855L159.948,199.323L160.494,199.809L160.555,200.355L161.101,200.841L161.708,202.358L162.376,203.876L162.497,205.455L161.951,206.001L161.465,206.062L160.98,206.122V206.608L161.04,207.154V207.64L161.101,208.126L160.615,208.733L160.13,209.279L160.19,209.825L160.737,210.311L161.222,210.25H161.769L162.254,210.19L162.801,209.643H163.287V209.097L164.319,208.49L164.258,207.944L164.197,206.911L164.683,206.365L165.168,205.819L165.654,205.212H166.2L166.686,205.151H167.232V204.605L167.172,204.119V203.573L167.05,202.48V201.994L166.99,201.448L166.383,200.962L165.411,201.569L164.804,200.719L164.561,199.323L164.683,198.473L165.168,198.412V197.866L165.654,197.38H165.108L165.593,196.834L166.079,196.288L166.625,196.227L167.111,196.166L167.172,196.713L168.264,197.198L168.811,197.138H169.297L169.843,197.077L170.389,197.016V197.502L170.45,198.048L170.996,198.534V199.08L171.603,199.566H172.089L172.635,199.505L173.121,198.898L173.06,197.866L173,196.834L172.939,196.288L171.846,195.863L171.3,194.831L170.693,194.345L169.6,193.859L168.568,193.981L168.022,193.495L167.475,193.01L165.775,192.585L165.29,192.099L164.683,191.613H164.197L163.165,191.735L162.558,191.249L161.465,190.824H160.919L161.465,190.278L161.951,190.217L162.437,189.671L162.376,188.578L160.737,188.214L160.251,188.274L158.673,188.335L157.58,188.457L156.548,187.971L155.88,187L155.395,186.453L154.241,185.482L153.573,184.511L152.541,183.539L152.481,182.447L152.906,181.9L152.359,180.929L151.691,179.897V179.35L151.145,178.865L151.084,177.893H150.477L149.445,177.408L148.353,176.983H147.806L146.713,176.558L146.653,176.012L146.106,175.587V175.04L145.499,174.008L145.985,173.462L145.924,172.915V172.43L146.349,171.883L146.896,171.276L146.835,170.791H146.289L145.742,170.305V169.819L145.196,169.88L145.681,169.273L146.167,169.212L146.106,168.18L147.199,168.12L147.685,168.059H148.231L148.778,167.998L149.263,167.452L149.749,167.391L149.688,166.905L150.295,166.845H150.781L150.842,167.33L151.388,167.816L151.327,166.784L151.813,166.723L151.934,166.602L151.813,166.541L151.752,165.813Z" android:fillColor="#3F3F43"/> <path - android:pathData="M136.575,159.5L136.211,159.136L135.725,159.257L135.3,159.318L134.936,158.893V158.529L134.875,157.982L135.361,157.436V156.95L134.815,156.707L134.268,156.525V156.1H133.843L133.358,156.161L133.297,156.04L133.236,156.1L133.176,155.554L132.204,155.675H131.658L131.112,155.736H130.626L130.08,155.797L129.594,155.858H129.048L127.955,155.433V155.918L127.894,155.858V155.918L127.408,155.493V155.554V155.493L127.348,155.433V155.858L127.408,155.979L126.862,155.493L126.801,155.433L126.376,156.525L125.769,156.04L125.284,155.615L125.223,155.554L124.737,156.161V156.647L124.312,157.739L123.341,158.347L122.248,158.407L121.823,158.954V159.5L120.852,160.593L120.366,161.685L120.974,162.717H121.034L122.006,162.11L122.43,161.018H122.552H122.977V160.471H123.038H123.22L123.463,160.411L124.07,161.443L124.13,161.989L123.584,162.05H123.341H123.159H123.098V162.535L123.645,163.021L123.159,163.082V163.628L123.705,164.053L123.766,164.174L124.13,164.478L124.312,164.599L126.316,163.871L126.923,164.417L127.955,164.357L128.44,164.296L128.987,163.203L128.926,162.657L129.412,162.11L129.958,162.05L130.383,162.475L130.505,162.535L130.565,163.082V163.567L131.112,164.114L131.719,164.599L132.204,165.085V164.539L132.69,163.992L133.176,163.385H133.722L133.661,162.353L133.601,161.807L134.147,161.746L134.633,162.171L134.693,162.293V162.717L134.754,162.778H135.24L135.786,162.717L136.332,162.657L136.879,163.142L137.364,162.596L137.243,162.535L136.757,162.11H136.818L137.304,161.564L137.789,161.018L138.336,161.503L138.882,161.443L138.821,160.957V160.35L138.761,159.864H139.307H138.639L137.182,159.986L136.575,159.5Z" + android:pathData="M136.575,159.5L136.211,159.135L135.725,159.257L135.3,159.317L134.936,158.892V158.528L134.875,157.982L135.361,157.436V156.95L134.815,156.707L134.268,156.525V156.1H133.843L133.358,156.161L133.297,156.039L133.236,156.1L133.176,155.554L132.204,155.675H131.658L131.112,155.736H130.626L130.08,155.796L129.594,155.857H129.048L127.955,155.432V155.918L127.894,155.857V155.918L127.408,155.493V155.554V155.493L127.348,155.432V155.857L127.408,155.979L126.862,155.493L126.801,155.432L126.376,156.525L125.769,156.039L125.284,155.614L125.223,155.554L124.737,156.161V156.646L124.312,157.739L123.341,158.346L122.248,158.407L121.823,158.953V159.5L120.852,160.592L120.366,161.685L120.974,162.717H121.034L122.006,162.11L122.43,161.017H122.552H122.977V160.471H123.038H123.22L123.463,160.41L124.07,161.442L124.13,161.989L123.584,162.049H123.341H123.159H123.098V162.535L123.645,163.021L123.159,163.081V163.628L123.705,164.053L123.766,164.174L124.13,164.478L124.312,164.599L126.316,163.87L126.923,164.417L127.955,164.356L128.44,164.295L128.987,163.203L128.926,162.656L129.412,162.11L129.958,162.049L130.383,162.474L130.505,162.535L130.565,163.081V163.567L131.112,164.113L131.719,164.599L132.204,165.085V164.538L132.69,163.992L133.176,163.385H133.722L133.661,162.353L133.601,161.806L134.147,161.746L134.633,162.171L134.693,162.292V162.717L134.754,162.778H135.24L135.786,162.717L136.332,162.656L136.879,163.142L137.364,162.596L137.243,162.535L136.757,162.11H136.818L137.304,161.564L137.789,161.017L138.336,161.503L138.882,161.442L138.821,160.957V160.349L138.761,159.864H139.307H138.639L137.182,159.985L136.575,159.5Z" android:fillColor="#3F3F43"/> <path - android:pathData="M162.497,159.741L162.982,159.681L163.407,158.649L163.347,157.616H163.407V157.556L163.893,157.495L163.832,157.07V156.524L163.225,156.038L163.165,155.492H163.225V155.431H163.772H163.893L164.379,155.128L164.257,155.37H164.318V155.552L164.864,155.674L164.804,155.431L164.864,155.37V155.31L165.229,154.824L164.864,153.853L164.621,153.246L164.318,152.881L164.682,152.699H164.621H164.682L165.046,152.517L164.986,152.396L164.439,151.789L164.561,151.303L164.197,150.878L163.589,150.939L163.043,150.817L162.193,150.453L162.072,150.15L161.708,149.846L161.404,149.421V149.36L160.372,149.482H159.826L159.704,149.36H159.644L159.219,148.996L158.733,149.057H158.187L157.155,149.178L156.851,149.482L156.669,149.725L156.73,150.271L156.244,150.817L155.151,150.878L154.119,150.939L153.998,150.817H153.937L153.512,150.453L153.026,150.514V151.06H152.48L151.994,151.121L151.387,151.182L151.448,151.667L150.962,152.214L150.537,152.76L148.898,152.881L148.959,153.974L149.02,154.46L149.445,154.824V154.885L149.627,155.006L149.688,155.492V156.038L150.112,156.402L150.234,156.524V157.009L150.295,157.556L149.809,157.616L149.87,158.102L149.688,157.981L149.566,157.92L149.263,157.616L149.141,157.495L149.08,157.009V156.524L148.109,156.099L147.623,156.16V156.706L147.016,156.22H146.531L145.438,156.342H144.952L144.467,156.888L143.981,156.949L143.374,157.009L142.828,156.524L142.342,157.07L141.796,157.131H141.249V157.009H141.128V156.584L140.217,156.16L139.732,157.252L139.246,157.313L138.7,157.799L138.396,157.556L138.153,157.374H137.607L137.485,157.252L137.364,157.192L137.06,156.888L136.514,156.402L135.968,156.463L135.482,157.009L135.361,156.949V157.434L134.875,157.981L135.421,157.616L135.543,157.495L136.271,157.981L136.332,158.77L136.211,159.134L136.575,159.438L137.182,159.923L138.639,159.802H139.246L139.732,159.741H139.792V160.288L139.853,160.713V160.773H140.399L140.946,160.713L141.917,160.105L141.856,159.62L142.403,159.559L142.949,160.045L143.495,159.984H144.042L144.588,159.923L145.559,159.863L146.167,160.348L146.652,160.773L146.713,160.834L146.774,161.32L147.32,161.866L147.441,161.927L147.866,162.291L148.413,162.23H148.898L149.445,162.17L150.477,162.109H150.537L150.78,162.352L151.084,162.655L151.569,162.594H151.63L151.691,162.655L152.601,162.291L153.026,162.23L153.694,162.959H153.876L154.241,162.898H154.787L155.394,163.323L155.515,162.837L156.244,162.473L156.912,162.594L156.851,162.412L157.215,161.623H157.337H157.762L158.551,161.562L158.915,161.502H159.461H159.522L159.947,161.441L160.372,161.259L160.858,161.077L161.465,161.198L162.132,160.591L162.436,159.741H162.497Z" + android:pathData="M162.497,159.742L162.983,159.681L163.407,158.649L163.347,157.617H163.407V157.556L163.893,157.496L163.832,157.071V156.524L163.225,156.039L163.165,155.492H163.225V155.431H163.772H163.893L164.379,155.128L164.257,155.371H164.318V155.553L164.864,155.674L164.804,155.431L164.864,155.371V155.31L165.229,154.824L164.864,153.853L164.622,153.246L164.318,152.882L164.682,152.7H164.622H164.682L165.047,152.518L164.986,152.396L164.439,151.789L164.561,151.303L164.197,150.878L163.59,150.939L163.043,150.818L162.193,150.453L162.072,150.15L161.708,149.846L161.404,149.421V149.361L160.372,149.482H159.826L159.704,149.361H159.644L159.219,148.997L158.733,149.057H158.187L157.155,149.179L156.851,149.482L156.669,149.725L156.73,150.271L156.244,150.818L155.151,150.878L154.119,150.939L153.998,150.818H153.937L153.512,150.453L153.027,150.514V151.061H152.48L151.995,151.121L151.387,151.182L151.448,151.668L150.963,152.214L150.538,152.76L148.898,152.882L148.959,153.975L149.02,154.46L149.445,154.824V154.885L149.627,155.007L149.688,155.492V156.039L150.113,156.403L150.234,156.524V157.01L150.295,157.556L149.809,157.617L149.87,158.103L149.688,157.981L149.566,157.92L149.263,157.617L149.141,157.496L149.081,157.01V156.524L148.109,156.099L147.624,156.16V156.706L147.017,156.221H146.531L145.438,156.342H144.952L144.467,156.888L143.981,156.949L143.374,157.01L142.828,156.524L142.342,157.071L141.796,157.131H141.249V157.01H141.128V156.585L140.217,156.16L139.732,157.253L139.246,157.313L138.7,157.799L138.396,157.556L138.153,157.374H137.607L137.486,157.253L137.364,157.192L137.061,156.888L136.514,156.403L135.968,156.463L135.482,157.01L135.361,156.949V157.435L134.875,157.981L135.421,157.617L135.543,157.496L136.271,157.981L136.332,158.77L136.211,159.135L136.575,159.438L137.182,159.924L138.639,159.802H139.246L139.732,159.742H139.792V160.288L139.853,160.713V160.774H140.399L140.946,160.713L141.917,160.106L141.856,159.62L142.403,159.56L142.949,160.045L143.496,159.985H144.042L144.588,159.924L145.56,159.863L146.167,160.349L146.652,160.774L146.713,160.834L146.774,161.32L147.32,161.866L147.441,161.927L147.866,162.291L148.413,162.231H148.898L149.445,162.17L150.477,162.109H150.538L150.78,162.352L151.084,162.656L151.57,162.595H151.63L151.691,162.656L152.602,162.291L153.027,162.231L153.694,162.959H153.876L154.241,162.898H154.787L155.394,163.323L155.516,162.838L156.244,162.473L156.912,162.595L156.851,162.413L157.215,161.624H157.337H157.762L158.551,161.563L158.915,161.502H159.462H159.522L159.947,161.441L160.372,161.259L160.858,161.077L161.465,161.199L162.133,160.592L162.436,159.742H162.497Z" android:fillColor="#3F3F43"/> <path - android:pathData="M134.936,158.529L134.875,157.982L134.936,158.529Z" + android:pathData="M134.936,158.529L134.875,157.983L134.936,158.529Z" android:fillColor="#3F3F43"/> <path - android:pathData="M129.958,124.29L130.019,124.776L130.08,125.261V125.808V125.868L129.533,125.929L129.594,126.415L129.655,127.447L129.715,127.933L129.655,127.993V128.054L129.23,128.54L129.776,128.965L129.837,129.511L129.412,131.089L129.351,131.15V131.211H128.805L128.319,131.271H127.833L127.226,131.332L126.741,130.846L125.162,131.514L124.191,132.061L124.252,132.546V133.032L124.373,134.125V134.61L124.312,134.671V134.732L123.341,135.278L123.402,135.764V136.31L123.463,136.796V136.856L123.038,137.889H123.523L123.584,138.374V138.921V138.981H123.098V139.467V139.528L123.159,139.71V140.013L123.22,140.499V140.985V141.045L123.766,141.531L124.373,142.017V142.199V142.563L124.434,142.684V143.049L124.495,143.534V143.656V144.141L124.009,144.202L124.07,144.323L124.555,145.113L125.162,146.145H125.223L125.769,146.63L126.801,147.116L127.894,146.995L128.441,147.48L129.048,147.42H129.533L130.019,147.905L130.08,147.966L129.108,149.059L128.623,149.605L128.198,150.698V151.183L127.712,151.79V152.276L127.773,153.308L127.833,153.854L127.348,154.401V154.947L127.409,155.494V155.554V155.494L127.894,155.858L127.955,155.919V155.433L129.048,155.858H129.594L130.08,155.797L130.626,155.736H131.112L131.658,155.676H132.204L133.176,155.554H133.297V156.04L133.358,156.161L133.843,156.101H134.268L134.39,156.04V156.586L134.815,156.708L135.361,156.951L135.483,157.011L135.968,156.465L136.515,156.404L137.061,156.89L137.364,157.193L137.486,157.254L137.607,157.375H138.154L138.396,157.558L138.7,157.8L139.246,157.315L139.732,157.254L140.218,156.161L141.128,156.586H141.25V157.011V157.133H141.796L142.342,157.072L142.828,156.526L143.374,157.011L143.982,156.951L144.467,156.89L144.953,156.343H145.439L146.531,156.222H147.017L147.624,156.708V156.161L148.11,156.101L149.081,156.526L149.142,156.586L149.202,157.072L149.263,157.618L149.567,157.922L149.688,157.983L149.87,158.104L149.809,157.618L150.295,157.558L150.234,157.011V156.526L150.113,156.404L149.688,156.04V155.494L149.627,155.008L149.445,154.886L149.02,154.462L148.96,153.976L148.899,152.883L150.538,152.762L150.963,152.215L151.449,151.669L151.388,151.183L151.995,151.123L152.481,151.062H153.027V150.516L152.663,150.091L152.177,149.484L151.691,149.059L151.327,148.634L151.206,148.512L150.72,148.573L150.174,148.087L149.567,147.055L149.02,146.023L148.413,145.598L148.352,145.052L148.292,144.02L147.745,143.474L147.199,143.049L147.078,142.017H146.592L145.985,140.985L145.863,139.953H145.924L146.471,140.438L146.531,140.985L147.503,140.377H147.563L148.11,140.863L149.142,140.802L150.113,140.195H150.174L150.659,140.135L151.145,139.588L151.691,139.528L153.209,138.374L153.695,137.828L154.18,137.281L155.212,136.674L155.819,137.16V137.706L156.305,137.646L156.851,137.099L156.791,137.039V137.099L156.73,136.553L156.669,134.975L157.094,134.428L156.609,134.489L156.548,133.943V133.396L156.427,131.818L156.366,131.332L155.759,130.3L155.698,129.814L155.637,129.268L156.184,128.661L155.698,128.722H155.637L155.091,128.236V127.75L154.484,127.265L153.877,126.233L154.362,125.686L154.848,125.079V124.594L154.787,124.047V123.501L154.727,123.015V122.651L154.666,121.498L153.088,121.558L152.966,120.526L152.905,119.434L151.873,119.555H151.327L151.266,119.009L150.72,118.584V118.037L150.174,118.098L149.688,118.644L149.142,118.705H148.595L147.624,119.312L146.592,119.919L146.046,119.434L146.106,119.919L145.56,119.98L144.467,120.041L143.982,120.101L142.828,119.616H143.435L143.374,119.069H143.86V118.523L143.799,117.977H143.314L142.707,118.037L142.282,118.644L141.675,117.612L141.189,117.673H140.643L140.582,117.187H140.096L139.489,117.248V116.702L139.975,116.155L139.429,115.67L138.821,115.184L138.7,115.063L138.457,115.305L138.639,115.063L138.336,114.759L137.425,114.82H137.364H137.304L136.818,114.395H136.332V114.881V114.395V114.273L136.15,114.334L136.272,115.366V115.913L136.818,116.337L136.879,116.884L135.847,117.491L135.361,117.552V118.037H135.847L135.908,118.523L135.968,119.069L137.061,119.555L136.575,120.101L137.122,120.587L138.214,121.012L138.275,122.105L137.729,121.073L137.122,120.587L136.029,120.648L135.058,120.708V121.255L135.118,122.287L135.179,122.833L134.693,123.38V123.865L134.147,122.894L134.086,122.408L134.026,121.862H133.54V122.408L133.054,122.469L132.994,121.923L133.479,121.376L132.386,120.891L131.354,120.951L130.262,121.073H129.776V121.619L129.29,122.165L129.351,122.712H129.898V123.197L130.444,123.683L130.383,123.744L129.958,124.29Z" + android:pathData="M129.958,124.29L130.019,124.776L130.08,125.261V125.808V125.868L129.533,125.929L129.594,126.415L129.655,127.447L129.715,127.932L129.655,127.993V128.054L129.23,128.539L129.776,128.964L129.837,129.511L129.412,131.089L129.351,131.15V131.211H128.805L128.319,131.271H127.833L127.226,131.332L126.741,130.846L125.162,131.514L124.191,132.06L124.252,132.546V133.032L124.373,134.125V134.61L124.312,134.671V134.732L123.341,135.278L123.402,135.764V136.31L123.463,136.796V136.856L123.038,137.888H123.523L123.584,138.374V138.92V138.981H123.098V139.467V139.527L123.159,139.71V140.013L123.22,140.499V140.984V141.045L123.766,141.531L124.373,142.016V142.199V142.563L124.434,142.684V143.048L124.495,143.534V143.656V144.141L124.009,144.202L124.07,144.323L124.555,145.112L125.162,146.145H125.223L125.769,146.63L126.801,147.116L127.894,146.994L128.441,147.48L129.048,147.419H129.533L130.019,147.905L130.08,147.966L129.108,149.058L128.623,149.605L128.198,150.698V151.183L127.712,151.79V152.276L127.773,153.308L127.833,153.854L127.348,154.401V154.947L127.409,155.493V155.554V155.493L127.894,155.858L127.955,155.918V155.433L129.048,155.858H129.594L130.08,155.797L130.626,155.736H131.112L131.658,155.676H132.204L133.176,155.554H133.297V156.04L133.358,156.161L133.843,156.1H134.268L134.39,156.04V156.586L134.815,156.708L135.361,156.95L135.483,157.011L135.968,156.465L136.515,156.404L137.061,156.89L137.364,157.193L137.486,157.254L137.607,157.375H138.154L138.396,157.557L138.7,157.8L139.246,157.315L139.732,157.254L140.218,156.161L141.128,156.586H141.25V157.011V157.133H141.796L142.342,157.072L142.828,156.525L143.374,157.011L143.982,156.95L144.467,156.89L144.953,156.343H145.439L146.531,156.222H147.017L147.624,156.708V156.161L148.11,156.1L149.081,156.525L149.142,156.586L149.202,157.072L149.263,157.618L149.567,157.922L149.688,157.982L149.87,158.104L149.809,157.618L150.295,157.557L150.234,157.011V156.525L150.113,156.404L149.688,156.04V155.493L149.627,155.008L149.445,154.886L149.02,154.461L148.96,153.976L148.899,152.883L150.538,152.762L150.963,152.215L151.449,151.669L151.388,151.183L151.995,151.123L152.481,151.062H153.027V150.515L152.663,150.09L152.177,149.483L151.691,149.058L151.327,148.634L151.206,148.512L150.72,148.573L150.174,148.087L149.567,147.055L149.02,146.023L148.413,145.598L148.352,145.052L148.292,144.02L147.745,143.473L147.199,143.048L147.078,142.016H146.592L145.985,140.984L145.863,139.952H145.924L146.471,140.438L146.531,140.984L147.503,140.377H147.563L148.11,140.863L149.142,140.802L150.113,140.195H150.174L150.659,140.135L151.145,139.588L151.691,139.527L153.209,138.374L153.695,137.828L154.18,137.281L155.212,136.674L155.819,137.16V137.706L156.305,137.646L156.851,137.099L156.791,137.038V137.099L156.73,136.553L156.669,134.974L157.094,134.428L156.609,134.489L156.548,133.942V133.396L156.427,131.818L156.366,131.332L155.759,130.3L155.698,129.814L155.637,129.268L156.184,128.661L155.698,128.722H155.637L155.091,128.236V127.75L154.484,127.265L153.877,126.233L154.362,125.686L154.848,125.079V124.593L154.787,124.047V123.501L154.727,123.015V122.651L154.666,121.497L153.088,121.558L152.966,120.526L152.905,119.433L151.873,119.555H151.327L151.266,119.008L150.72,118.583V118.037L150.174,118.098L149.688,118.644L149.142,118.705H148.595L147.624,119.312L146.592,119.919L146.046,119.433L146.106,119.919L145.56,119.98L144.467,120.04L143.982,120.101L142.828,119.616H143.435L143.374,119.069H143.86V118.523L143.799,117.976H143.314L142.707,118.037L142.282,118.644L141.675,117.612L141.189,117.673H140.643L140.582,117.187H140.096L139.489,117.248V116.702L139.975,116.155L139.429,115.67L138.821,115.184L138.7,115.062L138.457,115.305L138.639,115.062L138.336,114.759L137.425,114.82H137.364H137.304L136.818,114.395H136.332V114.88V114.395V114.273L136.15,114.334L136.272,115.366V115.912L136.818,116.337L136.879,116.884L135.847,117.491L135.361,117.551V118.037H135.847L135.908,118.523L135.968,119.069L137.061,119.555L136.575,120.101L137.122,120.587L138.214,121.012L138.275,122.105L137.729,121.072L137.122,120.587L136.029,120.648L135.058,120.708V121.255L135.118,122.287L135.179,122.833L134.693,123.379V123.865L134.147,122.894L134.086,122.408L134.026,121.862H133.54V122.408L133.054,122.469L132.994,121.922L133.479,121.376L132.386,120.89L131.354,120.951L130.262,121.072H129.776V121.619L129.29,122.165L129.351,122.712H129.898V123.197L130.444,123.683L130.383,123.744L129.958,124.29Z" android:fillColor="#3F3F43"/> <path - android:pathData="M136.332,114.395H136.818L137.364,114.819H137.425L138.335,114.759H138.457L138.7,115.002L139.003,114.698H139.489L138.943,114.152L138.335,113.666L138.882,113.18L139.428,113.12L138.821,112.634V112.148L139.307,112.088V111.541L139.246,111.056L139.792,110.995L140.217,110.449L140.824,110.388L140.764,109.842L141.735,109.234L142.221,108.202L141.674,107.717L142.16,107.11H142.646L142.706,107.595H143.253L143.678,106.988V106.503L143.617,105.956L143.071,105.471L142.585,105.531L142.039,105.592L141.978,105.046H141.492L141.432,104.56L141.917,103.953H142.464L141.856,103.467V102.921H141.31L140.824,102.982L140.885,103.528L139.792,103.649H139.246L138.76,104.196L139.367,104.681V105.228L138.821,104.742L138.335,105.288L138.275,104.742L138.214,104.256H137.668L137.243,104.864L137.303,105.349L136.757,105.41L136.15,104.924H135.664L135.604,104.439H135.118V104.985L134.632,105.531L134.693,106.078L134.754,107.11V107.656L134.814,108.142L134.875,108.688V109.174L134.936,109.72L134.45,110.327L134.997,110.813L135.543,110.752L135.604,111.298L136.15,111.723V112.33L136.211,112.816L136.271,113.848L136.332,114.273V114.395Z" + android:pathData="M136.332,114.394H136.818L137.364,114.819H137.425L138.336,114.759H138.457L138.7,115.002L139.003,114.698H139.489L138.943,114.152L138.336,113.666L138.882,113.18L139.428,113.12L138.821,112.634V112.148L139.307,112.088V111.541L139.246,111.056L139.793,110.995L140.217,110.448L140.825,110.388L140.764,109.841L141.735,109.234L142.221,108.202L141.674,107.717L142.16,107.11H142.646L142.706,107.595H143.253L143.678,106.988V106.503L143.617,105.956L143.071,105.471L142.585,105.531L142.039,105.592L141.978,105.046H141.492L141.432,104.56L141.917,103.953H142.464L141.857,103.467V102.921H141.31L140.825,102.982L140.885,103.528L139.793,103.649H139.246L138.761,104.196L139.368,104.681V105.228L138.821,104.742L138.336,105.288L138.275,104.742L138.214,104.256H137.668L137.243,104.863L137.304,105.349L136.757,105.41L136.15,104.924H135.664L135.604,104.438H135.118V104.985L134.632,105.531L134.693,106.078L134.754,107.11V107.656L134.815,108.142L134.875,108.688V109.174L134.936,109.72L134.45,110.327L134.997,110.813L135.543,110.752L135.604,111.298L136.15,111.723V112.33L136.211,112.816L136.272,113.848L136.332,114.273V114.394Z" android:fillColor="#3F3F43"/> <path - android:pathData="M138.457,115.305L138.7,115.063V115.002L138.639,115.063L138.457,115.305Z" + android:pathData="M138.457,115.306L138.7,115.063V115.002L138.639,115.063L138.457,115.306Z" android:fillColor="#3F3F43"/> <path - android:pathData="M111.746,135.581H111.807V136.006V136.067H112.293L112.778,136.006H112.839L112.9,136.552V136.977V137.099L113.446,137.038H113.932H113.992V137.524L114.599,138.556L115.146,138.495L115.631,138.434H116.117H116.178L116.238,139.466L116.299,140.013L115.814,140.498V140.559L116.36,141.105L116.906,141.045L117.453,140.984L117.392,140.438L117.938,140.377V140.984L118.485,141.409H118.545V141.895V141.955L119.092,142.441H119.152V142.805V142.927H119.638L120.245,143.412L120.792,143.898L120.852,144.444L121.338,143.837H121.884L121.945,143.777V143.716L122.066,142.866L121.763,142.259L121.702,141.712V141.166L122.188,140.68L122.613,140.073H122.673L123.159,140.013V139.709L123.098,139.527V139.466V138.981H123.584V138.92V138.434L123.523,137.888L123.038,137.949V137.888L123.463,136.856V136.795L123.402,136.37V135.824L123.341,135.278L123.28,135.338L123.22,134.853L122.127,133.821L121.581,133.335L121.034,132.849L120.488,132.91L120.063,133.396L120.002,133.456L119.456,133.517L119.395,132.971L117.817,132.546H117.392L116.846,133.092L116.906,133.638L115.814,133.699L115.328,133.76H114.842L114.782,133.274L114.235,132.789L113.689,132.849L113.628,132.242L113.082,132.303L112.596,132.91L112.05,132.364L112.11,132.971L111.078,133.517L111.139,134.063L111.2,134.61V134.974V135.095L111.746,135.581Z" + android:pathData="M111.746,135.581H111.807V136.006V136.067H112.292L112.778,136.006H112.839L112.899,136.552V136.977V137.099L113.446,137.038H113.931H113.992V137.523L114.599,138.556L115.146,138.495L115.631,138.434H116.117H116.178L116.238,139.466L116.299,140.012L115.813,140.498V140.559L116.36,141.105L116.906,141.045L117.452,140.984L117.392,140.437L117.938,140.377V140.984L118.485,141.409H118.545V141.894V141.955L119.092,142.441H119.152V142.805V142.926H119.638L120.245,143.412L120.791,143.898L120.852,144.444L121.338,143.837H121.884L121.945,143.776V143.716L122.066,142.866L121.763,142.259L121.702,141.712V141.166L122.188,140.68L122.613,140.073H122.673L123.159,140.012V139.709L123.098,139.527V139.466V138.98H123.584V138.92V138.434L123.523,137.888L123.038,137.948V137.888L123.462,136.856V136.795L123.402,136.37V135.824L123.341,135.277L123.28,135.338L123.22,134.852L122.127,133.82L121.581,133.335L121.034,132.849L120.488,132.91L120.063,133.395L120.002,133.456L119.456,133.517L119.395,132.97L117.817,132.546H117.392L116.845,133.092L116.906,133.638L115.813,133.699L115.328,133.76H114.842L114.781,133.274L114.235,132.788L113.689,132.849L113.628,132.242L113.082,132.303L112.596,132.91L112.05,132.363L112.11,132.97L111.078,133.517L111.139,134.063L111.2,134.61V134.974V135.095L111.746,135.581Z" android:fillColor="#3F3F43"/> <path android:pathData="M124.494,144.142V143.656V143.535L124.433,143.11V142.685L124.373,142.563V142.199V142.078L123.826,141.592L123.219,141.106V141.046V140.985V140.621L122.673,140.074H122.612L122.187,140.681L121.702,141.167V141.713L121.762,142.26L122.066,142.867L121.944,143.717V143.777L122.612,143.899L123.523,144.081L124.009,144.202L124.494,144.142Z" android:fillColor="#3F3F43"/> <path - android:pathData="M119.395,132.971L119.456,133.517L120.002,133.457L120.063,133.396L120.488,132.91L121.034,132.85L121.58,133.335L122.127,133.821L123.219,134.853L123.28,135.339L123.341,135.278L124.312,134.732V134.671L124.251,134.185L124.191,133.153V132.607L124.13,132.121L124.191,132.06L125.162,131.514L126.74,130.846L127.226,131.332L127.833,131.271H128.319L128.804,131.211H129.351V131.15L129.776,129.571L129.715,129.086L129.169,128.6L129.229,128.539L129.654,128.054V127.993L129.594,127.507L129.533,126.475L129.472,125.929H129.533L130.079,125.868V125.808L130.019,125.383L129.958,124.836V124.29L130.383,123.744L129.897,123.319L129.351,123.804L128.865,123.865L128.683,121.74L128.137,121.801L127.651,121.862L127.165,122.469L126.133,123.015V122.529L126.073,121.983L125.526,122.59H125.041L124.555,122.651L123.523,123.197L122.977,123.804L123.037,124.29L123.098,124.776V125.322L123.159,125.868L123.219,126.9L122.248,128.054H121.762L121.216,128.114L121.155,127.082L121.641,126.475L121.095,126.536L121.58,125.99L122.066,125.383V124.897L121.459,124.411L120.427,124.472L119.941,125.565L120.063,126.597L119.577,127.204L119.638,127.69L119.031,127.75L119.091,128.236L118.606,128.843L117.574,128.904L117.634,129.936H118.181V130.421L117.209,131.028L117.149,129.996L116.602,130.057V130.543L116.663,131.028L116.724,132.06H117.27L117.816,132.546L119.395,132.971Z" + android:pathData="M119.395,132.971L119.456,133.518L120.002,133.457L120.063,133.396L120.488,132.911L121.034,132.85L121.58,133.336L122.127,133.821L123.219,134.853L123.28,135.339L123.341,135.278L124.312,134.732V134.671L124.252,134.186L124.191,133.154V132.607L124.13,132.122L124.191,132.061L125.162,131.515L126.741,130.847L127.226,131.332L127.833,131.272H128.319L128.805,131.211H129.351V131.15L129.776,129.572L129.715,129.086L129.169,128.601L129.229,128.54L129.654,128.054V127.993L129.594,127.508L129.533,126.476L129.472,125.929H129.533L130.079,125.869V125.808L130.019,125.383L129.958,124.837V124.29L130.383,123.744L129.897,123.319L129.351,123.805L128.865,123.865L128.683,121.741L128.137,121.801L127.651,121.862L127.165,122.469L126.133,123.016V122.53L126.073,121.983L125.526,122.591H125.041L124.555,122.651L123.523,123.198L122.977,123.805L123.037,124.29L123.098,124.776V125.322L123.159,125.869L123.219,126.901L122.248,128.054H121.763L121.216,128.115L121.155,127.083L121.641,126.476L121.095,126.537L121.58,125.99L122.066,125.383V124.897L121.459,124.412L120.427,124.472L119.941,125.565L120.063,126.597L119.577,127.204L119.638,127.69L119.031,127.751L119.091,128.236L118.606,128.843L117.574,128.904L117.634,129.936H118.181V130.422L117.209,131.029L117.149,129.997L116.602,130.058V130.543L116.663,131.029L116.724,132.061H117.27L117.817,132.547L119.395,132.971Z" android:fillColor="#3F3F43"/> <path - android:pathData="M139.186,101.827H138.579L137.061,101.948L136.575,102.009L136.029,102.555L136.09,103.041L136.697,104.073L136.636,103.587V103.041L137.122,102.494L137.607,102.434H138.154L138.639,102.373H139.186L139.732,102.312L140.218,101.766L140.764,101.705L141.796,101.645L142.342,102.13L142.949,102.555L142.889,102.07L143.374,101.523L143.86,100.977L143.799,99.945H143.253L143.192,99.459L143.739,98.852L144.164,98.306L143.678,98.366L143.192,98.913H142.646L142.16,98.973L141.675,99.52L141.128,99.58L140.643,100.127L140.157,100.734L140.218,101.22L139.671,101.766L139.186,101.827Z" + android:pathData="M139.186,101.827H138.579L137.061,101.948L136.575,102.009L136.029,102.555L136.09,103.041L136.697,104.073L136.636,103.587V103.041L137.122,102.495L137.607,102.434H138.154L138.639,102.373H139.186L139.732,102.313L140.218,101.766L140.764,101.705L141.796,101.645L142.342,102.13L142.949,102.555L142.889,102.07L143.374,101.523L143.86,100.977L143.799,99.945H143.253L143.192,99.459L143.739,98.852L144.164,98.306L143.678,98.367L143.192,98.913H142.646L142.16,98.974L141.675,99.52L141.128,99.581L140.643,100.127L140.157,100.734L140.218,101.22L139.671,101.766L139.186,101.827Z" android:fillColor="#3F3F43"/> <path - android:pathData="M140.4,112.27L140.461,113.302L141.553,113.241L141.614,113.727L142.646,113.666L143.192,113.605L143.132,113.12V112.634L143.071,112.088L143.01,111.602H142.525L141.918,111.116L141.493,111.663L140.886,111.177L140.946,111.723L140.4,111.784V112.27Z" + android:pathData="M140.4,112.27L140.461,113.302L141.553,113.241L141.614,113.726L142.646,113.666L143.192,113.605L143.132,113.119V112.634L143.071,112.087L143.01,111.602H142.525L141.918,111.116L141.493,111.662L140.886,111.177L140.946,111.723L140.4,111.784V112.27Z" android:fillColor="#3F3F43"/> <path - android:pathData="M144.285,110.388L143.8,110.935L143.86,111.481L144.407,111.967L143.921,112.513L143.982,113.059L144.528,113.484L145.56,113.424L146.106,113.363L146.167,113.97H145.621L146.714,114.395H147.26L146.653,113.909L147.199,113.302H147.685L148.11,112.209L147.563,111.785L148.535,110.57L149.02,110.024L148.413,109.053L148.96,108.506H148.413L148.899,107.96L147.806,108.021L147.321,108.081L146.835,108.628H147.321L147.928,109.053L147.442,109.66H146.896L146.41,109.72V110.267L146.471,110.752H145.924L145.378,110.328L145.864,109.72L145.803,109.235H145.257L145.317,109.781L144.832,110.328L144.285,110.388Z" + android:pathData="M144.285,110.388L143.8,110.935L143.86,111.481L144.407,111.967L143.921,112.513L143.982,113.059L144.528,113.484L145.56,113.424L146.106,113.363L146.167,113.97H145.621L146.714,114.395H147.26L146.653,113.909L147.199,113.302H147.685L148.11,112.209L147.563,111.784L148.535,110.57L149.02,110.024L148.413,109.053L148.96,108.506H148.413L148.899,107.96L147.806,108.021L147.321,108.081L146.835,108.628H147.321L147.928,109.053L147.442,109.66H146.896L146.41,109.72V110.267L146.471,110.752H145.924L145.378,110.327L145.864,109.72L145.803,109.235H145.257L145.317,109.781L144.832,110.327L144.285,110.388Z" android:fillColor="#3F3F43"/> <path - android:pathData="M144.649,115.608V115.122H144.103L143.557,115.183L143.617,115.729L144.164,116.154L144.771,116.64H145.256L145.803,116.579L145.742,116.033L145.196,115.608H144.649Z" + android:pathData="M144.649,115.608V115.122H144.103L143.557,115.183L143.617,115.73L144.164,116.155L144.771,116.64H145.256L145.803,116.579L145.742,116.033L145.196,115.608H144.649Z" android:fillColor="#3F3F43"/> <path android:pathData="M147.321,115.427L146.774,115.488L146.228,115.002L146.288,115.488V116.034L146.835,116.52V115.973L147.381,115.913L147.321,115.427Z" android:fillColor="#3F3F43"/> <path - android:pathData="M186.416,145.538H186.294H185.869L185.384,145.598H185.141H184.898H184.837L184.291,145.113L183.745,144.627L183.138,144.202H182.713H182.652L182.045,143.17L181.559,143.716L181.256,144.081L181.134,144.323L179.556,144.93H179.495V144.445L179.374,143.413L178.888,143.898L178.402,143.959L177.856,143.534L176.885,144.081L176.945,144.627L176.46,145.173V145.113L176.338,145.173L176.278,144.081L175.792,143.656L175.306,144.141L174.821,144.202L174.335,144.809L174.274,144.748L174.214,144.809L173.667,144.263L172.696,144.384H172.574L172.089,143.898L171.482,143.413L170.935,142.927L169.843,142.988L168.75,142.563L168.204,142.017L167.111,140.62L166.625,141.106H166.564L166.018,140.681L164.925,140.742H164.683H164.5L165.047,141.227H164.986L164.5,141.288L164.075,141.834V142.32L164.015,142.199V142.32L163.408,141.349L162.861,140.863L161.89,140.924L161.769,140.985L162.315,140.377L162.801,139.831L162.194,139.345L161.222,139.406H161.162L160.069,138.92L159.583,138.981L158.976,138.496L158.43,138.556V138.01L158.369,137.524L158.308,136.492H157.823H157.762L157.033,136.674L156.851,136.978V137.099L156.305,137.646L155.819,137.706V137.16L155.212,136.674L154.18,137.281L153.695,137.828L153.27,138.374L151.691,139.528L151.206,139.588L150.659,140.135L150.174,140.195L149.142,140.802L148.11,140.863L147.563,140.377L146.531,140.985L146.47,140.438L145.924,139.952L145.985,140.985L146.592,142.017H147.138L147.199,143.049L147.745,143.474L148.292,144.02L148.413,145.052V145.598L149.02,146.023L149.566,147.055L150.234,148.087L150.781,148.573L151.266,148.512L151.327,148.634L151.691,149.059L152.177,149.484L152.663,150.091L153.027,150.516L153.512,150.455L153.998,150.819L154.12,150.94L155.152,150.88L156.244,150.819L156.73,150.273L156.669,149.726L156.851,149.484L157.155,149.18L158.187,149.059H158.733L159.219,148.998L159.705,149.362L159.826,149.484H160.372L161.404,149.362V149.423L161.708,149.848L162.072,150.151L162.194,150.455L163.043,150.819L163.59,150.94L164.197,150.88L164.561,151.305L164.44,151.79L164.986,152.397L165.108,152.519H165.047L164.683,152.701L164.318,152.883L164.622,153.247L164.5,153.005L165.715,153.794L165.775,153.854H165.957L166.443,154.279L166.807,154.219L167.414,154.704L167.9,155.19H167.961L168.932,155.129L169.539,155.069L170.025,155.008H170.268L171.603,154.461H172.028L171.664,153.976L171.967,153.854L172.028,153.308L172.817,153.187L173.607,153.247L174.153,153.187L174.699,153.126L175.671,152.519L176.156,151.972L177.188,151.365L177.674,150.819L178.16,150.212L178.099,149.726L178.645,149.18L179.131,149.119H179.677L180.709,148.998H181.256L181.802,148.937H182.288L182.348,149.423H182.834H182.895H183.077L183.502,149.787L184.473,149.301L184.594,149.362L184.655,149.301L184.777,149.241L185.019,149.484L185.566,149.726L185.627,149.908L185.687,149.18L185.505,148.816L185.627,148.209L185.869,147.723H186.355L186.173,147.055L186.476,146.63L187.023,146.266L186.901,145.902L186.659,146.266L186.416,145.538Z" + android:pathData="M186.416,145.537H186.294H185.869L185.384,145.598H185.141H184.898H184.837L184.291,145.112L183.745,144.627L183.138,144.202H182.713H182.652L182.045,143.17L181.559,143.716L181.256,144.08L181.134,144.323L179.556,144.93H179.495V144.445L179.374,143.413L178.888,143.898L178.402,143.959L177.856,143.534L176.885,144.08L176.945,144.627L176.46,145.173V145.112L176.338,145.173L176.278,144.08L175.792,143.655L175.306,144.141L174.821,144.202L174.335,144.809L174.274,144.748L174.214,144.809L173.667,144.263L172.696,144.384H172.574L172.089,143.898L171.482,143.413L170.935,142.927L169.843,142.988L168.75,142.563L168.204,142.016L167.111,140.62L166.625,141.106H166.564L166.018,140.681L164.925,140.742H164.683H164.5L165.047,141.227H164.986L164.5,141.288L164.075,141.834V142.32L164.015,142.198V142.32L163.408,141.349L162.861,140.863L161.89,140.924L161.769,140.984L162.315,140.377L162.801,139.831L162.194,139.345L161.222,139.406H161.162L160.069,138.92L159.583,138.981L158.976,138.495L158.43,138.556V138.01L158.369,137.524L158.308,136.492H157.823H157.762L157.033,136.674L156.851,136.978V137.099L156.305,137.645L155.819,137.706V137.16L155.212,136.674L154.18,137.281L153.695,137.828L153.27,138.374L151.691,139.527L151.206,139.588L150.659,140.134L150.174,140.195L149.142,140.802L148.11,140.863L147.563,140.377L146.531,140.984L146.47,140.438L145.924,139.952L145.985,140.984L146.592,142.016H147.138L147.199,143.048L147.745,143.473L148.292,144.02L148.413,145.052V145.598L149.02,146.023L149.566,147.055L150.234,148.087L150.781,148.573L151.266,148.512L151.327,148.633L151.691,149.058L152.177,149.483L152.663,150.09L153.027,150.515L153.512,150.455L153.998,150.819L154.12,150.94L155.152,150.88L156.244,150.819L156.73,150.273L156.669,149.726L156.851,149.483L157.155,149.18L158.187,149.058H158.733L159.219,148.998L159.705,149.362L159.826,149.483H160.372L161.404,149.362V149.423L161.708,149.848L162.072,150.151L162.194,150.455L163.043,150.819L163.59,150.94L164.197,150.88L164.561,151.305L164.44,151.79L164.986,152.397L165.108,152.519H165.047L164.683,152.701L164.318,152.883L164.622,153.247L164.5,153.004L165.715,153.794L165.775,153.854H165.957L166.443,154.279L166.807,154.218L167.414,154.704L167.9,155.19H167.961L168.932,155.129L169.539,155.068L170.025,155.008H170.268L171.603,154.461H172.028L171.664,153.976L171.967,153.854L172.028,153.308L172.817,153.186L173.607,153.247L174.153,153.186L174.699,153.126L175.671,152.519L176.156,151.972L177.188,151.365L177.674,150.819L178.16,150.212L178.099,149.726L178.645,149.18L179.131,149.119H179.677L180.709,148.998H181.256L181.802,148.937H182.288L182.348,149.423H182.834H182.895H183.077L183.502,149.787L184.473,149.301L184.594,149.362L184.655,149.301L184.777,149.24L185.019,149.483L185.566,149.726L185.627,149.908L185.687,149.18L185.505,148.816L185.627,148.208L185.869,147.723H186.355L186.173,147.055L186.476,146.63L187.023,146.266L186.901,145.902L186.659,146.266L186.416,145.537Z" android:fillColor="#3F3F43"/> <path - android:pathData="M185.019,149.484L184.837,149.423L184.594,149.362L184.473,149.302L183.502,149.787L183.441,149.848L182.895,149.423H182.834H182.348L182.288,148.938H181.802L181.256,148.998H180.709L179.677,149.12H179.131L178.645,149.18L178.099,149.727L178.159,150.212L177.674,150.819L177.188,151.366L176.156,151.973L175.67,152.519L174.699,153.126L174.153,153.187L173.606,153.248L172.817,153.187L172.028,153.308L171.967,153.855L171.664,153.976L172.028,154.462H171.603L170.268,155.008H170.025L169.539,155.069L168.932,155.13L167.961,155.19H167.9L167.414,154.705L166.807,154.219L166.443,154.28H166.261L165.775,153.855L165.715,153.794L164.5,153.005L164.622,153.248L164.865,153.855L165.229,154.826H165.29L164.865,155.372L164.804,155.433L164.865,155.676L164.318,155.555H164.197L164.258,155.372L164.379,155.13L163.893,155.433L163.772,155.494H163.226H163.165L163.226,156.04L163.833,156.526V157.072L163.893,157.497V157.558L163.408,157.619H163.347L163.408,158.651L162.983,159.683V159.743H162.497H162.436L162.133,160.593L162.194,160.533L163.408,160.775L163.59,161.2L164.197,161.686L164.743,162.172L164.804,162.718V163.264L165.411,163.75L165.957,164.236L166.504,164.661L167.05,165.146H167.596L167.657,165.693L168.204,165.632L168.75,166.118L169.236,166.057H169.782L170.268,165.996L171.36,166.239L171.664,166.057L172.21,165.45L172.757,164.782L173.182,164.418L174.092,164.357L174.517,164.175L175.246,163.568L176.399,163.143L177.067,163.75L177.188,163.568L177.977,163.386L177.917,162.9H177.977H178.524L179.131,162.839L179.92,163.082L180.588,163.143L181.073,162.111L181.559,161.565L182.045,160.957L182.53,160.472L183.016,159.865V159.379H183.502L183.987,158.772L184.473,158.165L184.352,156.647L184.837,156.04L184.716,155.008L185.262,154.462L185.748,153.915L186.294,153.855L186.719,153.308L187.266,152.762L187.751,152.216L187.691,151.669L186.719,150.455L186.901,150.394L186.719,150.212L186.112,150.091L185.869,150.212L185.809,150.273L185.748,150.212L185.626,149.909L185.566,149.727L185.019,149.484Z" + android:pathData="M185.02,149.484L184.837,149.423L184.595,149.362L184.473,149.302L183.502,149.787L183.441,149.848L182.895,149.423H182.834H182.348L182.288,148.937H181.802L181.256,148.998H180.709L179.677,149.119H179.131L178.645,149.18L178.099,149.727L178.16,150.212L177.674,150.819L177.188,151.366L176.156,151.973L175.671,152.519L174.699,153.126L174.153,153.187L173.607,153.248L172.817,153.187L172.028,153.308L171.967,153.855L171.664,153.976L172.028,154.462H171.603L170.268,155.008H170.025L169.539,155.069L168.932,155.129L167.961,155.19H167.9L167.414,154.704L166.807,154.219L166.443,154.28H166.261L165.775,153.855L165.715,153.794L164.501,153.005L164.622,153.248L164.865,153.855L165.229,154.826H165.29L164.865,155.372L164.804,155.433L164.865,155.676L164.318,155.554H164.197L164.258,155.372L164.379,155.129L163.893,155.433L163.772,155.494H163.226H163.165L163.226,156.04L163.833,156.526V157.072L163.893,157.497V157.558L163.408,157.618H163.347L163.408,158.65L162.983,159.682V159.743H162.497H162.436L162.133,160.593L162.194,160.532L163.408,160.775L163.59,161.2L164.197,161.686L164.743,162.171L164.804,162.718V163.264L165.411,163.75L165.957,164.236L166.504,164.66L167.05,165.146H167.597L167.657,165.692L168.204,165.632L168.75,166.117L169.236,166.057H169.782L170.268,165.996L171.36,166.239L171.664,166.057L172.21,165.45L172.757,164.782L173.182,164.418L174.092,164.357L174.517,164.175L175.246,163.568L176.399,163.143L177.067,163.75L177.188,163.568L177.977,163.386L177.917,162.9H177.977H178.524L179.131,162.839L179.92,163.082L180.588,163.143L181.074,162.111L181.559,161.564L182.045,160.957L182.531,160.472L183.016,159.865V159.379H183.502L183.987,158.772L184.473,158.165L184.352,156.647L184.837,156.04L184.716,155.008L185.262,154.462L185.748,153.915L186.294,153.855L186.719,153.308L187.266,152.762L187.751,152.215L187.691,151.669L186.719,150.455L186.901,150.394L186.719,150.212L186.112,150.091L185.869,150.212L185.809,150.273L185.748,150.212L185.627,149.909L185.566,149.727L185.02,149.484Z" android:fillColor="#3F3F43"/> <path - android:pathData="M154.787,123.501V124.048L154.848,124.594V125.08L154.362,125.687L153.877,126.233L154.484,127.265L155.091,127.751V128.237L155.637,128.722H155.698L156.184,128.662L155.637,129.269L155.698,129.815L155.759,130.301L156.366,131.333L156.426,131.818L156.548,133.397V133.943L156.609,134.489L157.094,134.429L156.669,134.975L156.73,136.553L156.791,137.1V137.039L156.851,136.978L157.033,136.675L157.762,136.493H157.823H158.308L158.369,137.525L158.43,138.01V138.557L158.976,138.496L159.583,138.982L160.069,138.921L161.162,139.407H161.222L162.194,139.346L162.801,139.832L162.315,140.378L161.769,140.985L161.89,140.924L162.861,140.864L163.408,141.349L164.015,142.321V142.199V141.835L164.44,141.289H164.5L164.986,141.228L164.44,140.803L164.683,140.742H164.925L166.018,140.682L166.564,141.107H166.625L167.05,140.56L167.111,140.621L168.204,142.017L168.75,142.563L169.843,142.988L170.935,142.928L171.482,143.413L172.089,143.899L172.574,144.385H172.696L173.667,144.263L174.214,144.81L174.274,144.749L174.699,144.203H175.246L175.731,143.656H175.792L176.278,144.081L176.338,145.174L176.46,145.113L176.885,144.628L176.824,144.081L177.856,143.474V143.535L178.402,143.96L178.888,143.899L179.374,143.413L179.495,144.445V144.931H179.556L181.073,144.324L181.256,144.081L181.559,143.717L182.045,143.171L182.652,144.203H182.713H183.138L183.745,144.628L184.291,145.113L184.837,145.599H184.898H185.141H185.384L185.869,145.538H186.294H186.416L186.659,146.267L186.901,145.902L187.144,145.477L187.083,144.931L187.205,144.445L187.144,143.838V143.413L187.266,142.26L187.448,141.592L187.873,140.924L188.419,140.742L188.844,139.771L189.087,139.225L190.119,138.193L191.151,138.253L191.697,137.828L192.001,136.675L191.576,135.946L191.151,135.764V135.097L191.515,134.914L190.483,133.761L190.058,133.032L189.269,132.547L189.512,132.122L189.208,131.697L189.451,130.119L189.39,130.058L189.269,129.936V129.572L189.512,127.994L188.54,127.812L188.055,127.205L189.937,125.748L190.058,125.262L190.119,125.201L190.24,124.837L190.119,123.137L189.937,122.712L189.694,122.105L189.39,121.741L188.723,120.952L188.419,120.588L188.298,119.07L187.933,118.766L187.691,117.977L187.63,117.127L187.569,116.884L186.416,116.034L185.627,115.913L184.655,115.367V115.306L185.019,114.699L184.412,114.76L184.594,114.638L184.716,113.91L184.534,113.181L184.473,113.06V112.999L184.291,112.574L183.805,111.724L182.895,111.481L182.045,111.785L181.62,112.331L181.438,112.574L180.406,112.635L179.799,112.696H179.677L179.495,112.271L179.009,111.724L178.22,111.906L177.735,111.967V112.453L178.281,112.392L177.795,113.485L177.31,114.031L176.278,114.092V113.545L176.217,113.06V112.574L174.699,113.667V114.213L173.849,115.002L174.76,115.306L174.821,115.792L174.335,116.399H173.849V116.945L173.91,117.431V117.977L172.878,118.038L172.332,118.099V117.552L171.785,117.613L170.268,118.22L169.661,117.734L169.6,117.249V116.702L169.539,116.156L168.993,115.67V115.185L167.354,115.245L166.868,115.852H166.382L165.29,115.427L164.804,115.974L164.258,116.034L164.318,116.52L163.772,116.581L163.286,117.188L162.679,116.642L162.254,117.249L161.769,117.795L161.283,118.341H160.737L160.251,118.948H159.705L159.765,119.495L159.219,119.555L158.187,119.616L157.641,119.677L156.609,120.284L156.184,121.377L155.698,121.862L156.244,122.348L156.305,122.894L156.123,122.834L155.334,122.894L154.727,122.227V122.652V123.016L154.787,123.501Z" + android:pathData="M154.787,123.501V124.047L154.848,124.594V125.079L154.362,125.686L153.877,126.233L154.484,127.265L155.091,127.751V128.236L155.637,128.722H155.698L156.184,128.661L155.637,129.268L155.698,129.815L155.759,130.3L156.366,131.332L156.426,131.818L156.548,133.396V133.943L156.609,134.489L157.094,134.428L156.669,134.975L156.73,136.553L156.791,137.099V137.039L156.851,136.978L157.033,136.674L157.762,136.492H157.823H158.308L158.369,137.524L158.43,138.01V138.556L158.976,138.496L159.583,138.981L160.069,138.921L161.162,139.406H161.222L162.194,139.346L162.801,139.831L162.315,140.378L161.769,140.985L161.89,140.924L162.861,140.863L163.408,141.349L164.015,142.32V142.199V141.835L164.44,141.288H164.5L164.986,141.227L164.44,140.803L164.683,140.742H164.925L166.018,140.681L166.564,141.106H166.625L167.05,140.56L167.111,140.62L168.204,142.017L168.75,142.563L169.843,142.988L170.935,142.927L171.482,143.413L172.089,143.899L172.574,144.384H172.696L173.667,144.263L174.214,144.809L174.274,144.749L174.699,144.202H175.246L175.731,143.656H175.792L176.278,144.081L176.338,145.173L176.46,145.113L176.885,144.627L176.824,144.081L177.856,143.474V143.534L178.402,143.959L178.888,143.899L179.374,143.413L179.495,144.445V144.931H179.556L181.073,144.324L181.256,144.081L181.559,143.716L182.045,143.17L182.652,144.202H182.713H183.138L183.745,144.627L184.291,145.113L184.837,145.598H184.898H185.141H185.384L185.869,145.538H186.294H186.416L186.659,146.266L186.901,145.902L187.144,145.477L187.083,144.931L187.205,144.445L187.144,143.838V143.413L187.266,142.26L187.448,141.592L187.873,140.924L188.419,140.742L188.844,139.771L189.087,139.224L190.119,138.192L191.151,138.253L191.697,137.828L192.001,136.674L191.576,135.946L191.151,135.764V135.096L191.515,134.914L190.483,133.761L190.058,133.032L189.269,132.546L189.512,132.121L189.208,131.696L189.451,130.118L189.39,130.057L189.269,129.936V129.572L189.512,127.993L188.54,127.811L188.055,127.204L189.937,125.747L190.058,125.262L190.119,125.201L190.24,124.837L190.119,123.137L189.937,122.712L189.694,122.105L189.39,121.741L188.723,120.951L188.419,120.587L188.298,119.069L187.933,118.766L187.691,117.977L187.63,117.127L187.569,116.884L186.416,116.034L185.627,115.913L184.655,115.366V115.306L185.019,114.698L184.412,114.759L184.594,114.638L184.716,113.909L184.534,113.181L184.473,113.059V112.999L184.291,112.574L183.805,111.724L182.895,111.481L182.045,111.785L181.62,112.331L181.438,112.574L180.406,112.634L179.799,112.695H179.677L179.495,112.27L179.009,111.724L178.22,111.906L177.735,111.967V112.452L178.281,112.392L177.795,113.484L177.31,114.031L176.278,114.091V113.545L176.217,113.059V112.574L174.699,113.666V114.213L173.849,115.002L174.76,115.306L174.821,115.791L174.335,116.398H173.849V116.945L173.91,117.43V117.977L172.878,118.037L172.332,118.098V117.552L171.785,117.612L170.268,118.22L169.661,117.734L169.6,117.248V116.702L169.539,116.155L168.993,115.67V115.184L167.354,115.245L166.868,115.852H166.382L165.29,115.427L164.804,115.973L164.258,116.034L164.318,116.52L163.772,116.58L163.286,117.187L162.679,116.641L162.254,117.248L161.769,117.795L161.283,118.341H160.737L160.251,118.948H159.705L159.765,119.494L159.219,119.555L158.187,119.616L157.641,119.676L156.609,120.284L156.184,121.376L155.698,121.862L156.244,122.348L156.305,122.894L156.123,122.833L155.334,122.894L154.727,122.226V122.651V123.015L154.787,123.501Z" android:fillColor="#3F3F43"/> <path - android:pathData="M201.107,205.698L201.714,206.73H202.26L202.139,205.637L201.653,205.091L201.046,204.666L200.985,204.18L200.439,203.634L199.953,203.694L199.346,203.209L198.254,202.723L197.222,202.844L196.675,202.298L196.068,201.873L195.583,201.934L194.551,202.48L195.097,202.966H195.643L196.736,202.844L197.222,203.33L198.314,203.755L198.921,204.301L200.014,204.726L200.561,205.212L201.107,205.698Z" + android:pathData="M201.107,205.697L201.714,206.729H202.26L202.139,205.637L201.653,205.09L201.046,204.665L200.985,204.18L200.439,203.633L199.953,203.694L199.346,203.208L198.254,202.723L197.222,202.844L196.675,202.298L196.068,201.873L195.583,201.934L194.551,202.48L195.097,202.966H195.643L196.736,202.844L197.222,203.33L198.314,203.755L198.921,204.301L200.014,204.726L200.561,205.212L201.107,205.697Z" android:fillColor="#3F3F43"/> <path - android:pathData="M162.497,35.535V36.021L163.044,35.475L162.983,34.929H163.529L164.015,34.868L164.501,33.289L163.893,32.804H163.347L163.408,33.411H162.861L162.315,33.472L162.376,33.957L162.436,34.443L161.89,34.989L162.497,35.535Z" + android:pathData="M162.497,35.535V36.021L163.043,35.475L162.983,34.929H163.529L164.015,34.868L164.5,33.289L163.893,32.804H163.347L163.408,33.411H162.861L162.315,33.472L162.376,33.957L162.436,34.443L161.89,34.989L162.497,35.535Z" android:fillColor="#3F3F43"/> <path - android:pathData="M148.231,88.169L148.717,87.562L148.656,87.016L149.142,86.469H149.688H149.81L150.234,86.408L150.599,84.83L150.477,83.191V82.705L150.417,82.159L149.87,81.188L149.81,80.641L151.267,79.488V78.941L151.206,77.97L151.145,77.363L150.599,76.938L149.992,76.392V75.845L149.931,75.36L150.417,74.328L150.356,73.721L150.295,72.689L149.688,72.203V71.717L149.627,70.685L150.113,70.078L149.992,69.046L149.931,68.014L149.87,66.921L150.356,65.889L150.842,65.282L151.874,64.675V64.736L151.934,64.675V65.161H152.359L152.906,64.615L153.391,64.068H153.877L154.97,64.007L155.455,63.4L154.848,62.368L154.788,61.883V61.336L154.18,60.304L154.666,59.758L155.637,59.151V58.604L156.062,57.026L156.002,56.48L155.941,55.994L155.88,54.901L156.366,54.416L156.852,53.323L156.791,52.23L157.823,51.623L158.794,51.016L159.28,50.53L159.219,49.984L159.158,48.891L160.19,48.284L161.162,47.192V46.706L161.587,46.099L161.04,45.067L160.433,44.642L160.98,44.035L161.405,43.488L162.922,42.335V41.849L163.347,40.696H163.408H163.954L165.047,41.121L165.472,41.06V40.575L165.351,39.542L166.383,38.935H166.443L167.05,39.421L167.475,39.36V38.875L167.84,37.236H167.9L168.932,37.661V37.175L168.811,36.143V35.597L168.872,35.536L169.904,35.475L169.843,34.443L170.268,33.411H170.329L170.571,33.35H170.814L171.361,33.836L172.453,34.261L172.514,34.807L173.121,35.839H173.364L173.607,35.779H173.971H174.153L174.699,36.264L176.278,36.143L176.763,35.597H176.824L177.31,35.536L177.917,36.507L178.888,35.961L179.435,35.9L179.374,35.414L179.86,34.261L180.345,33.715L180.285,33.168V32.683L180.224,32.197L180.709,31.104L180.527,28.979L181.013,28.433H181.499L182.045,28.372L183.077,27.705L183.563,27.219L183.866,27.158H184.109L183.684,28.251L185.262,28.615H185.687H185.809L186.355,29.101L186.962,29.526V30.072L186.477,30.679L186.537,31.772L186.598,32.258L186.659,32.743V33.29H186.78L186.962,33.229H187.205L187.327,31.347L187.934,30.133L189.026,29.344L190.24,29.04V28.737L190.544,27.158L190.423,27.219L189.391,27.28L188.844,27.34L189.33,26.794L189.269,25.701L188.723,25.276L189.208,25.216L189.755,24.669L189.694,24.123L189.633,23.576L189.148,23.637L189.087,23.091L187.994,23.152L187.023,23.759L186.962,22.727L185.87,22.787L185.323,22.302L184.352,23.455V23.941L183.927,24.548L183.32,23.516L183.259,22.969L183.745,22.423V21.938L183.684,20.845L183.138,20.905L182.166,21.998V22.545L181.134,23.152L181.256,24.73L181.317,25.276L180.709,24.791V24.244L180.163,23.759L180.102,23.212V22.666L180.042,22.18L179.495,22.241L179.556,22.727L179.617,23.212L179.131,24.366L178.706,25.458L178.22,26.49L178.16,26.005V25.458L178.099,24.426L179.07,23.819V23.273L179.495,22.241L180.042,21.634L179.435,21.148L177.917,22.302L177.371,21.816L176.885,22.423L176.946,22.909L177.978,23.334L176.46,24.001L175.914,23.516L175.428,24.062L175.489,25.155H174.942L175.549,25.641L174.517,26.794L173.91,25.762L173.485,26.369L173.546,26.855V27.401L173.06,27.948L172.514,27.462H171.968V28.008L171.421,27.522L170.875,27.583L170.45,28.13V28.615L169.964,28.676L169.479,29.283L169.539,30.254L170.086,30.74L170.146,31.833L169.6,31.286L169.054,30.801L168.507,30.861L168.082,32.015L167.415,30.922L166.99,31.529L167.05,32.561L167.597,33.593L167.657,34.079L167.111,33.593L166.504,32.622L166.565,33.654L166.14,34.747L165.593,34.2L165.472,33.229L164.986,33.775L165.108,35.354H164.622L164.076,35.414L163.59,35.961L164.136,36.446L163.651,37.054L163.165,37.539L163.226,38.085L163.772,38.571L163.287,39.178L161.708,39.3L161.647,38.693L161.162,39.3V39.785L161.283,40.878V41.364L160.858,42.457L160.798,41.424L160.737,40.392L160.676,39.846L160.19,40.453H159.705L159.158,40.514L158.673,41.06L159.158,41L159.766,41.485V42.032L159.219,41.485L158.733,42.092L158.126,41.607H157.641L157.701,42.699L157.216,43.306L158.733,42.639L159.341,43.124V43.61L158.309,43.731H157.762L157.337,44.338V44.824L158.369,44.763L158.43,45.795L157.944,45.856H157.398L156.912,46.463L156.427,47.009L155.334,46.584L154.848,47.131L154.909,47.677V48.163H154.423L153.938,48.709L154.484,49.256L153.998,49.802L152.906,49.923L153.513,50.409L154.059,50.895L154.545,50.288L154.666,51.32L153.573,51.38L153.027,51.441L153.088,51.987L153.634,52.412L153.148,53.02H152.602L152.116,53.627L151.631,54.173L152.238,54.719V55.144L151.752,55.751L151.206,55.266V54.78L150.659,55.812L150.72,56.358L151.267,56.298L151.388,57.39L150.842,57.937L150.356,57.998L150.417,59.029L149.931,59.576H149.385L149.445,60.122L149.931,60.062L149.992,60.608L150.052,61.154L149.567,61.701L148.474,61.276L148.413,60.729L147.867,60.244L147.381,60.79L146.896,61.397H146.349L145.803,61.458L145.864,62.49L145.378,63.036L144.953,64.129H144.467L143.921,64.19L143.982,64.736L144.042,65.768L143.435,65.282L142.95,65.829L142.464,66.436L141.918,65.889L141.432,66.496L140.886,67.043H140.4L140.521,68.136L139.914,67.65H139.368L139.975,68.196V68.682L139.489,68.743L138.882,68.257L138.457,68.803L137.911,68.864H137.365L136.818,68.925L136.879,69.471L137.486,70.442L136.94,70.503H136.393L135.301,70.078H134.815L134.329,70.685L134.876,71.171L134.936,71.717H134.39L133.358,71.839L132.872,72.931L132.812,71.839L132.265,71.899L131.78,72.446L131.294,71.96L130.687,72.021H130.201L130.262,72.567V73.114L130.808,73.538H131.355L131.415,74.024L130.869,74.085L130.383,74.631L129.291,74.753L129.351,75.238L129.958,75.724V76.27L128.866,75.845L128.926,76.331V76.877L129.533,77.849L130.626,77.788V78.334L130.14,78.395L128.987,77.849L129.048,78.456L129.108,78.941L129.655,79.913L130.262,80.398L129.715,81.006L129.23,80.52L128.683,81.066L128.744,81.613L129.776,82.037L129.291,82.098H128.805V82.645L129.412,83.13L129.898,83.616L130.99,83.555L132.022,82.948L131.051,84.041L130.565,84.587L130.019,85.194L131.233,86.166L130.687,86.226L130.08,86.287L129.655,86.773L129.108,86.348L128.562,86.408L128.076,87.38L128.137,87.987L127.712,89.019L128.259,89.565L129.169,87.926L130.201,87.805L130.262,88.351L130.323,89.444H129.837L129.898,90.476L129.412,91.022L129.351,90.536L128.926,91.022V91.568L129.048,92.661V93.147L130.14,94.118L131.78,94.543L130.748,95.636L131.901,96.121L132.387,95.515L132.447,96.607L134.026,96.486L135.058,96.425L136.09,95.818L136.15,96.364L137.122,95.757L137.607,95.15L138.032,94.118L138.579,93.511L140.157,92.904L140.096,92.418L140.582,91.811L141.614,91.751L141.675,92.297L142.221,92.722L143.253,92.176L143.192,91.083L144.164,89.99L144.042,88.897L143.496,88.472L144.467,87.319L144.953,86.773L145.439,86.166H145.985L146.046,87.198L145.56,87.744L145.074,87.805L145.135,88.837L145.621,88.776L147.26,89.747L148.231,88.594V88.169Z" + android:pathData="M148.231,88.169L148.717,87.562L148.656,87.015L149.142,86.469H149.688H149.81L150.235,86.408L150.599,84.83L150.477,83.191V82.705L150.417,82.159L149.87,81.188L149.81,80.641L151.267,79.488V78.941L151.206,77.97L151.145,77.363L150.599,76.938L149.992,76.392V75.845L149.931,75.36L150.417,74.328L150.356,73.72L150.295,72.688L149.688,72.203V71.717L149.628,70.685L150.113,70.078L149.992,69.046L149.931,68.014L149.87,66.921L150.356,65.889L150.842,65.282L151.874,64.675V64.736L151.934,64.675V65.161H152.359L152.906,64.614L153.391,64.068H153.877L154.97,64.007L155.455,63.4L154.848,62.368L154.788,61.883V61.336L154.181,60.304L154.666,59.758L155.638,59.151V58.604L156.062,57.026L156.002,56.48L155.941,55.994L155.88,54.901L156.366,54.416L156.852,53.323L156.791,52.23L157.823,51.623L158.794,51.016L159.28,50.53L159.219,49.984L159.159,48.891L160.191,48.284L161.162,47.192V46.706L161.587,46.099L161.04,45.067L160.433,44.642L160.98,44.035L161.405,43.488L162.922,42.335V41.849L163.347,40.696H163.408H163.954L165.047,41.121L165.472,41.06V40.574L165.351,39.542L166.383,38.935H166.443L167.05,39.421L167.475,39.36V38.875L167.84,37.236H167.9L168.932,37.66V37.175L168.811,36.143V35.596L168.872,35.536L169.904,35.475L169.843,34.443L170.268,33.411H170.329L170.571,33.35H170.814L171.361,33.836L172.453,34.261L172.514,34.807L173.121,35.839H173.364L173.607,35.779H173.971H174.153L174.7,36.264L176.278,36.143L176.764,35.596H176.824L177.31,35.536L177.917,36.507L178.888,35.961L179.435,35.9L179.374,35.414L179.86,34.261L180.345,33.715L180.285,33.168V32.682L180.224,32.197L180.71,31.104L180.527,28.979L181.013,28.433H181.499L182.045,28.372L183.077,27.705L183.563,27.219L183.866,27.158H184.109L183.684,28.251L185.263,28.615H185.688H185.809L186.355,29.101L186.962,29.526V30.072L186.477,30.679L186.537,31.772L186.598,32.257L186.659,32.743V33.29H186.78L186.962,33.229H187.205L187.327,31.347L187.934,30.133L189.026,29.344L190.241,29.04V28.736L190.544,27.158L190.423,27.219L189.391,27.28L188.844,27.34L189.33,26.794L189.269,25.701L188.723,25.276L189.209,25.215L189.755,24.669L189.694,24.123L189.634,23.576L189.148,23.637L189.087,23.091L187.994,23.152L187.023,23.758L186.962,22.726L185.87,22.787L185.323,22.302L184.352,23.455V23.941L183.927,24.548L183.32,23.516L183.259,22.969L183.745,22.423V21.937L183.684,20.845L183.138,20.905L182.167,21.998V22.544L181.135,23.152L181.256,24.73L181.317,25.276L180.71,24.791V24.244L180.163,23.758L180.103,23.212V22.666L180.042,22.18L179.495,22.241L179.556,22.726L179.617,23.212L179.131,24.366L178.706,25.458L178.221,26.49L178.16,26.005V25.458L178.099,24.426L179.07,23.819V23.273L179.495,22.241L180.042,21.634L179.435,21.148L177.917,22.302L177.371,21.816L176.885,22.423L176.946,22.909L177.978,23.334L176.46,24.001L175.914,23.516L175.428,24.062L175.489,25.155H174.942L175.549,25.64L174.517,26.794L173.91,25.762L173.485,26.369L173.546,26.855V27.401L173.06,27.947L172.514,27.462H171.968V28.008L171.421,27.522L170.875,27.583L170.45,28.129V28.615L169.964,28.676L169.479,29.283L169.539,30.254L170.086,30.74L170.147,31.833L169.6,31.286L169.054,30.801L168.507,30.861L168.083,32.015L167.415,30.922L166.99,31.529L167.05,32.561L167.597,33.593L167.658,34.079L167.111,33.593L166.504,32.622L166.565,33.654L166.14,34.746L165.594,34.2L165.472,33.229L164.986,33.775L165.108,35.354H164.622L164.076,35.414L163.59,35.961L164.137,36.446L163.651,37.053L163.165,37.539L163.226,38.085L163.772,38.571L163.287,39.178L161.708,39.3L161.648,38.693L161.162,39.3V39.785L161.283,40.878V41.364L160.858,42.456L160.798,41.424L160.737,40.392L160.676,39.846L160.191,40.453H159.705L159.159,40.514L158.673,41.06L159.159,40.999L159.766,41.485V42.031L159.219,41.485L158.734,42.092L158.127,41.606H157.641L157.702,42.699L157.216,43.306L158.734,42.639L159.341,43.124V43.61L158.309,43.731H157.762L157.337,44.338V44.824L158.369,44.763L158.43,45.795L157.944,45.856H157.398L156.912,46.463L156.427,47.009L155.334,46.584L154.848,47.131L154.909,47.677V48.163H154.423L153.938,48.709L154.484,49.256L153.998,49.802L152.906,49.923L153.513,50.409L154.059,50.895L154.545,50.287L154.666,51.32L153.574,51.38L153.027,51.441L153.088,51.987L153.634,52.412L153.149,53.019H152.602L152.117,53.626L151.631,54.173L152.238,54.719V55.144L151.752,55.751L151.206,55.265V54.78L150.66,55.812L150.72,56.358L151.267,56.298L151.388,57.39L150.842,57.937L150.356,57.997L150.417,59.029L149.931,59.576H149.385L149.445,60.122L149.931,60.061L149.992,60.608L150.052,61.154L149.567,61.701L148.474,61.276L148.413,60.729L147.867,60.243L147.381,60.79L146.896,61.397H146.349L145.803,61.458L145.864,62.49L145.378,63.036L144.953,64.129H144.467L143.921,64.189L143.982,64.736L144.042,65.768L143.435,65.282L142.95,65.829L142.464,66.436L141.918,65.889L141.432,66.496L140.886,67.043H140.4L140.521,68.135L139.914,67.65H139.368L139.975,68.196V68.682L139.489,68.743L138.882,68.257L138.457,68.803L137.911,68.864H137.365L136.818,68.925L136.879,69.471L137.486,70.442L136.94,70.503H136.393L135.301,70.078H134.815L134.329,70.685L134.876,71.171L134.936,71.717H134.39L133.358,71.839L132.872,72.931L132.812,71.839L132.265,71.899L131.78,72.446L131.294,71.96L130.687,72.021H130.201L130.262,72.567V73.113L130.808,73.538H131.355L131.415,74.024L130.869,74.085L130.383,74.631L129.291,74.753L129.351,75.238L129.958,75.724V76.27L128.866,75.845L128.926,76.331V76.877L129.533,77.849L130.626,77.788V78.334L130.141,78.395L128.987,77.849L129.048,78.456L129.109,78.941L129.655,79.913L130.262,80.398L129.716,81.005L129.23,80.52L128.684,81.066L128.744,81.612L129.776,82.037L129.291,82.098H128.805V82.644L129.412,83.13L129.898,83.616L130.99,83.555L132.022,82.948L131.051,84.041L130.566,84.587L130.019,85.194L131.233,86.165L130.687,86.226L130.08,86.287L129.655,86.772L129.109,86.348L128.562,86.408L128.077,87.38L128.137,87.987L127.712,89.019L128.259,89.565L129.169,87.926L130.201,87.804L130.262,88.351L130.323,89.444H129.837L129.898,90.476L129.412,91.022L129.351,90.536L128.926,91.022V91.568L129.048,92.661V93.147L130.141,94.118L131.78,94.543L130.748,95.636L131.901,96.121L132.387,95.514L132.447,96.607L134.026,96.486L135.058,96.425L136.09,95.818L136.151,96.364L137.122,95.757L137.608,95.15L138.032,94.118L138.579,93.511L140.157,92.904L140.097,92.418L140.582,91.811L141.614,91.751L141.675,92.297L142.221,92.722L143.253,92.175L143.193,91.083L144.164,89.99L144.042,88.897L143.496,88.472L144.467,87.319L144.953,86.772L145.439,86.165H145.985L146.046,87.198L145.56,87.744L145.075,87.804L145.135,88.837L145.621,88.776L147.26,89.747L148.231,88.594V88.169Z" android:fillColor="#3F3F43"/> <path - android:pathData="M146.835,90.841H146.895L146.956,91.387L147.442,91.873L147.867,91.326V90.78L147.806,90.234L147.259,89.748L146.349,90.901L146.531,90.841H146.835Z" + android:pathData="M146.835,90.84H146.895L146.956,91.387L147.442,91.872L147.867,91.326V90.78L147.806,90.233L147.259,89.748L146.349,90.901L146.531,90.84H146.835Z" android:fillColor="#3F3F43"/> <path android:pathData="M176.763,42.943H176.702L177.188,42.396V41.91L177.127,41.304V40.818L177.067,40.271L176.52,39.786L176.399,38.754H175.913L174.76,38.329L173.728,37.843L173.242,37.904L172.635,37.418L172.149,37.479H172.089L172.028,36.447L170.935,35.961L169.843,35.476L168.871,35.536L168.811,35.597V36.143L168.932,37.175V37.661V37.722L167.9,37.236H167.839L167.475,38.875V39.361L166.989,39.422L166.443,38.936H166.382L165.35,39.543L165.472,40.575V41.061L164.986,41.121L163.954,40.696H163.408H163.347L162.922,41.85V42.335L161.404,43.489L160.979,44.035L160.433,44.642L161.04,45.067L161.586,46.099L161.161,46.706V47.192L160.19,48.285L159.158,48.892L159.219,49.985L159.279,50.531L158.794,51.017L157.823,51.624L156.79,52.231L156.851,53.324L156.366,54.416L155.88,54.902L155.941,55.995L156.001,56.48L156.062,57.027L155.637,58.605V59.151L154.666,59.758L154.18,60.305L154.787,61.337V61.883L154.848,62.369L155.455,63.401L154.969,64.008L153.877,64.069H153.391L152.905,64.615L152.359,65.161L151.873,65.222V64.736V64.676L150.841,65.283L150.356,65.89L149.87,66.922L149.931,68.015L149.991,69.047L150.113,70.079L149.627,70.686L149.688,71.718V72.203L150.295,72.689L150.356,73.721L150.416,74.328L149.931,75.36L149.991,75.846V76.392L150.598,76.938L151.145,77.364L151.205,77.971L151.266,78.942V79.488L149.809,80.642L149.87,81.188L150.416,82.159L150.477,82.706V83.191L150.598,84.83L150.234,86.409L149.809,86.47H149.688H149.141L148.656,87.016L148.716,87.562L148.231,88.169V88.594L147.259,89.748L147.806,90.233L147.867,90.78V91.326L147.442,91.872H147.381L146.895,91.387L146.835,90.84H146.531L146.349,90.901L146.41,91.933L146.47,92.419L146.531,93.512V94.058L146.592,94.544L146.652,95.09V95.576H147.199L147.259,96.608L147.684,96.061L148.292,96.547L147.806,97.64L147.867,98.125V98.672L147.927,99.157L147.988,100.25L148.049,100.796L148.656,101.282L148.109,101.828L148.17,102.86L148.777,103.346L149.263,103.285L149.384,104.925L150.538,105.349V105.835L150.598,106.381L150.052,106.442L150.113,106.928L149.566,107.474L149.627,108.021V108.567L150.234,108.992L150.295,109.599L150.841,110.024L150.902,110.57L150.963,111.602L150.477,112.209L151.023,112.634L151.509,112.088L152.116,112.574L153.634,111.967L154.18,112.452L154.666,112.391L155.273,112.331L155.212,111.845L155.151,110.813L155.091,109.72L155.516,109.174H156.062L156.608,109.113L157.094,108.506L156.548,108.567L157.033,108.021L158.065,107.414L159.158,107.899V108.385L159.704,108.324L160.736,108.263L161.283,108.203L161.222,107.171L161.161,106.685L162.133,105.046L162.011,104.014L162.497,103.468L163.043,102.86L162.983,102.375H162.436L162.922,101.282L163.408,100.736L162.861,100.25L162.801,99.704L162.74,99.218L163.225,98.611V98.065L163.65,97.033V96.547L163.59,95.94L162.983,94.968L164.015,94.362L162.376,93.997L162.861,93.39L163.954,93.876L164.5,93.815L165.472,92.722L165.411,92.176V91.63H165.897L166.443,91.569L166.989,92.055L167.475,90.962L167.961,90.415L168.932,89.808L167.839,89.383V88.837L168.386,88.23H168.871L169.782,86.652L169.235,86.105L169.175,85.073L168.143,85.62V85.134L168.082,84.588L167.475,84.102L166.989,83.677L166.929,83.131L166.868,82.584L165.836,83.191L165.289,82.706L164.743,82.159L164.622,81.188L164.075,80.702L164.015,80.156L163.529,79.67L164.015,79.61L164.5,79.063L164.44,78.031L164.379,77.485L164.318,76.453L164.865,76.392L164.257,75.967L164.743,75.36L164.682,74.328L165.168,73.782L165.107,72.689L163.529,72.811L163.468,71.778L163.954,71.232L165.047,71.657L165.532,71.111L166.079,71.05L166.504,70.504H167.111L168.082,69.896L167.536,69.411L168.507,68.257L167.961,67.772L168.993,67.711L169.478,66.618L169.964,67.104L170.996,66.497L170.45,66.011L170.935,65.465L171.482,65.404L172.514,64.797L172.392,63.765V63.219L172.332,62.733L172.817,61.64H173.303L173.728,60.548L174.274,59.94L173.667,59.516V58.969L173.546,57.876L173.485,56.845L173.971,56.298V55.752L173.91,55.266L174.396,54.659L175.488,54.598L175.428,53.506L175.306,52.534V51.988H175.792L176.338,52.413L177.309,51.32L177.917,51.806H178.463L178.949,51.745L179.495,52.231L179.981,51.684L179.859,50.592L179.313,50.106L178.766,49.135L178.706,48.588L178.645,47.556L178.584,46.464L179.009,45.917L178.524,45.432L178.463,44.946L177.917,44.4L177.856,43.914L177.795,43.368V42.882L176.763,42.943Z" android:fillColor="#3F3F43"/> <path - android:pathData="M197.039,75.724L197.525,74.692L198.011,74.085L198.436,73.538L198.921,72.385L199.225,71.353L199.346,70.867V71.232V71.353L199.893,71.292L200.378,70.746L199.832,70.26L200.317,69.714L200.257,68.621L200.742,68.135L201.228,67.528L201.167,67.043L201.592,65.889L202.624,65.282L203.11,64.25L202.503,63.218L201.957,62.733L200.317,62.308L198.678,61.883L198.132,61.397L197.586,60.972L197.039,61.033L196.432,60.001H196.493L196.979,59.94L197.464,59.879L198.011,59.272L197.95,58.787V58.301L197.343,57.815L197.282,57.269L196.25,57.33V56.783L196.189,56.298L195.4,55.994L195.34,55.933L195.097,55.812L196.129,55.266L195.582,54.78L195.522,54.234L195.036,54.841L194.429,54.294V53.809L194.368,53.262V52.716L193.883,52.352L193.761,52.23V51.745L193.822,51.684L194.247,51.198L193.64,50.166L194.125,49.559V49.316L194.065,49.074V48.527L193.458,47.556L192.851,46.524L192.304,45.977L191.211,45.613L191.151,45.067L190.604,44.581L189.997,43.549L189.937,42.517L189.876,42.031L189.815,40.999L190.301,40.392L190.24,39.907L190.179,38.814L189.087,37.843L188.115,37.478L187.994,37.418V37.296L187.933,36.871L187.387,36.386L186.841,35.9L186.233,35.414V34.929L186.719,34.322L186.658,33.775L187.144,33.229H186.962L186.78,33.29H186.658L186.598,32.743L186.537,32.258V31.772L186.476,30.679L186.962,30.072L186.901,29.587L186.355,29.101L185.748,28.615H185.687H185.262L183.623,28.251L184.109,27.158H183.866L183.562,27.219L183.077,27.705L182.045,28.372L181.498,28.433H181.013L180.527,28.979L180.709,31.104L180.223,32.197L180.284,32.682V33.168L180.345,33.715L179.859,34.261L179.374,35.414L179.434,35.9L178.888,35.961L177.917,36.507L177.31,35.536L176.824,35.597H176.763L176.277,36.143L174.699,36.264L174.153,35.779H173.971H173.606L173.364,35.839H173.06L172.453,34.807V34.261L171.36,33.836L170.814,33.35H170.571L170.328,33.411H170.267L169.843,34.443L169.903,35.475L170.996,35.961L172.028,36.446L172.149,37.478L172.635,37.418L173.242,37.903L173.728,37.843L174.821,38.328L175.913,38.753H176.46L176.52,39.785L177.067,40.271L177.127,40.817L177.188,41.303V41.849L177.249,42.396L176.763,42.942L177.795,42.881L177.856,43.367V43.913L177.917,44.399L178.463,44.945L178.524,45.431L179.07,45.917L178.584,46.463L178.645,47.556L178.766,48.588V49.134L179.374,50.105L179.92,50.591L179.981,51.684L180.527,51.623L181.073,52.109L182.166,52.048L182.227,52.595L182.712,53.019L182.773,53.566V54.051L182.895,55.144V55.69L183.502,56.116V56.662L182.955,56.723H182.47L181.984,56.783V57.33L181.073,58.969V59.454L180.648,60.547L180.163,61.154L179.191,62.247V62.733L179.252,63.279L178.22,63.886L177.734,64.432L177.249,64.979V65.525L177.37,66.618L176.338,67.164L175.792,66.678L175.245,66.739L175.306,67.771L174.335,68.925L174.396,69.957L174.456,70.442L175.003,70.928L175.124,71.96L174.578,72.567L174.638,73.114L175.731,73.538L175.792,74.024L175.853,75.117L175.974,76.634L176.035,77.727L175.003,78.334L175.063,79.366L175.124,79.913L176.277,81.37L177.856,81.248L178.402,81.795L179.495,81.734L180.041,81.673L180.648,82.705L180.709,83.676L181.255,84.223L181.802,84.709L183.38,84.587L183.927,84.526L184.352,83.434L184.837,82.887L185.444,83.919L185.93,83.312L186.416,82.766L187.448,82.22L188.965,81.552H189.512L190.058,81.491L189.997,80.945L189.937,80.398L190.483,79.852L191.09,80.884L191.515,80.277L192.547,79.731L193.033,78.638L193.579,79.123L194.672,79.063L195.157,79.002L195.643,78.456L196.129,77.181L196.554,76.27L197.039,75.724Z" + android:pathData="M197.039,75.724L197.525,74.692L198.011,74.085L198.435,73.538L198.921,72.385L199.225,71.353L199.346,70.867V71.231V71.353L199.892,71.292L200.378,70.746L199.832,70.26L200.317,69.714L200.257,68.621L200.742,68.135L201.228,67.528L201.167,67.043L201.592,65.889L202.624,65.282L203.11,64.25L202.503,63.218L201.956,62.732L200.317,62.307L198.678,61.882L198.132,61.397L197.586,60.972L197.039,61.033L196.432,60.001H196.493L196.978,59.94L197.464,59.879L198.011,59.272L197.95,58.786V58.301L197.343,57.815L197.282,57.269L196.25,57.329V56.783L196.189,56.297L195.4,55.994L195.339,55.933L195.097,55.812L196.129,55.265L195.582,54.78L195.522,54.233L195.036,54.84L194.429,54.294V53.808L194.368,53.262V52.716L193.882,52.352L193.761,52.23V51.744L193.822,51.684L194.247,51.198L193.64,50.166L194.125,49.559V49.316L194.065,49.073V48.527L193.457,47.556L192.85,46.524L192.304,45.977L191.211,45.613L191.151,45.067L190.604,44.581L189.997,43.549L189.936,42.517L189.876,42.031L189.815,40.999L190.301,40.392L190.24,39.907L190.179,38.814L189.087,37.842L188.115,37.478L187.994,37.417V37.296L187.933,36.871L187.387,36.386L186.84,35.9L186.233,35.414V34.929L186.719,34.321L186.658,33.775L187.144,33.229H186.962L186.78,33.289H186.658L186.598,32.743L186.537,32.257V31.772L186.476,30.679L186.962,30.072L186.901,29.586L186.355,29.101L185.748,28.615H185.687H185.262L183.623,28.251L184.109,27.158H183.866L183.562,27.219L183.077,27.704L182.045,28.372L181.498,28.433H181.013L180.527,28.979L180.709,31.104L180.223,32.197L180.284,32.682V33.168L180.345,33.714L179.859,34.261L179.373,35.414L179.434,35.9L178.888,35.961L177.916,36.507L177.309,35.536L176.824,35.596H176.763L176.277,36.143L174.699,36.264L174.153,35.778H173.97H173.606L173.363,35.839H173.06L172.453,34.807V34.261L171.36,33.836L170.814,33.35H170.571L170.328,33.411H170.267L169.842,34.443L169.903,35.475L170.996,35.961L172.028,36.446L172.149,37.478L172.635,37.417L173.242,37.903L173.728,37.842L174.82,38.328L175.913,38.753H176.459L176.52,39.785L177.067,40.271L177.127,40.817L177.188,41.303V41.849L177.249,42.396L176.763,42.942L177.795,42.881L177.856,43.367V43.913L177.916,44.399L178.463,44.945L178.524,45.431L179.07,45.917L178.584,46.463L178.645,47.556L178.766,48.588V49.134L179.373,50.105L179.92,50.591L179.981,51.684L180.527,51.623L181.073,52.109L182.166,52.048L182.227,52.594L182.712,53.019L182.773,53.566V54.051L182.894,55.144V55.69L183.502,56.115V56.662L182.955,56.722H182.469L181.984,56.783V57.329L181.073,58.968V59.454L180.648,60.547L180.163,61.154L179.191,62.247V62.732L179.252,63.279L178.22,63.886L177.734,64.432L177.249,64.979V65.525L177.37,66.618L176.338,67.164L175.792,66.678L175.245,66.739L175.306,67.771L174.335,68.924L174.395,69.956L174.456,70.442L175.003,70.928L175.124,71.96L174.578,72.567L174.638,73.113L175.731,73.538L175.792,74.024L175.852,75.117L175.974,76.634L176.035,77.727L175.003,78.334L175.063,79.366L175.124,79.912L176.277,81.369L177.856,81.248L178.402,81.794L179.495,81.734L180.041,81.673L180.648,82.705L180.709,83.676L181.255,84.223L181.802,84.708L183.38,84.587L183.926,84.526L184.351,83.434L184.837,82.887L185.444,83.919L185.93,83.312L186.415,82.766L187.447,82.219L188.965,81.552H189.512L190.058,81.491L189.997,80.945L189.936,80.398L190.483,79.852L191.09,80.884L191.515,80.277L192.547,79.73L193.033,78.638L193.579,79.123L194.672,79.063L195.157,79.002L195.643,78.455L196.129,77.181L196.554,76.27L197.039,75.724Z" android:fillColor="#3F3F43"/> <path - android:pathData="M212.823,171.52L212.277,171.581L211.791,171.459H211.306L210.213,171.763L209.606,171.399L208.695,171.459L208.088,171.52L207.481,170.974L205.478,171.702L204.931,171.945L204.264,173.281L203.05,174.495L201.896,174.98L201.593,175.587L200.439,175.83L199.468,175.345L198.921,175.405L197.768,175.466L197.222,175.527L196.311,175.587L195.158,175.648L194.368,175.284L193.64,175.345L192.486,175.466L191.576,175.527L190.908,175.223L190.787,174.737L190.665,174.616V174.313L190.483,173.705L190.301,173.584V173.341L190.18,173.22L189.39,174.13L188.844,174.677L188.662,174.737L188.601,174.798H188.358L188.965,175.77L189.026,176.802L189.573,177.287L189.633,177.834L190.18,177.773L190.665,177.712L191.272,178.258L190.787,178.744V179.291L189.755,179.898L189.815,180.444L189.876,181.476H189.573V181.537L189.33,181.597L189.451,182.569V183.054L189.512,184.086L190.665,184.633L191.212,185.058L191.758,185.543L192.304,186.029L192.851,186.515L192.911,187.061L192.972,187.547L192.486,188.154L193.397,188.518H193.519L194.611,188.457L195.643,188.397L196.675,188.336L197.222,188.822L197.889,188.154L197.707,187.607L198.072,187.425L199.164,186.94L199.589,187.182H199.893L200.136,186.879H200.318L200.803,187.486L201.35,187.425L201.41,187.972L201.653,187.85L202.2,187.486L202.442,187.365H202.928L203.414,187.304L204.385,187.243L204.81,186.818H204.871L204.992,186.636L206.024,186.575L206.995,186.515L207.117,186.393L207.056,186.029L206.631,185.483L206.571,184.936L207.481,184.511L207.785,184.572L207.724,184.511L207.967,184.451V184.39L208.452,183.844L208.392,183.358L208.938,183.297H209.302L209.788,182.751H209.849L209.909,182.69L210.456,182.629L211.002,182.569H211.549V183.115H212.095L213.127,182.994L214.523,182.933V182.447L214.402,181.355L213.916,181.415L213.309,180.93V180.383L212.216,180.505L211.791,181.051L211.67,180.019V179.473L212.095,178.926L212.641,178.866V178.319L213.127,177.773L212.52,177.287L212.459,176.255H213.005L212.945,175.162L212.884,174.13L213.916,174.07L214.948,174.009L215.434,173.402L215.009,172.552L212.823,171.52Z" + android:pathData="M212.823,171.52L212.277,171.581L211.791,171.459H211.306L210.213,171.763L209.606,171.399L208.695,171.459L208.088,171.52L207.481,170.974L205.478,171.702L204.931,171.945L204.264,173.28L203.049,174.495L201.896,174.98L201.592,175.587L200.439,175.83L199.468,175.344L198.921,175.405L197.768,175.466L197.222,175.527L196.311,175.587L195.157,175.648L194.368,175.284L193.64,175.344L192.486,175.466L191.576,175.527L190.908,175.223L190.787,174.737L190.665,174.616V174.312L190.483,173.705L190.301,173.584V173.341L190.179,173.22L189.39,174.13L188.844,174.677L188.662,174.737L188.601,174.798H188.358L188.965,175.769L189.026,176.801L189.572,177.287L189.633,177.833L190.179,177.773L190.665,177.712L191.272,178.258L190.787,178.744V179.29L189.755,179.898L189.815,180.444L189.876,181.476H189.572V181.537L189.33,181.597L189.451,182.569V183.054L189.512,184.086L190.665,184.633L191.212,185.058L191.758,185.543L192.304,186.029L192.851,186.515L192.911,187.061L192.972,187.547L192.486,188.154L193.397,188.518H193.518L194.611,188.457L195.643,188.397L196.675,188.336L197.222,188.821L197.889,188.154L197.707,187.607L198.071,187.425L199.164,186.94L199.589,187.182H199.893L200.135,186.879H200.318L200.803,187.486L201.35,187.425L201.41,187.972L201.653,187.85L202.2,187.486L202.442,187.364H202.928L203.414,187.304L204.385,187.243L204.81,186.818H204.871L204.992,186.636L206.024,186.575L206.995,186.515L207.117,186.393L207.056,186.029L206.631,185.483L206.57,184.936L207.481,184.511L207.785,184.572L207.724,184.511L207.967,184.451V184.39L208.452,183.843L208.392,183.358L208.938,183.297H209.302L209.788,182.751H209.849L209.909,182.69L210.456,182.629L211.002,182.569H211.548V183.115H212.095L213.127,182.994L214.523,182.933V182.447L214.402,181.354L213.916,181.415L213.309,180.93V180.383L212.216,180.505L211.791,181.051L211.67,180.019V179.473L212.095,178.926L212.641,178.865V178.319L213.127,177.773L212.52,177.287L212.459,176.255H213.005L212.945,175.162L212.884,174.13L213.916,174.07L214.948,174.009L215.434,173.402L215.009,172.552L212.823,171.52Z" android:fillColor="#3F3F43"/> <path - android:pathData="M193.519,188.519H193.397L193.458,188.579L193.519,188.519Z" + android:pathData="M193.519,188.518H193.397L193.458,188.579L193.519,188.518Z" android:fillColor="#3F3F43"/> <path - android:pathData="M216.162,161.746L215.191,161.625H215.13H215.009L214.584,162.232L214.28,162.414L213.916,162.232L213.248,161.928L212.216,162.293L211.609,161.503L211.549,160.471L211.427,159.379V158.893L210.82,158.407V157.861L210.759,157.375H211.306L211.245,156.283L211.184,155.736L210.577,154.765V154.218L209.484,153.794L208.938,153.308L208.331,152.761L208.27,151.729L207.178,151.305L205.903,151.122L206.024,149.301L204.324,148.33L203.778,147.844L203.353,147.784H203.292L202.625,147.601L202.321,147.48H202.139L201.653,147.298L200.196,147.905L200.014,148.512L199.832,148.937L198.861,149.058L198.011,149.119L197.647,149.058L196.554,150.09L196.007,150.515L194.49,149.908L193.883,149.969L192.972,150.151L192.486,150.94L191.515,150.819L190.908,150.515L190.119,150.212L189.148,150.03L187.691,150.151L186.901,150.394L186.719,150.455L187.691,151.669L187.751,152.215L187.266,152.761L186.719,153.308L186.294,153.854L185.748,153.915L185.262,154.461L184.716,155.008L184.837,156.04L184.352,156.647L184.473,158.164L183.987,158.771L183.502,159.379H183.016V159.864L182.531,160.471L182.045,160.957L181.559,161.564L181.074,162.11L180.588,163.142L180.649,163.203L180.224,164.235H180.709L181.256,164.174L181.316,164.721L181.377,165.753L181.438,166.299L181.984,166.724L182.045,167.817L182.47,167.756H183.016H183.138L183.745,168.242L184.23,168.727V169.213L183.805,169.82L183.866,170.306L183.927,170.791H184.352L185.141,170.731H185.323H185.505L185.93,170.67L186.537,171.216L187.569,171.581L187.994,171.095L189.026,170.427V170.488L189.087,170.427L189.694,170.974L189.208,171.52V172.066L189.815,172.006L190.362,172.977L190.18,173.22L190.301,173.341V173.584L190.483,173.705L190.665,174.313L190.726,174.434L190.787,174.737L190.908,175.223L191.576,175.527L192.486,175.466L193.64,175.345L194.368,175.284L195.158,175.648L196.311,175.587L197.222,175.527L197.768,175.466L198.921,175.405L199.468,175.345L200.439,175.83L201.593,175.587L201.896,174.98L203.05,174.495L204.264,173.28L204.931,171.945L205.478,171.702L207.481,170.974L208.088,171.52L208.695,171.459L209.606,171.399L210.213,171.763L211.306,171.459H211.791L212.277,171.581L212.823,171.52L215.009,172.552V172.309V171.824L215.434,170.731L214.887,170.245L214.827,169.213L214.766,168.606L215.252,168.12L215.737,167.513L215.191,167.574L214.705,167.635L214.645,167.088L215.07,165.996V165.51L215.555,164.903L216.162,165.389L216.223,166.481L216.709,166.421L217.194,165.874V165.328L217.68,165.267L218.166,164.174L217.983,162.11L217.68,162.96L216.891,162.05L216.769,161.989L216.526,161.868L216.162,161.746Z" + android:pathData="M216.162,161.746L215.191,161.625H215.13H215.009L214.584,162.232L214.28,162.414L213.916,162.232L213.248,161.928L212.216,162.293L211.609,161.504L211.549,160.471L211.427,159.379V158.893L210.82,158.407V157.861L210.759,157.375H211.306L211.245,156.283L211.184,155.736L210.577,154.765V154.219L209.484,153.794L208.938,153.308L208.331,152.762L208.27,151.73L207.178,151.305L205.903,151.123L206.024,149.301L204.324,148.33L203.778,147.844L203.353,147.784H203.292L202.625,147.602L202.321,147.48H202.139L201.653,147.298L200.196,147.905L200.014,148.512L199.832,148.937L198.861,149.059L198.011,149.119L197.647,149.059L196.554,150.091L196.007,150.516L194.49,149.908L193.883,149.969L192.972,150.151L192.486,150.94L191.515,150.819L190.908,150.516L190.119,150.212L189.148,150.03L187.691,150.151L186.901,150.394L186.719,150.455L187.691,151.669L187.751,152.215L187.266,152.762L186.719,153.308L186.294,153.854L185.748,153.915L185.262,154.461L184.716,155.008L184.837,156.04L184.352,156.647L184.473,158.165L183.987,158.772L183.502,159.379H183.016V159.864L182.531,160.471L182.045,160.957L181.559,161.564L181.074,162.111L180.588,163.143L180.649,163.203L180.224,164.235H180.709L181.256,164.175L181.316,164.721L181.377,165.753L181.438,166.299L181.984,166.724L182.045,167.817L182.47,167.756H183.016H183.138L183.745,168.242L184.23,168.728V169.213L183.805,169.82L183.866,170.306L183.927,170.792H184.352L185.141,170.731H185.323H185.505L185.93,170.67L186.537,171.217L187.569,171.581L187.994,171.095L189.026,170.427V170.488L189.087,170.427L189.694,170.974L189.208,171.52V172.067L189.815,172.006L190.362,172.977L190.18,173.22L190.301,173.341V173.584L190.483,173.706L190.665,174.313L190.726,174.434L190.787,174.738L190.908,175.223L191.576,175.527L192.486,175.466L193.64,175.345L194.368,175.284L195.158,175.648L196.311,175.588L197.222,175.527L197.768,175.466L198.921,175.405L199.468,175.345L200.439,175.83L201.593,175.588L201.896,174.98L203.05,174.495L204.264,173.281L204.931,171.945L205.478,171.702L207.481,170.974L208.088,171.52L208.695,171.459L209.606,171.399L210.213,171.763L211.306,171.459H211.791L212.277,171.581L212.823,171.52L215.009,172.552V172.309V171.824L215.434,170.731L214.887,170.245L214.827,169.213L214.766,168.606L215.252,168.121L215.737,167.514L215.191,167.574L214.705,167.635L214.645,167.089L215.07,165.996V165.51L215.555,164.903L216.162,165.389L216.223,166.481L216.709,166.421L217.194,165.874V165.328L217.68,165.267L218.166,164.175L217.983,162.111L217.68,162.96L216.891,162.05L216.769,161.989L216.526,161.868L216.162,161.746Z" android:fillColor="#3F3F43"/> <path - android:pathData="M212.095,183.115H211.548V182.568H211.002L210.456,182.629L209.909,182.69L209.849,182.75L209.424,183.297H209.302H208.938L208.392,183.358L208.452,183.843L207.967,184.39V184.45V184.693L208.27,184.815L208.634,185.361L209.12,185.3L209.181,185.847V186.332V186.393V186.454L208.756,186.939L209.059,187.425L208.695,187.486V187.546H208.574L208.27,187.607L208.513,188.032L208.331,189.064L208.27,189.125L208.088,189.368L207.845,189.61L207.906,190.157L207.42,190.703H207.36V190.764L207.906,191.249L208.938,191.189L209.484,191.128L209.97,190.582V191.128L210.031,191.614L209.545,191.674L208.574,192.828L209.12,193.253L209.606,192.706L211.123,192.039L211.609,191.492L212.641,190.885V190.4L213.066,189.853L214.098,189.185L214.584,188.7L215.069,188.093L216.101,187.546L216.587,187.486L217.68,187.425L218.712,187.364L219.258,187.304L219.744,186.757L219.683,185.664L219.137,185.725L218.044,185.239L217.558,185.3L216.405,184.329L215.373,184.39L215.312,183.904V183.358L214.705,182.933H214.523L213.127,182.993L212.095,183.115Z" + android:pathData="M212.095,183.115H211.548V182.569H211.002L210.456,182.629L209.909,182.69L209.849,182.751L209.424,183.297H209.302H208.938L208.392,183.358L208.452,183.844L207.967,184.39V184.451V184.693L208.27,184.815L208.634,185.361L209.12,185.3L209.181,185.847V186.333V186.393V186.454L208.756,186.94L209.059,187.425L208.695,187.486V187.547H208.574L208.27,187.607L208.513,188.032L208.331,189.064L208.27,189.125L208.088,189.368L207.845,189.611L207.906,190.157L207.42,190.703H207.36V190.764L207.906,191.25L208.938,191.189L209.484,191.128L209.97,190.582V191.128L210.031,191.614L209.545,191.675L208.574,192.828L209.12,193.253L209.606,192.707L211.123,192.039L211.609,191.493L212.641,190.886V190.4L213.066,189.854L214.098,189.186L214.584,188.7L215.069,188.093L216.101,187.547L216.587,187.486L217.68,187.425L218.712,187.365L219.258,187.304L219.744,186.757L219.683,185.665L219.137,185.725L218.044,185.24L217.558,185.3L216.405,184.329L215.373,184.39L215.312,183.904V183.358L214.705,182.933H214.523L213.127,182.994L212.095,183.115Z" android:fillColor="#3F3F43"/> <path - android:pathData="M207.906,190.157L207.845,189.611L208.088,189.368L208.27,189.125L208.331,189.065L208.513,188.033L208.27,187.608L208.574,187.547L208.695,187.486L209.059,187.426L208.756,186.94L209.181,186.394V186.333V185.847L209.12,185.301L208.634,185.362L208.27,184.815L207.967,184.694L207.784,184.572L207.481,184.512L206.57,184.937L206.631,185.483L207.056,186.029L207.117,186.394V186.515H206.995L206.024,186.576L204.992,186.636L204.87,186.819L204.506,187.244H204.385L203.413,187.304L202.928,187.365H202.442L202.199,187.486L201.653,187.851L201.41,187.972L201.349,187.426L200.803,187.486L200.317,186.879H200.135L199.892,187.183L199.771,187.304L199.589,187.183L199.164,186.94L198.071,187.426L197.707,187.608L197.889,188.154L197.221,188.822L196.675,188.336L195.643,188.397L194.611,188.458L193.518,188.518L193.457,188.579H193.579L192.547,189.186L192.061,189.733L191.576,190.34H191.09L190.483,190.4L190.422,190.34L189.936,189.854L189.451,190.461L188.965,191.007L187.933,191.068L186.901,191.736H186.415L185.383,191.797L185.323,191.736L184.776,191.311L184.837,191.857L184.351,191.918L183.805,192.404L184.412,192.829L184.959,193.314L185.019,193.861V194.407L184.534,194.953L184.109,196.046L183.562,196.592H183.077L183.623,197.139L182.652,197.746H182.591H182.53H182.105L181.62,198.292L181.68,198.899V199.385H181.559H181.073L181.62,200.417L182.227,200.903L183.259,200.842V201.328L183.38,202.42L183.987,202.906L184.412,202.36L185.019,202.299L185.505,202.238H186.051L186.112,202.785V203.27L185.08,203.331L184.473,203.392L184.048,203.938L184.594,204.424V204.97L184.655,205.516L185.201,205.456L186.294,205.881L186.78,205.334H187.326L187.812,205.274V205.759L188.844,205.213L189.39,205.152L189.936,205.091L190.969,205.031L191.515,205.516L192.122,205.941L192.061,205.456L193.093,205.395L193.64,205.881L194.186,206.366L195.279,206.791L194.854,207.398L194.307,207.459L193.761,208.005L193.275,207.52L193.215,206.973L192.668,206.488L191.636,207.095L191.576,206.548L191.09,206.609L190.544,206.67H190.058L189.512,206.731L189.026,207.277H188.48L187.933,207.338H187.447L186.901,207.398L186.476,208.005V208.491L187.083,209.523L187.569,209.462L188.115,209.948L188.722,210.494V210.98L188.783,212.012L188.297,212.619L188.904,213.044V213.59L188.965,214.137L189.572,215.169L190.119,215.108L190.665,215.047L191.09,214.501L190.604,214.015L190.544,213.469L190.969,212.923L191.576,213.408L191.636,213.955V214.44L191.697,214.987L192.243,215.472L192.79,215.412L193.336,216.444L193.882,216.383L193.822,215.351L193.761,214.865V214.319L194.186,213.773L194.247,214.805L194.793,214.744L194.854,215.776H195.461L197.586,215.594L197.525,215.108L196.432,214.683L196.371,214.137L195.764,213.651L195.704,212.558L195.218,212.619L194.55,211.648L194.004,211.162L193.943,210.13L194.49,210.069L195.097,210.494V211.041L195.643,211.526H196.189L197.221,210.919L198.193,210.312L198.132,209.219L197.161,209.887H196.614L196.068,209.402L196.007,208.916L196.493,208.309L197.464,207.216L198.011,207.155L198.618,208.187L199.71,208.612L199.65,208.127V207.58L199.528,206.488L199.467,205.456H198.921L197.828,205.031L197.221,204.059L196.736,204.12L195.643,203.634L194.55,203.209L193.457,203.27L192.911,202.785L193.397,202.238L193.882,201.692L193.822,201.145L193.336,201.206L192.729,200.174L193.215,199.567H193.7L194.793,199.446L195.4,199.992L195.461,200.478V201.024L195.946,200.963L196.432,199.871L195.886,199.931L194.247,198.474L193.579,197.442L192.486,197.017L191.94,196.532L191.879,195.5L191.818,194.953V194.468L191.272,193.982L191.697,193.375L192.729,192.768H193.215L193.336,193.8L193.943,194.286L194.49,195.318L195.157,196.35L196.25,196.775L197.282,197.199V196.714L196.189,196.228L195.582,195.743V195.257L195.522,194.711L196.129,195.196L196.675,195.621L197.221,196.167L198.86,196.592L198.8,196.046L198.253,196.107L197.707,195.075L197.1,194.589L197.646,194.528H198.132L198.193,195.5L199.285,195.439L200.317,194.893L200.803,194.346H200.257L199.164,193.921L198.071,193.496L197.525,193.011L196.979,192.464L196.918,191.979L197.464,191.918L199.043,191.797H199.528V191.25L199.467,190.765L199.953,190.157L200.56,190.704L201.046,191.189L202.139,191.068L202.685,190.522L202.078,190.036L202.624,189.975L203.596,189.915L204.688,190.4L206.327,190.279L206.874,190.765L207.359,190.704H207.42L207.906,190.157Z" + android:pathData="M207.906,190.157L207.845,189.611L208.088,189.368L208.27,189.125L208.331,189.065L208.513,188.033L208.27,187.608L208.574,187.547L208.695,187.486L209.059,187.426L208.756,186.94L209.181,186.394V186.333V185.847L209.12,185.301L208.634,185.362L208.27,184.815L207.967,184.694L207.784,184.572L207.481,184.512L206.57,184.937L206.631,185.483L207.056,186.029L207.117,186.394V186.515H206.995L206.024,186.576L204.992,186.636L204.871,186.819L204.506,187.244H204.385L203.414,187.304L202.928,187.365H202.442L202.199,187.486L201.653,187.851L201.41,187.972L201.35,187.426L200.803,187.486L200.318,186.879H200.135L199.893,187.183L199.771,187.304L199.589,187.183L199.164,186.94L198.071,187.426L197.707,187.608L197.889,188.154L197.221,188.822L196.675,188.336L195.643,188.397L194.611,188.458L193.518,188.518L193.458,188.579H193.579L192.547,189.186L192.061,189.733L191.576,190.34H191.09L190.483,190.4L190.422,190.34L189.937,189.854L189.451,190.461L188.965,191.007L187.933,191.068L186.901,191.736H186.416L185.384,191.797L185.323,191.736L184.777,191.311L184.837,191.857L184.352,191.918L183.805,192.404L184.412,192.829L184.959,193.314L185.019,193.861V194.407L184.534,194.953L184.109,196.046L183.562,196.592H183.077L183.623,197.139L182.652,197.746H182.591H182.53H182.105L181.62,198.292L181.68,198.899V199.385H181.559H181.073L181.62,200.417L182.227,200.903L183.259,200.842V201.328L183.38,202.42L183.987,202.906L184.412,202.36L185.019,202.299L185.505,202.238H186.051L186.112,202.785V203.27L185.08,203.331L184.473,203.392L184.048,203.938L184.594,204.424V204.97L184.655,205.516L185.201,205.456L186.294,205.881L186.78,205.334H187.326L187.812,205.274V205.759L188.844,205.213L189.39,205.152L189.937,205.091L190.969,205.031L191.515,205.516L192.122,205.941L192.061,205.456L193.093,205.395L193.64,205.881L194.186,206.366L195.279,206.791L194.854,207.398L194.308,207.459L193.761,208.005L193.275,207.52L193.215,206.973L192.668,206.488L191.636,207.095L191.576,206.548L191.09,206.609L190.544,206.67H190.058L189.512,206.731L189.026,207.277H188.48L187.933,207.338H187.448L186.901,207.398L186.476,208.005V208.491L187.083,209.523L187.569,209.462L188.115,209.948L188.722,210.494V210.98L188.783,212.012L188.298,212.619L188.905,213.044V213.59L188.965,214.137L189.572,215.169L190.119,215.108L190.665,215.047L191.09,214.501L190.604,214.015L190.544,213.469L190.969,212.923L191.576,213.408L191.636,213.955V214.44L191.697,214.987L192.243,215.472L192.79,215.412L193.336,216.444L193.883,216.383L193.822,215.351L193.761,214.865V214.319L194.186,213.773L194.247,214.805L194.793,214.744L194.854,215.776H195.461L197.586,215.594L197.525,215.108L196.432,214.683L196.372,214.137L195.764,213.651L195.704,212.558L195.218,212.619L194.55,211.648L194.004,211.162L193.943,210.13L194.49,210.069L195.097,210.494V211.041L195.643,211.526H196.189L197.221,210.919L198.193,210.312L198.132,209.219L197.161,209.887H196.614L196.068,209.402L196.007,208.916L196.493,208.309L197.464,207.216L198.011,207.155L198.618,208.187L199.71,208.612L199.65,208.127V207.58L199.528,206.488L199.468,205.456H198.921L197.829,205.031L197.221,204.059L196.736,204.12L195.643,203.634L194.55,203.209L193.458,203.27L192.911,202.785L193.397,202.238L193.883,201.692L193.822,201.145L193.336,201.206L192.729,200.174L193.215,199.567H193.7L194.793,199.446L195.4,199.992L195.461,200.478V201.024L195.947,200.963L196.432,199.871L195.886,199.931L194.247,198.474L193.579,197.442L192.486,197.017L191.94,196.532L191.879,195.5L191.819,194.953V194.468L191.272,193.982L191.697,193.375L192.729,192.768H193.215L193.336,193.8L193.943,194.286L194.49,195.318L195.157,196.35L196.25,196.775L197.282,197.199V196.714L196.189,196.228L195.582,195.743V195.257L195.522,194.711L196.129,195.196L196.675,195.621L197.221,196.167L198.861,196.592L198.8,196.046L198.253,196.107L197.707,195.075L197.1,194.589L197.646,194.528H198.132L198.193,195.5L199.285,195.439L200.318,194.893L200.803,194.346H200.257L199.164,193.921L198.071,193.496L197.525,193.011L196.979,192.464L196.918,191.979L197.464,191.918L199.043,191.797H199.528V191.25L199.468,190.765L199.953,190.157L200.56,190.704L201.046,191.189L202.139,191.068L202.685,190.522L202.078,190.036L202.624,189.975L203.596,189.915L204.688,190.4L206.328,190.279L206.874,190.765L207.36,190.704H207.42L207.906,190.157Z" android:fillColor="#3F3F43"/> <path - android:pathData="M181.681,198.899L181.62,198.292L182.106,197.746H182.531H182.591H182.652L183.623,197.139L183.077,196.592H183.563L184.109,196.046L184.534,194.953L185.02,194.407V193.861L184.959,193.314L184.413,192.829L183.805,192.404L183.198,191.979L183.138,190.886L182.591,190.947L182.531,189.915V189.368L181.984,188.883L181.924,187.851L181.863,187.304L181.924,187.244L182.349,186.758L182.288,186.211L181.741,185.24L181.681,184.694L180.588,184.755L180.102,184.269L179.495,183.783L178.463,184.39L177.978,184.451L177.492,184.937L177.553,185.483V185.969L177.613,186.515L177.674,187.547L178.22,188.033L178.281,188.518L178.342,189.065L177.795,189.125L177.856,189.672V190.157L177.917,190.643V191.189L177.978,191.736L178.038,192.768L177.553,193.314L177.613,193.861V194.407L178.22,194.893L177.735,195.439V195.925H178.281L178.342,196.471L177.795,196.532L177.856,197.564L178.888,197.442L179.435,197.989L180.527,197.867V198.353L181.134,199.385H181.559H181.681V198.899Z" + android:pathData="M181.681,198.899L181.62,198.292L182.106,197.745H182.531H182.591H182.652L183.623,197.138L183.077,196.592H183.563L184.109,196.046L184.534,194.953L185.02,194.407V193.86L184.959,193.314L184.413,192.828L183.806,192.403L183.199,191.978L183.138,190.886L182.591,190.946L182.531,189.914V189.368L181.984,188.882L181.924,187.85L181.863,187.304L181.924,187.243L182.349,186.757L182.288,186.211L181.742,185.24L181.681,184.693L180.588,184.754L180.102,184.269L179.495,183.783L178.463,184.39L177.978,184.451L177.492,184.936L177.553,185.483V185.968L177.613,186.515L177.674,187.547L178.221,188.032L178.281,188.518L178.342,189.064L177.796,189.125L177.856,189.671V190.157L177.917,190.643V191.189L177.978,191.735L178.038,192.767L177.553,193.314L177.613,193.86V194.407L178.221,194.892L177.735,195.439V195.924H178.281L178.342,196.471L177.796,196.531L177.856,197.563L178.888,197.442L179.435,197.988L180.527,197.867V198.353L181.134,199.385H181.559H181.681V198.899Z" android:fillColor="#3F3F43"/> <path - android:pathData="M178.463,184.389L179.495,183.782L180.102,184.268L180.588,184.753L181.68,184.693L181.741,185.239L182.288,186.21L182.348,186.757L181.923,187.242L181.863,187.303L181.923,187.849L181.984,188.881L182.53,189.367V189.913L182.591,190.946L183.137,190.885L183.198,191.978L183.805,192.402L184.352,191.917L184.837,191.856L184.777,191.31L185.323,191.735L185.384,191.795L186.416,191.735H186.901L187.933,191.067L188.965,191.006L189.451,190.46L189.937,189.853L190.422,190.338L190.483,190.399L191.09,190.338H191.576L192.061,189.731L192.547,189.185L193.579,188.578H193.458L193.397,188.517L192.486,188.153L192.972,187.546L192.911,187.06L192.851,186.514L192.304,186.028L191.758,185.543L191.211,185.057L190.665,184.632L189.512,184.086L189.451,183.054V182.568L189.33,181.597V181.475H189.572H189.876L189.815,180.443L189.754,179.897L190.787,179.29V178.743L191.272,178.258L190.665,177.711L190.179,177.772L189.633,177.833L189.572,177.286L189.026,176.801L188.965,175.769L188.358,174.797V174.737H188.662L188.844,174.676L189.39,174.13L190.179,173.219L190.362,172.976L189.815,172.005L189.208,172.066V171.519L189.694,170.973L189.087,170.427L189.026,170.487L188.055,171.094L187.63,171.641L187.569,171.58L186.537,171.216L185.93,170.669L185.505,170.73H185.444H185.141L184.352,170.791H183.927L183.866,170.305L183.805,169.819L184.23,169.212V168.727L183.744,168.241L183.137,167.755H183.016H182.652L182.045,167.816L181.984,166.723L181.438,166.298L181.377,165.752L181.316,164.72L181.255,164.174L180.709,164.234H180.223L180.648,163.202L180.588,163.142L179.92,163.081L179.131,162.838L178.524,162.899H177.977H177.917L177.977,163.384L177.188,163.567L177.067,163.749L176.399,163.142L175.245,163.567L174.517,164.174L174.092,164.356L173.181,164.417L172.756,164.781L172.21,165.449L171.664,166.056L171.36,166.238L170.268,165.995L169.782,166.056H169.235L168.75,166.116L168.203,165.631L167.657,165.691L167.596,165.145H167.05L166.504,164.659L165.957,164.234L165.411,163.749L164.804,163.263V162.717L164.743,162.17L164.197,161.685L163.59,161.199L163.408,160.774L162.193,160.531L162.133,160.592L161.465,161.199L160.858,161.078L160.372,161.26L159.947,161.442L159.522,161.503H159.462H159.401L158.551,161.563L157.762,161.624H157.337H157.215L156.851,162.413L156.912,162.595L156.244,162.474L155.516,162.838L155.394,163.324L154.787,162.899H154.241L153.877,162.96H153.694L153.027,162.231L152.602,162.292L151.691,162.656H151.57L151.448,163.263L151.63,163.688L151.813,164.174L151.873,164.599L151.691,164.781L150.963,165.266L151.752,165.813L151.813,166.541L151.934,166.602L152.42,166.723L152.845,166.177L152.905,166.723L152.966,167.209V167.755L152.541,168.362H151.995L151.509,168.909L152.055,169.394L152.116,169.941L152.177,170.973L152.723,171.459L152.784,172.005L153.33,172.491L153.755,171.398L154.241,170.851L154.726,169.759L154.666,169.212L155.212,169.152L155.759,169.698L156.366,170.184L156.912,170.669L157.458,171.641L157.033,172.733L157.094,173.28L157.155,174.312L158.187,174.251L158.247,174.797L158.794,174.737L159.28,175.162L159.887,175.708L158.308,175.829L158.855,176.315L159.401,176.801L160.069,177.833L160.554,177.772L161.708,178.743V179.229L162.801,179.715L163.833,179.108L164.379,179.047L165.472,180.079L166.625,180.99L167.232,182.022L168.264,181.961L168.871,182.932L169.964,183.418H170.51L171.117,184.328H171.603L172.149,184.875L173.242,184.753H173.728L174.335,185.178L174.396,185.785L174.881,186.21L175.428,186.15L175.549,187.182L176.581,187.121V187.667L177.127,187.607H177.674L177.552,186.575V186.028L177.492,185.543V184.996V184.935L177.977,184.45L178.463,184.389Z" + android:pathData="M178.463,184.389L179.495,183.782L180.102,184.268L180.588,184.754L181.68,184.693L181.741,185.239L182.288,186.211L182.348,186.757L181.923,187.243L181.863,187.303L181.923,187.85L181.984,188.882L182.53,189.367V189.914L182.591,190.946L183.137,190.885L183.198,191.978L183.805,192.403L184.352,191.917L184.837,191.856L184.777,191.31L185.323,191.735L185.384,191.796L186.416,191.735H186.901L187.933,191.067L188.965,191.006L189.451,190.46L189.937,189.853L190.422,190.339L190.483,190.399L191.09,190.339H191.576L192.061,189.732L192.547,189.185L193.579,188.578H193.458L193.397,188.517L192.486,188.153L192.972,187.546L192.911,187.06L192.851,186.514L192.304,186.028L191.758,185.543L191.211,185.057L190.665,184.632L189.512,184.086L189.451,183.054V182.568L189.33,181.597V181.475H189.572H189.876L189.815,180.443L189.754,179.897L190.787,179.29V178.744L191.272,178.258L190.665,177.712L190.179,177.772L189.633,177.833L189.572,177.287L189.026,176.801L188.965,175.769L188.358,174.798V174.737H188.662L188.844,174.676L189.39,174.13L190.179,173.219L190.362,172.976L189.815,172.005L189.208,172.066V171.519L189.694,170.973L189.087,170.427L189.026,170.487L188.055,171.094L187.63,171.641L187.569,171.58L186.537,171.216L185.93,170.67L185.505,170.73H185.444H185.141L184.352,170.791H183.927L183.866,170.305L183.805,169.82L184.23,169.213V168.727L183.744,168.241L183.137,167.756H183.016H182.652L182.045,167.816L181.984,166.724L181.438,166.299L181.377,165.752L181.316,164.72L181.255,164.174L180.709,164.235H180.223L180.648,163.203L180.588,163.142L179.92,163.081L179.131,162.838L178.524,162.899H177.977H177.917L177.977,163.385L177.188,163.567L177.067,163.749L176.399,163.142L175.245,163.567L174.517,164.174L174.092,164.356L173.181,164.417L172.756,164.781L172.21,165.449L171.664,166.056L171.36,166.238L170.268,165.995L169.782,166.056H169.235L168.75,166.116L168.203,165.631L167.657,165.692L167.596,165.145H167.05L166.504,164.66L165.957,164.235L165.411,163.749L164.804,163.263V162.717L164.743,162.171L164.197,161.685L163.59,161.199L163.408,160.774L162.193,160.531L162.133,160.592L161.465,161.199L160.858,161.078L160.372,161.26L159.947,161.442L159.522,161.503H159.462H159.401L158.551,161.563L157.762,161.624H157.337H157.215L156.851,162.413L156.912,162.595L156.244,162.474L155.516,162.838L155.394,163.324L154.787,162.899H154.241L153.877,162.96H153.694L153.027,162.231L152.602,162.292L151.691,162.656H151.57L151.448,163.263L151.63,163.688L151.813,164.174L151.873,164.599L151.691,164.781L150.963,165.267L151.752,165.813L151.813,166.541L151.934,166.602L152.42,166.724L152.845,166.177L152.905,166.724L152.966,167.209V167.756L152.541,168.363H151.995L151.509,168.909L152.055,169.395L152.116,169.941L152.177,170.973L152.723,171.459L152.784,172.005L153.33,172.491L153.755,171.398L154.241,170.852L154.726,169.759L154.666,169.213L155.212,169.152L155.759,169.698L156.366,170.184L156.912,170.67L157.458,171.641L157.033,172.734L157.094,173.28L157.155,174.312L158.187,174.251L158.247,174.798L158.794,174.737L159.28,175.162L159.887,175.708L158.308,175.83L158.855,176.315L159.401,176.801L160.069,177.833L160.554,177.772L161.708,178.744V179.229L162.801,179.715L163.833,179.108L164.379,179.047L165.472,180.079L166.625,180.99L167.232,182.022L168.264,181.961L168.871,182.932L169.964,183.418H170.51L171.117,184.329H171.603L172.149,184.875L173.242,184.754H173.728L174.335,185.179L174.396,185.786L174.881,186.211L175.428,186.15L175.549,187.182L176.581,187.121V187.667L177.127,187.607H177.674L177.552,186.575V186.028L177.492,185.543V184.996V184.936L177.977,184.45L178.463,184.389Z" android:fillColor="#3F3F43"/> <path - android:pathData="M99.24,182.023L99.847,182.205L100.333,182.266H100.697L100.879,182.084L101.122,181.78V180.991L100.576,180.323L100.151,180.384L99.544,180.566L99.179,180.748L98.937,181.112V181.173L99.24,182.023Z" + android:pathData="M99.24,182.023L99.847,182.205L100.333,182.265H100.697L100.879,182.083L101.122,181.78V180.991L100.576,180.323L100.151,180.384L99.544,180.566L99.179,180.748L98.937,181.112V181.173L99.24,182.023Z" android:fillColor="#3F3F43"/> <path - android:pathData="M134.936,158.891L135.3,159.316L135.725,159.256L136.211,159.134L136.332,158.77L136.271,157.981L135.543,157.495L135.421,157.617L134.875,157.981L134.936,158.527V158.891Z" + android:pathData="M134.936,158.892L135.3,159.317L135.725,159.256L136.211,159.135L136.332,158.77L136.271,157.981L135.543,157.496L135.421,157.617L134.875,157.981L134.936,158.528V158.892Z" android:fillColor="#3F3F43"/> <path - android:pathData="M95.968,83.755V35.02H23.036V83.755H95.968Z" - android:fillColor="#004996"/> - <path - android:pathData="M95.968,83.755V35.02H23.036V83.755H95.968Z" - android:strokeWidth="0.25" - android:fillColor="#00000000" - android:strokeColor="#000000"/> - <path - android:pathData="M59.5,41.787L59.196,42.701H58.217L59.027,43.276L58.723,44.19L59.5,43.615L60.31,44.19L60.006,43.276L60.783,42.701H59.804L59.5,41.787Z" - android:strokeWidth="0.25" - android:fillColor="#FFD500" - android:strokeColor="#FFD500"/> - <path - android:pathData="M51.396,43.986L51.092,44.9H50.113L50.924,45.475L50.62,46.389L51.396,45.814L52.173,46.389L51.869,45.475L52.679,44.9H51.7L51.396,43.986Z" - android:strokeWidth="0.25" - android:fillColor="#FFD500" - android:strokeColor="#FFD500"/> - <path - android:pathData="M45.487,49.943L45.183,50.857H44.204L45.015,51.432L44.711,52.38L45.487,51.805L46.264,52.38L45.96,51.432L46.771,50.857H45.791L45.487,49.943Z" - android:strokeWidth="0.25" - android:fillColor="#FFD500" - android:strokeColor="#FFD500"/> - <path - android:pathData="M43.259,58.065L42.955,58.979H41.976L42.752,59.555L42.449,60.468L43.259,59.893L44.035,60.468L43.732,59.555L44.542,58.979H43.563L43.259,58.065Z" - android:strokeWidth="0.25" - android:fillColor="#FFD500" - android:strokeColor="#FFD500"/> - <path - android:pathData="M45.454,66.188L45.15,67.136H44.171L44.947,67.712L44.643,68.625L45.454,68.05L46.23,68.625L45.926,67.678L46.737,67.136H45.758L45.454,66.188Z" - android:strokeWidth="0.25" - android:fillColor="#FFD500" - android:strokeColor="#FFD500"/> - <path - android:pathData="M51.396,72.145L51.092,73.092H50.113L50.89,73.668L50.586,74.581L51.396,74.006L52.173,74.581L51.869,73.668L52.646,73.092H51.7L51.396,72.145Z" - android:strokeWidth="0.25" - android:fillColor="#FFD500" - android:strokeColor="#FFD500"/> - <path - android:pathData="M59.5,74.311L59.196,75.258H58.217L59.027,75.834L58.723,76.747L59.5,76.172L60.31,76.747L60.006,75.8L60.783,75.258H59.804L59.5,74.311Z" - android:strokeWidth="0.25" - android:fillColor="#FFD500" - android:strokeColor="#FFD500"/> - <path - android:pathData="M67.638,43.986L67.908,44.9H68.887L68.11,45.475L68.414,46.389L67.638,45.814L66.827,46.389L67.131,45.475L66.354,44.9H67.334L67.638,43.986Z" - android:strokeWidth="0.25" - android:fillColor="#FFD500" - android:strokeColor="#FFD500"/> - <path - android:pathData="M73.547,49.943L73.817,50.857H74.796L74.019,51.432L74.323,52.38L73.547,51.805L72.736,52.38L73.04,51.432L72.263,50.857H73.243L73.547,49.943Z" - android:strokeWidth="0.25" - android:fillColor="#FFD500" - android:strokeColor="#FFD500"/> - <path - android:pathData="M75.775,58.065L76.079,58.979H77.058L76.247,59.555L76.551,60.468L75.775,59.893L74.964,60.468L75.268,59.555L74.492,58.979H75.471L75.775,58.065Z" - android:strokeWidth="0.25" - android:fillColor="#FFD500" - android:strokeColor="#FFD500"/> - <path - android:pathData="M73.58,66.188L73.884,67.136H74.863L74.053,67.712L74.357,68.625L73.58,68.05L72.77,68.625L73.074,67.678L72.297,67.136H73.276L73.58,66.188Z" - android:strokeWidth="0.25" - android:fillColor="#FFD500" - android:strokeColor="#FFD500"/> - <path - android:pathData="M67.638,72.145L67.941,73.092H68.921L68.11,73.668L68.414,74.581L67.638,74.006L66.861,74.581L67.131,73.668L66.354,73.092H67.334L67.638,72.145Z" - android:strokeWidth="0.25" - android:fillColor="#FFD500" - android:strokeColor="#FFD500"/> - <path - android:pathData="M222.567,109.981C222.172,116.249 216.767,120.941 210.593,120.569C204.419,120.198 199.645,114.893 200.041,108.626C200.436,102.358 205.841,97.667 212.016,98.038C218.19,98.41 222.963,103.715 222.567,109.981Z" + android:pathData="M222.567,109.982C222.172,116.249 216.767,120.941 210.593,120.569C204.418,120.198 199.645,114.894 200.041,108.626C200.436,102.359 205.841,97.668 212.016,98.039C218.189,98.41 222.963,103.715 222.567,109.982Z" android:strokeWidth="5.643" android:fillColor="#00000000" android:fillType="evenOdd" android:strokeColor="#C2D6E1"/> <path - android:pathData="M273.252,114.043C271.097,148.823 241.577,175.237 207.407,173.142C173.235,171.047 147.2,141.226 149.356,106.446C151.51,71.667 181.031,45.253 215.201,47.348C249.372,49.443 275.408,79.263 273.252,114.043Z" + android:pathData="M273.252,114.042C271.097,148.822 241.577,175.236 207.407,173.142C173.235,171.047 147.2,141.226 149.356,106.446C151.51,71.667 181.031,45.253 215.201,47.347C249.372,49.442 275.408,79.263 273.252,114.042Z" android:strokeAlpha="0.25" android:strokeWidth="5.643" android:fillColor="#00000000" @@ -983,7 +915,7 @@ android:strokeColor="#C2D6E1" android:fillAlpha="0.25"/> <path - android:pathData="M290.147,114.065C287.405,157.67 249.833,190.786 206.344,188.16C162.853,185.533 129.717,148.146 132.461,104.541C135.203,60.938 172.775,27.821 216.264,30.448C259.754,33.074 292.891,70.461 290.147,114.065Z" + android:pathData="M290.147,114.065C287.405,157.67 249.833,190.786 206.344,188.16C162.853,185.534 129.717,148.146 132.461,104.542C135.203,60.938 172.775,27.822 216.264,30.448C259.754,33.075 292.891,70.462 290.147,114.065Z" android:strokeAlpha="0.1" android:strokeWidth="5.643" android:fillColor="#00000000" @@ -999,7 +931,7 @@ android:strokeColor="#C2D6E1" android:fillAlpha="0.05"/> <path - android:pathData="M256.357,113.022C254.788,138.471 233.307,157.775 208.468,156.244C183.63,154.713 164.682,132.917 166.251,107.468C167.82,82.019 189.302,62.715 214.14,64.245C238.978,65.777 257.926,87.573 256.357,113.022Z" + android:pathData="M256.357,113.022C254.788,138.471 233.307,157.775 208.468,156.244C183.63,154.713 164.682,132.917 166.251,107.468C167.82,82.018 189.302,62.714 214.14,64.245C238.978,65.777 257.926,87.573 256.357,113.022Z" android:strokeAlpha="0.4" android:strokeWidth="5.643" android:fillColor="#00000000" @@ -1007,7 +939,7 @@ android:strokeColor="#C2D6E1" android:fillAlpha="0.4"/> <path - android:pathData="M239.274,110.903C238.294,126.45 224.896,138.211 209.443,137.278C193.988,136.346 182.167,123.063 183.146,107.516C184.125,91.969 197.523,80.208 212.977,81.141C228.431,82.073 240.252,95.356 239.274,110.903Z" + android:pathData="M239.274,110.903C238.294,126.45 224.896,138.211 209.443,137.278C193.988,136.346 182.166,123.063 183.146,107.516C184.125,91.969 197.523,80.208 212.977,81.141C228.431,82.073 240.252,95.356 239.274,110.903Z" android:strokeAlpha="0.8" android:strokeWidth="5.643" android:fillColor="#00000000" @@ -1033,28 +965,105 @@ android:fillColor="#F7B994" android:fillType="evenOdd"/> <path - android:pathData="M219.944,165.41m-12.581,1.768a12.705,12.705 127,1 1,25.163 -3.536a12.705,12.705 127,1 1,-25.163 3.536" + android:pathData="M219.945,165.41m-12.581,1.768a12.705,12.705 127,1 1,25.163 -3.536a12.705,12.705 127,1 1,-25.163 3.536" android:strokeWidth="3.388" android:fillColor="#00000000" android:strokeColor="#83D2F2"/> <group> <clip-path - android:pathData="M188.375,141.621L219.944,165.41L243.733,133.841L251.514,189.199L219.944,165.41L196.156,196.979L188.375,141.621Z" + android:pathData="M188.376,141.621L219.945,165.41L243.734,133.841L251.514,189.199L219.945,165.41L196.156,196.979L188.376,141.621Z" android:fillType="evenOdd"/> <path - android:pathData="M219.944,165.41m-19.291,2.711a19.481,19.481 127,1 1,38.583 -5.422a19.481,19.481 127,1 1,-38.583 5.422" + android:pathData="M219.945,165.41m-19.291,2.711a19.481,19.481 127,1 1,38.583 -5.422a19.481,19.481 127,1 1,-38.583 5.422" android:strokeAlpha="0.6" android:strokeWidth="3.388" android:fillColor="#00000000" android:strokeColor="#95B9CB" - android:fillAlpha="0.6"/> + android:fillAlpha="0.6" /> <path android:pathData="M219.945,165.41m-26.001,3.654a26.257,26.257 127,1 1,52.003 -7.309a26.257,26.257 127,1 1,-52.003 7.309" android:strokeAlpha="0.24" android:strokeWidth="3.388" android:fillColor="#00000000" android:strokeColor="#95B9CB" - android:fillAlpha="0.24"/> + android:fillAlpha="0.24" /> </group> + <path + android:pathData="M72.095,53.827V19.016H20V53.827H72.095Z" + android:fillColor="#004996" /> + <path + android:pathData="M72.095,53.827V19.016H20V53.827H72.095Z" + android:strokeWidth="0.25" + android:fillColor="#00000000" + android:strokeColor="#000000" /> + <path + android:pathData="M46.046,23.848L45.829,24.501H45.13L45.708,24.912L45.491,25.565L46.046,25.154L46.625,25.565L46.408,24.912L46.963,24.501H46.263L46.046,23.848Z" + android:strokeWidth="0.25" + android:fillColor="#FFD500" + android:strokeColor="#FFD500" /> + <path + android:pathData="M40.258,25.422L40.041,26.075H39.341L39.92,26.486L39.703,27.138L40.258,26.727L40.813,27.138L40.595,26.486L41.174,26.075H40.475L40.258,25.422Z" + android:strokeWidth="0.25" + android:fillColor="#FFD500" + android:strokeColor="#FFD500" /> + <path + android:pathData="M36.037,29.676L35.82,30.329H35.121L35.699,30.74L35.482,31.416L36.037,31.005L36.592,31.416L36.375,30.74L36.954,30.329H36.254L36.037,29.676Z" + android:strokeWidth="0.25" + android:fillColor="#FFD500" + android:strokeColor="#FFD500" /> + <path + android:pathData="M34.445,35.477L34.228,36.129H33.529L34.083,36.54L33.867,37.193L34.445,36.782L35,37.193L34.783,36.54L35.362,36.129H34.662L34.445,35.477Z" + android:strokeWidth="0.25" + android:fillColor="#FFD500" + android:strokeColor="#FFD500" /> + <path + android:pathData="M36.013,41.277L35.796,41.954H35.097L35.651,42.365L35.434,43.018L36.013,42.607L36.568,43.018L36.351,42.341L36.93,41.954H36.23L36.013,41.277Z" + android:strokeWidth="0.25" + android:fillColor="#FFD500" + android:strokeColor="#FFD500" /> + <path + android:pathData="M40.258,45.535L40.041,46.212H39.341L39.896,46.623L39.679,47.276L40.258,46.865L40.813,47.276L40.595,46.623L41.15,46.212H40.475L40.258,45.535Z" + android:strokeWidth="0.25" + android:fillColor="#FFD500" + android:strokeColor="#FFD500" /> + <path + android:pathData="M46.046,47.082L45.829,47.759H45.13L45.708,48.17L45.491,48.823L46.046,48.412L46.625,48.823L46.408,48.146L46.963,47.759H46.263L46.046,47.082Z" + android:strokeWidth="0.25" + android:fillColor="#FFD500" + android:strokeColor="#FFD500" /> + <path + android:pathData="M51.859,25.422L52.052,26.075H52.751L52.196,26.486L52.414,27.138L51.859,26.727L51.28,27.138L51.497,26.486L50.942,26.075H51.642L51.859,25.422Z" + android:strokeWidth="0.25" + android:fillColor="#FFD500" + android:strokeColor="#FFD500" /> + <path + android:pathData="M56.08,29.676L56.272,30.329H56.972L56.417,30.74L56.634,31.416L56.08,31.005L55.501,31.416L55.718,30.74L55.163,30.329H55.862L56.08,29.676Z" + android:strokeWidth="0.25" + android:fillColor="#FFD500" + android:strokeColor="#FFD500" /> + <path + android:pathData="M57.671,35.477L57.888,36.129H58.588L58.009,36.54L58.226,37.193L57.671,36.782L57.092,37.193L57.309,36.54L56.755,36.129H57.454L57.671,35.477Z" + android:strokeWidth="0.25" + android:fillColor="#FFD500" + android:strokeColor="#FFD500" /> + <path + android:pathData="M56.104,41.277L56.321,41.954H57.02L56.441,42.365L56.658,43.018L56.104,42.607L55.525,43.018L55.742,42.341L55.187,41.954H55.886L56.104,41.277Z" + android:strokeWidth="0.25" + android:fillColor="#FFD500" + android:strokeColor="#FFD500" /> + <path + android:pathData="M51.859,45.535L52.076,46.212H52.775L52.196,46.623L52.414,47.276L51.859,46.865L51.304,47.276L51.497,46.623L50.942,46.212H51.642L51.859,45.535Z" + android:strokeWidth="0.25" + android:fillColor="#FFD500" + android:strokeColor="#FFD500" /> + <path + android:pathData="M74.975,19h35.353v35h-35.353z" + android:fillColor="#EC3237" /> + <path + android:pathData="M89.169,24.816h6.965v23.539h-6.965z" + android:fillColor="#ffffff" /> + <path + android:pathData="M80.689,40.253l0,-6.965l23.539,-0l0,6.965z" + android:fillColor="#ffffff" /> </group> </vector> diff --git a/Corona-Warn-App/src/main/res/drawable/ic_country_ch.xml b/Corona-Warn-App/src/main/res/drawable/ic_country_ch.xml index 9a3ac8aac8d33378c6e98ad263e034787cda35f2..bb8a9a3ccab5eff3f03477fa2d9820e90d8bc1a8 100644 --- a/Corona-Warn-App/src/main/res/drawable/ic_country_ch.xml +++ b/Corona-Warn-App/src/main/res/drawable/ic_country_ch.xml @@ -1,28 +1,15 @@ <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="16dp" - android:height="16dp" - android:viewportWidth="16" - android:viewportHeight="16"> - <group> - <clip-path - android:pathData="M0,0h16v16h-16z"/> + android:width="18dp" + android:height="18dp" + android:viewportWidth="18" + android:viewportHeight="18"> <path - android:pathData="M0,0l16,0l0,16l-16,0z" - android:strokeWidth="1" - android:fillColor="#FF3D00" - android:fillType="nonZero" - android:strokeColor="#00000000"/> + android:pathData="M0,0h17.6763v17.5h-17.6763z" + android:fillColor="#EC3237" /> <path - android:pathData="M6.3636,3.2727l3.2727,0l0,9.8182l-3.2727,0z" - android:strokeWidth="1" - android:fillColor="#EDF0F2" - android:fillType="nonZero" - android:strokeColor="#00000000"/> + android:pathData="M7.097,2.9082h3.4824v11.7695h-3.4824z" + android:fillColor="#ffffff" /> <path - android:pathData="M3.0909,6.5455l9.8182,0l0,3.2727l-9.8182,0z" - android:strokeWidth="1" - android:fillColor="#EDF0F2" - android:fillType="nonZero" - android:strokeColor="#00000000"/> - </group> -</vector> + android:pathData="M2.8571,10.6265l0,-3.4824l11.7695,-0l0,3.4824z" + android:fillColor="#ffffff" /> +</vector> \ No newline at end of file diff --git a/Corona-Warn-App/src/main/res/drawable/ic_illustration_interoperability.xml b/Corona-Warn-App/src/main/res/drawable/ic_illustration_interoperability.xml index 5b8b8b9f788359d64c3cf1515b643d35746e17f4..61e7dc3c4db115f438be8367c566528fa1b119ea 100644 --- a/Corona-Warn-App/src/main/res/drawable/ic_illustration_interoperability.xml +++ b/Corona-Warn-App/src/main/res/drawable/ic_illustration_interoperability.xml @@ -1,73 +1,73 @@ <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="375dp" + android:width="360dp" android:height="209dp" - android:viewportWidth="375" + android:viewportWidth="360" android:viewportHeight="209"> <group> <clip-path android:pathData="M0,0h375v209h-375z"/> <path - android:pathData="M123.402,136.31V135.764L123.341,135.278L123.402,135.825V136.371L123.462,136.796L123.402,136.31Z" + android:pathData="M123.402,136.31V135.763L123.341,135.278L123.402,135.824V136.371L123.462,136.796L123.402,136.31Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M124.373,134.125L124.252,133.032V132.546L124.191,132.061L124.13,132.121L124.191,132.607V133.153L124.252,134.185L124.312,134.671L124.373,134.61V134.125Z" + android:pathData="M124.373,134.125L124.252,133.032V132.546L124.191,132.06L124.13,132.121L124.191,132.607V133.153L124.252,134.185L124.312,134.671L124.373,134.61V134.125Z" android:fillColor="#D8D8D8"/> <path android:pathData="M123.584,138.373L123.523,137.888H123.038V137.948L123.523,137.888L123.584,138.434V138.92V138.373Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M129.837,129.51L129.776,128.964L129.23,128.539L129.169,128.6L129.715,129.085L129.776,129.571L129.351,131.149L129.412,131.089L129.837,129.51Z" + android:pathData="M129.837,129.511L129.776,128.964L129.23,128.539L129.169,128.6L129.715,129.086L129.776,129.571L129.351,131.15L129.412,131.089L129.837,129.511Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M120.063,133.396L120.488,132.91L120.063,133.396Z" + android:pathData="M120.063,133.395L120.488,132.91L120.063,133.395Z" android:fillColor="#D8D8D8"/> <path android:pathData="M119.092,142.44L119.152,142.865V142.805V142.44H119.092Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M129.655,127.446L129.594,126.414L129.533,125.929H129.472L129.533,126.475L129.594,127.507L129.655,127.993L129.715,127.932L129.655,127.446Z" + android:pathData="M129.654,127.446L129.594,126.414L129.533,125.929H129.472L129.533,126.475L129.594,127.507L129.654,127.993L129.715,127.932L129.654,127.446Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M130.079,125.261L130.019,124.776L129.958,124.29V124.836L130.019,125.383L130.079,125.808V125.261Z" + android:pathData="M130.079,125.262L130.019,124.776L129.958,124.29V124.837L130.019,125.383L130.079,125.808V125.262Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M184.776,191.311L185.323,191.736L184.776,191.311Z" + android:pathData="M184.776,191.31L185.323,191.735L184.776,191.31Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M127.348,154.947L127.408,155.494L127.348,154.947Z" + android:pathData="M127.348,154.947L127.408,155.493L127.348,154.947Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M147.503,140.377L146.531,140.984L147.564,140.377H147.503Z" + android:pathData="M147.503,140.377L146.531,140.984L147.563,140.377H147.503Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M118.484,141.409L118.545,141.834V141.895V141.409H118.484Z" + android:pathData="M118.484,141.409L118.545,141.834V141.894V141.409H118.484Z" android:fillColor="#D8D8D8"/> <path android:pathData="M138.154,157.375L138.396,157.557L138.154,157.375Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M123.827,141.59L124.373,142.076V142.197V142.015L123.766,141.53L123.219,141.044V141.105L123.827,141.59Z" + android:pathData="M123.827,141.59L124.373,142.076V142.197V142.015L123.766,141.529L123.22,141.044V141.105L123.827,141.59Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M124.495,143.533L124.434,143.048V142.684V143.109L124.495,143.533Z" + android:pathData="M124.494,143.533L124.434,143.047V142.683V143.108L124.494,143.533Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M123.219,140.983V140.497L123.159,140.012V139.708V140.012L122.673,140.072L123.219,140.619V140.983Z" + android:pathData="M123.219,140.983V140.498L123.159,140.012V139.708V140.012L122.673,140.073L123.219,140.619V140.983Z" android:fillColor="#D8D8D8"/> <path android:pathData="M181.923,187.243L182.348,186.758L181.923,187.243Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M124.07,144.323L124.555,145.112L125.162,146.084V146.144L124.555,145.112L124.07,144.323Z" + android:pathData="M124.069,144.323L124.555,145.113L125.162,146.084V146.145L124.555,145.113L124.069,144.323Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M127.773,153.307L127.712,152.275V151.79L128.198,151.182V150.697L128.623,149.604L129.108,149.058L130.079,147.965L130.019,147.904L129.108,148.936L128.562,149.543L128.137,150.636L128.198,151.122L127.651,151.729L127.712,152.275L127.773,153.307V153.793L127.348,154.339V154.4L127.833,153.854L127.773,153.307Z" + android:pathData="M127.772,153.308L127.712,152.276V151.79L128.197,151.183V150.697L128.622,149.604L129.108,149.058L130.079,147.965L130.019,147.905L129.108,148.937L128.562,149.544L128.137,150.636L128.197,151.122L127.651,151.729L127.712,152.276L127.772,153.308V153.793L127.348,154.34V154.4L127.833,153.854L127.772,153.308Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M124.069,175.101L125.041,175.04L124.919,174.979L123.887,175.04H123.462L123.523,175.162L124.069,175.101Z" + android:pathData="M124.069,175.101L125.041,175.041L124.919,174.98L123.887,175.041H123.462L123.523,175.162L124.069,175.101Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M159.947,161.441L159.522,161.502L159.947,161.441Z" + android:pathData="M159.947,161.442L159.522,161.503L159.947,161.442Z" android:fillColor="#D8D8D8"/> <path android:pathData="M182.652,167.755H183.016H182.47L182.045,167.816L182.652,167.755Z" @@ -76,10 +76,10 @@ android:pathData="M147.806,162.292H147.867L147.442,161.928L147.806,162.292Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M188.055,171.095L189.026,170.487V170.427L187.994,171.095L187.569,171.58L187.63,171.641L188.055,171.095Z" + android:pathData="M188.055,171.095L189.026,170.488V170.427L187.994,171.095L187.569,171.581L187.63,171.641L188.055,171.095Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M189.566,181.465L189.324,181.482L189.328,181.543L189.57,181.526L189.566,181.465Z" + android:pathData="M189.566,181.466L189.324,181.483L189.328,181.543L189.57,181.526L189.566,181.466Z" android:fillColor="#D8D8D8"/> <path android:pathData="M116.238,139.467L116.178,138.435H116.117L116.238,139.406V139.892L115.753,140.438L115.813,140.499L116.299,140.013L116.238,139.467Z" @@ -88,7 +88,7 @@ android:pathData="M188.358,174.798H188.601L188.662,174.737H188.358V174.798Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M122.552,169.942L122.43,169.881H121.945L122.066,170.002L122.552,169.942Z" + android:pathData="M122.552,169.941L122.43,169.881H121.945L122.066,170.002L122.552,169.941Z" android:fillColor="#D8D8D8"/> <path android:pathData="M111.746,135.582V136.007H111.807V135.582H111.746Z" @@ -100,7 +100,7 @@ android:pathData="M113.931,137.038L113.992,137.463V137.524V137.038H113.931Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M122.916,144.14L123.523,144.08L122.613,143.897L122.916,144.14Z" + android:pathData="M122.916,144.14L123.523,144.079L122.612,143.897L122.916,144.14Z" android:fillColor="#D8D8D8"/> <path android:pathData="M121.641,169.638L121.52,169.517L121.641,169.638Z" @@ -109,58 +109,58 @@ android:pathData="M123.827,164.478H124.13L123.766,164.175L123.827,164.478Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M163.887,157.477L163.403,157.512L163.407,157.572L163.892,157.538L163.887,157.477Z" + android:pathData="M163.887,157.478L163.403,157.512L163.407,157.573L163.892,157.538L163.887,157.478Z" android:fillColor="#D8D8D8"/> <path android:pathData="M164.257,155.371L164.197,155.553H164.318V155.371H164.257Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M162.497,159.743H162.982V159.683L162.497,159.743Z" + android:pathData="M162.497,159.743H162.982V159.682L162.497,159.743Z" android:fillColor="#D8D8D8"/> <path android:pathData="M183.502,149.787L183.077,149.423H182.895L183.441,149.848L183.502,149.787Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M166.443,154.279L165.958,153.854H165.775L166.261,154.279H166.443Z" + android:pathData="M166.443,154.279L165.957,153.854H165.775L166.261,154.279H166.443Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M184.655,149.301L184.594,149.361L184.837,149.422L184.655,149.301Z" + android:pathData="M184.655,149.301L184.594,149.362L184.837,149.423L184.655,149.301Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M165.108,152.519L164.986,152.397L165.047,152.519H165.108Z" + android:pathData="M165.107,152.519L164.986,152.397L165.047,152.519H165.107Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M149.688,157.982L149.566,157.921L149.688,157.982Z" + android:pathData="M149.688,157.981L149.566,157.921L149.688,157.981Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M149.142,157.497L149.263,157.618L149.202,157.072L149.142,156.586L149.081,156.525V157.011L149.142,157.497Z" + android:pathData="M149.141,157.496L149.263,157.618L149.202,157.071L149.141,156.586L149.081,156.525V157.011L149.141,157.496Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M141.25,157.01V156.585H141.128V157.01H141.25Z" + android:pathData="M141.249,157.01V156.585H141.128V157.01H141.249Z" android:fillColor="#D8D8D8"/> <path android:pathData="M149.688,156.04L150.113,156.404L149.688,156.04Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M159.704,149.36L159.219,148.996L159.644,149.36H159.704Z" + android:pathData="M159.704,149.361L159.219,148.997L159.644,149.361H159.704Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M164.865,155.372L165.29,154.825H165.229L164.865,155.311V155.372Z" + android:pathData="M164.865,155.372L165.29,154.826H165.229L164.865,155.311V155.372Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M137.486,157.252L137.364,157.191L137.486,157.252Z" + android:pathData="M137.486,157.253L137.364,157.192L137.486,157.253Z" android:fillColor="#D8D8D8"/> <path android:pathData="M149.02,154.461L149.445,154.886V154.825L149.02,154.461Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M163.226,155.433V155.493H163.772L163.894,155.433H163.772H163.226Z" + android:pathData="M163.226,155.432V155.493H163.772L163.893,155.432H163.772H163.226Z" android:fillColor="#D8D8D8"/> <path android:pathData="M167.111,140.62L167.05,140.56L166.625,141.106L167.111,140.62Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M176.945,144.626L176.885,144.08L177.856,143.533V143.473L176.824,144.08L176.885,144.626L176.46,145.112V145.172L176.945,144.626Z" + android:pathData="M176.945,144.627L176.885,144.08L177.856,143.534V143.473L176.824,144.08L176.885,144.627L176.46,145.112V145.173L176.945,144.627Z" android:fillColor="#D8D8D8"/> <path android:pathData="M164.501,140.741H164.683L164.44,140.802L164.986,141.227H165.047L164.501,140.741Z" @@ -169,31 +169,31 @@ android:pathData="M181.134,144.323L181.255,144.08L181.073,144.323L179.556,144.93L181.134,144.323Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M174.821,144.201L175.306,144.14L175.792,143.654H175.731L175.246,144.201H174.699L174.274,144.747L174.335,144.808L174.821,144.201Z" + android:pathData="M174.821,144.201L175.306,144.14L175.792,143.655H175.731L175.246,144.201H174.699L174.274,144.747L174.335,144.808L174.821,144.201Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M150.173,140.194H150.113L149.141,140.801L150.173,140.194Z" + android:pathData="M150.173,140.195H150.113L149.141,140.802L150.173,140.195Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M164.076,141.833L164.501,141.287H164.44L164.015,141.833V142.198L164.076,142.319V141.833Z" + android:pathData="M164.075,141.834L164.5,141.287H164.44L164.015,141.834V142.198L164.075,142.32V141.834Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M151.206,139.588L151.691,139.527L153.27,138.374L153.695,137.827L154.18,137.281L155.212,136.674L154.18,137.281L153.695,137.827L153.209,138.374L151.691,139.527L151.145,139.588L150.659,140.134L151.206,139.588Z" + android:pathData="M151.205,139.587L151.691,139.527L153.269,138.373L153.694,137.827L154.18,137.281L155.212,136.673L154.18,137.281L153.694,137.827L153.209,138.373L151.691,139.527L151.145,139.587L150.659,140.134L151.205,139.587Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M150.781,148.572L150.234,148.086L149.566,147.054L149.02,146.022L148.413,145.597V145.051L148.292,144.019L147.745,143.473L147.199,143.048L147.138,142.016H146.592H147.077L147.199,143.048L147.745,143.473L148.292,144.019L148.352,145.051L148.413,145.597L149.02,146.022L149.566,147.054L150.174,148.086L150.72,148.572L151.206,148.511L151.327,148.633L151.266,148.511L150.781,148.572Z" + android:pathData="M150.781,148.572L150.234,148.086L149.566,147.054L149.02,146.022L148.413,145.597V145.051L148.292,144.019L147.745,143.472L147.199,143.047L147.138,142.015H146.592H147.077L147.199,143.047L147.745,143.472L148.292,144.019L148.352,145.051L148.413,145.597L149.02,146.022L149.566,147.054L150.174,148.086L150.72,148.572L151.206,148.511L151.327,148.632L151.266,148.511L150.781,148.572Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M145.924,139.952H145.863L145.985,140.984L146.592,142.016L145.985,140.984L145.924,139.952Z" + android:pathData="M145.924,139.952H145.863L145.984,140.984L146.592,142.016L145.984,140.984L145.924,139.952Z" android:fillColor="#D8D8D8"/> <path android:pathData="M162.861,140.863L161.89,140.924L162.861,140.863Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M156.851,137.099V136.978L156.791,137.038L156.851,137.099L156.305,137.645L156.851,137.099Z" + android:pathData="M156.851,137.099V136.977L156.791,137.038L156.851,137.099L156.305,137.645L156.851,137.099Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M153.998,150.818L153.512,150.454L153.937,150.818H153.998Z" + android:pathData="M153.998,150.819L153.512,150.454L153.937,150.819H153.998Z" android:fillColor="#D8D8D8"/> <path android:pathData="M168.871,35.536L169.842,35.476L170.935,35.961L172.028,36.447L172.089,37.479H172.149L172.028,36.447L170.996,35.961L169.903,35.476L168.871,35.536Z" @@ -202,10 +202,10 @@ android:pathData="M167.9,37.235L168.932,37.721V37.66L167.9,37.235Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M170.328,33.411L170.571,33.351L170.328,33.411Z" + android:pathData="M170.328,33.411L170.571,33.35L170.328,33.411Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M172.514,34.808L172.453,34.261L171.36,33.836L170.814,33.351L171.36,33.836L172.453,34.261V34.808L173.06,35.84H173.364H173.121L172.514,34.808Z" + android:pathData="M172.514,34.807L172.453,34.261L171.36,33.836L170.814,33.35L171.36,33.836L172.453,34.261V34.807L173.06,35.839H173.364H173.121L172.514,34.807Z" android:fillColor="#D8D8D8"/> <path android:pathData="M150.234,86.408L149.809,86.469L150.234,86.408Z" @@ -217,10 +217,10 @@ android:pathData="M166.443,38.936L166.989,39.421L167.475,39.361L167.05,39.421L166.443,38.936Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M151.934,64.676L151.874,64.737V65.222L152.359,65.161H151.934V64.676Z" + android:pathData="M151.934,64.675L151.873,64.736V65.222L152.359,65.161H151.934V64.675Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M163.954,40.696H163.407H163.954L164.986,41.121L165.472,41.061L165.047,41.121L163.954,40.696Z" + android:pathData="M163.954,40.696H163.407H163.954L164.986,41.121L165.472,41.06L165.047,41.121L163.954,40.696Z" android:fillColor="#D8D8D8"/> <path android:pathData="M176.824,35.597L177.31,35.536L177.917,36.507L177.31,35.536L176.824,35.597Z" @@ -229,7 +229,7 @@ android:pathData="M220.108,113.787L219.137,113.848L220.108,113.787Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M146.895,90.84H146.835L146.895,91.386L147.381,91.872H147.442L146.956,91.386L146.895,90.84Z" + android:pathData="M146.895,90.84H146.835L146.895,91.386L147.381,91.871H147.442L146.956,91.386L146.895,90.84Z" android:fillColor="#D8D8D8"/> <path android:pathData="M174.76,38.327L175.913,38.752H176.399L176.52,39.784L177.067,40.27L177.127,40.816V41.302L177.188,41.909V42.395L176.702,42.941H176.763L177.249,42.395L177.188,41.848V41.302L177.127,40.816L177.067,40.27L176.52,39.784L176.46,38.752H175.913L174.821,38.327L173.728,37.842L173.242,37.903L173.728,37.842L174.76,38.327Z" @@ -238,16 +238,16 @@ android:pathData="M184.109,27.158H183.866H184.109L183.623,28.251L185.262,28.615L183.684,28.251L184.109,27.158Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M186.598,32.258L186.537,31.772L186.476,30.679L186.962,30.072V29.526L186.355,29.101L185.809,28.615H185.687H185.748L186.355,29.101L186.901,29.587L186.962,30.072L186.476,30.679L186.537,31.772V32.258L186.598,32.743L186.659,33.29V32.743L186.598,32.258Z" + android:pathData="M186.598,32.257L186.537,31.772L186.476,30.679L186.962,30.072V29.525L186.355,29.101L185.809,28.615H185.687H185.748L186.355,29.101L186.901,29.586L186.962,30.072L186.476,30.679L186.537,31.772V32.257L186.598,32.743L186.659,33.289V32.743L186.598,32.257Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M179.07,23.82L178.099,24.427L178.16,25.459V26.005L178.22,26.491L178.706,25.459L179.131,24.366L179.617,23.212L179.556,22.727L179.495,22.241L179.07,23.273V23.82Z" + android:pathData="M179.07,23.82L178.099,24.427L178.16,25.459V26.005L178.22,26.491L178.706,25.459L179.131,24.366L179.617,23.213L179.556,22.727L179.495,22.241L179.07,23.273V23.82Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M100.015,105.953L99.955,105.957L99.981,106.32L100.041,106.316L100.015,105.953Z" + android:pathData="M100.015,105.952L99.955,105.957L99.981,106.32L100.041,106.316L100.015,105.952Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M81.757,108.323H81.696L81.271,108.809V108.87L81.757,108.323Z" + android:pathData="M81.757,108.323H81.696L81.271,108.809V108.869L81.757,108.323Z" android:fillColor="#D8D8D8"/> <path android:pathData="M101.426,105.834L101.547,105.713L101.183,105.409H100.94L101.426,105.834Z" @@ -256,43 +256,43 @@ android:pathData="M79.51,105.835H79.875L80.482,106.26L80.543,106.199L79.996,105.774L79.51,105.835Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M172.635,37.418L173.243,37.904L172.635,37.418Z" + android:pathData="M172.635,37.418L173.242,37.903L172.635,37.418Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M93.41,124.704L93.046,124.729L93.055,124.851L93.418,124.825L93.41,124.704Z" + android:pathData="M93.41,124.704L93.046,124.73L93.055,124.851L93.418,124.825L93.41,124.704Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M71.679,114.759L71.133,114.82L70.587,114.334L69.555,114.941L70.04,114.88L70.647,114.82L71.194,115.366L72.226,115.305L72.772,115.245L72.165,114.759H71.679Z" + android:pathData="M71.679,114.759L71.133,114.82L70.587,114.334L69.555,114.941L70.04,114.881L70.647,114.82L71.194,115.366L72.226,115.306L72.772,115.245L72.165,114.759H71.679Z" android:fillColor="#D8D8D8"/> <path android:pathData="M84.064,110.752L84.671,111.238L84.61,110.752H84.064Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M188.116,37.478L187.994,37.296V37.417L188.116,37.478Z" + android:pathData="M188.115,37.479L187.994,37.296V37.418L188.115,37.479Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M193.761,52.23L193.883,52.351L193.761,51.866L193.822,51.684L193.761,51.744V52.23Z" + android:pathData="M193.761,52.23L193.883,52.352L193.761,51.866L193.822,51.684L193.761,51.744V52.23Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M186.962,33.229L186.78,33.29L186.962,33.229Z" + android:pathData="M186.962,33.23L186.78,33.291L186.962,33.23Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M194.186,49.195L194.065,49.073L194.126,49.316L194.186,49.195Z" + android:pathData="M194.186,49.194L194.065,49.073L194.126,49.316L194.186,49.194Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M226.058,50.773L226.665,50.713L227.697,51.138L227.15,50.106L226.604,49.681L224.054,50.348L225.086,50.834L226.058,50.773Z" + android:pathData="M226.058,50.773L226.665,50.713L227.697,51.138L227.15,50.105L226.604,49.681L224.054,50.348L225.086,50.834L226.058,50.773Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M199.225,71.352L199.347,71.23V70.866L199.225,71.352Z" + android:pathData="M199.225,71.352L199.346,71.231V70.867L199.225,71.352Z" android:fillColor="#D8D8D8"/> <path android:pathData="M195.401,55.933H195.34L195.401,55.993V55.933Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M204.871,186.817H204.81L204.385,187.242H204.506L204.871,186.817Z" + android:pathData="M204.871,186.818H204.81L204.385,187.243H204.506L204.871,186.818Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M190.787,174.736L190.726,174.433L190.665,174.312V174.615L190.787,174.736Z" + android:pathData="M190.787,174.736L190.726,174.433L190.665,174.311V174.615L190.787,174.736Z" android:fillColor="#D8D8D8"/> <path android:pathData="M202.2,187.485L201.653,187.85L202.2,187.485Z" @@ -301,16 +301,16 @@ android:pathData="M204.749,147.177L205.296,146.57L205.781,146.084L205.721,146.145L205.235,146.57L204.688,147.177L203.292,147.784H203.353L204.749,147.177Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M209.97,146.812L210.517,146.751L209.91,146.812L209.485,147.297L209.545,147.358L209.97,146.812Z" + android:pathData="M209.97,146.811L210.517,146.751L209.91,146.811L209.485,147.297L209.545,147.358L209.97,146.811Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M216.162,153.187H216.648H216.162L215.677,153.247L216.162,153.187Z" + android:pathData="M216.162,153.186H216.648H216.162L215.676,153.247L216.162,153.186Z" android:fillColor="#D8D8D8"/> <path android:pathData="M202.139,147.358V147.48H202.321L202.139,147.358Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M209.849,182.75H209.788L209.302,183.296H209.424L209.849,182.75Z" + android:pathData="M209.849,182.75H209.788L209.302,183.297H209.424L209.849,182.75Z" android:fillColor="#D8D8D8"/> <path android:pathData="M212.034,147.176V147.722H212.095L212.034,147.176Z" @@ -319,7 +319,7 @@ android:pathData="M207.117,186.394L206.995,186.515H207.117V186.394Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M207.967,184.45L207.724,184.511L207.785,184.572L207.967,184.693V184.45Z" + android:pathData="M207.967,184.451L207.724,184.511L207.784,184.572L207.967,184.693V184.451Z" android:fillColor="#D8D8D8"/> <path android:pathData="M251.19,138.739L252.162,138.678L253.194,138.617L252.222,138.678L251.19,138.739Z" @@ -331,7 +331,7 @@ android:pathData="M209.181,186.454V186.394L208.756,186.94L209.181,186.454Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M208.271,189.125L208.088,189.368L208.271,189.125Z" + android:pathData="M208.27,189.125L208.088,189.368L208.27,189.125Z" android:fillColor="#D8D8D8"/> <path android:pathData="M208.695,187.546V187.485L208.574,187.546H208.695Z" @@ -340,28 +340,28 @@ android:pathData="M245.727,128.175V128.114L244.695,128.661L244.755,128.721L245.727,128.175Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M243.662,128.295L243.602,127.749V128.295L242.691,128.842L243.662,128.295Z" + android:pathData="M243.662,128.296L243.602,127.749V128.296L242.691,128.842L243.662,128.296Z" android:fillColor="#D8D8D8"/> <path android:pathData="M238.442,128.114L239.413,127.021H239.352L238.381,128.114L237.956,128.661L237.713,128.721L238.017,128.661L238.442,128.114Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M236.863,128.235H236.803L236.317,128.782H236.378L236.863,128.235Z" + android:pathData="M236.863,128.236H236.803L236.317,128.782H236.378L236.863,128.236Z" android:fillColor="#D8D8D8"/> <path android:pathData="M252.526,128.114L252.465,128.175L251.979,128.782H252.04L252.526,128.114Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M235.831,128.297L235.285,128.358L234.313,128.418L235.345,128.358L235.831,128.297Z" + android:pathData="M235.831,128.297L235.285,128.357L234.313,128.418L235.345,128.357L235.831,128.297Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M246.819,128.053L247.851,127.992H248.034H247.791L246.759,128.053L246.819,128.539L246.395,128.599L246.819,128.539V128.053Z" + android:pathData="M246.819,128.053L247.851,127.992H248.034H247.791L246.759,128.053L246.819,128.538L246.394,128.599L246.819,128.538V128.053Z" android:fillColor="#D8D8D8"/> <path android:pathData="M248.883,128.417H248.823L248.883,128.903L248.944,129.024L248.883,128.417Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M209.302,129.693L209.363,129.571L209.302,129.632V129.693Z" + android:pathData="M209.302,129.692L209.363,129.571L209.302,129.632V129.692Z" android:fillColor="#D8D8D8"/> <path android:pathData="M190.544,130.482L190.605,130.36L190.483,130.482H190.544Z" @@ -370,13 +370,13 @@ android:pathData="M214.645,128.843V128.782H214.463L214.645,128.843Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M207.542,129.328L207.603,129.207L207.299,128.964L207.542,129.328Z" + android:pathData="M207.542,129.328L207.602,129.206L207.299,128.964L207.542,129.328Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M193.579,128.113L194.186,128.053L193.579,128.113Z" + android:pathData="M193.579,128.114L194.186,128.053L193.579,128.114Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M221.808,121.559H221.747L220.715,122.044H220.776L221.808,121.559Z" + android:pathData="M221.808,121.558H221.747L220.715,122.044H220.776L221.808,121.558Z" android:fillColor="#D8D8D8"/> <path android:pathData="M225.329,120.708L224.358,121.376H224.418L225.329,120.708Z" @@ -388,10 +388,10 @@ android:pathData="M230.914,124.471H231.278H230.853L230.368,125.078L230.914,124.471Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M136.818,114.395L137.304,114.819H137.364L136.818,114.395Z" + android:pathData="M136.818,114.395L137.304,114.82H137.364L136.818,114.395Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M138.336,114.759L138.639,115.062L138.7,115.002L138.457,114.759H138.336Z" + android:pathData="M138.336,114.759L138.639,115.062L138.7,115.001L138.457,114.759H138.336Z" android:fillColor="#D8D8D8"/> <path android:pathData="M264.242,160.167L264.667,159.135H264.606L264.181,160.228L263.696,160.774H263.635H263.696L264.242,160.167Z" @@ -406,16 +406,16 @@ android:pathData="M269.402,159.804L267.277,159.986H266.853H267.277L269.402,159.804Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M198.375,93.39V93.45L198.861,93.875L199.468,94.361V94.3L198.982,93.875L198.375,93.39Z" + android:pathData="M198.375,93.39V93.451L198.861,93.876L199.468,94.361V94.301L198.982,93.876L198.375,93.39Z" android:fillColor="#D8D8D8"/> <path android:pathData="M280.451,160.654L280.937,160.108L281.908,159.501H281.847L280.876,160.108L280.39,160.654L279.419,160.715L278.933,160.776L279.419,160.715L280.451,160.654Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M138.275,122.104L138.214,121.011L137.122,120.586L137.729,121.072L138.275,122.104Z" + android:pathData="M138.275,122.103L138.214,121.011L137.122,120.586L137.729,121.071L138.275,122.103Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M276.687,159.863L275.169,159.985L276.687,159.863Z" + android:pathData="M276.687,159.864L275.169,159.985L276.687,159.864Z" android:fillColor="#D8D8D8"/> <path android:pathData="M274.077,159.501H274.38H274.016L272.498,160.169L271.891,160.229L272.559,160.169L274.077,159.501Z" @@ -424,82 +424,82 @@ android:pathData="M270.495,160.289L269.948,160.35L270.495,160.289Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M197.464,95.576V96.122L197.525,96.062V95.576H197.464Z" + android:pathData="M197.464,95.576V96.122L197.525,96.061V95.576H197.464Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M200.56,103.65L199.65,104.257L200.196,104.743L200.682,105.228L200.257,105.775L199.286,106.321V106.382L200.318,105.775L200.743,105.228L200.257,104.743L199.711,104.257L200.621,103.65L201.653,103.043H201.593L200.56,103.65Z" + android:pathData="M200.56,103.65L199.65,104.257L200.196,104.743L200.682,105.229L200.257,105.775L199.286,106.321V106.382L200.318,105.775L200.743,105.229L200.257,104.743L199.711,104.257L200.621,103.65L201.653,103.043H201.593L200.56,103.65Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M204.324,103.406L203.717,103.467L202.928,103.528L203.778,103.467L204.324,103.406Z" + android:pathData="M204.324,103.406L203.717,103.467L202.928,103.527L203.778,103.467L204.324,103.406Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M216.708,117.126L217.741,117.551H217.801L216.769,117.126H216.708Z" + android:pathData="M216.708,117.126L217.74,117.551H217.801L216.769,117.126H216.708Z" android:fillColor="#D8D8D8"/> <path android:pathData="M199.164,96.486H199.043L198.618,96.911V96.972L199.164,96.486Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M206.935,104.255L207.967,103.708V103.162H207.845L207.906,103.708L206.874,104.255H206.51H206.935Z" + android:pathData="M206.935,104.255L207.967,103.709V103.162H207.845L207.906,103.709L206.874,104.255H206.51H206.935Z" android:fillColor="#D8D8D8"/> <path android:pathData="M88.07,176.012L87.099,175.162L87.524,175.587L88.07,176.012Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M300.12,159.258H300.181L300.12,158.226L300.545,157.133H300.484L300.059,158.226L300.12,159.258Z" + android:pathData="M300.12,159.257H300.181L300.12,158.225L300.545,157.133H300.484L300.059,158.225L300.12,159.257Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M194.793,95.757L195.4,96.728H195.461L194.854,95.757H194.793Z" + android:pathData="M194.793,95.757L195.4,96.729H195.461L194.854,95.757H194.793Z" android:fillColor="#D8D8D8"/> <path android:pathData="M191.151,94.422L192.122,94.847H192.304H192.183L191.151,94.422Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M190.058,94.481V94.542L190.544,94.967H191.151H190.665L190.058,94.481Z" + android:pathData="M190.058,94.482V94.543L190.544,94.968H191.151H190.665L190.058,94.482Z" android:fillColor="#D8D8D8"/> <path android:pathData="M197.95,96.061H198.071L198.496,96L197.586,96.061H197.95Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M192.729,95.332L192.669,94.847H192.608L192.669,95.393L193.276,95.879L193.458,95.818L193.276,95.879L192.729,95.332Z" + android:pathData="M192.729,95.332L192.668,94.847H192.608L192.668,95.393L193.276,95.879L193.458,95.818L193.276,95.879L192.729,95.332Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M285.551,166.542L286.583,166.421H287.129H286.644L285.551,166.542Z" + android:pathData="M285.551,166.542L286.583,166.421H287.129H286.643L285.551,166.542Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M292.167,170.791L293.078,170.73L292.167,170.791Z" + android:pathData="M292.167,170.792L293.078,170.731L292.167,170.792Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M289.8,159.985H289.982H289.739L288.829,160.532L289.8,159.985Z" + android:pathData="M289.8,159.985H289.982H289.739L288.829,160.531L289.8,159.985Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M288.525,163.628L288.464,163.689L289.557,164.66H289.921H289.618L288.525,163.628Z" + android:pathData="M288.525,163.628L288.464,163.688L289.557,164.66H289.921H289.618L288.525,163.628Z" android:fillColor="#D8D8D8"/> <path android:pathData="M290.589,164.599L291.682,165.024V164.963L290.65,164.599H290.589Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M292.471,169.151L291.985,169.212L292.471,169.151Z" + android:pathData="M292.471,169.152L291.985,169.213L292.471,169.152Z" android:fillColor="#D8D8D8"/> <path android:pathData="M295.628,172.613L295.446,172.674L295.628,172.613Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M298.724,160.957L299.27,159.803L298.603,159.378L299.635,159.318L299.999,159.257L299.635,159.318L298.603,159.378L299.21,159.803L298.724,160.957L297.631,161.503H297.692L298.724,160.957Z" + android:pathData="M298.724,160.957L299.27,159.804L298.603,159.379L299.635,159.318L299.999,159.257L299.635,159.318L298.603,159.379L299.21,159.804L298.724,160.957L297.631,161.503H297.692L298.724,160.957Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M53.098,197.366L52.675,197.396L52.679,197.457L53.103,197.427L53.098,197.366Z" + android:pathData="M53.098,197.367L52.674,197.397L52.679,197.457L53.103,197.427L53.098,197.367Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M55.713,187.729V187.851L56.685,188.215H57.231V188.154L56.806,188.215L55.713,187.729Z" + android:pathData="M55.713,187.729V187.85L56.685,188.215H57.231V188.154L56.806,188.215L55.713,187.729Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M58.688,184.875V184.997L59.113,184.936L59.659,184.875V184.814L59.173,184.875H58.688Z" + android:pathData="M58.688,184.875V184.997L59.113,184.936L59.659,184.875V184.815L59.173,184.875H58.688Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M286.097,159.196V158.649H286.036V159.196L285.065,159.742V159.803L286.097,159.196Z" + android:pathData="M286.097,159.196V158.65H286.036V159.196L285.065,159.742V159.803L286.097,159.196Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M53.164,196.896H53.65L54.135,196.835H54.196H53.71L53.164,196.896Z" + android:pathData="M53.164,196.895H53.65L54.135,196.835H54.196H53.71L53.164,196.895Z" android:fillColor="#D8D8D8"/> <path android:pathData="M60.934,180.079L61.42,180.019V179.958L60.995,180.019L60.934,180.079Z" @@ -508,127 +508,127 @@ android:pathData="M54.681,196.288L55.167,196.228V196.167L54.742,196.228L54.681,196.288Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M54.924,193.13L55.471,193.069V193.009L54.985,193.069L54.924,193.13Z" + android:pathData="M54.924,193.13L55.471,193.07V193.009L54.985,193.07L54.924,193.13Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M61.481,179.412V179.473L61.906,179.412H62.452V179.352L62.027,179.412H61.481Z" + android:pathData="M61.481,179.412V179.473L61.906,179.412H62.452V179.351L62.027,179.412H61.481Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M55.167,172.126L55.045,172.065V172.551L55.167,172.49V172.126Z" + android:pathData="M55.167,172.126L55.046,172.065V172.551L55.167,172.49V172.126Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M284.033,159.379L283.972,158.771L283.912,158.832L283.972,159.379L283.487,159.925H283.547L284.033,159.379Z" + android:pathData="M284.033,159.379L283.972,158.772L283.912,158.833L283.972,159.379L283.487,159.925H283.547L284.033,159.379Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M60.63,174.858H60.509V175.162L60.63,175.283V174.858Z" + android:pathData="M60.63,174.859H60.509V175.162L60.63,175.284V174.859Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M62.452,178.804V178.925L62.938,178.865H63.423V178.743L62.998,178.804H62.452Z" + android:pathData="M62.452,178.804V178.925L62.938,178.864H63.423V178.743L62.998,178.804H62.452Z" android:fillColor="#D8D8D8"/> <path android:pathData="M63.904,178.181L63.42,178.215L63.424,178.275L63.909,178.241L63.904,178.181Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M153.877,162.959L154.241,162.898L153.877,162.959Z" + android:pathData="M153.877,162.959L154.241,162.899L153.877,162.959Z" android:fillColor="#D8D8D8"/> <path android:pathData="M158.551,161.564L159.401,161.503H159.461H158.915L158.551,161.564Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M146.713,160.835L146.652,160.774L146.713,161.26L147.259,161.806L147.32,161.867L146.774,161.321L146.713,160.835Z" + android:pathData="M146.713,160.835L146.652,160.774L146.713,161.26L147.259,161.806L147.32,161.867L146.774,161.32L146.713,160.835Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M150.477,162.109L150.781,162.352L150.538,162.109H150.477Z" + android:pathData="M150.477,162.11L150.781,162.352L150.538,162.11H150.477Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M151.57,162.595V162.655H151.691L151.631,162.595H151.57Z" + android:pathData="M151.57,162.595V162.656H151.691L151.631,162.595H151.57Z" android:fillColor="#D8D8D8"/> <path android:pathData="M139.792,159.742H139.732V160.228L139.792,160.714H139.853L139.792,160.289V159.742Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M180.223,104.56L179.374,104.621L180.284,104.56L180.831,104.014H180.77L180.223,104.56Z" + android:pathData="M180.223,104.56L179.373,104.621L180.284,104.56L180.83,104.014H180.77L180.223,104.56Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M183.866,103.771L183.38,103.832L181.984,103.893L183.441,103.832L183.927,103.771L184.898,103.164L185.991,103.043L184.898,103.164L183.866,103.771Z" + android:pathData="M183.866,103.772L183.38,103.832L181.984,103.893L183.441,103.832L183.927,103.772L184.898,103.165L185.991,103.043L184.898,103.165L183.866,103.772Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M184.473,113.06L184.534,113.181V113.12L184.473,113.06Z" + android:pathData="M184.473,113.059L184.534,113.181V113.12L184.473,113.059Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M185.869,150.212H185.748L185.809,150.273L185.869,150.212Z" + android:pathData="M185.869,150.212H185.748L185.809,150.272L185.869,150.212Z" android:fillColor="#D8D8D8"/> <path android:pathData="M136.575,159.438L136.211,159.135L136.575,159.499L137.182,159.985L138.639,159.863V159.803L137.182,159.924L136.575,159.438Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M127.347,155.858L126.862,155.433V155.493L127.408,155.979L127.347,155.858Z" + android:pathData="M127.347,155.857L126.862,155.432V155.493L127.408,155.979L127.347,155.857Z" android:fillColor="#D8D8D8"/> <path android:pathData="M126.376,156.525L125.83,156.039L125.284,155.554V155.614L125.769,156.039L126.376,156.525Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M127.894,155.857L127.409,155.493L127.894,155.918V155.857Z" + android:pathData="M127.894,155.858L127.409,155.493L127.894,155.918V155.858Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M188.055,103.466H188.115L189.087,102.859L188.055,103.466Z" + android:pathData="M188.055,103.467H188.115L189.087,102.86L188.055,103.467Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M134.815,156.708L134.39,156.586V156.04L134.269,156.101V156.526L134.815,156.708Z" + android:pathData="M134.815,156.708L134.39,156.586V156.04L134.268,156.1V156.525L134.815,156.708Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M133.338,155.546L133.217,155.555L133.251,156.039L133.372,156.031L133.338,155.546Z" + android:pathData="M133.338,155.546L133.217,155.555L133.251,156.039L133.372,156.03L133.338,155.546Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M122.006,162.11L121.034,162.717L122.066,162.11L122.491,161.018H122.552H122.431L122.006,162.11Z" + android:pathData="M122.006,162.11L121.034,162.718L122.066,162.11L122.491,161.018H122.552H122.431L122.006,162.11Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M134.633,162.171V162.717H134.693V162.292L134.633,162.171Z" + android:pathData="M134.632,162.171V162.717H134.693V162.292L134.632,162.171Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M130.505,162.535L130.383,162.475L130.444,163.021L130.505,163.507L130.565,163.567V163.082L130.505,162.535Z" + android:pathData="M130.505,162.535L130.383,162.474L130.444,163.021L130.505,163.507L130.565,163.567V163.082L130.505,162.535Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M137.243,162.534L136.818,162.109H136.757L137.243,162.534Z" + android:pathData="M137.243,162.534L136.818,162.11H136.757L137.243,162.534Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M123.219,160.472L123.462,160.411L123.219,160.472Z" + android:pathData="M123.22,160.472L123.462,160.411L123.22,160.472Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M123.02,160.472L122.959,160.477L122.998,161.022L123.059,161.017L123.02,160.472Z" + android:pathData="M123.02,160.472L122.959,160.476L122.998,161.021L123.059,161.017L123.02,160.472Z" android:fillColor="#D8D8D8"/> <path android:pathData="M124.13,161.988L123.644,162.049H123.584L124.13,161.988Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M198.193,106.441L197.646,106.502H197.404L197.768,106.441H198.193Z" + android:pathData="M198.193,106.441L197.646,106.502H197.403L197.768,106.441H198.193Z" android:fillColor="#D8D8D8"/> <path android:pathData="M189.39,129.996V130.057L189.936,129.996H189.39Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M190.119,125.2L190.058,125.261H190.119V125.2Z" + android:pathData="M190.119,125.201L190.058,125.261H190.119V125.201Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M198.739,105.956L198.679,105.896L198.193,106.442H198.314L198.739,105.956Z" + android:pathData="M198.739,105.956L198.678,105.896L198.193,106.442H198.314L198.739,105.956Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M191.455,129.146L191.576,128.782L191.455,128.843V129.146Z" + android:pathData="M191.454,129.146L191.576,128.782L191.454,128.843V129.146Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M189.39,121.74L189.694,122.104L189.936,122.712L189.876,122.226L189.39,121.74Z" + android:pathData="M189.39,121.741L189.694,122.105L189.936,122.712L189.876,122.226L189.39,121.741Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M190.119,116.944L190.605,115.852H190.544L190.058,116.944L189.573,117.491L190.119,116.944Z" + android:pathData="M190.119,116.944L190.604,115.851H190.544L190.058,116.944L189.572,117.49L190.119,116.944Z" android:fillColor="#D8D8D8"/> <path android:pathData="M209.667,128.599L210.213,128.053H210.152L209.667,128.599Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M219.198,122.59V122.651L219.258,123.197H219.319L219.258,122.165V122.651L219.198,122.59Z" + android:pathData="M219.198,122.59V122.65L219.258,123.197H219.319L219.258,122.165V122.65L219.198,122.59Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M212.277,128.357H212.338L212.823,127.871L213.005,127.811L212.763,127.871L212.277,128.357Z" + android:pathData="M212.277,128.357H212.338L212.823,127.871L213.005,127.81L212.763,127.871L212.277,128.357Z" android:fillColor="#D8D8D8"/> <path android:pathData="M219.258,122.164L220.169,121.679H220.108L219.198,122.164L219.258,122.65V122.164Z" @@ -640,339 +640,339 @@ android:pathData="M192.608,115.184H192.547L191.515,115.791H191.576L192.608,115.184Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M204.931,128.903H204.688H205.053L205.538,128.356H205.963H205.478L204.931,128.903Z" + android:pathData="M204.931,128.903H204.688H205.053L205.538,128.357H205.963H205.478L204.931,128.903Z" android:fillColor="#D8D8D8"/> <path android:pathData="M194.429,128.053H194.49L196.129,127.507H196.068L194.429,128.053Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M198.496,108.991L196.311,108.687L197.222,106.502H197.161L196.25,108.687L198.375,108.991L197.404,110.144H197.464L198.496,108.991Z" + android:pathData="M198.496,108.991L196.311,108.688L197.222,106.502H197.161L196.25,108.688L198.375,108.991L197.404,110.145H197.464L198.496,108.991Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M194.065,114.029L194.004,113.483L193.883,112.026V111.48L195.947,110.812L195.886,110.266H195.825V110.812L193.822,111.48V112.026L193.944,113.483L194.004,114.029L193.519,115.122H193.579L194.065,114.029Z" + android:pathData="M194.065,114.03L194.004,113.483L193.883,112.026V111.48L195.947,110.812L195.886,110.266H195.825V110.812L193.822,111.48V112.026L193.943,113.483L194.004,114.03L193.518,115.122H193.579L194.065,114.03Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M193.154,115.122H193.518L193.094,115.183L193.154,115.668V115.122Z" + android:pathData="M193.154,115.122H193.518L193.094,115.183L193.154,115.669V115.122Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M239.595,160.349L240.263,160.835L240.567,159.256V158.771L241.538,157.617L242.631,157.556V158.103L243.602,158.042L244.695,157.921L245.666,157.314V156.828L245.12,156.342L245.059,155.796H245.545V155.189L245.059,155.25L243.966,155.31L242.934,155.978L242.509,156.524L242.024,157.071L239.96,157.192V156.707L239.292,156.221L238.26,156.767L237.774,156.342L237.713,155.796H237.228L236.742,155.857L236.681,155.371L236.621,154.946L236.074,154.4L235.467,153.914L235.042,155.007L234.617,155.553L234.557,155.068L234.01,154.521L233.403,154.582V154.096H232.918L232.978,155.189L233.039,155.614L232.553,156.16L231.582,156.767V157.253L230.489,157.374L230.004,157.921V158.467L229.093,159.074V159.56L230.064,158.953H230.611L231.157,158.892L231.764,159.378L232.796,159.803L233.282,159.256L233.343,159.803L233.889,160.774L233.464,161.32L233.95,162.352L233.525,162.899L233.585,163.445L235.164,163.324L235.649,163.809L237.228,163.142L237.592,161.563L238.138,161.017L238.563,160.47L239.535,159.863L239.595,160.349Z" + android:pathData="M239.595,160.349L240.263,160.835L240.567,159.257V158.771L241.538,157.617L242.631,157.557V158.103L243.602,158.042L244.695,157.921L245.666,157.314V156.828L245.12,156.343L245.059,155.796H245.545V155.189L245.059,155.25L243.966,155.311L242.934,155.978L242.509,156.525L242.024,157.071L239.96,157.192V156.707L239.292,156.221L238.26,156.768L237.774,156.343L237.713,155.796H237.228L236.742,155.857L236.681,155.371L236.621,154.946L236.074,154.4L235.467,153.914L235.042,155.007L234.617,155.553L234.557,155.068L234.01,154.521L233.403,154.582V154.096H232.918L232.978,155.189L233.039,155.614L232.553,156.16L231.582,156.768V157.253L230.489,157.375L230.004,157.921V158.467L229.093,159.074V159.56L230.064,158.953H230.611L231.157,158.892L231.764,159.378L232.796,159.803L233.282,159.257L233.343,159.803L233.889,160.774L233.464,161.321L233.95,162.353L233.525,162.899L233.585,163.445L235.164,163.324L235.649,163.81L237.228,163.142L237.592,161.563L238.138,161.017L238.563,160.471L239.535,159.864L239.595,160.349Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M228.121,19.266L229.153,19.691L229.214,20.237L230.307,20.662L231.339,21.087L231.825,20.601L231.278,20.055L231.764,18.962L231.703,18.476L231.642,17.93L231.035,17.02L230.064,17.08L228.911,16.655L228.364,16.716L228.425,17.202L228,18.173L228.121,19.266Z" + android:pathData="M228.121,19.266L229.153,19.691L229.214,20.237L230.307,20.662L231.339,21.087L231.824,20.602L231.278,20.055L231.764,18.963L231.703,18.477L231.642,17.931L231.035,17.02L230.064,17.081L228.91,16.656L228.364,16.716L228.425,17.202L228,18.173L228.121,19.266Z" android:fillColor="#D8D8D8"/> <path android:pathData="M318.939,85.923L318.393,84.891L317.3,83.98H316.814L316.268,84.466L315.236,85.133L313.718,85.255L312.686,85.316L312.201,85.376L310.562,84.891L310.501,84.466L309.894,83.373L309.469,83.434H308.922L307.89,84.648L307.405,85.133L306.433,85.194L305.341,84.284L304.187,82.705L304.127,81.673V81.248L303.52,80.763L302.912,80.277V79.791L301.759,78.759L301.638,76.695L302.002,75.117L301.455,74.631L300.423,74.146L300.302,72.567L300.241,71.535L299.756,72.081L299.816,72.628L298.906,74.813L297.934,76.452L296.417,77.06L294.899,77.727L293.867,78.274L292.167,76.331L292.107,74.753L293.139,74.146L294.596,73.599L295.142,74.024L295.749,74.51L296.174,73.963L296.113,72.871L296.053,72.324L296.538,71.292L296.963,70.26L296.417,69.228L295.385,68.864L295.324,68.318H294.778L294.292,68.925L293.26,68.985L292.774,69.046L292.228,69.532L290.225,70.746L289.193,70.807L288.586,69.35L287.432,67.771L286.825,67.286L287.371,66.739H287.918L287.796,65.161L287.129,63.583L285.914,62.125L286.4,61.033L286.886,60.486L287.493,60.426L287.432,59.879L286.825,59.029L286.764,58.483L286.643,56.905V56.358L285.49,56.419L285.429,55.448L284.943,54.416L284.336,53.93L283.79,52.898H283.183V52.412L282.636,51.987L282.151,52.473L281.544,50.955L280.329,48.952L279.662,47.009L279.115,45.977L277.415,45.006L277.294,43.428L276.748,43.003L275.655,41.971L275.594,41L274.987,39.907L274.441,39.482L273.834,38.935L273.166,36.993L272.68,36.507L271.588,36.082L271.527,35.536L270.556,35.05L269.948,34.564L269.22,32.015H268.674L268.613,30.983L268.006,30.011V30.497L267.46,29.526L267.399,28.433L266.852,28.008L266.306,26.915L265.638,26.066L264.606,26.187L264.546,25.58V25.094L265.578,25.034L266.124,24.426L265.942,22.302L265.82,20.784L265.76,19.752L266.245,19.691L266.67,18.113L266.488,15.988L265.335,13.499L265.76,12.467L266.67,11.314L267.156,10.221L266.488,8.764L266.367,7.186L265.82,6.214L264.788,5.668L265.213,4.575L264.728,4.636L264.121,4.15L263.514,4.211L263.089,5.243L262.664,5.304L262.057,4.332L261.449,3.786L260.964,3.847L260.417,3.422L260.357,2.45L259.81,2.511L258.718,2.572L258.293,3.058L257.746,3.118L257.261,3.179L256.714,2.086L256.047,1.661L256.654,1.115L256.593,0.508L255.986,0.569L253.922,0.69L251.979,1.965L250.947,2.511L249.429,2.633L248.337,2.693L248.883,3.24L249.005,4.697L248.519,5.304L249.065,5.729L249.672,6.214L250.219,7.307L251.251,7.246L251.797,7.671L250.826,8.764L250.401,10.403L250.886,10.342L251.494,10.889L250.522,11.921L249.49,11.981L248.397,11.071L248.883,10.464L248.276,9.432L247.73,9.007L247.244,9.553L246.819,10.646V11.192L246.941,12.164V12.71L246.516,13.803L244.998,13.924L243.905,13.985V14.531L243.541,16.535V17.081L242.691,18.234V18.72L242.752,19.266L242.084,18.781L241.598,18.295L240.688,19.934L240.627,18.841L240.566,17.809L240.991,17.263L240.506,16.777L240.384,15.867H239.898L239.291,15.927L238.806,15.381L238.381,16.899H238.927L238.988,17.931L238.442,17.992L238.381,17.445L237.895,17.506L237.956,17.992V18.538L239.17,20.056L238.077,20.116L237.531,19.631V19.084L236.985,19.691L236.499,20.723H236.013L235.163,22.969L234.617,23.516L234.131,24.062L234.678,24.548L235.285,25.034L234.313,26.187L233.767,26.733H233.342L234.435,27.705L234.496,28.676L234.556,29.708L234.617,30.254L234.071,30.801L233.16,31.408L231.582,32.076L231.157,32.622L229.457,31.651L228.425,31.165L227.393,31.226L226.3,30.861L226.239,30.315L226.179,29.283L226.118,28.858L227.696,28.19L227.636,27.705L228.668,27.644L229.093,27.037L228.061,26.612L227.514,26.126L226.968,25.641L225.936,25.701L225.329,24.669L224.843,24.73L223.265,25.337L222.293,25.398V25.944L221.201,26.005L222.354,26.49L222.9,26.976L223.447,27.462L223.508,28.008L223.568,29.04L224.115,29.404L224.175,29.89H224.6L224.236,30.983V31.468L224.357,33.107L225.45,33.047L226.422,32.925L226.907,33.411L226.968,33.957L227.575,34.443L227.636,34.929L228.182,35.475L227.696,36.021L227.15,37.054L228.364,38.025L228.911,38.571L227.939,39.178L227.271,38.632L226.361,39.239L225.268,39.36L225.814,38.207H226.3L225.147,37.236L224.722,37.782L223.629,37.843L222.536,37.418L222.597,37.903L222.111,38.996L221.686,40.635L220.715,41.121L220.229,41.667L220.29,42.76L219.865,43.792L219.379,44.399L218.955,45.006L219.44,45.431L221.14,46.402L222.172,46.827V47.374L223.325,48.345L223.993,49.863L224.054,50.348L226.604,49.681L227.15,50.105L227.696,51.138L226.664,50.713L226.057,50.773L225.086,50.834L224.054,50.348L223.447,49.863L222.9,49.923L222.415,50.47L221.929,49.984L220.836,50.591L219.319,50.166L218.226,49.681L217.133,49.741V49.256L216.648,49.316L215.009,49.438L213.491,49.013L213.552,50.045L213.005,50.652L213.066,51.138L214.159,51.623L214.705,52.048L216.283,52.473V51.987L216.83,51.927L217.923,52.837L218.59,54.841L217.558,55.508L217.073,56.055L215.98,55.63L214.948,55.691H214.462L213.309,54.719L212.762,54.234L212.216,53.748L211.791,54.841L211.245,54.355L209.666,53.93L209.606,52.959L209.059,53.02L208.999,52.473V51.987L208.391,51.441V50.955L207.724,49.923L207.177,49.498V48.952L207.602,48.345L207.542,47.374L206.995,46.827V46.342L206.449,45.917L205.963,45.37L204.324,45.492H203.778L203.353,45.553L202.685,45.006H203.292L203.231,44.46L202.685,44.521L202.199,44.581L202.139,44.035L201.107,44.096L200.621,43.61L199.892,42.639L200.439,41.606L199.832,41.667L199.346,41.182L199.771,41.121H200.439L200.864,41.06L202.017,42.032L202.503,42.456L203.11,42.396L203.049,41.91L204.081,42.335L205.174,42.76L205.781,42.699H206.206L206.752,43.185L207.845,43.124L208.877,43.003L210.456,43.428L210.941,42.881L211.427,42.335L211.973,42.821V43.306L213.066,43.246L214.037,43.185L215.13,43.124L216.101,41.971H216.587L217.619,41.364L218.105,40.878L218.044,40.392L218.59,39.785H219.076L219.015,39.239L218.955,38.693H219.501L219.865,36.568L219.258,35.536L219.197,34.504H218.651L218.59,33.533L218.165,34.018L217.558,33.593L217.498,32.5L216.526,32.561L215.919,32.622V32.076L214.341,31.711L213.309,32.258L212.762,31.833L212.216,31.286L211.123,30.861L211.184,31.347L210.638,30.861L209.484,30.072L207.967,30.133L206.267,29.222L204.81,28.737L203.717,29.404L200.075,29.647L199.589,29.708L198.921,29.162L197.95,29.829L197.889,29.222L197.404,28.797L196.918,29.283L196.311,28.312L195.764,28.372L195.157,27.34H194.732L194.247,28.494H193.761L193.154,27.462L192.608,27.522L192.729,29.101L191.697,29.162L191.09,28.676L190.24,28.737V29.04L189.026,29.344L187.933,30.133L187.326,31.347L187.205,33.229H186.962H187.144L186.658,33.775L186.719,34.322L186.233,34.929V35.414L186.84,35.9L187.387,36.386L187.933,36.871L187.994,37.296L188.115,37.478L189.087,37.843L190.179,38.814L190.24,39.907L190.301,40.392L189.815,41L189.876,42.032L189.937,42.517L189.997,43.549L190.604,44.581L191.151,45.067L191.211,45.613L192.304,45.977L192.85,46.524L193.458,47.556L194.065,48.527V49.074L194.186,49.195L194.125,49.316V49.559L193.64,50.166L194.247,51.198L193.822,51.684L193.761,51.866L193.882,52.352L194.368,52.716V53.262L194.429,53.809V54.294L195.036,54.841L195.522,54.234L195.582,54.78L196.129,55.266L195.097,55.812L195.339,55.933H195.4V55.994L196.189,56.298L196.25,56.783V57.33L197.282,57.269L197.343,57.815L197.95,58.301V58.787L198.011,59.272L197.464,59.879L196.979,59.94L196.493,60.001H196.432L197.039,61.033L197.586,60.972L198.132,61.397L198.678,61.883L200.317,62.308L201.957,62.733L202.503,63.218L203.11,64.25L202.624,65.282L201.592,65.889L201.167,67.043L201.228,67.529L200.742,68.135L200.257,68.621L200.317,69.714L199.832,70.26L200.378,70.746L199.892,71.292L199.346,71.353V71.232L199.225,71.353L198.921,72.385L198.436,73.538L198.011,74.085L197.525,74.692L197.039,75.724L196.554,76.27L196.129,77.181L196.25,78.334L197.282,78.274L198.253,77.666H198.678L198.739,78.152L198.375,79.245L198.436,79.791L199.407,79.731L199.953,80.277L201.107,80.702L201.532,80.156L202.564,80.095L203.171,80.034L203.656,80.52L204.203,80.459L204.263,81.491L203.717,81.552L202.624,81.613L201.592,81.673L200.075,81.795V82.341H199.589V81.795L199.043,82.402L199.103,82.887V83.434L199.164,83.919L198.739,83.98L198.132,82.948L197.646,83.494V84.041L197.707,84.587L197.768,85.619H197.828L198.436,86.044L198.496,87.137L197.464,88.29L197.525,88.776L198.071,89.201L197.646,90.233L198.253,91.265L198.314,92.358L199.407,92.783L199.892,93.268V93.815L199.528,94.361L199.468,94.3V94.361L198.86,93.875L198.375,93.45L197.889,93.936L197.95,94.482L198.496,94.968L199.043,94.907L198.557,96H198.496L198.071,96.061V96.546L198.618,96.486V96.911L199.043,96.486H199.164L199.65,96.425L199.771,97.457L199.832,98.55H199.771L198.739,98.61L199.346,99.643L199.892,99.582H200.317L200.378,100.067L200.985,100.978L201.046,102.01L201.653,103.042H202.139H202.199L202.746,102.981V103.528H202.928L203.717,103.467L204.324,103.406L204.87,103.346L205.781,103.285H205.842H205.902L206.449,103.771L206.51,104.256H206.874L207.906,103.71L207.845,103.164H207.967L208.452,103.103L209.545,103.588L210.152,104.56L211.184,104.499V105.045L210.759,105.531V106.077L211.852,107.595L212.58,109.113L211.548,109.72L213.066,109.598L213.127,110.084L213.187,110.63L214.766,110.934H215.312L216.405,111.359L216.466,112.452L216.526,112.877L217.498,112.816L218.044,112.755L219.015,112.695L219.137,113.848L220.108,113.787H220.169L220.776,114.759L220.29,115.305L219.804,115.851L219.319,116.458L218.347,117.065L217.801,117.551H217.74L216.708,117.126L216.283,117.187V117.673L216.344,118.705L216.405,119.251L217.012,120.283L217.558,121.254L217.619,121.861L218.165,122.226L219.197,122.59V122.165L220.108,121.679H220.169H220.229L220.715,122.043L221.747,121.558H221.808H221.99H222.233L222.718,120.89L223.265,120.829H223.325L224.357,121.376L225.329,120.708L225.875,120.647L226.422,121.254L227.089,122.104L227.575,122.59L227.636,123.622L227.696,124.715L227.757,125.261L228.789,125.2L230.367,125.079L230.853,124.472H231.278H231.339L231.399,125.018L232.067,125.989L233.039,125.929L233.099,126.414L233.646,127.932L233.706,128.418H234.313L235.285,128.357L235.831,128.296L236.317,128.782L236.802,128.236H236.863H236.924L237.41,128.721H237.713L237.956,128.661L238.381,128.114L239.352,127.021H239.413L240.506,126.961V127.446L240.991,127.932L242.691,128.843L243.602,128.296V127.75L244.209,128.236L244.694,128.661L245.726,128.114V128.175L245.787,128.114L245.848,128.6H246.394L246.819,128.539L246.758,128.053L247.79,127.993H248.033L248.397,127.932V128.418L248.883,128.903L248.822,128.418H248.883L249.794,128.357H249.854L249.915,128.296L251.008,128.843L251.979,128.782L252.465,128.175L252.526,128.114H253.133L253.254,129.753L252.708,130.239L251.676,130.846L251.251,131.453L251.736,131.817H252.161L252.829,131.757V132.242L252.343,132.849L251.858,133.396L251.918,133.942L252.404,133.881L253.618,135.399L253.74,136.977L253.315,138.556L253.193,138.616L252.161,138.677L251.19,138.738L250.644,138.799L250.219,139.284L249.794,140.923L248.276,141.53L248.458,144.019L248.883,143.473H249.429L249.854,142.987L249.915,143.959H250.522L251.494,142.866L251.979,142.38L252.951,142.32L253.011,143.17L253.072,143.777L252.101,144.323L251.008,144.991L250.583,145.537L251.129,146.023L251.736,146.508L250.704,147.055L249.672,146.63L249.126,146.691L248.58,147.237H248.155V147.783L248.64,148.269L250.219,148.147L250.826,148.633L250.886,149.119L252.465,149.544L251.979,149.604L251.372,150.151L250.886,149.665L250.947,150.758L251.494,151.183L251.069,151.79L250.462,151.244L249.976,150.819L249.429,151.304L249.551,152.397L249.005,153.004L249.612,153.429L249.672,154.461L248.64,154.522L248.215,156.1V156.646L249.308,157.071L250.401,157.557L250.886,157.496L251.918,157.436L252.586,157.921V158.407L253.558,158.346L254.043,157.8L254.59,158.286L255.682,158.225V158.711L256.775,159.135L257.807,159.075L258.353,159.56L258.9,160.046L259.993,159.985L261.632,161.989L262.117,160.896H262.178H262.664L263.635,160.775H263.696L264.181,160.228L264.606,159.135H264.667L265.76,159.56L266.852,159.985H267.277L269.402,159.803L269.948,160.35L270.495,160.289H270.556L271.588,160.228H271.891L272.498,160.167L274.016,159.5H274.38L274.562,159.439L275.169,159.985L276.687,159.864H276.748L277.78,159.803L278.326,159.743L278.933,160.228L278.387,160.775H278.933L279.419,160.714L280.39,160.653L280.876,160.107L281.847,159.5H281.908L283.061,159.925H283.486L283.972,159.378L283.911,158.832L283.972,158.771H284.518L285.004,158.711L285.065,159.743L286.036,159.196V158.65H286.097L286.825,158.589H287.068L288.161,159.075L288.221,159.56V160.107L288.828,160.532L289.739,159.985H289.982L290.346,159.925L291.924,160.35L293.503,160.228L294.049,160.167L295.142,161.2L296.174,161.624H296.538L297.206,161.564L297.631,161.503L298.724,160.957L299.209,159.803L298.602,159.378L299.634,159.318L299.999,159.257H300.12L300.059,158.225L300.484,157.132L299.999,157.193L298.966,156.707L297.813,156.222L297.267,155.797L295.688,154.886L294.596,154.4L293.503,153.429L293.321,151.365L292.774,150.94L292.167,150.454L292.107,149.422L291.56,148.33L291.014,148.39V147.905L289.86,147.48L288.282,146.508L288.343,147.055L287.857,147.601L287.25,147.115L286.218,146.63L286.582,144.505L286.522,144.019L287.007,143.473L286.946,142.441L287.432,141.834L286.886,141.348L286.764,139.952L287.25,138.799L287.189,137.767L287.675,137.706L288.221,138.192L289.132,137.038L289.678,136.492L290.164,136.006L290.589,134.853L291.075,135.399L291.56,134.306L290.892,132.728L289.921,132.849H289.435L288.343,132.424L288.768,131.332L289.253,130.785L289.8,130.725L289.253,130.239L287.554,129.268L285.429,127.932L284.336,126.961L283.79,127.568L282.697,127.628L282.758,128.114L282.272,128.721L281.24,128.236L280.694,127.811L280.633,126.779L280.572,126.172L279.48,125.747L278.447,125.807L277.962,126.354L277.84,124.836L277.78,123.743L278.751,122.104L277.173,121.801L276.626,121.254L277.051,120.647L276.991,119.129L276.444,118.583L275.837,117.733L276.262,116.58H276.808L276.687,115.001H276.201L277.051,113.362L278.144,113.909L278.69,114.819L279.844,115.305L280.39,115.791L281.301,114.637L281.24,114.152L280.694,113.119L280.087,111.602L278.933,111.177L279.965,110.57L280.997,110.509V109.963L280.936,109.477L280.815,107.352L281.847,107.231L282.333,106.685L282.818,105.713L283.79,104.56L284.215,103.588L284.154,102.981L284.093,102.435H284.7L285.186,102.86L285.732,103.467L286.704,102.799L287.25,101.767L287.614,100.675L288.586,100.067L289.193,100.007L290.346,101.039L290.285,100.432L290.71,99.4L291.196,99.339L292.228,99.278L292.835,99.764L293.867,100.189L295.445,100.128L295.992,100.614L297.024,100.553L297.57,100.492L298.117,100.978L297.995,99.885L297.51,99.4V98.914H297.934L300.666,99.218L302.245,99.643L302.67,98.55V98.003L302.609,97.518L303.095,97.457L303.034,96.971L302.548,96.486L303.52,96.425L304.612,96.304L304.005,95.272H304.552L305.037,94.664L306.13,95.15L307.162,95.09L307.041,93.997L308.012,93.936L307.526,92.965L307.89,92.479L308.437,91.933L309.53,91.326L310.015,91.811L310.562,92.722L311.654,92.661L313.718,92.054L314.204,91.993H314.75L314.69,91.447L314.629,90.476L315.54,89.808L317.179,89.14L318.575,87.562L319,86.955L318.939,85.923Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M179.495,94.179L180.102,94.118L180.588,94.665L180.649,95.15L181.195,94.604L181.134,94.058L182.166,93.997L182.652,93.936V93.451L183.077,92.904L183.684,92.297L182.531,91.872L181.074,93.025L180.406,92.054L179.981,92.54L180.042,93.147V93.633L179.01,94.179H179.495Z" + android:pathData="M179.495,94.179L180.102,94.118L180.588,94.665L180.648,95.15L181.195,94.604L181.134,94.058L182.166,93.997L182.652,93.936V93.451L183.077,92.904L183.684,92.297L182.53,91.872L181.073,93.026L180.406,92.054L179.981,92.54L180.041,93.147V93.633L179.009,94.179H179.495Z" android:fillColor="#D8D8D8"/> <path android:pathData="M181.377,90.355L181.438,91.387L181.923,90.841L182.409,90.294V89.869L181.316,89.384L180.831,89.991H180.284L180.345,90.416H180.891L181.377,90.355Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M189.997,94.483L190.058,94.544V94.483L190.665,94.969H191.151L191.09,94.423H191.151L192.183,94.847H192.304H192.608H192.669L192.729,95.333L193.276,95.879L193.458,95.819H193.822L194.793,95.758H194.854L195.461,96.729L196.432,96.183L197.464,95.576H197.525V96.062H197.586L198.496,96.001H198.557L199.043,94.908L198.496,94.969L197.95,94.483L197.889,93.937L198.375,93.451V93.391L198.982,93.876L199.468,94.301L199.528,94.362L199.893,93.815V93.269L199.407,92.783L198.314,92.358L198.254,91.266L197.647,90.234L198.071,89.202L197.525,88.777L197.464,88.291L198.496,87.138L198.436,86.045L197.829,85.62H197.768H197.282L195.158,85.802L194.672,85.863L194.125,85.316L193.64,85.377L192.608,85.984L192.547,85.438L191.515,85.498L191.029,85.559L190.544,85.62H189.997L189.512,86.227H188.965L187.994,86.288L187.387,86.348L186.901,86.409H186.355V86.895L186.416,87.502H185.93L185.444,87.563H184.898L184.412,88.17V88.655L184.473,89.202L184.534,89.687L185.566,89.627V90.052L185.626,90.598L185.08,90.659L185.141,91.144L185.262,92.783L186.355,93.694L186.841,93.633V93.208L187.326,92.601H187.812L188.419,93.087L187.933,94.119L187.994,95.151L188.055,95.576L189.512,95.03L189.997,94.483Z" + android:pathData="M189.997,94.483L190.058,94.544V94.483L190.665,94.968H191.151L191.09,94.422H191.151L192.183,94.847H192.304H192.608H192.668L192.729,95.333L193.275,95.879L193.458,95.818H193.822L194.793,95.758H194.854L195.461,96.729L196.432,96.183L197.464,95.576H197.525V96.061H197.586L198.496,96.001H198.557L199.043,94.908L198.496,94.968L197.95,94.483L197.889,93.936L198.375,93.451V93.39L198.982,93.876L199.468,94.301L199.528,94.361L199.893,93.815V93.269L199.407,92.783L198.314,92.358L198.253,91.265L197.646,90.233L198.071,89.201L197.525,88.776L197.464,88.291L198.496,87.137L198.436,86.045L197.829,85.62H197.768H197.282L195.157,85.802L194.672,85.862L194.125,85.316L193.64,85.377L192.608,85.984L192.547,85.438L191.515,85.498L191.029,85.559L190.544,85.62H189.997L189.512,86.227H188.965L187.994,86.287L187.387,86.348L186.901,86.409H186.355V86.894L186.416,87.502H185.93L185.444,87.562H184.898L184.412,88.169V88.655L184.473,89.201L184.534,89.687L185.566,89.626V90.051L185.626,90.598L185.08,90.658L185.141,91.144L185.262,92.783L186.355,93.694L186.841,93.633V93.208L187.326,92.601H187.812L188.419,93.087L187.933,94.119L187.994,95.151L188.055,95.576L189.512,95.029L189.997,94.483Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M198.072,96.061L198.496,96L198.072,96.061Z" + android:pathData="M198.071,96.061L198.496,96L198.071,96.061Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M179.374,104.621L180.224,104.56L180.77,104.014H180.831L181.316,103.953L181.924,103.892H181.984L183.381,103.831L183.866,103.771L184.898,103.164L185.991,103.042H186.537L188.055,103.467L189.087,102.86H189.148L189.694,103.346L190.726,103.831L192.365,104.256L192.851,104.196L193.458,105.228L195.097,106.138L195.643,106.624L197.222,106.503H197.404H197.647L198.193,106.442L198.679,105.896L198.739,105.956V105.896L199.286,106.32L200.257,105.774L200.682,105.228L200.196,104.742L199.65,104.256L200.561,103.649L201.593,103.042H201.653L201.046,102.01L200.986,100.978L200.379,100.068L200.318,99.582H199.893L199.347,99.643L198.739,98.611L199.771,98.55H199.832L199.771,97.457L199.65,96.425L199.164,96.486L198.618,96.972V96.911V96.486L198.072,96.547V96.061H197.95H197.586H197.525L197.465,96.122V95.575L196.433,96.182L195.461,96.729H195.401L194.793,95.757L193.822,95.818H193.458L193.276,95.879L192.669,95.393L192.608,94.847H192.304H192.122L191.151,94.422H191.09L191.151,94.968H190.544L190.058,94.543L189.998,94.483L189.512,95.029L188.055,95.575L187.509,95.757V96.243L187.569,96.789L187.63,97.275L187.691,98.307V98.854L187.812,99.885L187.326,100.493L186.841,101.039H186.294L185.141,100.068L184.655,99.643L184.534,98.55L183.441,97.579L182.956,97.639L182.409,97.154L182.349,96.607L181.316,96.729L180.284,97.336L179.799,97.822L179.313,97.882L178.888,98.914L178.949,100.068L178.524,101.1L178.038,102.071L177.674,105.288L179.313,104.621H179.374Z" + android:pathData="M179.374,104.621L180.224,104.56L180.77,104.013H180.831L181.316,103.953L181.923,103.892H181.984L183.38,103.831L183.866,103.771L184.898,103.164L185.991,103.042H186.537L188.055,103.467L189.087,102.86H189.148L189.694,103.346L190.726,103.831L192.365,104.256L192.851,104.196L193.458,105.228L195.097,106.138L195.643,106.624L197.222,106.502H197.404H197.647L198.193,106.442L198.679,105.895L198.739,105.956V105.895L199.286,106.32L200.257,105.774L200.682,105.228L200.196,104.742L199.65,104.256L200.561,103.649L201.593,103.042H201.653L201.046,102.01L200.985,100.978L200.378,100.068L200.318,99.582H199.893L199.346,99.643L198.739,98.61L199.771,98.55H199.832L199.771,97.457L199.65,96.425L199.164,96.486L198.618,96.971V96.911V96.486L198.072,96.547V96.061H197.95H197.586H197.525L197.464,96.122V95.575L196.432,96.182L195.461,96.729H195.4L194.793,95.757L193.822,95.818H193.458L193.276,95.879L192.669,95.393L192.608,94.847H192.304H192.122L191.151,94.422H191.09L191.151,94.968H190.544L190.058,94.543L189.997,94.482L189.512,95.029L188.055,95.575L187.508,95.757V96.243L187.569,96.789L187.63,97.275L187.691,98.307V98.853L187.812,99.885L187.326,100.492L186.841,101.039H186.294L185.141,100.068L184.655,99.643L184.534,98.55L183.441,97.578L182.955,97.639L182.409,97.154L182.348,96.607L181.316,96.729L180.284,97.336L179.799,97.821L179.313,97.882L178.888,98.914L178.949,100.068L178.524,101.1L178.038,102.071L177.674,105.288L179.313,104.621H179.374Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M182.895,111.48L183.805,111.723L184.291,112.573L184.473,112.997V113.058L184.534,113.119V113.18L184.716,113.908L184.595,114.637L184.413,114.758L185.02,114.697L184.655,115.304V115.365L185.627,115.911L186.416,116.033L187.569,116.883L187.63,117.126L188.48,117.065L188.541,117.55L189.573,117.49L190.058,116.943L190.544,115.851H190.605L190.058,115.911L190.605,115.851H191.09L191.515,115.79L192.547,115.183H192.608L193.154,115.669L193.094,115.183L193.519,115.122L194.004,114.029L193.944,113.483L193.822,112.026V111.48L195.825,110.812V110.266H195.886L197.404,110.144L198.375,108.991L196.25,108.687L197.161,106.502H197.222L195.643,106.623L195.097,106.138L193.458,105.227L192.851,104.195L192.365,104.256L190.726,103.831L189.694,103.345L189.148,102.859H189.087L188.116,103.466H188.055L186.537,103.041H185.991L184.898,103.163L183.927,103.77L183.441,103.831L181.984,103.891H181.924L181.316,103.952L180.831,104.013L180.284,104.559L179.374,104.62L177.795,105.288H177.674L177.795,106.866L177.856,107.352V107.898L178.524,109.416L178.645,110.994L179.738,110.933L179.799,111.419L180.284,111.905L180.77,111.844L181.377,112.33H181.62L182.045,111.783L182.895,111.48Z" + android:pathData="M182.895,111.48L183.805,111.723L184.291,112.573L184.473,112.998V113.058L184.534,113.119V113.18L184.716,113.908L184.595,114.637L184.412,114.758L185.02,114.698L184.655,115.305V115.365L185.627,115.912L186.416,116.033L187.569,116.883L187.63,117.126L188.48,117.065L188.541,117.551L189.573,117.49L190.058,116.944L190.544,115.851H190.605L190.058,115.912L190.605,115.851H191.09L191.515,115.79L192.547,115.183H192.608L193.154,115.669L193.094,115.183L193.518,115.123L194.004,114.03L193.943,113.483L193.822,112.026V111.48L195.825,110.812V110.266H195.886L197.404,110.145L198.375,108.991L196.25,108.688L197.161,106.502H197.222L195.643,106.624L195.097,106.138L193.458,105.227L192.851,104.195L192.365,104.256L190.726,103.831L189.694,103.345L189.148,102.86H189.087L188.116,103.467H188.055L186.537,103.042H185.991L184.898,103.163L183.927,103.77L183.441,103.831L181.984,103.892H181.923L181.316,103.952L180.831,104.013L180.284,104.559L179.374,104.62L177.795,105.288H177.674L177.795,106.866L177.856,107.352V107.898L178.524,109.416L178.645,110.994L179.738,110.934L179.799,111.419L180.284,111.905L180.77,111.844L181.377,112.33H181.62L182.045,111.784L182.895,111.48Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M219.258,122.651L219.198,122.165V122.59L219.258,122.651Z" + android:pathData="M219.258,122.65L219.198,122.165V122.59L219.258,122.65Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M199.71,104.256L200.257,104.742L200.742,105.228L200.317,105.774L199.285,106.381V106.32L198.739,105.895V105.956L198.314,106.442H198.193H197.768L197.403,106.502H197.221L196.311,108.688L198.496,108.991L197.464,110.145H197.403L195.886,110.266L195.947,110.813L193.882,111.48V112.027L194.004,113.484L194.065,114.03L193.579,115.123H193.518H193.154V115.669L192.608,115.184L191.576,115.791H191.515L191.09,115.851H190.604L190.119,116.944L189.572,117.49L188.54,117.551L188.48,117.065L187.63,117.126L187.69,117.976L187.933,118.765L188.297,119.069L188.419,120.587L188.722,120.951L189.39,121.74L189.876,122.226L189.937,122.711L190.119,123.136L190.24,124.836L190.119,125.2V125.261H190.058L189.937,125.747L188.055,127.204L188.54,127.811L189.512,127.993L189.269,129.571V129.935L189.39,130.057V129.996H189.937H189.997L190.483,130.482L190.604,130.36L190.847,129.935L191.393,129.328L191.454,129.146V128.843L191.576,128.782V128.721L192.486,128.053L193.579,128.114L194.186,128.053H194.429L196.068,127.507H196.129L197.646,127.386L199.225,127.689L200.317,128.236L202.381,128.6L202.928,128.539L203.474,129.025L204.688,128.903H204.931L205.478,128.357H205.963L206.631,128.296L207.177,128.782L207.299,128.964L207.602,129.207L208.027,128.175L208.634,128.296L209.302,129.632L209.363,129.571L209.484,129.207L209.606,128.6H209.666L210.152,128.053H210.213H210.273L210.638,127.993H210.698L212.277,128.357L212.762,127.871L213.005,127.811H213.309L214.462,128.782H214.644L214.584,127.689L214.766,127.264L214.098,126.172L214.401,125.018L214.341,124.047L215.069,123.197H215.676L216.587,123.075L217.255,123.318H217.74L218.226,123.258L219.258,123.197L219.197,122.651V122.59L218.165,122.226L217.619,121.861L217.558,121.254L217.012,120.283L216.405,119.251L216.344,118.705L216.283,117.673V117.187L216.708,117.126H216.769L217.801,117.551L218.347,117.065L219.319,116.458L219.804,115.851L220.29,115.305L220.776,114.759L220.169,113.787H220.108L219.137,113.848L219.015,112.695L218.044,112.755L217.498,112.816L216.526,112.877L216.466,112.452L216.405,111.359L215.312,110.934H214.766L213.187,110.631L213.127,110.084L213.066,109.599L211.548,109.72L212.58,109.113L211.852,107.595L210.759,106.078V105.531L211.184,105.045V104.499L210.152,104.56L209.545,103.589L208.452,103.103L207.967,103.164V103.71L206.935,104.256H206.51L206.449,103.771L205.902,103.285H205.842H205.781L204.87,103.346L204.324,103.406L203.778,103.467L202.928,103.528H202.746V102.981L202.199,103.042H201.653L200.621,103.649L199.71,104.256Z" + android:pathData="M199.71,104.256L200.257,104.741L200.742,105.227L200.317,105.773L199.285,106.381V106.32L198.739,105.895V105.956L198.314,106.441H198.193H197.768L197.403,106.502H197.221L196.311,108.687L198.496,108.991L197.464,110.144H197.403L195.886,110.266L195.947,110.812L193.882,111.48V112.026L194.004,113.483L194.065,114.03L193.579,115.122H193.518H193.154V115.669L192.608,115.183L191.576,115.79H191.515L191.09,115.851H190.604L190.119,116.944L189.572,117.49L188.54,117.551L188.48,117.065L187.63,117.126L187.69,117.976L187.933,118.765L188.297,119.068L188.419,120.586L188.722,120.95L189.39,121.739L189.876,122.225L189.937,122.711L190.119,123.136L190.24,124.836L190.119,125.2V125.26H190.058L189.937,125.746L188.055,127.203L188.54,127.81L189.512,127.992L189.269,129.571V129.935L189.39,130.056V129.996H189.937H189.997L190.483,130.481L190.604,130.36L190.847,129.935L191.393,129.328L191.454,129.146V128.842L191.576,128.781V128.721L192.486,128.053L193.579,128.114L194.186,128.053H194.429L196.068,127.507H196.129L197.646,127.385L199.225,127.689L200.317,128.235L202.381,128.599L202.928,128.539L203.474,129.024L204.688,128.903H204.931L205.478,128.357H205.963L206.631,128.296L207.177,128.781L207.299,128.964L207.602,129.206L208.027,128.174L208.634,128.296L209.302,129.631L209.363,129.571L209.484,129.206L209.606,128.599H209.666L210.152,128.053H210.213H210.273L210.638,127.992H210.698L212.277,128.357L212.762,127.871L213.005,127.81H213.309L214.462,128.781H214.644L214.584,127.689L214.766,127.264L214.098,126.171L214.401,125.018L214.341,124.046L215.069,123.196H215.676L216.587,123.075L217.255,123.318H217.74L218.226,123.257L219.258,123.196L219.197,122.65V122.589L218.165,122.225L217.619,121.861L217.558,121.254L217.012,120.282L216.405,119.25L216.344,118.704L216.283,117.672V117.186L216.708,117.126H216.769L217.801,117.551L218.347,117.065L219.319,116.458L219.804,115.851L220.29,115.305L220.776,114.758L220.169,113.787H220.108L219.137,113.848L219.015,112.694L218.044,112.755L217.498,112.816L216.526,112.876L216.466,112.451L216.405,111.359L215.312,110.934H214.766L213.187,110.63L213.127,110.084L213.066,109.598L211.548,109.719L212.58,109.112L211.852,107.595L210.759,106.077V105.531L211.184,105.045V104.499L210.152,104.559L209.545,103.588L208.452,103.102L207.967,103.163V103.709L206.935,104.256H206.51L206.449,103.77L205.902,103.284H205.842H205.781L204.87,103.345L204.324,103.406L203.778,103.467L202.928,103.527H202.746V102.981L202.199,103.042H201.653L200.621,103.649L199.71,104.256Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M190.058,115.912L190.604,115.852L190.058,115.912Z" + android:pathData="M190.058,115.912L190.604,115.851L190.058,115.912Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M185.02,149.483L184.777,149.24L184.655,149.301L184.837,149.422L185.02,149.483Z" + android:pathData="M185.019,149.483L184.777,149.24L184.655,149.301L184.837,149.422L185.019,149.483Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M249.794,140.924L250.219,139.285L250.644,138.799L251.19,138.738L252.222,138.677L253.194,138.617L253.315,138.556L253.74,136.978L253.618,135.399L252.404,133.882L251.919,133.942L251.858,133.396L252.344,132.85L252.829,132.243V131.757L252.162,131.818H251.737L251.251,131.453L251.676,130.846L252.708,130.239L253.254,129.754L253.133,128.114H252.526L252.04,128.782H251.979L251.008,128.843L249.915,128.297L249.855,128.357H249.794L248.883,128.418L248.944,129.025L248.883,128.904L248.398,128.418V127.932L248.033,127.993H247.851L246.819,128.054V128.539L246.394,128.6H245.848L245.787,128.114L245.727,128.175L244.755,128.722L244.695,128.661L244.209,128.236L243.602,127.75L243.663,128.297L242.691,128.843L240.991,127.932L240.506,127.447V126.961L239.413,127.022L238.442,128.114L238.017,128.661L237.713,128.722H237.41L236.924,128.236H236.863L236.378,128.782H236.317L235.831,128.297L235.346,128.357L234.314,128.418H233.707L233.646,127.932L233.099,126.415L233.039,125.929L232.067,125.99L231.4,125.018L231.339,124.472H231.278H230.914L230.368,125.079L228.789,125.2L227.757,125.261L227.697,124.715L227.636,123.622L227.575,122.59L227.089,122.104L226.422,121.255L225.875,120.647L225.329,120.708L224.418,121.376H224.358L223.326,120.83H223.265L222.779,120.89L222.294,121.497L221.99,121.558H221.808L220.776,122.044H220.715L220.23,121.679H220.169L219.258,122.165L219.319,123.197H219.258L218.226,123.258L217.741,123.319H217.255L216.587,123.076L215.677,123.197H215.069L214.341,124.047L214.402,125.018L214.098,126.172L214.766,127.265L214.584,127.689L214.645,128.782V128.843L214.462,128.782L213.309,127.811H213.005L212.823,127.872L212.338,128.357H212.277L210.699,127.993H210.638L210.274,128.054H210.213L209.667,128.6H209.606L209.484,129.207L209.363,129.571L209.302,129.693V129.632L208.635,128.297L208.027,128.175L207.603,129.207L207.542,129.329L207.299,128.964L207.178,128.782L206.631,128.297L205.963,128.357H205.538L205.053,128.904H204.689L203.474,129.025L202.928,128.539L202.382,128.6L200.318,128.236L199.225,127.689L197.647,127.386L196.129,127.507L194.49,128.054H194.429H194.186L193.579,128.114L192.486,128.054L191.576,128.722V128.782L191.454,129.146L191.394,129.329L190.847,129.936L190.605,130.361L190.544,130.482H190.483L189.997,129.996H189.937L189.39,130.057L189.451,130.118L189.208,131.696L189.512,132.121L189.269,132.546L190.058,133.032L190.483,133.76L191.515,134.914L191.151,135.096V135.764L191.576,135.946L192.001,136.674L191.697,137.828L191.151,138.253L190.119,138.192L189.087,139.224L188.844,139.77L188.419,140.742L187.873,140.924L187.448,141.591L187.266,142.259L187.144,143.413V143.838L187.205,144.445L187.084,144.93L187.144,145.477L186.901,145.902L187.023,146.266L186.476,146.63L186.173,147.055L186.355,147.723H185.869L185.627,148.208L185.505,148.816L185.687,149.18L185.627,149.908L185.748,150.212H185.869L186.112,150.09L186.719,150.212L186.901,150.394L187.691,150.151L189.148,150.03L190.119,150.212L190.908,150.515L191.515,150.819L192.486,150.94L192.972,150.151L193.883,149.969L194.49,149.908L196.007,150.515L196.554,150.09L197.647,149.058L198.011,149.119L198.861,149.058L199.832,148.937L200.014,148.512L200.196,147.905L201.653,147.298L202.139,147.48V147.359L202.321,147.48L202.625,147.601L203.292,147.784L204.689,147.176L205.235,146.569L205.721,146.144L205.781,146.084L207.299,146.023V146.448L208.392,146.327L208.938,146.873L209.484,147.298L209.909,146.812L210.516,146.752L211.063,147.237L212.034,147.723V147.176L213.248,147.662V148.148L213.309,148.694L213.734,148.633H213.795L213.855,149.665L213.916,150.697L213.977,151.244H214.462L214.948,151.183L215.616,152.154L215.677,153.247L216.162,153.186H216.648H216.769V153.611L216.83,154.158L217.376,154.704L217.923,155.19L218.469,155.615L218.408,156.222L218.894,155.615L219.501,156.161L219.987,156.586L220.533,156.525L220.412,155.008L220.897,153.915L221.444,153.854L221.929,154.34L222.961,153.733L223.933,152.64H224.418L224.479,153.065L225.025,153.004L224.965,152.033L224.904,151.487L224.843,150.515L225.39,151.487L225.936,151.972L225.997,152.519L226.604,153.49L225.572,153.551V154.097L225.633,154.643L225.693,155.129L226.786,155.615L227.818,155.979L229.336,154.886L230.246,154.279H230.793L231.339,153.672L231.946,155.251L232.432,154.643L232.917,153.611L232.857,153.065L233.342,153.004L233.949,153.49L234.435,152.944L234.921,152.883L236.499,152.822L236.56,153.308H237.045L236.985,152.762L237.531,152.701L237.895,151.122L238.927,150.515L238.988,151.608L239.595,151.547L240.991,149.848L242.023,149.301L242.388,148.694L242.934,148.148L243.42,148.087L244.573,148.573L244.998,148.026L244.512,147.48L245.423,146.934L245.909,145.841L246.455,145.295L246.941,145.234L247.366,144.687V144.141L247.973,144.627L248.398,144.566L248.458,144.08V144.02L248.276,141.531L249.794,140.924Z" + android:pathData="M249.794,140.924L250.219,139.285L250.644,138.799L251.19,138.739L252.222,138.678L253.193,138.617L253.315,138.556L253.74,136.978L253.618,135.4L252.404,133.882L251.919,133.943L251.858,133.396L252.344,132.85L252.829,132.243V131.757L252.161,131.818H251.736L251.251,131.454L251.676,130.847L252.708,130.24L253.254,129.754L253.133,128.115H252.526L252.04,128.783H251.979L251.008,128.843L249.915,128.297L249.855,128.358H249.794L248.883,128.418L248.944,129.025L248.883,128.904L248.398,128.418V127.933L248.033,127.993H247.851L246.819,128.054V128.54L246.394,128.6H245.848L245.787,128.115L245.726,128.176L244.755,128.722L244.694,128.661L244.209,128.236L243.602,127.751L243.662,128.297L242.691,128.843L240.991,127.933L240.506,127.447V126.961L239.413,127.022L238.442,128.115L238.017,128.661L237.713,128.722H237.41L236.924,128.236H236.863L236.378,128.783H236.317L235.831,128.297L235.346,128.358L234.314,128.418H233.706L233.646,127.933L233.099,126.415L233.039,125.929L232.067,125.99L231.4,125.019L231.339,124.472H231.278H230.914L230.368,125.079L228.789,125.201L227.757,125.262L227.696,124.715L227.636,123.622L227.575,122.59L227.089,122.105L226.422,121.255L225.875,120.648L225.329,120.709L224.418,121.376H224.358L223.326,120.83H223.265L222.779,120.891L222.293,121.498L221.99,121.558H221.808L220.776,122.044H220.715L220.229,121.68H220.169L219.258,122.166L219.319,123.198H219.258L218.226,123.258L217.74,123.319H217.255L216.587,123.076L215.676,123.198H215.069L214.341,124.047L214.402,125.019L214.098,126.172L214.766,127.265L214.584,127.69L214.644,128.783V128.843L214.462,128.783L213.309,127.811H213.005L212.823,127.872L212.338,128.358H212.277L210.698,127.993H210.638L210.274,128.054H210.213L209.666,128.6H209.606L209.484,129.208L209.363,129.572L209.302,129.693V129.632L208.634,128.297L208.027,128.176L207.602,129.208L207.542,129.329L207.299,128.965L207.177,128.783L206.631,128.297L205.963,128.358H205.538L205.053,128.904H204.688L203.474,129.025L202.928,128.54L202.382,128.6L200.318,128.236L199.225,127.69L197.646,127.386L196.129,127.508L194.49,128.054H194.429H194.186L193.579,128.115L192.486,128.054L191.576,128.722V128.783L191.454,129.147L191.394,129.329L190.847,129.936L190.604,130.361L190.544,130.482H190.483L189.997,129.997H189.937L189.39,130.057L189.451,130.118L189.208,131.697L189.512,132.121L189.269,132.546L190.058,133.032L190.483,133.761L191.515,134.914L191.151,135.096V135.764L191.576,135.946L192.001,136.675L191.697,137.828L191.151,138.253L190.119,138.192L189.087,139.224L188.844,139.771L188.419,140.742L187.873,140.924L187.448,141.592L187.266,142.26L187.144,143.413V143.838L187.205,144.445L187.083,144.931L187.144,145.477L186.901,145.902L187.023,146.266L186.476,146.63L186.173,147.055L186.355,147.723H185.869L185.626,148.209L185.505,148.816L185.687,149.18L185.626,149.909L185.748,150.212H185.869L186.112,150.091L186.719,150.212L186.901,150.394L187.69,150.151L189.147,150.03L190.119,150.212L190.908,150.516L191.515,150.819L192.486,150.941L192.972,150.151L193.883,149.969L194.49,149.909L196.007,150.516L196.554,150.091L197.646,149.059L198.011,149.119L198.861,149.059L199.832,148.937L200.014,148.512L200.196,147.905L201.653,147.298L202.139,147.48V147.359L202.321,147.48L202.624,147.602L203.292,147.784L204.688,147.177L205.235,146.57L205.72,146.145L205.781,146.084L207.299,146.023V146.448L208.392,146.327L208.938,146.873L209.484,147.298L209.909,146.813L210.516,146.752L211.063,147.238L212.034,147.723V147.177L213.248,147.662V148.148L213.309,148.695L213.734,148.634H213.795L213.855,149.666L213.916,150.698L213.977,151.244H214.462L214.948,151.184L215.616,152.155L215.676,153.248L216.162,153.187H216.648H216.769V153.612L216.83,154.158L217.376,154.705L217.923,155.19L218.469,155.615L218.408,156.222L218.894,155.615L219.501,156.161L219.987,156.586L220.533,156.526L220.412,155.008L220.897,153.915L221.444,153.855L221.929,154.34L222.961,153.733L223.933,152.64H224.418L224.479,153.065L225.025,153.005L224.965,152.033L224.904,151.487L224.843,150.516L225.39,151.487L225.936,151.973L225.997,152.519L226.604,153.49L225.572,153.551V154.097L225.632,154.644L225.693,155.129L226.786,155.615L227.818,155.979L229.336,154.887L230.246,154.28H230.792L231.339,153.672L231.946,155.251L232.432,154.644L232.917,153.612L232.857,153.065L233.342,153.005L233.949,153.49L234.435,152.944L234.921,152.883L236.499,152.823L236.56,153.308H237.045L236.985,152.762L237.531,152.701L237.895,151.123L238.927,150.516L238.988,151.608L239.595,151.548L240.991,149.848L242.023,149.302L242.388,148.695L242.934,148.148L243.42,148.087L244.573,148.573L244.998,148.027L244.512,147.48L245.423,146.934L245.909,145.841L246.455,145.295L246.941,145.234L247.366,144.688V144.141L247.973,144.627L248.398,144.566L248.458,144.081V144.02L248.276,141.531L249.794,140.924Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M217.923,155.189L217.377,154.704L216.83,154.157L216.77,153.611V153.186H216.648H216.162L215.677,153.247L215.616,152.154L214.948,151.183L214.463,151.243H213.977L213.916,150.697L213.856,149.665L213.795,148.633H213.734L213.309,148.694L213.249,148.147V147.662L212.034,147.176L212.095,147.722H212.034L211.063,147.237L210.517,146.751L209.97,146.812L209.545,147.358L209.485,147.297L208.938,146.872L208.392,146.326L207.299,146.447V146.022L205.782,146.083L205.296,146.569L204.75,147.176L203.353,147.783L203.778,147.844L204.325,148.329L206.024,149.301L205.903,151.122L207.178,151.304L208.271,151.729L208.331,152.761L208.938,153.307L209.485,153.793L210.577,154.218V154.764L211.184,155.736L211.245,156.282L211.306,157.375H210.76L210.82,157.86V158.407L211.427,158.892V159.378L211.549,160.471L211.609,161.503L212.217,162.292L213.249,161.928L213.916,162.231L214.281,162.413L214.584,162.231L215.009,161.624H215.13H215.191L216.162,161.746L216.527,161.867L216.77,161.988L216.709,161.503V160.956L216.102,160.471V159.985L216.587,159.378H217.134V159.864L217.619,159.317L218.651,159.257L219.137,158.71L219.683,158.65L220.169,158.589L220.108,157.618L219.562,157.071H219.016L217.923,156.707V156.221H218.409L218.469,155.614L217.923,155.189Z" + android:pathData="M217.923,155.19L217.376,154.704L216.83,154.158L216.769,153.611V153.186H216.648H216.162L215.677,153.247L215.616,152.154L214.948,151.183L214.463,151.244H213.977L213.916,150.697L213.855,149.665L213.795,148.633H213.734L213.309,148.694L213.248,148.148V147.662L212.034,147.176L212.095,147.723H212.034L211.063,147.237L210.517,146.751L209.97,146.812L209.545,147.358L209.485,147.298L208.938,146.873L208.392,146.326L207.299,146.448V146.023L205.781,146.083L205.296,146.569L204.749,147.176L203.353,147.783L203.778,147.844L204.324,148.33L206.024,149.301L205.903,151.122L207.178,151.304L208.27,151.729L208.331,152.761L208.938,153.308L209.485,153.793L210.577,154.218V154.765L211.184,155.736L211.245,156.282L211.306,157.375H210.759L210.82,157.861V158.407L211.427,158.893V159.378L211.549,160.471L211.609,161.503L212.216,162.292L213.248,161.928L213.916,162.232L214.28,162.414L214.584,162.232L215.009,161.624H215.13H215.191L216.162,161.746L216.527,161.867L216.769,161.989L216.709,161.503V160.957L216.102,160.471V159.985L216.587,159.378H217.134V159.864L217.619,159.318L218.651,159.257L219.137,158.711L219.683,158.65L220.169,158.589L220.108,157.618L219.562,157.071H219.016L217.923,156.707V156.222H218.409L218.469,155.614L217.923,155.19Z" android:fillColor="#D8D8D8"/> <path android:pathData="M298.177,176.072L298.238,176.011L298.177,175.525V176.072Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M300.181,159.258H300.12H299.998L299.634,159.318L298.602,159.379L299.27,159.804L298.724,160.957L297.692,161.504H297.631L297.206,161.564L296.538,161.625H296.174L295.142,161.2L294.049,160.168L293.503,160.229L291.924,160.35H291.864H291.439L291.499,161.443L291.56,161.989L293.078,162.414L293.685,162.9V163.264L293.806,164.357L293.199,164.418L291.742,164.539V165.025L291.682,164.964V165.025L290.589,164.6L289.921,164.66H289.557L288.464,163.689L288.039,164.236L287.553,165.328L288.646,165.753L288.707,166.3L289.253,166.239H289.739L291.317,167.149L290.892,167.757L289.921,168.303L291.439,169.214H291.985L292.471,169.153H292.592L293.624,169.638V170.124L293.139,170.731H293.078L292.167,170.792L292.714,171.217L294.292,171.642L295.445,172.674L295.628,172.613L296.477,172.552H296.781H296.902H296.963L297.509,173.099L297.024,173.584H297.509H297.57L298.117,174.07L298.238,176.013L298.602,174.981L298.541,174.434V174.009L299.573,173.402L300.545,172.31L300.484,171.763L300.97,170.67L301.395,169.578L302.487,169.517L302.852,168.424L303.459,168.364L304.491,169.396L305.159,169.881L305.219,170.913H304.612L305.219,171.399L305.826,172.492V172.977L304.794,173.584L304.309,173.645L305.401,173.949L306.433,174.434L306.919,173.888L307.465,173.827L309.59,174.192L308.983,173.706L309.529,173.281L308.376,172.795L307.89,171.763L308.315,171.217L308.255,170.67L308.194,170.124H308.74L308.801,171.156L309.287,170.063L309.226,169.031L309.165,168.546L308.619,167.999L308.012,167.028L308.497,166.967V166.482L308.437,165.45L308.376,164.903L307.83,164.418L307.769,163.871L308.255,163.325L308.74,162.232L309.226,161.807L310.258,161.686L310.197,161.2L309.712,160.654L308.68,161.261L307.587,161.382L306.616,161.443L306.008,160.472L304.976,160.532L304.43,160.047L303.762,159.015L303.216,158.529L302.67,158.043L302.062,157.497L301.638,157.558L300.545,157.133L300.12,158.226L300.181,159.258Z" + android:pathData="M300.18,159.257H300.12H299.998L299.634,159.318L298.602,159.379L299.27,159.804L298.723,160.957L297.691,161.504H297.631L297.206,161.564L296.538,161.625H296.174L295.142,161.2L294.049,160.168L293.503,160.229L291.924,160.35H291.864H291.439L291.499,161.443L291.56,161.989L293.078,162.414L293.685,162.9V163.264L293.806,164.357L293.199,164.417L291.742,164.539V165.025L291.681,164.964V165.025L290.589,164.6L289.921,164.66H289.557L288.464,163.689L288.039,164.235L287.553,165.328L288.646,165.753L288.707,166.299L289.253,166.239H289.739L291.317,167.149L290.892,167.756L289.921,168.303L291.439,169.213H291.985L292.471,169.153H292.592L293.624,169.638V170.124L293.138,170.731H293.078L292.167,170.792L292.713,171.217L294.292,171.642L295.445,172.674L295.627,172.613L296.477,172.552H296.781H296.902H296.963L297.509,173.099L297.024,173.584H297.509H297.57L298.116,174.07L298.238,176.013L298.602,174.98L298.541,174.434V174.009L299.573,173.402L300.545,172.309L300.484,171.763L300.97,170.67L301.395,169.578L302.487,169.517L302.852,168.424L303.459,168.363L304.491,169.395L305.158,169.881L305.219,170.913H304.612L305.219,171.399L305.826,172.491V172.977L304.794,173.584L304.309,173.645L305.401,173.948L306.433,174.434L306.919,173.888L307.465,173.827L309.59,174.191L308.983,173.706L309.529,173.281L308.376,172.795L307.89,171.763L308.315,171.217L308.254,170.67L308.194,170.124H308.74L308.801,171.156L309.286,170.063L309.226,169.031L309.165,168.546L308.619,167.999L308.012,167.028L308.497,166.967V166.481L308.437,165.449L308.376,164.903L307.83,164.417L307.769,163.871L308.254,163.325L308.74,162.232L309.226,161.807L310.258,161.686L310.197,161.2L309.711,160.654L308.679,161.261L307.587,161.382L306.615,161.443L306.008,160.471L304.976,160.532L304.43,160.047L303.762,159.015L303.216,158.529L302.669,158.043L302.062,157.497L301.637,157.558L300.545,157.133L300.12,158.225L300.18,159.257Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M297.57,173.584H297.51H297.024L297.51,173.099L296.963,172.552H296.903H296.781H296.478L295.628,172.613L295.446,172.674L294.292,171.642L292.714,171.217L292.167,170.792L293.078,170.731H293.139L293.624,170.124V169.638L292.592,169.153H292.471L291.985,169.213H291.439L289.921,168.303L290.893,167.756L291.318,167.149L289.739,166.239H289.254L288.707,166.299L288.646,165.753L287.554,165.328H287.432H287.129L287.189,165.874V166.421H287.129H286.582L285.55,166.542L285.611,167.089H285.49H285.065L284.033,167.21L283.061,167.756L282.09,168.363L280.572,169.517H280.512L282.09,169.881L282.151,170.428L282.636,170.913L282.272,171.945L282.333,172.492L282.819,173.524L283.426,174.07L283.972,174.009H284.458L285.004,173.949H285.49L285.975,173.888L286.461,173.281L287.068,173.827L287.129,174.313L288.161,174.252L288.707,174.191L289.8,174.616V175.102L291.378,176.013L292.532,176.498L293.017,176.923L294.596,176.802L295.688,176.741H296.174L297.206,176.134L298.177,176.073V175.527L298.238,176.013V176.073V176.013L298.117,174.07L297.57,173.584Z" + android:pathData="M297.57,173.584H297.51H297.024L297.51,173.098L296.963,172.552H296.903H296.781H296.478L295.628,172.613L295.446,172.673L294.292,171.641L292.714,171.216L292.167,170.792L293.078,170.731H293.139L293.624,170.124V169.638L292.592,169.152H292.471L291.985,169.213H291.439L289.921,168.303L290.892,167.756L291.317,167.149L289.739,166.238H289.253L288.707,166.299L288.646,165.753L287.554,165.328H287.432H287.129L287.189,165.874V166.421H287.129H286.582L285.55,166.542L285.611,167.088H285.49H285.065L284.033,167.21L283.061,167.756L282.09,168.363L280.572,169.517H280.512L282.09,169.881L282.151,170.427L282.636,170.913L282.272,171.945L282.333,172.491L282.818,173.523L283.426,174.07L283.972,174.009H284.458L285.004,173.948H285.49L285.975,173.888L286.461,173.281L287.068,173.827L287.129,174.313L288.161,174.252L288.707,174.191L289.8,174.616V175.102L291.378,176.012L292.532,176.498L293.017,176.923L294.596,176.802L295.688,176.741H296.174L297.206,176.134L298.177,176.073V175.527L298.238,176.012V176.073V176.012L298.117,174.07L297.57,173.584Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M282.09,168.364L283.061,167.757L284.033,167.21L285.065,167.089H285.489H285.611L285.55,166.542L286.643,166.421H287.129H287.189V165.875L287.129,165.328H287.432H287.554L288.039,164.236L288.464,163.689L288.525,163.629L289.618,164.661H289.921L290.589,164.6H290.65L291.682,164.964L291.742,165.025V164.539L293.199,164.418L293.806,164.357L293.685,163.264V162.9L293.078,162.414L291.56,161.989L291.499,161.443L291.439,160.35H291.864H291.924L290.346,159.925L289.982,159.986H289.8L288.828,160.532L288.221,160.108V159.561L288.161,159.076L287.068,158.59H286.825L286.097,158.651V159.197L285.065,159.804V159.743L285.004,158.711L284.518,158.772H283.972L284.033,159.379L283.547,159.925H283.486H283.061L281.908,159.5L280.936,160.108L280.451,160.654L279.419,160.715L278.933,160.775H278.387L278.933,160.229L278.326,159.743L277.78,159.804L276.748,159.865H276.687L275.169,159.986L274.562,159.44L274.38,159.5H274.077L272.559,160.168L271.891,160.229H271.588L270.556,160.29H270.495L269.948,160.35L269.402,159.804L267.277,159.986H266.852L265.76,159.561L264.667,159.136L264.242,160.168L263.696,160.775H263.635L262.664,160.897H262.178L261.692,161.989H261.632L263.271,162.354L263.817,162.293H264.303L264.849,162.839L265.335,162.779L265.881,162.172L266.367,162.111L266.974,162.657L268.067,162.597L268.127,163.629L268.613,163.568L269.645,163.507L270.131,163.993L270.191,164.539L270.859,165.45L271.345,165.935L272.498,166.907L272.984,167.392L273.045,167.939L272.559,167.999L272.134,169.092V169.578L272.195,170.063H272.741L272.68,169.517H273.166L273.773,169.456L275.776,169.274L276.323,168.789L276.808,168.728L277.233,168.182L278.326,168.607H278.872L278.933,169.092V169.639L279.479,169.578L280.512,169.517H280.572L282.09,168.364Z" + android:pathData="M282.09,168.363L283.061,167.756L284.033,167.21L285.065,167.088H285.489H285.611L285.55,166.542L286.643,166.421H287.129H287.189V165.874L287.129,165.328H287.432H287.554L288.039,164.235L288.464,163.689L288.525,163.628L289.618,164.66H289.921L290.589,164.599H290.65L291.682,164.964L291.742,165.024V164.539L293.199,164.417L293.806,164.357L293.685,163.264V162.9L293.078,162.414L291.56,161.989L291.499,161.443L291.439,160.35H291.864H291.924L290.346,159.925L289.982,159.986H289.8L288.828,160.532L288.221,160.107V159.561L288.161,159.075L287.068,158.589H286.825L286.097,158.65V159.196L285.065,159.804V159.743L285.004,158.711L284.518,158.772H283.972L284.033,159.379L283.547,159.925H283.486H283.061L281.908,159.5L280.936,160.107L280.451,160.653L279.419,160.714L278.933,160.775H278.387L278.933,160.228L278.326,159.743L277.78,159.804L276.748,159.864H276.687L275.169,159.986L274.562,159.439L274.38,159.5H274.077L272.559,160.168L271.891,160.228H271.588L270.556,160.289H270.495L269.948,160.35L269.402,159.804L267.277,159.986H266.852L265.76,159.561L264.667,159.136L264.242,160.168L263.696,160.775H263.635L262.664,160.896H262.178L261.692,161.989H261.632L263.271,162.353L263.817,162.293H264.303L264.849,162.839L265.335,162.778L265.881,162.171L266.367,162.11L266.974,162.657L268.067,162.596L268.127,163.628L268.613,163.567L269.645,163.507L270.131,163.992L270.191,164.539L270.859,165.449L271.345,165.935L272.498,166.906L272.984,167.392L273.045,167.938L272.559,167.999L272.134,169.092V169.577L272.195,170.063H272.741L272.68,169.517H273.166L273.773,169.456L275.776,169.274L276.323,168.788L276.808,168.727L277.233,168.181L278.326,168.606H278.872L278.933,169.092V169.638L279.479,169.577L280.512,169.517H280.572L282.09,168.363Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M54.24,168.464L53.695,168.503L53.729,168.987L54.275,168.949L54.24,168.464Z" + android:pathData="M54.24,168.464L53.695,168.503L53.729,168.987L54.274,168.948L54.24,168.464Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M104.461,182.264L103.915,182.325L103.49,182.447L102.883,182.386L102.336,181.961L101.244,182.022L100.879,182.082L100.697,182.264H100.333L99.847,182.204L99.24,182.022L98.937,181.172V181.111L98.573,181.172H98.026L97.48,180.686L97.54,179.897L97.298,179.29L96.63,178.925L95.476,179.35H94.201L94.141,178.804L93.655,178.865L92.563,178.379L92.016,178.44L91.409,177.954V177.893L90.863,177.469L90.377,176.983L89.77,177.044L89.284,177.104L88.677,176.072H88.191L88.07,176.012L87.524,175.587L87.099,175.162L87.038,175.101L86.552,175.162H85.945V174.676L85.885,174.13L85.338,173.644L84.731,173.219L84.853,173.098L84.731,173.158L84.124,172.612L83.092,172.733L81.999,172.248L81.453,171.762L80.907,171.823H80.36L79.328,171.883L78.782,171.398L78.175,170.426L77.143,170.487L76.536,170.002L76.05,170.062L75.018,170.123L74.411,170.184L73.925,169.698L73.318,169.759H72.833L72.286,169.212L71.74,168.727L71.193,168.787L70.101,168.362L69.554,168.423L68.462,167.937V167.452L67.369,167.513L66.823,166.966L66.337,167.027L65.305,167.088L64.698,166.663L64.091,166.177L63.119,166.784L62.512,165.752L61.966,165.266L61.905,164.72V164.234L60.873,164.781L60.327,164.841L59.781,164.356V164.841L59.295,164.902L58.749,164.963H58.263L58.809,165.449L58.324,166.056L57.838,166.602L57.777,166.056L57.231,165.57L56.685,165.631H56.138L55.592,165.145L55.167,166.238L54.62,165.752L54.074,166.359L53.589,166.905L54.196,167.391V167.877L54.681,167.33L54.742,167.877L54.256,168.484L55.288,168.362L55.349,168.848L54.863,169.455V169.941L54.378,170.487H54.924L54.985,171.034L54.438,171.58L53.892,171.094L53.406,171.641L53.467,172.673H53.528V172.612L54.62,172.551H55.046V172.066L55.167,172.126V172.005L56.199,172.43H56.745V172.915L56.806,173.462L56.867,173.948H57.352L57.899,173.887L58.384,173.826L58.991,174.312H59.538L60.084,174.797L60.509,175.162V174.858H60.631V174.737H61.116L61.662,174.676L61.723,175.162H62.209L62.755,175.101L63.241,175.647L62.816,176.194L62.877,176.679L62.937,177.226H63.362L63.969,177.711L64.03,178.197H63.969V178.258L63.423,178.318L63.484,178.743H63.423V178.865H62.937L62.452,178.925L62.512,179.35H62.452V179.411H61.905L61.48,179.472V179.958H61.42V180.018L60.934,180.079L60.509,180.565V181.05L60.084,181.657V182.143L59.598,182.75L59.659,183.236V183.782L59.72,184.328L59.781,184.814H59.659V184.875L59.113,184.935L58.688,184.996L58.749,185.36L57.717,186.514L57.777,187.06L57.292,187.607V188.153H57.231V188.214H56.685L55.713,187.849L55.774,188.76L55.835,189.306L55.895,189.853L56.442,190.338L56.502,190.824V191.37L56.017,191.978L55.531,192.463V193.01H55.47V193.07L54.924,193.131L54.56,193.617V194.163L54.074,194.709L54.62,195.195L55.167,195.134V195.681L55.228,196.166H55.167V196.227L54.681,196.288L54.256,196.834H54.196H54.135L53.649,196.895H53.164L53.224,197.38H53.103L53.164,197.441L52.678,197.502L52.739,197.927L52.253,198.534L52.314,199.566L52.374,200.598H52.921H52.86H53.346L53.953,201.084L54.499,201.569L55.046,202.055V202.601L56.138,203.026L56.745,203.512V204.058L56.26,204.605L56.806,204.544H57.352L56.867,205.576L56.927,206.183L55.835,206.244L56.442,206.669L56.502,207.761L57.049,208.247L57.595,208.186L58.141,208.672L58.749,209.704L59.234,209.097L59.174,208.611L60.206,208.004L61.298,207.943L61.784,207.397L62.33,207.336L63.362,207.822L63.909,207.761L64.334,206.669L65.366,206.608L66.458,207.033L67.065,207.519L68.158,207.458L68.705,208.429L69.737,208.368L71.315,208.247H71.861L72.954,208.672L73.44,208.126L74.472,208.065L75.079,208.551L75.564,208.49L75.625,209.036L76.111,208.976L76.657,208.429L76.596,207.883V207.336L77.629,206.79L77.568,206.244L78.6,206.183L79.086,205.637L80.118,205.515H80.664L81.757,206.001L82.242,205.394L83.274,204.787L83.153,203.755L83.638,203.208L84.185,203.148L84.671,202.601L84.61,202.055L85.642,201.509L86.128,201.448L87.22,201.387L88.191,200.234L87.645,199.748V199.202L87.038,198.777L86.977,198.17V197.684L86.856,196.652L86.795,195.62L87.342,195.013L87.767,194.467L88.799,193.859L89.77,192.767L90.316,192.706L90.863,192.16L91.834,191.006L92.259,190.521L93.291,189.853V189.367L93.777,189.306V188.821L94.262,188.214H94.809L95.78,188.092L96.873,188.032L97.905,187.971L98.451,187.91H98.937L99.483,187.849L100.454,187.242L101.061,187.182L101.486,186.696L102.579,186.575H103.125L103.611,185.968H104.158L104.643,185.36L105.129,184.814L105.068,184.328L105.554,183.782L105.493,183.236L105.432,182.143L105.311,182.022L104.886,182.507L104.461,182.264Z" + android:pathData="M104.461,182.264L103.915,182.325L103.49,182.446L102.883,182.385L102.336,181.961L101.244,182.021L100.879,182.082L100.697,182.264H100.333L99.847,182.203L99.24,182.021L98.937,181.171V181.111L98.573,181.171H98.026L97.48,180.686L97.54,179.896L97.298,179.289L96.63,178.925L95.476,179.35H94.201L94.141,178.804L93.655,178.864L92.563,178.379L92.016,178.44L91.409,177.954V177.893L90.863,177.468L90.377,176.983L89.77,177.043L89.284,177.104L88.677,176.072H88.191L88.07,176.011L87.524,175.586L87.099,175.161L87.038,175.101L86.552,175.161H85.945V174.676L85.885,174.129L85.338,173.644L84.731,173.219L84.853,173.097L84.731,173.158L84.124,172.612L83.092,172.733L81.999,172.247L81.453,171.762L80.907,171.822H80.36L79.328,171.883L78.782,171.398L78.175,170.426L77.143,170.487L76.536,170.001L76.05,170.062L75.018,170.123L74.411,170.183L73.925,169.698L73.318,169.758H72.833L72.286,169.212L71.74,168.726L71.193,168.787L70.101,168.362L69.554,168.423L68.462,167.937V167.452L67.369,167.512L66.823,166.966L66.337,167.027L65.305,167.087L64.698,166.662L64.091,166.177L63.119,166.784L62.512,165.752L61.966,165.266L61.905,164.72V164.234L60.873,164.78L60.327,164.841L59.781,164.355V164.841L59.295,164.902L58.749,164.963H58.263L58.809,165.448L58.324,166.055L57.838,166.602L57.777,166.055L57.231,165.57L56.685,165.63H56.138L55.592,165.145L55.167,166.237L54.62,165.752L54.074,166.359L53.589,166.905L54.196,167.391V167.876L54.681,167.33L54.742,167.876L54.256,168.484L55.288,168.362L55.349,168.848L54.863,169.455V169.941L54.378,170.487H54.924L54.985,171.033L54.438,171.58L53.892,171.094L53.406,171.64L53.467,172.672H53.528V172.612L54.62,172.551H55.046V172.065L55.167,172.126V172.005L56.199,172.43H56.745V172.915L56.806,173.462L56.867,173.947H57.352L57.899,173.886L58.384,173.826L58.991,174.311H59.538L60.084,174.797L60.509,175.161V174.858H60.631V174.736H61.116L61.662,174.676L61.723,175.161H62.209L62.755,175.101L63.241,175.647L62.816,176.193L62.877,176.679L62.937,177.225H63.362L63.969,177.711L64.03,178.197H63.969V178.257L63.423,178.318L63.484,178.743H63.423V178.864H62.937L62.452,178.925L62.512,179.35H62.452V179.411H61.905L61.48,179.472V179.957H61.42V180.018L60.934,180.079L60.509,180.564V181.05L60.084,181.657V182.143L59.598,182.75L59.659,183.235V183.782L59.72,184.328L59.781,184.814H59.659V184.874L59.113,184.935L58.688,184.996L58.749,185.36L57.717,186.514L57.777,187.06L57.292,187.606V188.153H57.231V188.213H56.685L55.713,187.849L55.774,188.76L55.835,189.306L55.895,189.852L56.442,190.338L56.502,190.824V191.37L56.017,191.977L55.531,192.463V193.009H55.47V193.07L54.924,193.131L54.56,193.616V194.163L54.074,194.709L54.62,195.195L55.167,195.134V195.68L55.228,196.166H55.167V196.227L54.681,196.287L54.256,196.834H54.196H54.135L53.649,196.894H53.164L53.224,197.38H53.103L53.164,197.441L52.678,197.502L52.739,197.927L52.253,198.534L52.314,199.566L52.374,200.598H52.921H52.86H53.346L53.953,201.083L54.499,201.569L55.046,202.055V202.601L56.138,203.026L56.745,203.512V204.058L56.26,204.604L56.806,204.544H57.352L56.867,205.576L56.927,206.183L55.835,206.243L56.442,206.668L56.502,207.761L57.049,208.247L57.595,208.186L58.141,208.672L58.749,209.704L59.234,209.097L59.174,208.611L60.206,208.004L61.298,207.943L61.784,207.397L62.33,207.336L63.362,207.822L63.909,207.761L64.334,206.668L65.366,206.608L66.458,207.033L67.065,207.518L68.158,207.458L68.705,208.429L69.737,208.368L71.315,208.247H71.861L72.954,208.672L73.44,208.125L74.472,208.065L75.079,208.55L75.564,208.49L75.625,209.036L76.111,208.975L76.657,208.429L76.596,207.882V207.336L77.629,206.79L77.568,206.243L78.6,206.183L79.086,205.636L80.118,205.515H80.664L81.757,206.001L82.242,205.393L83.274,204.786L83.153,203.754L83.638,203.208L84.185,203.147L84.671,202.601L84.61,202.055L85.642,201.508L86.128,201.448L87.22,201.387L88.191,200.233L87.645,199.748V199.201L87.038,198.776L86.977,198.169V197.684L86.856,196.652L86.795,195.62L87.342,195.013L87.767,194.466L88.799,193.859L89.77,192.766L90.316,192.706L90.863,192.159L91.834,191.006L92.259,190.52L93.291,189.852V189.367L93.777,189.306V188.82L94.262,188.213H94.809L95.78,188.092L96.873,188.031L97.905,187.971L98.451,187.91H98.937L99.483,187.849L100.454,187.242L101.061,187.181L101.486,186.696L102.579,186.574H103.125L103.611,185.967H104.158L104.643,185.36L105.129,184.814L105.068,184.328L105.554,183.782L105.493,183.235L105.432,182.143L105.311,182.021L104.886,182.507L104.461,182.264Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M52.374,200.598L52.314,199.566L52.253,198.534L52.739,197.927L52.678,197.502V197.441L53.103,197.38H53.224L53.164,196.895L53.71,196.834H54.196H54.256L54.681,196.288L54.742,196.227L55.167,196.166H55.228L55.167,195.681V195.134L54.62,195.195L54.074,194.709L54.56,194.163V193.617L54.924,193.131L54.985,193.07L55.47,193.01H55.531V192.463L56.017,191.978L56.502,191.37V190.824L56.442,190.338L55.895,189.853L55.835,189.306L55.774,188.76L55.713,187.849V187.728L56.806,188.214L57.231,188.153H57.292V187.607L57.777,187.06L57.717,186.514L58.749,185.36L58.688,184.996V184.875H59.174L59.659,184.814H59.781L59.72,184.328L59.659,183.782V183.236L59.598,182.75L60.084,182.143V181.657L60.509,181.05V180.565L60.934,180.079L60.995,180.018L61.42,179.958H61.48V179.472V179.411H62.027L62.452,179.35H62.512L62.452,178.925V178.804H62.998L63.423,178.743H63.484L63.423,178.318V178.258L63.969,178.197H64.03L63.969,177.711L63.362,177.226H62.937L62.877,176.679L62.816,176.194L63.241,175.647L62.755,175.101L62.209,175.162H61.723L61.662,174.676L61.116,174.737H60.631V174.858V175.283L60.509,175.162L60.084,174.797L59.538,174.312H58.991L58.384,173.826L57.899,173.887L57.352,173.948H56.867L56.806,173.462L56.745,172.915V172.43H56.199L55.167,172.005V172.126V172.491L55.046,172.551H54.62L53.528,172.612V172.673L53.589,173.098L53.649,173.705V174.19L53.224,174.737V175.283L53.346,176.376L52.799,176.861L52.374,177.469L52.435,178.501L51.889,179.047L51.464,179.593L51.525,180.686L51.039,181.232L50.553,182.325L50.068,182.811L49.582,183.418L49.643,183.964L49.157,184.511L48.671,185.603L48.186,185.664L47.093,185.725L46.607,186.271L46.668,186.757V187.303L46.729,187.849L46.243,188.396L45.757,189.003L45.818,189.489V189.974L46.85,189.913L47.457,190.399H47.943L48.003,191.431L48.064,191.978L47.578,192.524L47.093,193.07L47.153,193.617L46.668,194.163L47.214,194.649L46.789,195.741L46.85,196.288H46.304L45.757,196.834L45.818,197.38L45.393,198.473L44.847,199.02L44.907,199.566L45.454,199.505H45.939L46.486,198.898L47.032,199.445L47.093,199.93L47.578,199.869H48.125L48.671,200.355L49.764,200.78L50.371,201.266L50.796,200.719L50.857,201.266L51.342,201.205L52.86,200.598H52.921H52.374Z" + android:pathData="M52.374,200.598L52.314,199.566L52.253,198.534L52.739,197.927L52.678,197.502V197.442L53.103,197.381H53.224L53.164,196.895L53.71,196.834H54.196H54.256L54.681,196.288L54.742,196.227L55.167,196.167H55.228L55.167,195.681V195.135L54.621,195.195L54.074,194.71L54.56,194.163V193.617L54.924,193.131L54.985,193.071L55.471,193.01H55.531V192.464L56.017,191.978L56.502,191.371V190.824L56.442,190.339L55.895,189.853L55.835,189.307L55.774,188.76L55.713,187.85V187.728L56.806,188.214L57.231,188.153H57.292V187.607L57.777,187.061L57.717,186.514L58.749,185.361L58.688,184.997V184.875H59.174L59.659,184.814H59.781L59.72,184.329L59.659,183.782V183.236L59.599,182.75L60.084,182.143V181.658L60.509,181.051V180.565L60.934,180.079L60.995,180.019L61.42,179.958H61.48V179.472V179.412H62.027L62.452,179.351H62.513L62.452,178.926V178.804H62.998L63.423,178.744H63.484L63.423,178.319V178.258L63.97,178.197H64.03L63.97,177.712L63.362,177.226H62.938L62.877,176.68L62.816,176.194L63.241,175.648L62.755,175.101L62.209,175.162H61.723L61.663,174.676L61.116,174.737H60.631V174.858V175.283L60.509,175.162L60.084,174.798L59.538,174.312H58.992L58.384,173.826L57.899,173.887L57.352,173.948H56.867L56.806,173.462L56.745,172.916V172.43H56.199L55.167,172.005V172.127V172.491L55.046,172.552H54.621L53.528,172.612V172.673L53.589,173.098L53.649,173.705V174.191L53.224,174.737V175.283L53.346,176.376L52.799,176.862L52.374,177.469L52.435,178.501L51.889,179.047L51.464,179.594L51.525,180.686L51.039,181.233L50.553,182.325L50.068,182.811L49.582,183.418L49.643,183.965L49.157,184.511L48.671,185.604L48.186,185.664L47.093,185.725L46.607,186.271L46.668,186.757V187.303L46.729,187.85L46.243,188.396L45.757,189.003L45.818,189.489V189.975L46.85,189.914L47.457,190.399H47.943L48.004,191.432L48.064,191.978L47.579,192.524L47.093,193.071L47.154,193.617L46.668,194.163L47.214,194.649L46.789,195.742L46.85,196.288H46.304L45.757,196.834L45.818,197.381L45.393,198.474L44.847,199.02L44.907,199.566L45.454,199.506H45.939L46.486,198.898L47.032,199.445L47.093,199.931L47.579,199.87H48.125L48.671,200.355L49.764,200.78L50.371,201.266L50.796,200.72L50.857,201.266L51.342,201.205L52.86,200.598H52.921H52.374Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M103.49,197.685L102.883,197.199V196.653L102.276,196.167L101.79,196.774L101.851,197.26L100.758,197.381H100.272L99.726,197.442L99.786,197.988L100.819,197.867H101.365L101.972,198.899L102.458,198.838L102.518,199.324H103.065L103.55,198.777L103.49,198.231L104.036,198.17L104.522,197.624L103.975,197.685H103.49Z" + android:pathData="M103.49,197.685L102.883,197.199V196.653L102.275,196.167L101.79,196.774L101.851,197.26L100.758,197.381H100.272L99.726,197.442L99.786,197.988L100.818,197.867H101.365L101.972,198.899L102.458,198.838L102.518,199.324H103.065L103.55,198.777L103.49,198.231L104.036,198.17L104.522,197.624L103.975,197.685H103.49Z" android:fillColor="#D8D8D8"/> <path android:pathData="M108.65,196.288H108.104L107.618,196.349L107.011,195.863H106.525V196.41L107.132,196.895H107.618L108.225,197.381L108.771,197.32L108.711,196.774L108.65,196.288Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M94.627,199.931H94.141V200.477L93.109,200.538V201.084L93.17,201.631L94.202,201.024L94.687,200.963L94.627,200.416L95.173,199.87L94.627,199.931Z" + android:pathData="M94.627,199.931H94.141V200.478L93.109,200.538V201.085L93.17,201.631L94.202,201.024L94.687,200.963L94.627,200.417L95.173,199.871L94.627,199.931Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M124.555,177.105L125.041,176.498L124.98,176.012L125.465,175.466L125.041,175.041L124.069,175.101L123.523,175.162L123.462,175.041H123.341L122.734,174.009V173.523L122.612,172.491V171.945L123.098,171.398L123.037,170.852V170.366L122.552,169.941L122.066,170.002L121.944,169.88L121.641,169.638L121.519,169.516L121.337,169.395V168.909L121.823,168.848H122.369L122.916,168.788L123.401,168.181L123.887,167.634L124.373,167.088L123.826,166.602L123.766,166.117L123.219,165.57L123.159,165.085L123.705,165.024V164.478H123.826L123.766,164.174L123.705,164.053L123.159,163.628V163.081L123.644,163.021L123.098,162.535V162.049H123.159H123.341H123.584H123.644L124.13,161.989L124.069,161.442L123.462,160.41L123.219,160.471H123.037L123.098,161.017H122.976H122.552H122.491L122.066,162.11L121.034,162.717H120.973L120.366,161.685L120.852,160.592L121.823,159.5V158.953L122.248,158.407L123.341,158.346L124.312,157.739L124.737,156.646V156.161L125.223,155.554L125.283,155.614V155.554L125.83,156.039L126.376,156.525L126.801,155.432L126.862,155.493V155.432L127.347,155.857V155.432L127.408,155.493L127.347,154.947V154.4V154.339L127.772,153.793V153.307L127.712,152.275L127.651,151.729L128.197,151.122L128.137,150.636L128.562,149.544L129.108,148.937L130.018,147.905L129.533,147.419H129.047L128.44,147.48L127.894,146.994L126.801,147.115L125.769,146.63L125.223,146.144H125.162V146.083L124.555,145.112L124.069,144.323L124.008,144.201L123.523,144.08L122.916,144.141L122.612,143.898L121.944,143.776L121.884,143.837H121.337L120.852,144.444L120.791,143.898L120.245,143.412L119.638,142.927H119.152V142.805V142.866L119.091,142.441L118.545,141.955V141.895V141.834L118.484,141.409L117.938,140.984V140.377L117.391,140.438L117.452,140.984L116.906,141.045L116.359,141.105L115.813,140.559V140.498L115.752,140.438L116.238,139.891V139.406L116.117,138.434H115.631L115.145,138.495L114.599,138.556L113.992,137.524V137.463L113.931,137.038H113.445L112.899,137.099V136.977L112.838,136.431L112.778,136.006L112.292,136.067H111.806V136.006H111.746V135.581L111.199,135.095V134.974H111.139V134.488L111.078,133.942V133.396L109.985,133.456L109.439,133.517L108.953,133.578H108.407L107.921,133.638L107.435,134.185V134.731L107.496,135.217L107.01,135.763L107.071,136.309L107.132,137.402L107.193,137.949H106.586L106.1,138.009L105.554,138.556H105.068L104.036,139.163L103.004,139.77L101.972,139.83L100.94,139.891L101,140.438H101.486L102.579,140.862L103.125,141.348H102.64V141.955L101.608,141.47L100.515,141.53L99.483,141.591L99.422,141.045L98.39,141.166L97.297,140.741L96.205,140.255L96.265,140.802L95.112,140.316L95.658,139.77L95.051,139.284V138.798L95.537,138.191L94.991,138.252L94.505,138.313L93.898,137.766L93.412,137.827V138.373L92.926,138.92L92.987,139.952V140.438L93.655,141.47L93.109,142.016L93.169,142.623V143.048L93.776,143.594L93.837,144.08L92.805,144.141L92.198,143.716L91.712,143.776H91.166L91.652,143.169L90.62,143.23L89.527,143.351L88.98,142.927L89.041,143.351L88.009,143.412L87.949,142.987L87.888,141.895H87.341L86.795,141.955V141.47L85.702,140.984L85.217,141.591V142.077L84.185,142.137V141.652L83.092,141.712L82.546,141.773L81.999,141.227L81.453,141.834L81.028,141.895H80.481L79.935,141.955L79.996,142.441L80.542,142.38H81.028L81.513,142.319L81.574,142.866V143.412L81.149,143.473V143.898L80.603,143.959L80.117,144.019L79.632,144.626L80.117,144.566L80.724,144.991L81.331,146.023L81.271,145.537L82.363,145.962L82.303,145.416H82.788L82.849,145.962L83.942,146.872H84.549V147.358H85.035L85.095,147.905L85.156,148.39L86.188,148.329L87.281,148.269L86.734,148.815H87.281L87.827,149.24L87.402,150.333H87.888L88.495,150.818L88.555,151.365L89.041,151.304V151.79L88.07,152.943L88.131,153.49L88.798,154.461L89.223,154.4L89.284,155.493L89.891,155.979L89.952,156.464L91.045,156.889L91.53,156.343L91.591,156.889V157.436L91.105,157.982L91.652,157.921L91.166,158.528L91.227,159.56L91.287,160.046L90.802,160.653V161.199L91.348,161.139L91.409,161.685V162.171L91.955,162.656L92.016,163.203L92.077,164.235L92.137,164.72L91.591,164.295L91.53,163.688L91.469,163.203L90.923,162.717L90.862,162.171L90.316,161.746L90.255,161.199L89.77,161.806L89.891,163.324V163.81L89.466,164.417L89.527,165.449L88.98,165.51L90.073,165.935L89.648,166.481L88.555,166.542L88.616,167.149V167.634L88.131,168.181V168.727L87.645,168.788L87.706,169.759L87.22,169.82L86.674,170.366L86.734,170.913L85.763,172.066L84.852,173.098L84.731,173.219L85.338,173.644L85.884,174.13L85.945,174.676V175.162H86.552L87.038,175.101L87.099,175.162L88.07,176.012L88.191,176.073H88.677L89.284,177.105L89.77,177.044L90.377,176.983L90.862,177.469L91.409,177.894V177.955L92.016,178.44L92.562,178.379L93.655,178.865L94.141,178.804L94.201,179.351H95.476L96.63,178.926L97.297,179.29L97.54,179.897L97.479,180.686L98.026,181.172H98.572L98.937,181.111L99.179,180.747L99.544,180.565L100.151,180.383L100.576,180.322L101.122,180.99V181.779L100.879,182.083L101.243,182.022L102.336,181.961L102.882,182.386L103.489,182.447L103.914,182.325L104.461,182.265L104.886,182.508L105.311,182.022L105.432,181.961L105.189,181.779L105.007,181.536L104.886,181.233L105.371,180.686L104.825,180.201L105.311,179.108L105.25,178.562L105.736,178.015L106.282,177.955L106.768,177.408L107.314,177.347H107.8L108.346,177.287L108.832,176.74L109.317,176.133H109.864L110.41,176.619L110.956,177.105L111.442,177.044L112.535,176.983L112.596,178.076L113.081,177.469H113.628L114.113,176.862H114.66L114.72,177.408V177.894H115.206L115.752,177.833L115.813,178.319V178.865L116.299,178.319L116.906,178.804L117.452,179.29L117.513,179.836L118.059,180.322L118.545,180.261H119.091L119.638,180.201L120.184,180.14H120.73L121.155,179.533V179.047L121.095,178.501L121.641,178.44H122.127L122.673,178.379L122.612,177.833H123.219L123.705,177.772V178.319L124.616,177.347L124.069,177.59L124.555,177.105Z" + android:pathData="M124.555,177.105L125.041,176.498L124.98,176.012L125.465,175.466L125.041,175.041L124.069,175.102L123.523,175.162L123.462,175.041H123.341L122.734,174.009V173.523L122.612,172.491V171.945L123.098,171.399L123.037,170.852V170.367L122.552,169.942L122.066,170.002L121.944,169.881L121.641,169.638L121.519,169.517L121.337,169.395V168.91L121.823,168.849H122.369L122.916,168.788L123.401,168.181L123.887,167.635L124.373,167.088L123.826,166.603L123.766,166.117L123.219,165.571L123.159,165.085L123.705,165.024V164.478H123.826L123.766,164.174L123.705,164.053L123.159,163.628V163.082L123.644,163.021L123.098,162.535V162.05H123.159H123.341H123.584H123.644L124.13,161.989L124.069,161.443L123.462,160.411L123.219,160.471H123.037L123.098,161.018H122.976H122.552H122.491L122.066,162.11L121.034,162.717H120.973L120.366,161.685L120.852,160.593L121.823,159.5V158.954L122.248,158.407L123.341,158.347L124.312,157.739L124.737,156.647V156.161L125.223,155.554L125.283,155.615V155.554L125.83,156.04L126.376,156.525L126.801,155.433L126.862,155.493V155.433L127.347,155.858V155.433L127.408,155.493L127.347,154.947V154.401V154.34L127.772,153.794V153.308L127.712,152.276L127.651,151.729L128.197,151.122L128.137,150.637L128.562,149.544L129.108,148.937L130.018,147.905L129.533,147.419H129.047L128.44,147.48L127.894,146.994L126.801,147.116L125.769,146.63L125.223,146.144H125.162V146.084L124.555,145.112L124.069,144.323L124.008,144.202L123.523,144.08L122.916,144.141L122.612,143.898L121.944,143.777L121.884,143.838H121.337L120.852,144.445L120.791,143.898L120.245,143.413L119.638,142.927H119.152V142.806V142.866L119.091,142.441L118.545,141.956V141.895V141.834L118.484,141.409L117.938,140.984V140.377L117.391,140.438L117.452,140.984L116.906,141.045L116.359,141.106L115.813,140.559V140.499L115.752,140.438L116.238,139.892V139.406L116.117,138.435H115.631L115.145,138.495L114.599,138.556L113.992,137.524V137.463L113.931,137.038H113.445L112.899,137.099V136.978L112.838,136.431L112.778,136.006L112.292,136.067H111.806V136.006H111.746V135.581L111.199,135.096V134.974H111.139V134.489L111.078,133.942V133.396L109.985,133.457L109.439,133.517L108.953,133.578H108.407L107.921,133.639L107.435,134.185V134.731L107.496,135.217L107.01,135.764L107.071,136.31L107.132,137.403L107.193,137.949H106.586L106.1,138.01L105.554,138.556H105.068L104.036,139.163L103.004,139.77L101.972,139.831L100.94,139.892L101,140.438H101.486L102.579,140.863L103.125,141.349H102.64V141.956L101.608,141.47L100.515,141.531L99.483,141.591L99.422,141.045L98.39,141.166L97.297,140.741L96.205,140.256L96.265,140.802L95.112,140.317L95.658,139.77L95.051,139.285V138.799L95.537,138.192L94.991,138.253L94.505,138.313L93.898,137.767L93.412,137.828V138.374L92.926,138.92L92.987,139.952V140.438L93.655,141.47L93.109,142.016L93.169,142.623V143.048L93.776,143.595L93.837,144.08L92.805,144.141L92.198,143.716L91.712,143.777H91.166L91.652,143.17L90.62,143.23L89.527,143.352L88.98,142.927L89.041,143.352L88.009,143.413L87.949,142.988L87.888,141.895H87.341L86.795,141.956V141.47L85.702,140.984L85.217,141.591V142.077L84.185,142.138V141.652L83.092,141.713L82.546,141.774L81.999,141.227L81.453,141.834L81.028,141.895H80.481L79.935,141.956L79.996,142.441L80.542,142.381H81.028L81.513,142.32L81.574,142.866V143.413L81.149,143.473V143.898L80.603,143.959L80.117,144.02L79.632,144.627L80.117,144.566L80.724,144.991L81.331,146.023L81.271,145.537L82.363,145.962L82.303,145.416H82.788L82.849,145.962L83.942,146.873H84.549V147.359H85.035L85.095,147.905L85.156,148.391L86.188,148.33L87.281,148.269L86.734,148.816H87.281L87.827,149.24L87.402,150.333H87.888L88.495,150.819L88.555,151.365L89.041,151.305V151.79L88.07,152.944L88.131,153.49L88.798,154.461L89.223,154.401L89.284,155.493L89.891,155.979L89.952,156.465L91.045,156.89L91.53,156.343L91.591,156.89V157.436L91.105,157.982L91.652,157.922L91.166,158.529L91.227,159.561L91.287,160.046L90.802,160.653V161.2L91.348,161.139L91.409,161.685V162.171L91.955,162.657L92.016,163.203L92.077,164.235L92.137,164.721L91.591,164.296L91.53,163.689L91.469,163.203L90.923,162.717L90.862,162.171L90.316,161.746L90.255,161.2L89.77,161.807L89.891,163.325V163.81L89.466,164.417L89.527,165.449L88.98,165.51L90.073,165.935L89.648,166.481L88.555,166.542L88.616,167.149V167.635L88.131,168.181V168.727L87.645,168.788L87.706,169.759L87.22,169.82L86.674,170.367L86.734,170.913L85.763,172.066L84.852,173.098L84.731,173.22L85.338,173.645L85.884,174.13L85.945,174.677V175.162H86.552L87.038,175.102L87.099,175.162L88.07,176.012L88.191,176.073H88.677L89.284,177.105L89.77,177.044L90.377,176.984L90.862,177.469L91.409,177.894V177.955L92.016,178.441L92.562,178.38L93.655,178.866L94.141,178.805L94.201,179.351H95.476L96.63,178.926L97.297,179.291L97.54,179.898L97.479,180.687L98.026,181.172H98.572L98.937,181.112L99.179,180.747L99.544,180.565L100.151,180.383L100.576,180.323L101.122,180.99V181.78L100.879,182.083L101.243,182.022L102.336,181.962L102.882,182.387L103.489,182.447L103.914,182.326L104.461,182.265L104.886,182.508L105.311,182.022L105.432,181.962L105.189,181.78L105.007,181.537L104.886,181.233L105.371,180.687L104.825,180.201L105.311,179.108L105.25,178.562L105.736,178.016L106.282,177.955L106.768,177.409L107.314,177.348H107.8L108.346,177.287L108.832,176.741L109.317,176.134H109.864L110.41,176.619L110.956,177.105L111.442,177.044L112.535,176.984L112.596,178.076L113.081,177.469H113.628L114.113,176.862H114.66L114.72,177.409V177.894H115.206L115.752,177.834L115.813,178.319V178.866L116.299,178.319L116.906,178.805L117.452,179.291L117.513,179.837L118.059,180.323L118.545,180.262H119.091L119.638,180.201L120.184,180.14H120.73L121.155,179.533V179.048L121.095,178.501L121.641,178.441H122.127L122.673,178.38L122.612,177.834H123.219L123.705,177.773V178.319L124.616,177.348L124.069,177.591L124.555,177.105Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M65.426,41.122L65.973,41.668L66.58,42.154L67.066,42.64L67.612,42.579L68.158,42.518L68.219,43.125V43.611L68.28,44.157L68.34,44.643L68.826,45.129L69.979,46.1H70.526L71.011,46.039L71.072,46.586L71.133,47.071L72.165,47.496L72.772,48.043L72.711,47.496L73.258,46.889V47.436H73.804L74.775,46.828L75.322,46.768L76.414,47.193L76.9,46.646L77.507,47.132L78.539,47.071V47.618L79.571,47.011L80.057,46.403L81.15,46.889L81.635,46.828L82.182,46.282L82.728,46.768L82.789,47.314L83.274,46.768L83.76,46.707L84.792,46.1L85.217,45.068L85.824,45.554H86.31L87.402,45.432L87.342,44.4L87.827,43.793L88.313,43.732L88.252,43.186V42.7L88.738,42.154L88.677,41.668L88.131,41.122L88.07,40.636V40.09L87.038,40.151L86.978,39.604L87.463,39.119L88.009,39.544L87.949,39.058L87.463,38.572L87.402,38.026V37.54L88.374,36.933L88.313,36.387L87.827,36.933L86.795,37.055V36.508L86.735,36.023L87.22,35.416L87.16,34.869L86.067,34.444L86.128,34.991L85.581,35.537L85.156,36.083L84.549,36.144L84.063,35.658L84.003,35.112L83.032,35.719L81.999,36.326L81.453,36.387L81.878,34.748L81.332,34.262V34.748L80.846,35.901L80.907,36.387L80.482,36.933L79.875,36.508L79.814,35.416L80.3,34.869L80.239,33.837L79.632,33.291L79.207,33.898L78.6,33.352V33.958L78.175,34.444L77.689,35.051H77.143L77.082,34.566V34.019L76.961,32.987L76.475,32.502L75.929,33.534L75.565,34.626L74.957,34.687V34.201H74.411L73.865,34.262L73.015,35.901L72.954,35.355L72.408,35.416V34.869L72.893,34.323L72.833,33.776V33.291L72.711,32.198H73.258L73.743,32.137L74.229,31.045L73.622,31.105V30.62L74.168,30.013L74.108,29.527L74.047,28.434L72.954,27.463L71.861,27.524L72.408,28.07L73.015,29.041L72.529,29.102V29.648L72.59,30.134V30.68L72.104,31.166L71.558,30.741L71.497,29.709L70.951,30.255L70.89,29.223L70.829,28.131V28.677H70.344L69.797,28.252L69.919,29.83L68.765,29.345L69.372,29.83L69.919,30.316L68.887,30.923L68.401,30.984V30.438L68.34,29.952L67.733,29.466L67.794,29.952V30.498H67.308L67.248,30.013L66.762,30.559L66.823,31.045H67.369L67.855,30.984L68.462,31.47L69.494,31.348L70.04,31.895L70.587,32.38L70.647,32.926H71.133L71.679,32.866L71.801,33.837L71.194,33.898L70.162,33.473L69.069,33.534L69.676,34.019L70.222,34.505L70.769,34.991L70.283,35.537L69.797,35.598L69.19,35.112L68.644,34.626L68.098,34.687L67.005,34.201L65.973,33.776L64.941,34.323L65.002,34.869L66.034,34.808L67.066,34.748L67.673,35.233V35.719H68.158L68.219,36.265L68.28,36.751L67.794,37.358L67.855,38.39L68.34,37.783V38.329L67.915,38.876L67.43,39.483H66.883L66.398,39.544L65.791,39.604L65.366,40.151L64.759,39.665L64.334,40.758L64.88,41.183L65.426,41.122Z" + android:pathData="M65.426,41.122L65.973,41.668L66.58,42.154L67.065,42.639L67.612,42.579L68.158,42.518L68.219,43.125V43.611L68.28,44.157L68.34,44.643L68.826,45.129L69.979,46.1H70.526L71.011,46.039L71.072,46.585L71.133,47.071L72.165,47.496L72.772,48.042L72.711,47.496L73.257,46.889V47.435H73.804L74.775,46.828L75.322,46.768L76.414,47.193L76.9,46.646L77.507,47.132L78.539,47.071V47.618L79.571,47.011L80.057,46.403L81.149,46.889L81.635,46.828L82.181,46.282L82.728,46.768L82.788,47.314L83.274,46.768L83.76,46.707L84.792,46.1L85.217,45.068L85.824,45.554H86.31L87.402,45.432L87.342,44.4L87.827,43.793L88.313,43.732L88.252,43.186V42.7L88.738,42.154L88.677,41.668L88.131,41.122L88.07,40.636V40.09L87.038,40.151L86.977,39.604L87.463,39.118L88.009,39.543L87.949,39.058L87.463,38.572L87.402,38.026V37.54L88.374,36.933L88.313,36.387L87.827,36.933L86.795,37.055V36.508L86.734,36.022L87.22,35.415L87.159,34.869L86.067,34.444L86.127,34.99L85.581,35.537L85.156,36.083L84.549,36.144L84.063,35.658L84.003,35.112L83.031,35.719L81.999,36.326L81.453,36.387L81.878,34.748L81.331,34.262V34.748L80.846,35.901L80.907,36.387L80.482,36.933L79.875,36.508L79.814,35.415L80.299,34.869L80.239,33.837L79.632,33.291L79.207,33.898L78.6,33.351V33.958L78.175,34.444L77.689,35.051H77.143L77.082,34.565V34.019L76.961,32.987L76.475,32.501L75.929,33.534L75.564,34.626L74.957,34.687V34.201H74.411L73.865,34.262L73.015,35.901L72.954,35.355L72.408,35.415V34.869L72.893,34.323L72.833,33.776V33.291L72.711,32.198H73.257L73.743,32.137L74.229,31.045L73.622,31.105V30.619L74.168,30.013L74.107,29.527L74.047,28.434L72.954,27.463L71.861,27.524L72.408,28.07L73.015,29.041L72.529,29.102V29.648L72.59,30.134V30.68L72.104,31.166L71.558,30.741L71.497,29.709L70.951,30.255L70.89,29.223L70.829,28.131V28.677H70.344L69.797,28.252L69.919,29.83L68.765,29.345L69.372,29.83L69.919,30.316L68.887,30.923L68.401,30.984V30.437L68.34,29.952L67.733,29.466L67.794,29.952V30.498H67.308L67.247,30.013L66.762,30.559L66.823,31.045H67.369L67.855,30.984L68.462,31.469L69.494,31.348L70.04,31.894L70.586,32.38L70.647,32.926H71.133L71.679,32.866L71.8,33.837L71.193,33.898L70.161,33.473L69.069,33.534L69.676,34.019L70.222,34.505L70.769,34.99L70.283,35.537L69.797,35.597L69.19,35.112L68.644,34.626L68.097,34.687L67.005,34.201L65.973,33.776L64.941,34.323L65.001,34.869L66.033,34.808L67.065,34.748L67.672,35.233V35.719H68.158L68.219,36.265L68.28,36.751L67.794,37.358L67.855,38.39L68.34,37.783V38.329L67.915,38.876L67.43,39.483H66.883L66.398,39.543L65.79,39.604L65.366,40.151L64.758,39.665L64.334,40.758L64.88,41.183L65.426,41.122Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M84.367,109.72L83.821,109.234L83.76,108.688L82.728,108.202L82.182,108.263H81.817L81.332,108.809L81.271,108.748L81.21,108.809L80.664,108.323L80.118,107.838L79.571,107.352L79.025,106.927L79.511,106.32L79.45,105.834H79.571V105.774L80.057,105.713L80.603,106.138L81.028,105.652L80.968,105.106L81.514,104.559L81.939,104.013H82.06L82.121,103.952L83.214,103.892L83.699,103.831L83.153,103.345L83.639,103.285L84.185,103.224L84.61,102.678L84.064,102.192L83.457,101.646L83.517,102.192L83.032,102.253L82.485,102.313L81.878,102.495L80.785,102.01L80.36,102.617L79.328,102.678L78.782,103.224L78.357,103.77L76.779,104.377L77.325,104.863L78.418,105.349L78.904,105.288L78.479,105.834L77.447,105.895L77.507,106.441L77.568,106.988L76.536,107.595L75.99,107.109L74.958,106.623L74.897,106.077L74.29,105.652L73.743,105.106L72.711,105.167L72.226,106.259L71.679,106.32L72.226,106.806L72.286,107.352L72.347,107.838L71.862,108.384L71.437,108.93L70.89,108.991L70.465,109.537L71.012,110.569L71.072,111.055L71.619,110.994L71.679,112.026L72.165,111.48L73.258,111.419L73.743,111.359L73.804,111.844L73.379,112.451L72.833,112.512L71.254,113.119L70.283,114.273L69.251,114.333L69.858,114.758L69.312,114.819L69.372,115.365L67.794,115.487L67.309,115.547L66.762,116.094L66.823,116.64L67.369,116.579L68.401,116.519L68.948,117.004L68.401,117.065L67.855,117.126L67.369,117.187L66.823,117.733L66.337,118.279L66.883,118.765L67.43,118.219L67.976,118.704L67.491,119.251L67.551,119.797L68.037,119.736L68.583,119.676L67.551,120.283L69.13,120.161L69.19,120.647L69.251,121.193L70.222,120.586L70.708,120.525L71.315,121.011L72.347,120.95L72.772,120.404L73.318,120.89L74.351,120.829L74.29,120.283L74.836,120.222L75.322,119.676L75.382,120.161L75.929,120.1L76.414,119.554L76.961,119.493L77.993,119.433L79.025,119.372L79.996,119.311L80.603,119.797L81.635,119.251L82.06,118.704L82,118.158L82.546,118.097L82.971,117.551L82.91,117.065L83.457,117.004L83.396,116.458L83.335,115.912L83.274,115.365L83.76,114.819L83.699,114.333L83.639,113.787L84.124,113.241L84.064,112.209L84.003,111.723L84.549,111.116L83.942,110.63L84.489,110.569L84.549,111.055L85.035,110.509V110.448L84.974,110.569L84.367,109.72ZM72.226,115.305L71.194,115.365L70.647,114.819L70.101,114.88L69.615,114.94L70.647,114.394L71.194,114.88L71.74,114.819L72.226,114.758L72.772,115.244L72.226,115.305Z" + android:pathData="M84.367,109.72L83.821,109.234L83.76,108.688L82.728,108.202L82.182,108.263H81.817L81.332,108.809L81.271,108.748L81.21,108.809L80.664,108.323L80.118,107.838L79.571,107.352L79.025,106.927L79.51,106.32L79.45,105.834H79.571V105.774L80.057,105.713L80.603,106.138L81.028,105.652L80.967,105.106L81.514,104.559L81.939,104.013H82.06L82.121,103.952L83.214,103.892L83.699,103.831L83.153,103.345L83.639,103.285L84.185,103.224L84.61,102.678L84.063,102.192L83.456,101.646L83.517,102.192L83.032,102.253L82.485,102.313L81.878,102.495L80.785,102.01L80.36,102.617L79.328,102.678L78.782,103.224L78.357,103.77L76.779,104.377L77.325,104.863L78.418,105.349L78.903,105.288L78.479,105.834L77.446,105.895L77.507,106.441L77.568,106.988L76.536,107.595L75.99,107.109L74.957,106.623L74.897,106.077L74.29,105.652L73.743,105.106L72.711,105.167L72.226,106.259L71.679,106.32L72.226,106.806L72.286,107.352L72.347,107.838L71.861,108.384L71.436,108.93L70.89,108.991L70.465,109.537L71.011,110.569L71.072,111.055L71.619,110.994L71.679,112.026L72.165,111.48L73.258,111.419L73.743,111.359L73.804,111.844L73.379,112.451L72.833,112.512L71.254,113.119L70.283,114.273L69.251,114.333L69.858,114.758L69.312,114.819L69.372,115.365L67.794,115.487L67.308,115.547L66.762,116.094L66.823,116.64L67.369,116.579L68.401,116.519L68.947,117.004L68.401,117.065L67.855,117.126L67.369,117.187L66.823,117.733L66.337,118.279L66.883,118.765L67.43,118.219L67.976,118.704L67.491,119.251L67.551,119.797L68.037,119.736L68.583,119.676L67.551,120.283L69.13,120.161L69.19,120.647L69.251,121.193L70.222,120.586L70.708,120.525L71.315,121.011L72.347,120.95L72.772,120.404L73.318,120.89L74.35,120.829L74.29,120.283L74.836,120.222L75.322,119.676L75.382,120.161L75.929,120.1L76.414,119.554L76.961,119.493L77.993,119.433L79.025,119.372L79.996,119.311L80.603,119.797L81.635,119.251L82.06,118.704L81.999,118.158L82.546,118.097L82.971,117.551L82.91,117.065L83.456,117.004L83.396,116.458L83.335,115.912L83.274,115.365L83.76,114.819L83.699,114.333L83.639,113.787L84.124,113.241L84.063,112.209L84.003,111.723L84.549,111.116L83.942,110.63L84.489,110.569L84.549,111.055L85.035,110.509V110.448L84.974,110.569L84.367,109.72ZM72.226,115.305L71.194,115.365L70.647,114.819L70.101,114.88L69.615,114.94L70.647,114.394L71.194,114.88L71.74,114.819L72.226,114.758L72.772,115.244L72.226,115.305Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M67.855,120.829L68.948,120.282L67.369,120.889L67.855,120.829Z" + android:pathData="M67.855,120.828L68.947,120.282L67.369,120.889L67.855,120.828Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M87.403,106.868L87.342,106.382V105.775L86.674,104.804V104.318L86.613,103.772H86.128L85.521,103.832L85.035,103.893V103.347L84.489,103.407L84.003,103.954H83.457L82.91,104.014L82,104.075H81.878L81.453,104.682L80.907,105.229L80.968,105.775L80.543,106.2L80.482,106.261L79.875,105.836H79.511L79.389,105.896V106.382L78.904,106.989L79.45,107.414L80.057,107.9L80.603,108.385L81.15,108.932L81.271,108.81L81.696,108.325H81.757H82.182L82.728,108.264L83.821,108.689V109.235L84.367,109.721L84.974,110.753L85.096,110.632L85.521,110.146L85.946,109.6L86.553,109.539H87.038L86.917,108.507L87.463,107.9L87.524,108.446L87.585,108.992L88.07,108.932L88.01,108.446L87.949,107.9L87.463,107.414L86.917,107.96L86.37,107.475L86.856,106.928L87.403,106.868Z" + android:pathData="M87.402,106.868L87.342,106.382V105.775L86.674,104.804V104.318L86.613,103.772H86.128L85.521,103.833L85.035,103.893V103.347L84.489,103.408L84.003,103.954H83.456L82.91,104.015L81.999,104.075H81.878L81.453,104.682L80.907,105.229L80.967,105.775L80.543,106.2L80.482,106.261L79.875,105.836H79.51L79.389,105.897V106.382L78.903,106.989L79.45,107.414L80.057,107.9L80.603,108.386L81.15,108.932L81.271,108.811L81.696,108.325H81.757H82.182L82.728,108.264L83.821,108.689V109.235L84.367,109.721L84.974,110.753L85.096,110.632L85.521,110.146L85.946,109.6L86.552,109.539H87.038L86.917,108.507L87.463,107.9L87.524,108.446L87.585,108.993L88.07,108.932L88.009,108.446L87.949,107.9L87.463,107.414L86.917,107.961L86.37,107.475L86.856,106.929L87.402,106.868Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M133.236,185.846L133.176,184.814V184.268L133.115,183.722L132.872,183.236L132.629,182.993L132.508,183.115L132.022,183.054L131.537,183.357H130.929L130.687,183.54L130.505,183.904L129.958,184.147L129.533,184.754L129.169,185.118L129.351,185.543L129.29,186.15L129.412,186.696L129.655,187.121L129.715,187.668V187.85L129.412,188.214L129.776,188.76L130.201,189.185V189.671L130.565,190.157L130.929,190.217L131.476,190.703L131.415,190.157L131.961,189.61L131.901,189.125L132.326,188.032V187.485L132.265,186.939L132.751,186.453L133.236,185.846Z" + android:pathData="M133.236,185.846L133.176,184.814V184.268L133.115,183.721L132.872,183.236L132.629,182.993L132.508,183.114L132.022,183.054L131.537,183.357H130.929L130.687,183.539L130.505,183.903L129.958,184.146L129.533,184.753L129.169,185.118L129.351,185.542L129.29,186.15L129.412,186.696L129.655,187.121L129.715,187.667V187.849L129.412,188.214L129.776,188.76L130.201,189.185V189.671L130.565,190.156L130.929,190.217L131.476,190.703L131.415,190.156L131.961,189.61L131.901,189.124L132.326,188.031V187.485L132.265,186.939L132.751,186.453L133.236,185.846Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M132.872,195.378L133.358,194.285L133.297,193.739H132.751V193.253L132.204,192.768H132.69L132.144,192.221L131.537,191.796V191.25L131.051,191.796L130.505,191.857V192.343L130.019,192.403H129.473L129.048,193.011L128.501,193.071L127.409,193.132L126.923,193.678L126.377,193.193L126.437,193.678L125.891,194.225L125.952,194.832L126.012,195.317L126.619,196.349V196.835L126.741,197.867H127.226L128.258,197.746L127.773,198.353L127.287,198.899L127.348,199.445V199.992L126.923,200.477L126.377,200.538L126.923,201.024L126.498,202.117L127.044,202.602L127.105,203.149V203.634L128.198,204.12L128.744,204.059H129.23V203.513L129.169,203.027L129.715,202.42L130.747,202.906L131.294,202.845L131.84,203.331L132.326,202.784L132.265,202.238L132.204,201.206L132.144,200.113L132.629,199.081L132.569,198.535V197.988L132.508,197.503V196.956L132.447,196.471L132.933,196.41L133.419,195.864V195.378H132.872Z" + android:pathData="M132.872,195.378L133.358,194.286L133.297,193.739H132.751V193.254L132.204,192.768H132.69L132.144,192.222L131.537,191.797V191.25L131.051,191.797L130.504,191.857V192.343L130.019,192.404H129.472L129.048,193.011L128.501,193.071L127.408,193.132L126.923,193.678L126.376,193.193L126.437,193.678L125.891,194.225L125.951,194.832L126.012,195.318L126.619,196.35V196.835L126.741,197.867H127.226L128.258,197.746L127.773,198.353L127.287,198.899L127.348,199.446V199.992L126.923,200.478L126.376,200.538L126.923,201.024L126.498,202.117L127.044,202.602L127.105,203.149V203.634L128.198,204.12L128.744,204.059H129.23V203.513L129.169,203.027L129.715,202.42L130.747,202.906L131.294,202.845L131.84,203.331L132.326,202.785L132.265,202.238L132.204,201.206L132.144,200.113L132.629,199.081L132.569,198.535V197.989L132.508,197.503V196.957L132.447,196.471L132.933,196.41L133.418,195.864V195.378H132.872Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M159.705,208.187L158.673,208.794L157.641,208.854L157.155,209.461L156.548,208.915L156.062,208.976L155.516,209.522L155.03,209.583L154.484,209.643H153.998L152.966,210.251L151.874,210.311L150.781,209.886L149.749,209.401L149.142,208.915L148.11,208.976L147.078,209.583L147.017,209.097L146.531,208.611L145.985,209.158H145.499L145.56,210.251L145.014,210.797L145.074,211.343L145.681,211.829L146.774,212.315L147.26,212.254L147.867,212.74L149.445,213.164L150.052,213.65L150.659,214.682L151.691,214.561L152.238,215.046L153.27,214.986L154.363,215.411L154.423,215.957L155.03,216.989L156.062,217.414L156.609,216.868L157.701,217.293L157.641,216.261L158.612,215.653L158.551,214.621H158.066L158.551,214.075L158.005,214.136L157.944,213.589V213.043L158.43,212.497L158.369,211.95V211.465L158.309,210.918L158.794,210.372H159.28L159.766,209.219L159.705,208.733V208.187Z" + android:pathData="M159.705,208.186L158.673,208.793L157.641,208.854L157.155,209.461L156.548,208.915L156.062,208.975L155.516,209.522L155.03,209.582L154.484,209.643H153.998L152.966,210.25L151.874,210.311L150.781,209.886L149.749,209.4L149.142,208.915L148.11,208.975L147.078,209.582L147.017,209.097L146.531,208.611L145.985,209.158H145.499L145.56,210.25L145.014,210.797L145.074,211.343L145.681,211.829L146.774,212.314L147.26,212.254L147.867,212.739L149.445,213.164L150.052,213.65L150.659,214.682L151.691,214.56L152.238,215.046L153.27,214.985L154.363,215.41L154.423,215.957L155.03,216.989L156.062,217.414L156.609,216.867L157.701,217.292L157.641,216.26L158.612,215.653L158.551,214.621H158.066L158.551,214.075L158.005,214.136L157.944,213.589V213.043L158.43,212.496L158.369,211.95V211.464L158.309,210.918L158.794,210.372H159.28L159.766,209.218L159.705,208.733V208.186Z" android:fillColor="#D8D8D8"/> <path android:pathData="M89.649,115.244L89.163,115.305L89.224,116.276H89.77L90.256,116.216L90.742,115.73L90.134,115.184L89.649,115.244Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M96.994,132.605L95.962,132.666L96.508,133.213L97.055,133.152L97.601,133.091L97.54,132.605H96.994Z" + android:pathData="M96.994,132.606L95.962,132.667L96.508,133.213L97.055,133.152L97.601,133.092L97.54,132.606H96.994Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M103.49,85.862L103.429,85.315V84.83L103.368,84.283L102.883,84.83L102.336,84.89L102.883,85.315L103.49,85.862Z" + android:pathData="M103.49,85.862L103.429,85.315V84.83L103.368,84.283L102.883,84.83L102.336,84.891L102.883,85.315L103.49,85.862Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M109.378,80.156L109.985,80.641V81.127L109.5,81.734L110.532,81.127L110.471,80.641L110.957,80.034V79.488L110.896,79.002V78.456L110.775,77.424L110.35,79.002L110.41,79.549L109.378,79.609V80.156Z" + android:pathData="M109.378,80.155L109.985,80.641V81.127L109.5,81.734L110.532,81.127L110.471,80.641L110.957,80.034V79.488L110.896,79.002V78.456L110.775,77.424L110.35,79.002L110.41,79.548L109.378,79.609V80.155Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M89.345,88.958L89.406,89.444L89.891,88.351L90.377,87.805L90.984,88.29V88.837L91.47,88.23L91.409,87.744L91.895,87.137H92.441V86.591L92.866,86.044L92.805,85.559L92.38,86.105H91.834L90.802,86.226L90.863,87.198L90.316,86.773L90.256,86.226L89.77,86.833L89.831,87.319L89.345,88.412V88.958Z" + android:pathData="M89.345,88.958L89.406,89.444L89.891,88.351L90.377,87.805L90.984,88.29V88.837L91.469,88.23L91.409,87.744L91.895,87.137H92.441V86.591L92.866,86.044L92.805,85.559L92.38,86.105H91.834L90.802,86.227L90.863,87.198L90.316,86.773L90.255,86.227L89.77,86.834L89.83,87.319L89.345,88.412V88.958Z" android:fillColor="#D8D8D8"/> <path android:pathData="M92.016,110.874V110.327L91.409,109.842L90.863,110.388L90.438,110.995L90.984,111.481L92.016,110.874Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M91.106,90.477L90.074,91.084V91.569L90.134,92.176L91.166,91.509L91.106,91.023V90.477Z" + android:pathData="M91.106,90.476L90.074,91.084V91.569L90.134,92.176L91.166,91.508L91.106,91.023V90.476Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M92.138,90.415L91.713,90.961L91.166,91.508L90.742,92.601L91.288,93.086V93.632L91.773,92.54V92.054L91.713,91.447L92.198,90.961L92.138,90.415Z" + android:pathData="M92.138,90.415L91.713,90.962L91.166,91.508L90.741,92.601L91.288,93.087V93.633L91.773,92.54V92.054L91.713,91.447L92.198,90.962L92.138,90.415Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M89.892,96.305L90.438,96.548V96.305H89.892Z" + android:pathData="M89.892,96.305L90.438,96.547V96.305H89.892Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M90.438,96.547V96.85L89.952,97.457L90.498,97.397L91.045,97.336V96.79H90.984L90.438,96.547Z" + android:pathData="M90.438,96.547V96.851L89.952,97.458L90.498,97.397L91.045,97.336V96.79H90.984L90.438,96.547Z" android:fillColor="#D8D8D8"/> <path android:pathData="M80.178,131.939L81.21,131.878H80.725L80.178,131.939Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M95.173,112.938L95.719,112.392L95.173,112.938Z" + android:pathData="M95.173,112.938L95.719,112.391L95.173,112.938Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M94.748,118.401L95.233,118.826L95.294,119.372L94.869,119.919L94.323,120.526V121.011L94.384,121.497L93.898,122.104L93.473,123.197L92.987,123.743V124.29L93.048,124.715H93.412V124.775H93.594L93.655,125.868H93.109L93.17,126.293L94.019,126.232L94.505,126.172L94.08,126.718L93.594,127.325L93.048,127.386H92.502L92.016,127.932L92.077,128.478H91.53L90.498,128.539L89.952,128.6L89.466,128.661L88.859,128.175H88.313V127.689L87.767,127.75H87.281L86.735,127.811L87.342,128.236L86.795,128.843L86.249,128.357H85.702L85.763,128.903L85.278,129.996L84.246,130.057L82.728,130.725V131.21L82.242,131.271L81.21,131.878L81.271,132.91H81.817L82.364,132.849L82.303,132.303H82.849V132.789L83.335,132.242L84.367,131.635L85.46,132.121L86.492,131.999L86.552,132.546L87.099,133.032L88.131,132.971L88.617,132.424V131.878L88.556,131.332L89.041,130.785L89.648,131.271L90.134,131.21H90.68L91.166,131.15L91.713,131.089L92.259,131.635L92.866,132.121V132.607H93.412L93.898,131.999L94.93,131.939L95.476,132.424L96.569,132.364L96.508,131.817L97.055,131.271L97.601,131.757L98.147,132.242H98.633L99.179,132.182L99.24,132.667L100.272,132.607L100.819,132.546H101.365L101.851,132.485L102.397,132.971H102.943L103.49,133.456L104.522,132.849L105.068,132.789L105.614,133.274L106.1,132.728L106.586,132.182L107.132,132.121L107.618,131.575L108.103,131.028L107.557,130.543H107.071L106.525,131.15L105.918,130.664H105.432L104.886,130.178L104.34,129.693L104.279,129.207L104.825,129.146H105.311L105.857,129.571L106.343,129.025V128.478L105.797,128.539L106.282,127.993H106.889L107.375,127.932H107.921L107.861,127.325H108.407L108.893,127.264L109.378,126.718L109.864,126.172L109.803,125.625L110.35,124.593L110.289,124.047L110.228,122.954L109.621,122.468L108.528,122.044L107.496,122.104L106.889,121.619L106.464,122.165L105.857,122.226L105.372,122.772L104.825,122.286L104.765,121.801V121.254L105.25,121.194L105.797,120.647L106.282,120.101V119.615L106.222,119.008V118.523L105.614,118.037L105.554,117.49L104.461,117.066L103.975,117.126L103.915,116.58L104.4,116.519L104.947,116.458L105.493,117.005L105.311,114.394V113.848L105.25,113.302L105.19,112.816L104.643,112.27L104.582,111.784H104.097L103.55,111.359H103.004V110.873L102.883,109.781V109.234L103.368,108.749L103.308,108.202L102.761,107.717L102.701,107.17V106.685L103.125,105.592L102.579,105.106L101.972,104.074L101.911,104.196L101.972,104.256L101.486,105.349L101.183,105.41L101.547,105.713L101.426,105.835H101.547L101.061,106.442L100.454,105.956H99.969V106.32V106.503L99.483,106.563H99.544V107.049L98.997,107.11L98.512,107.656L98.026,108.263H97.48L97.419,107.777V107.595L96.933,108.142L96.448,108.202V108.688L95.962,108.202L95.416,108.749L94.93,109.295L94.991,109.841L95.051,110.934L95.112,111.42L95.659,111.905L96.205,111.845L95.719,112.391L96.205,112.33L97.298,112.816V113.362L96.326,113.423V113.969H95.78L95.841,114.516L95.901,115.062H95.355L94.869,115.669V116.155L95.416,116.094L95.476,116.641V117.126H96.023L95.537,117.733H94.991L94.93,117.187L94.505,117.733L94.687,117.855L94.748,118.401Z" + android:pathData="M94.748,118.401L95.233,118.826L95.294,119.372L94.869,119.918L94.323,120.525V121.011L94.384,121.497L93.898,122.104L93.473,123.197L92.987,123.743V124.289L93.048,124.714H93.412V124.775H93.594L93.655,125.868H93.109L93.169,126.293L94.019,126.232L94.505,126.171L94.08,126.718L93.594,127.325L93.048,127.385H92.502L92.016,127.932L92.077,128.478H91.53L90.498,128.539L89.952,128.599L89.466,128.66L88.859,128.175H88.313V127.689L87.767,127.75H87.281L86.734,127.81L87.342,128.235L86.795,128.842L86.249,128.357H85.702L85.763,128.903L85.277,129.996L84.245,130.056L82.728,130.724V131.21L82.242,131.271L81.21,131.878L81.271,132.91H81.817L82.364,132.849L82.303,132.303H82.849V132.788L83.335,132.242L84.367,131.635L85.46,132.12L86.492,131.999L86.552,132.545L87.099,133.031L88.131,132.97L88.616,132.424V131.878L88.556,131.331L89.041,130.785L89.648,131.271L90.134,131.21H90.68L91.166,131.149L91.713,131.088L92.259,131.635L92.866,132.12V132.606H93.412L93.898,131.999L94.93,131.938L95.476,132.424L96.569,132.363L96.508,131.817L97.055,131.271L97.601,131.756L98.147,132.242H98.633L99.179,132.181L99.24,132.667L100.272,132.606L100.819,132.545H101.365L101.851,132.485L102.397,132.97H102.943L103.49,133.456L104.522,132.849L105.068,132.788L105.614,133.274L106.1,132.728L106.586,132.181L107.132,132.12L107.618,131.574L108.103,131.028L107.557,130.542H107.071L106.525,131.149L105.918,130.663H105.432L104.886,130.178L104.34,129.692L104.279,129.207L104.825,129.146H105.311L105.857,129.571L106.343,129.024V128.478L105.797,128.539L106.282,127.992H106.889L107.375,127.932H107.921L107.861,127.325H108.407L108.893,127.264L109.378,126.718L109.864,126.171L109.803,125.625L110.35,124.593L110.289,124.046L110.228,122.954L109.621,122.468L108.528,122.043L107.496,122.104L106.889,121.618L106.464,122.164L105.857,122.225L105.372,122.772L104.825,122.286L104.764,121.8V121.254L105.25,121.193L105.797,120.647L106.282,120.1V119.615L106.221,119.008V118.522L105.614,118.036L105.554,117.49L104.461,117.065L103.975,117.126L103.915,116.579L104.4,116.519L104.947,116.458L105.493,117.004L105.311,114.394V113.848L105.25,113.301L105.189,112.816L104.643,112.269L104.582,111.784H104.097L103.55,111.359H103.004V110.873L102.883,109.78V109.234L103.368,108.748L103.308,108.202L102.761,107.716L102.7,107.17V106.684L103.125,105.591L102.579,105.106L101.972,104.074L101.911,104.195L101.972,104.256L101.486,105.349L101.183,105.409L101.547,105.713L101.426,105.834H101.547L101.061,106.441L100.454,105.956H99.969V106.32V106.502L99.483,106.563H99.544V107.048L98.997,107.109L98.512,107.656L98.026,108.263H97.48L97.419,107.777V107.595L96.933,108.141L96.448,108.202V108.688L95.962,108.202L95.416,108.748L94.93,109.295L94.991,109.841L95.051,110.934L95.112,111.419L95.658,111.905L96.205,111.844L95.719,112.391L96.205,112.33L97.298,112.816V113.362L96.326,113.423V113.969H95.78L95.841,114.515L95.901,115.062H95.355L94.869,115.669V116.155L95.416,116.094L95.476,116.64V117.126H96.023L95.537,117.733H94.991L94.93,117.187L94.505,117.733L94.687,117.854L94.748,118.401Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M89.648,121.375L89.163,121.922L88.677,122.529L88.07,121.983L87.584,122.59H87.099L86.552,122.65L86.006,122.711L85.46,122.165L84.974,122.772V123.257L84.488,123.804L85.581,123.743L86.127,123.682V124.229H85.581L85.642,124.775L86.734,124.714L87.22,124.107H87.706L88.252,124.047V124.593L88.313,125.139V125.686L89.406,125.564H89.952L89.466,126.171L90.013,126.596L90.62,127.082L91.045,127.021L92.137,126.961L92.684,126.9L93.169,126.353V126.293L93.109,125.868H93.655L93.594,124.775H93.412L93.048,124.836V124.714L92.987,124.289V123.743L93.473,123.197L93.898,122.104L94.383,121.497L94.323,121.011V120.526L94.869,119.918L95.294,119.372L95.233,118.826L94.748,118.401L94.687,117.854L94.505,117.733L94.08,117.369L94.019,116.822L93.534,116.883H93.048L92.987,116.397L91.409,117.005L90.863,117.065L90.377,117.612L89.406,117.672L88.859,118.279H88.373V118.826L88.92,118.765L89.406,118.219L90.013,118.704L90.438,118.158L90.984,118.097V118.644L90.498,119.19L90.559,119.676V120.222L90.134,120.283L90.62,120.768L90.195,121.315L89.648,121.375Z" + android:pathData="M89.648,121.376L89.163,121.922L88.677,122.529L88.07,121.983L87.584,122.59H87.099L86.552,122.651L86.006,122.711L85.46,122.165L84.974,122.772V123.258L84.488,123.804L85.581,123.743L86.127,123.683V124.229H85.581L85.642,124.775L86.734,124.715L87.22,124.108H87.706L88.252,124.047V124.593L88.313,125.14V125.686L89.405,125.565H89.952L89.466,126.172L90.012,126.597L90.62,127.082L91.045,127.022L92.137,126.961L92.684,126.9L93.169,126.354V126.293L93.109,125.868H93.655L93.594,124.775H93.412L93.048,124.836V124.715L92.987,124.29V123.743L93.473,123.197L93.898,122.104L94.383,121.497L94.323,121.012V120.526L94.869,119.919L95.294,119.372L95.233,118.826L94.748,118.401L94.687,117.855L94.505,117.733L94.08,117.369L94.019,116.823L93.534,116.883H93.048L92.987,116.398L91.409,117.005L90.862,117.066L90.377,117.612L89.405,117.673L88.859,118.28H88.373V118.826L88.92,118.765L89.405,118.219L90.012,118.705L90.438,118.158L90.984,118.098V118.644L90.498,119.19L90.559,119.676V120.222L90.134,120.283L90.62,120.769L90.195,121.315L89.648,121.376Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M97.48,108.263H98.026L98.512,107.656L98.997,107.11L99.544,107.049V106.563H99.483L99.969,106.503V106.32L99.908,105.956H99.969H100.454L101.061,106.442L101.547,105.835H101.426L100.94,105.41H101.183L101.486,105.349L101.972,104.256L101.911,104.196L101.365,103.224L100.758,102.739L100.212,102.314H99.665L98.633,102.375L98.148,102.435L97.54,101.95L96.994,102.01V101.464H97.54L98.087,101.889H98.633L99.18,101.828L99.119,101.342L100.151,101.282L100.637,100.675H100.09L99.544,100.189L99.058,100.25V99.764L100.029,99.643H100.576L101.122,100.068L101.669,99.582L102.154,99.521L102.094,98.975L103.126,98.429L103.611,97.822V97.336L103.004,96.85L103.49,96.243H104.036L103.975,95.697L104.522,95.636L105.007,95.15L104.947,94.604V94.058L104.461,94.118H103.854L103.368,94.179L103.308,93.633L102.701,93.147L102.215,93.208L101.183,93.268H100.637L99.604,93.39H99.058L98.087,93.997L97.54,94.058V93.511L97.48,92.965L97.419,92.479L98.451,91.872H98.937L98.876,91.326L99.362,90.78L99.908,90.719L100.454,90.658L101.001,90.112L101.426,89.565L102.458,89.444V88.958L102.943,88.412L102.336,87.926H101.851L101.304,87.987V87.501L100.272,88.048L99.18,87.623L99.119,87.076L98.633,87.683L98.148,87.137H98.573L97.54,86.651L97.055,86.712V87.198L96.569,88.29H97.176L96.63,88.897L95.537,88.412L96.084,88.897L95.598,88.958L95.051,89.444L95.659,89.93V90.537L95.719,91.022L95.173,90.537L94.627,90.597V89.99L94.08,90.051L93.534,90.112L93.048,90.719L93.109,91.204V91.751L93.17,92.236L93.716,92.722L93.777,93.268L92.745,93.329L92.805,93.876V94.361L92.259,94.422L91.773,94.968L91.834,95.515L91.895,96.061L90.863,96.607L90.984,96.789H91.045L91.409,97.093L91.955,97.639L92.38,96.486H92.987L93.412,95.94L93.959,95.879L93.473,96.425L92.987,97.032L92.502,97.579L93.048,97.518V98.064L92.502,98.125H92.016L91.531,98.671L91.045,99.764L91.105,100.31V100.796L91.652,100.25L92.077,99.218L92.563,99.157L93.17,99.582L93.23,100.128L92.684,100.675L92.198,100.735L92.259,101.282L92.745,101.221L93.291,101.16L93.837,101.707H94.384V102.192H93.898V102.739L93.412,103.285L92.927,103.831L92.441,104.439H91.955V104.985L91.47,105.531H90.923L90.984,106.138H90.438L90.498,106.624L90.559,107.717L90.62,108.263L91.105,108.202V107.656L91.045,107.11H91.591L92.137,107.595L92.198,108.142L92.745,108.627V108.081L92.684,107.535L93.17,106.988L93.716,107.474L93.777,108.02L94.748,107.413L94.809,107.96L95.355,107.899L95.294,107.352H95.841L96.387,107.838L96.873,107.777L97.419,107.231V107.595V107.777L97.48,108.263Z" + android:pathData="M97.48,108.263H98.026L98.512,107.656L98.997,107.11L99.544,107.049V106.563H99.483L99.969,106.503V106.321L99.908,105.956H99.969H100.454L101.061,106.442L101.547,105.835H101.426L100.94,105.41H101.183L101.486,105.349L101.972,104.257L101.911,104.196L101.365,103.225L100.758,102.739L100.211,102.314H99.665L98.633,102.375L98.147,102.435L97.54,101.95L96.994,102.01V101.464H97.54L98.087,101.889H98.633L99.179,101.828L99.119,101.343L100.151,101.282L100.636,100.675H100.09L99.544,100.189L99.058,100.25V99.764L100.029,99.643H100.576L101.122,100.068L101.668,99.582L102.154,99.521L102.093,98.975L103.125,98.429L103.611,97.822V97.336L103.004,96.85L103.49,96.243H104.036L103.975,95.697L104.522,95.636L105.007,95.15L104.947,94.604V94.058L104.461,94.118H103.854L103.368,94.179L103.308,93.633L102.7,93.147L102.215,93.208L101.183,93.269H100.636L99.604,93.39H99.058L98.087,93.997L97.54,94.058V93.511L97.48,92.965L97.419,92.479L98.451,91.872H98.937L98.876,91.326L99.362,90.78L99.908,90.719L100.454,90.658L101.001,90.112L101.426,89.565L102.458,89.444V88.958L102.943,88.412L102.336,87.926H101.851L101.304,87.987V87.502L100.272,88.048L99.179,87.623L99.119,87.076L98.633,87.684L98.147,87.137H98.572L97.54,86.652L97.055,86.712V87.198L96.569,88.291H97.176L96.63,88.898L95.537,88.412L96.083,88.898L95.598,88.958L95.051,89.444L95.658,89.93V90.537L95.719,91.022L95.173,90.537L94.626,90.598V89.99L94.08,90.051L93.534,90.112L93.048,90.719L93.109,91.205V91.751L93.169,92.237L93.716,92.722L93.776,93.269L92.744,93.329L92.805,93.876V94.361L92.259,94.422L91.773,94.968L91.834,95.515L91.895,96.061L90.863,96.607L90.984,96.79H91.045L91.409,97.093L91.955,97.64L92.38,96.486H92.987L93.412,95.94L93.959,95.879L93.473,96.425L92.987,97.033L92.502,97.579L93.048,97.518V98.064L92.502,98.125H92.016L91.53,98.672L91.045,99.764L91.105,100.311V100.796L91.652,100.25L92.077,99.218L92.562,99.157L93.169,99.582L93.23,100.129L92.684,100.675L92.198,100.736L92.259,101.282L92.744,101.221L93.291,101.161L93.837,101.707H94.384V102.193H93.898V102.739L93.412,103.285L92.927,103.832L92.441,104.439H91.955V104.985L91.47,105.531H90.923L90.984,106.139H90.438L90.498,106.624L90.559,107.717L90.62,108.263L91.105,108.203V107.656L91.045,107.11H91.591L92.137,107.596L92.198,108.142L92.744,108.628V108.081L92.684,107.535L93.169,106.988L93.716,107.474L93.776,108.02L94.748,107.413L94.809,107.96L95.355,107.899L95.294,107.353H95.841L96.387,107.838L96.873,107.778L97.419,107.231V107.596V107.778L97.48,108.263Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M151.752,165.812L150.963,165.266L151.691,164.78L151.874,164.598L151.813,164.173L151.631,163.688L151.449,163.263L151.57,162.656V162.595L151.084,162.656L150.781,162.352L150.477,162.109L149.445,162.17L148.899,162.231H148.413L147.867,162.291H147.806L147.442,161.927L147.321,161.866L147.26,161.806L146.713,161.259L146.653,160.774L146.167,160.349L145.56,159.863L144.589,159.924L144.042,159.985H143.496L142.95,160.045L142.403,159.56L141.857,159.62L141.918,160.106L140.946,160.713L140.4,160.774H139.854V160.713H139.793L139.732,160.227V159.742L139.246,159.802H138.639V159.863H139.307H138.761L138.822,160.349V160.956L138.882,161.441L138.336,161.502L137.79,161.017L137.304,161.563L136.818,162.109L137.243,162.534L137.365,162.595L136.879,163.141L136.333,162.656L135.786,162.716L135.24,162.777H134.754L134.693,162.716H134.633V162.17L134.147,161.745L133.601,161.806L133.661,162.352L133.722,163.384H133.176L132.69,163.991L132.204,164.538V165.084L131.719,164.598L131.112,164.113L130.565,163.566L130.505,163.506L130.444,163.02L130.383,162.474L129.958,162.049L129.412,162.109L128.926,162.656L128.987,163.202L128.441,164.295L127.955,164.355L126.923,164.416L126.316,163.87L124.313,164.598L124.13,164.477H123.827H123.705V165.023L123.159,165.084L123.22,165.57L123.766,166.116L123.827,166.602L124.373,167.087L123.888,167.634L123.402,168.18L122.916,168.787L122.37,168.848H121.824L121.338,168.908V169.394L121.52,169.516L121.641,169.637L121.945,169.88H122.431L122.552,169.94L123.038,170.365V170.851L123.098,171.397L122.613,171.944V172.49L122.734,173.522V174.008L123.341,175.04H123.463H123.888L124.92,174.979L125.041,175.04L125.466,175.465L124.98,176.011L125.041,176.497L124.555,177.104L124.07,177.59L124.616,177.347V177.286L125.041,177.104L125.587,176.497L126.073,176.436L126.619,176.375L127.651,175.829L128.137,175.283L128.076,174.736L128.562,174.19L129.048,173.583L130.14,173.522L130.626,173.461L131.78,174.494L132.265,173.886L133.904,174.858L133.844,174.311L134.39,173.765L134.876,173.704H135.422L134.936,174.251L134.997,174.797L135.543,175.283L135.058,175.768L136.15,176.74L136.879,178.864L137.486,180.868L138.093,181.414L139.307,183.903H139.854L141.007,184.874L141.553,185.906L142.16,186.331L142.707,186.878L144.346,188.274L147.745,191.249L148.292,191.188L148.899,192.22L149.931,192.159L150.538,193.131L151.024,192.584L152.723,194.041L153.331,194.527L153.816,195.013L154.363,194.952L155.455,195.923H156.062L156.548,196.409L156.669,197.441V197.987L156.73,198.473L157.823,198.958L158.369,198.898H158.855L159.948,199.323L160.494,199.808L160.555,200.355L161.101,200.84L161.708,202.358L162.376,203.876L162.497,205.454L161.951,206.001L161.465,206.061L160.98,206.122V206.608L161.04,207.154V207.64L161.101,208.125L160.615,208.732L160.13,209.279L160.19,209.825L160.737,210.311L161.222,210.25H161.769L162.254,210.189L162.801,209.643H163.287V209.097L164.319,208.489L164.258,207.943L164.197,206.911L164.683,206.365L165.168,205.818L165.654,205.211H166.2L166.686,205.151H167.232V204.604L167.172,204.119V203.572L167.05,202.479V201.994L166.99,201.447L166.383,200.962L165.411,201.569L164.804,200.719L164.561,199.323L164.683,198.473L165.168,198.412V197.866L165.654,197.38H165.108L165.593,196.834L166.079,196.287L166.625,196.227L167.111,196.166L167.172,196.712L168.264,197.198L168.811,197.137H169.297L169.843,197.077L170.389,197.016V197.502L170.45,198.048L170.996,198.534V199.08L171.603,199.566H172.089L172.635,199.505L173.121,198.898L173.06,197.866L173,196.834L172.939,196.287L171.846,195.862L171.3,194.83L170.693,194.345L169.6,193.859L168.568,193.981L168.022,193.495L167.475,193.009L165.775,192.584L165.29,192.099L164.683,191.613H164.197L163.165,191.734L162.558,191.249L161.465,190.824H160.919L161.465,190.277L161.951,190.217L162.437,189.67L162.376,188.578L160.737,188.213L160.251,188.274L158.673,188.335L157.58,188.456L156.548,187.97L155.88,186.999L155.395,186.453L154.241,185.482L153.573,184.51L152.541,183.539L152.481,182.446L152.906,181.9L152.359,180.928L151.691,179.896V179.35L151.145,178.864L151.084,177.893H150.477L149.445,177.407L148.353,176.983H147.806L146.713,176.558L146.653,176.011L146.106,175.586V175.04L145.499,174.008L145.985,173.461L145.924,172.915V172.429L146.349,171.883L146.896,171.276L146.835,170.79H146.289L145.742,170.305V169.819L145.196,169.88L145.681,169.273L146.167,169.212L146.106,168.18L147.199,168.119L147.685,168.059H148.231L148.778,167.998L149.263,167.451L149.749,167.391L149.688,166.905L150.295,166.844H150.781L150.842,167.33L151.388,167.816L151.327,166.784L151.813,166.723L151.934,166.602L151.813,166.541L151.752,165.812Z" + android:pathData="M151.752,165.813L150.963,165.266L151.691,164.781L151.874,164.599L151.813,164.174L151.631,163.688L151.449,163.263L151.57,162.656V162.595L151.084,162.656L150.781,162.352L150.477,162.11L149.445,162.17L148.899,162.231H148.413L147.867,162.292H147.806L147.442,161.928L147.321,161.867L147.26,161.806L146.713,161.26L146.653,160.774L146.167,160.349L145.56,159.863L144.589,159.924L144.042,159.985H143.496L142.95,160.046L142.403,159.56L141.857,159.621L141.918,160.106L140.946,160.713L140.4,160.774H139.854V160.713H139.793L139.732,160.228V159.742L139.246,159.803H138.639V159.863H139.307H138.761L138.822,160.349V160.956L138.882,161.442L138.336,161.503L137.79,161.017L137.304,161.563L136.818,162.11L137.243,162.535L137.365,162.595L136.879,163.142L136.333,162.656L135.786,162.717L135.24,162.777H134.754L134.693,162.717H134.633V162.17L134.147,161.745L133.601,161.806L133.661,162.352L133.722,163.384H133.176L132.69,163.992L132.204,164.538V165.084L131.719,164.599L131.112,164.113L130.565,163.567L130.505,163.506L130.444,163.02L130.383,162.474L129.958,162.049L129.412,162.11L128.926,162.656L128.987,163.202L128.441,164.295L127.955,164.356L126.923,164.417L126.316,163.87L124.313,164.599L124.13,164.477H123.827H123.705V165.024L123.159,165.084L123.22,165.57L123.766,166.116L123.827,166.602L124.373,167.088L123.888,167.634L123.402,168.18L122.916,168.787L122.37,168.848H121.824L121.338,168.909V169.394L121.52,169.516L121.641,169.637L121.945,169.88H122.431L122.552,169.941L123.038,170.366V170.851L123.098,171.398L122.613,171.944V172.491L122.734,173.523V174.008L123.341,175.04H123.463H123.888L124.92,174.98L125.041,175.04L125.466,175.465L124.98,176.012L125.041,176.497L124.555,177.104L124.07,177.59L124.616,177.347V177.286L125.041,177.104L125.587,176.497L126.073,176.437L126.619,176.376L127.651,175.829L128.137,175.283L128.076,174.737L128.562,174.19L129.048,173.583L130.14,173.523L130.626,173.462L131.78,174.494L132.265,173.887L133.904,174.858L133.844,174.312L134.39,173.765L134.876,173.705H135.422L134.936,174.251L134.997,174.797L135.543,175.283L135.058,175.769L136.15,176.74L136.879,178.865L137.486,180.868L138.093,181.414L139.307,183.903H139.854L141.007,184.875L141.553,185.907L142.16,186.332L142.707,186.878L144.346,188.274L147.745,191.249L148.292,191.188L148.899,192.22L149.931,192.16L150.538,193.131L151.024,192.585L152.723,194.042L153.331,194.527L153.816,195.013L154.363,194.952L155.455,195.923H156.062L156.548,196.409L156.669,197.441V197.988L156.73,198.473L157.823,198.959L158.369,198.898H158.855L159.948,199.323L160.494,199.809L160.555,200.355L161.101,200.841L161.708,202.358L162.376,203.876L162.497,205.455L161.951,206.001L161.465,206.062L160.98,206.122V206.608L161.04,207.154V207.64L161.101,208.126L160.615,208.733L160.13,209.279L160.19,209.825L160.737,210.311L161.222,210.25H161.769L162.254,210.19L162.801,209.643H163.287V209.097L164.319,208.49L164.258,207.944L164.197,206.911L164.683,206.365L165.168,205.819L165.654,205.212H166.2L166.686,205.151H167.232V204.605L167.172,204.119V203.573L167.05,202.48V201.994L166.99,201.448L166.383,200.962L165.411,201.569L164.804,200.719L164.561,199.323L164.683,198.473L165.168,198.412V197.866L165.654,197.38H165.108L165.593,196.834L166.079,196.288L166.625,196.227L167.111,196.166L167.172,196.713L168.264,197.198L168.811,197.138H169.297L169.843,197.077L170.389,197.016V197.502L170.45,198.048L170.996,198.534V199.08L171.603,199.566H172.089L172.635,199.505L173.121,198.898L173.06,197.866L173,196.834L172.939,196.288L171.846,195.863L171.3,194.831L170.693,194.345L169.6,193.859L168.568,193.981L168.022,193.495L167.475,193.01L165.775,192.585L165.29,192.099L164.683,191.613H164.197L163.165,191.735L162.558,191.249L161.465,190.824H160.919L161.465,190.278L161.951,190.217L162.437,189.671L162.376,188.578L160.737,188.214L160.251,188.274L158.673,188.335L157.58,188.457L156.548,187.971L155.88,187L155.395,186.453L154.241,185.482L153.573,184.511L152.541,183.539L152.481,182.447L152.906,181.9L152.359,180.929L151.691,179.897V179.35L151.145,178.865L151.084,177.893H150.477L149.445,177.408L148.353,176.983H147.806L146.713,176.558L146.653,176.012L146.106,175.587V175.04L145.499,174.008L145.985,173.462L145.924,172.915V172.43L146.349,171.883L146.896,171.276L146.835,170.791H146.289L145.742,170.305V169.819L145.196,169.88L145.681,169.273L146.167,169.212L146.106,168.18L147.199,168.12L147.685,168.059H148.231L148.778,167.998L149.263,167.452L149.749,167.391L149.688,166.905L150.295,166.845H150.781L150.842,167.33L151.388,167.816L151.327,166.784L151.813,166.723L151.934,166.602L151.813,166.541L151.752,165.813Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M136.575,159.5L136.211,159.136L135.725,159.257L135.3,159.318L134.936,158.893V158.529L134.875,157.982L135.361,157.436V156.95L134.815,156.707L134.268,156.525V156.1H133.843L133.358,156.161L133.297,156.04L133.236,156.1L133.176,155.554L132.204,155.675H131.658L131.112,155.736H130.626L130.08,155.797L129.594,155.858H129.048L127.955,155.433V155.918L127.894,155.858V155.918L127.408,155.493V155.554V155.493L127.348,155.433V155.858L127.408,155.979L126.862,155.493L126.801,155.433L126.376,156.525L125.769,156.04L125.284,155.615L125.223,155.554L124.737,156.161V156.647L124.312,157.739L123.341,158.347L122.248,158.407L121.823,158.954V159.5L120.852,160.593L120.366,161.685L120.974,162.717H121.034L122.006,162.11L122.43,161.018H122.552H122.977V160.471H123.038H123.22L123.463,160.411L124.07,161.443L124.13,161.989L123.584,162.05H123.341H123.159H123.098V162.535L123.645,163.021L123.159,163.082V163.628L123.705,164.053L123.766,164.174L124.13,164.478L124.312,164.599L126.316,163.871L126.923,164.417L127.955,164.357L128.44,164.296L128.987,163.203L128.926,162.657L129.412,162.11L129.958,162.05L130.383,162.475L130.505,162.535L130.565,163.082V163.567L131.112,164.114L131.719,164.599L132.204,165.085V164.539L132.69,163.992L133.176,163.385H133.722L133.661,162.353L133.601,161.807L134.147,161.746L134.633,162.171L134.693,162.293V162.717L134.754,162.778H135.24L135.786,162.717L136.332,162.657L136.879,163.142L137.364,162.596L137.243,162.535L136.757,162.11H136.818L137.304,161.564L137.789,161.018L138.336,161.503L138.882,161.443L138.821,160.957V160.35L138.761,159.864H139.307H138.639L137.182,159.986L136.575,159.5Z" + android:pathData="M136.575,159.5L136.211,159.135L135.725,159.257L135.3,159.317L134.936,158.892V158.528L134.875,157.982L135.361,157.436V156.95L134.815,156.707L134.268,156.525V156.1H133.843L133.358,156.161L133.297,156.039L133.236,156.1L133.176,155.554L132.204,155.675H131.658L131.112,155.736H130.626L130.08,155.796L129.594,155.857H129.048L127.955,155.432V155.918L127.894,155.857V155.918L127.408,155.493V155.554V155.493L127.348,155.432V155.857L127.408,155.979L126.862,155.493L126.801,155.432L126.376,156.525L125.769,156.039L125.284,155.614L125.223,155.554L124.737,156.161V156.646L124.312,157.739L123.341,158.346L122.248,158.407L121.823,158.953V159.5L120.852,160.592L120.366,161.685L120.973,162.717H121.034L122.005,162.11L122.43,161.017H122.552H122.977V160.471H123.038H123.22L123.462,160.41L124.07,161.442L124.13,161.989L123.584,162.049H123.341H123.159H123.098V162.535L123.645,163.021L123.159,163.081V163.628L123.705,164.053L123.766,164.174L124.13,164.478L124.312,164.599L126.316,163.87L126.923,164.417L127.955,164.356L128.44,164.295L128.987,163.203L128.926,162.656L129.412,162.11L129.958,162.049L130.383,162.474L130.504,162.535L130.565,163.081V163.567L131.112,164.113L131.719,164.599L132.204,165.085V164.538L132.69,163.992L133.176,163.385H133.722L133.661,162.353L133.601,161.806L134.147,161.746L134.633,162.171L134.693,162.292V162.717L134.754,162.778H135.24L135.786,162.717L136.332,162.656L136.879,163.142L137.364,162.596L137.243,162.535L136.757,162.11H136.818L137.304,161.564L137.789,161.017L138.336,161.503L138.882,161.442L138.821,160.957V160.349L138.761,159.864H139.307H138.639L137.182,159.985L136.575,159.5Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M162.497,159.741L162.982,159.681L163.407,158.649L163.347,157.616H163.407V157.556L163.893,157.495L163.832,157.07V156.524L163.225,156.038L163.165,155.492H163.225V155.431H163.772H163.893L164.379,155.128L164.257,155.37H164.318V155.552L164.864,155.674L164.804,155.431L164.864,155.37V155.31L165.229,154.824L164.864,153.853L164.621,153.246L164.318,152.881L164.682,152.699H164.621H164.682L165.046,152.517L164.986,152.396L164.439,151.789L164.561,151.303L164.197,150.878L163.589,150.939L163.043,150.817L162.193,150.453L162.072,150.15L161.708,149.846L161.404,149.421V149.36L160.372,149.482H159.826L159.704,149.36H159.644L159.219,148.996L158.733,149.057H158.187L157.155,149.178L156.851,149.482L156.669,149.725L156.73,150.271L156.244,150.817L155.151,150.878L154.119,150.939L153.998,150.817H153.937L153.512,150.453L153.026,150.514V151.06H152.48L151.994,151.121L151.387,151.182L151.448,151.667L150.962,152.214L150.537,152.76L148.898,152.881L148.959,153.974L149.02,154.46L149.445,154.824V154.885L149.627,155.006L149.688,155.492V156.038L150.112,156.402L150.234,156.524V157.009L150.295,157.556L149.809,157.616L149.87,158.102L149.688,157.981L149.566,157.92L149.263,157.616L149.141,157.495L149.08,157.009V156.524L148.109,156.099L147.623,156.16V156.706L147.016,156.22H146.531L145.438,156.342H144.952L144.467,156.888L143.981,156.949L143.374,157.009L142.828,156.524L142.342,157.07L141.796,157.131H141.249V157.009H141.128V156.584L140.217,156.16L139.732,157.252L139.246,157.313L138.7,157.799L138.396,157.556L138.153,157.374H137.607L137.485,157.252L137.364,157.192L137.06,156.888L136.514,156.402L135.968,156.463L135.482,157.009L135.361,156.949V157.434L134.875,157.981L135.421,157.616L135.543,157.495L136.271,157.981L136.332,158.77L136.211,159.134L136.575,159.438L137.182,159.923L138.639,159.802H139.246L139.732,159.741H139.792V160.288L139.853,160.713V160.773H140.399L140.946,160.713L141.917,160.105L141.856,159.62L142.403,159.559L142.949,160.045L143.495,159.984H144.042L144.588,159.923L145.559,159.863L146.167,160.348L146.652,160.773L146.713,160.834L146.774,161.32L147.32,161.866L147.441,161.927L147.866,162.291L148.413,162.23H148.898L149.445,162.17L150.477,162.109H150.537L150.78,162.352L151.084,162.655L151.569,162.594H151.63L151.691,162.655L152.601,162.291L153.026,162.23L153.694,162.959H153.876L154.241,162.898H154.787L155.394,163.323L155.515,162.837L156.244,162.473L156.912,162.594L156.851,162.412L157.215,161.623H157.337H157.762L158.551,161.562L158.915,161.502H159.461H159.522L159.947,161.441L160.372,161.259L160.858,161.077L161.465,161.198L162.132,160.591L162.436,159.741H162.497Z" + android:pathData="M162.497,159.742L162.982,159.681L163.407,158.649L163.347,157.617H163.407V157.556L163.893,157.496L163.832,157.071V156.524L163.225,156.039L163.165,155.492H163.225V155.431H163.772H163.893L164.379,155.128L164.257,155.371H164.318V155.553L164.864,155.674L164.804,155.431L164.864,155.371V155.31L165.229,154.824L164.864,153.853L164.621,153.246L164.318,152.882L164.682,152.7H164.621H164.682L165.046,152.518L164.986,152.396L164.439,151.789L164.561,151.303L164.197,150.878L163.589,150.939L163.043,150.818L162.193,150.453L162.072,150.15L161.708,149.846L161.404,149.421V149.361L160.372,149.482H159.826L159.704,149.361H159.644L159.219,148.997L158.733,149.057H158.187L157.155,149.179L156.851,149.482L156.669,149.725L156.73,150.271L156.244,150.818L155.151,150.878L154.119,150.939L153.998,150.818H153.937L153.512,150.453L153.026,150.514V151.061H152.48L151.994,151.121L151.387,151.182L151.448,151.668L150.962,152.214L150.537,152.76L148.898,152.882L148.959,153.975L149.02,154.46L149.445,154.824V154.885L149.627,155.007L149.688,155.492V156.039L150.112,156.403L150.234,156.524V157.01L150.295,157.556L149.809,157.617L149.87,158.103L149.688,157.981L149.566,157.92L149.263,157.617L149.141,157.496L149.08,157.01V156.524L148.109,156.099L147.623,156.16V156.706L147.016,156.221H146.531L145.438,156.342H144.952L144.467,156.888L143.981,156.949L143.374,157.01L142.828,156.524L142.342,157.071L141.796,157.131H141.249V157.01H141.128V156.585L140.217,156.16L139.732,157.253L139.246,157.313L138.7,157.799L138.396,157.556L138.153,157.374H137.607L137.485,157.253L137.364,157.192L137.06,156.888L136.514,156.403L135.968,156.463L135.482,157.01L135.361,156.949V157.435L134.875,157.981L135.421,157.617L135.543,157.496L136.271,157.981L136.332,158.77L136.211,159.135L136.575,159.438L137.182,159.924L138.639,159.802H139.246L139.732,159.742H139.792V160.288L139.853,160.713V160.774H140.399L140.946,160.713L141.917,160.106L141.856,159.62L142.403,159.56L142.949,160.045L143.495,159.985H144.042L144.588,159.924L145.559,159.863L146.167,160.349L146.652,160.774L146.713,160.834L146.774,161.32L147.32,161.866L147.441,161.927L147.866,162.291L148.413,162.231H148.898L149.445,162.17L150.477,162.109H150.537L150.78,162.352L151.084,162.656L151.569,162.595H151.63L151.691,162.656L152.601,162.291L153.026,162.231L153.694,162.959H153.876L154.241,162.898H154.787L155.394,163.323L155.515,162.838L156.244,162.473L156.912,162.595L156.851,162.413L157.215,161.624H157.337H157.762L158.551,161.563L158.915,161.502H159.461H159.522L159.947,161.441L160.372,161.259L160.858,161.077L161.465,161.199L162.132,160.592L162.436,159.742H162.497Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M134.936,158.529L134.875,157.982L134.936,158.529Z" + android:pathData="M134.936,158.529L134.875,157.983L134.936,158.529Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M129.958,124.29L130.019,124.776L130.08,125.261V125.808V125.868L129.533,125.929L129.594,126.415L129.655,127.447L129.715,127.933L129.655,127.993V128.054L129.23,128.54L129.776,128.965L129.837,129.511L129.412,131.089L129.351,131.15V131.211H128.805L128.319,131.271H127.833L127.226,131.332L126.741,130.846L125.162,131.514L124.191,132.061L124.252,132.546V133.032L124.373,134.125V134.61L124.312,134.671V134.732L123.341,135.278L123.402,135.764V136.31L123.463,136.796V136.856L123.038,137.889H123.523L123.584,138.374V138.921V138.981H123.098V139.467V139.528L123.159,139.71V140.013L123.22,140.499V140.985V141.045L123.766,141.531L124.373,142.017V142.199V142.563L124.434,142.684V143.049L124.495,143.534V143.656V144.141L124.009,144.202L124.07,144.323L124.555,145.113L125.162,146.145H125.223L125.769,146.63L126.801,147.116L127.894,146.995L128.441,147.48L129.048,147.42H129.533L130.019,147.905L130.08,147.966L129.108,149.059L128.623,149.605L128.198,150.698V151.183L127.712,151.79V152.276L127.773,153.308L127.833,153.854L127.348,154.401V154.947L127.409,155.494V155.554V155.494L127.894,155.858L127.955,155.919V155.433L129.048,155.858H129.594L130.08,155.797L130.626,155.736H131.112L131.658,155.676H132.204L133.176,155.554H133.297V156.04L133.358,156.161L133.843,156.101H134.268L134.39,156.04V156.586L134.815,156.708L135.361,156.951L135.483,157.011L135.968,156.465L136.515,156.404L137.061,156.89L137.364,157.193L137.486,157.254L137.607,157.375H138.154L138.396,157.558L138.7,157.8L139.246,157.315L139.732,157.254L140.218,156.161L141.128,156.586H141.25V157.011V157.133H141.796L142.342,157.072L142.828,156.526L143.374,157.011L143.982,156.951L144.467,156.89L144.953,156.343H145.439L146.531,156.222H147.017L147.624,156.708V156.161L148.11,156.101L149.081,156.526L149.142,156.586L149.202,157.072L149.263,157.618L149.567,157.922L149.688,157.983L149.87,158.104L149.809,157.618L150.295,157.558L150.234,157.011V156.526L150.113,156.404L149.688,156.04V155.494L149.627,155.008L149.445,154.886L149.02,154.462L148.96,153.976L148.899,152.883L150.538,152.762L150.963,152.215L151.449,151.669L151.388,151.183L151.995,151.123L152.481,151.062H153.027V150.516L152.663,150.091L152.177,149.484L151.691,149.059L151.327,148.634L151.206,148.512L150.72,148.573L150.174,148.087L149.567,147.055L149.02,146.023L148.413,145.598L148.352,145.052L148.292,144.02L147.745,143.474L147.199,143.049L147.078,142.017H146.592L145.985,140.985L145.863,139.953H145.924L146.471,140.438L146.531,140.985L147.503,140.377H147.563L148.11,140.863L149.142,140.802L150.113,140.195H150.174L150.659,140.135L151.145,139.588L151.691,139.528L153.209,138.374L153.695,137.828L154.18,137.281L155.212,136.674L155.819,137.16V137.706L156.305,137.646L156.851,137.099L156.791,137.039V137.099L156.73,136.553L156.669,134.975L157.094,134.428L156.609,134.489L156.548,133.943V133.396L156.427,131.818L156.366,131.332L155.759,130.3L155.698,129.814L155.637,129.268L156.184,128.661L155.698,128.722H155.637L155.091,128.236V127.75L154.484,127.265L153.877,126.233L154.362,125.686L154.848,125.079V124.594L154.787,124.047V123.501L154.727,123.015V122.651L154.666,121.498L153.088,121.558L152.966,120.526L152.905,119.434L151.873,119.555H151.327L151.266,119.009L150.72,118.584V118.037L150.174,118.098L149.688,118.644L149.142,118.705H148.595L147.624,119.312L146.592,119.919L146.046,119.434L146.106,119.919L145.56,119.98L144.467,120.041L143.982,120.101L142.828,119.616H143.435L143.374,119.069H143.86V118.523L143.799,117.977H143.314L142.707,118.037L142.282,118.644L141.675,117.612L141.189,117.673H140.643L140.582,117.187H140.096L139.489,117.248V116.702L139.975,116.155L139.429,115.67L138.821,115.184L138.7,115.063L138.457,115.305L138.639,115.063L138.336,114.759L137.425,114.82H137.364H137.304L136.818,114.395H136.332V114.881V114.395V114.273L136.15,114.334L136.272,115.366V115.913L136.818,116.337L136.879,116.884L135.847,117.491L135.361,117.552V118.037H135.847L135.908,118.523L135.968,119.069L137.061,119.555L136.575,120.101L137.122,120.587L138.214,121.012L138.275,122.105L137.729,121.073L137.122,120.587L136.029,120.648L135.058,120.708V121.255L135.118,122.287L135.179,122.833L134.693,123.38V123.865L134.147,122.894L134.086,122.408L134.026,121.862H133.54V122.408L133.054,122.469L132.994,121.923L133.479,121.376L132.386,120.891L131.354,120.951L130.262,121.073H129.776V121.619L129.29,122.165L129.351,122.712H129.898V123.197L130.444,123.683L130.383,123.744L129.958,124.29Z" + android:pathData="M129.958,124.29L130.019,124.776L130.08,125.261V125.808V125.868L129.533,125.929L129.594,126.415L129.655,127.447L129.715,127.932L129.655,127.993V128.054L129.23,128.539L129.776,128.964L129.837,129.511L129.412,131.089L129.351,131.15V131.211H128.805L128.319,131.271H127.833L127.226,131.332L126.741,130.846L125.162,131.514L124.191,132.06L124.252,132.546V133.032L124.373,134.125V134.61L124.312,134.671V134.732L123.341,135.278L123.402,135.764V136.31L123.462,136.796V136.856L123.038,137.888H123.523L123.584,138.374V138.92V138.981H123.098V139.467V139.527L123.159,139.71V140.013L123.22,140.499V140.984V141.045L123.766,141.531L124.373,142.016V142.199V142.563L124.434,142.684V143.048L124.495,143.534V143.656V144.141L124.009,144.202L124.07,144.323L124.555,145.113L125.162,146.145H125.223L125.769,146.63L126.801,147.116L127.894,146.994L128.44,147.48L129.048,147.419H129.533L130.019,147.905L130.08,147.966L129.108,149.058L128.623,149.605L128.198,150.698V151.183L127.712,151.79V152.276L127.773,153.308L127.833,153.854L127.348,154.401V154.947L127.408,155.493V155.554V155.493L127.894,155.858L127.955,155.918V155.433L129.048,155.858H129.594L130.08,155.797L130.626,155.736H131.112L131.658,155.676H132.204L133.176,155.554H133.297V156.04L133.358,156.161L133.843,156.101H134.268L134.39,156.04V156.586L134.815,156.708L135.361,156.95L135.482,157.011L135.968,156.465L136.515,156.404L137.061,156.89L137.364,157.193L137.486,157.254L137.607,157.375H138.154L138.396,157.557L138.7,157.8L139.246,157.315L139.732,157.254L140.218,156.161L141.128,156.586H141.25V157.011V157.133H141.796L142.342,157.072L142.828,156.525L143.374,157.011L143.981,156.95L144.467,156.89L144.953,156.343H145.438L146.531,156.222H147.017L147.624,156.708V156.161L148.11,156.101L149.081,156.525L149.142,156.586L149.202,157.072L149.263,157.618L149.567,157.922L149.688,157.982L149.87,158.104L149.809,157.618L150.295,157.557L150.234,157.011V156.525L150.113,156.404L149.688,156.04V155.493L149.627,155.008L149.445,154.886L149.02,154.461L148.959,153.976L148.899,152.883L150.538,152.762L150.963,152.215L151.448,151.669L151.388,151.183L151.995,151.123L152.48,151.062H153.027V150.515L152.663,150.091L152.177,149.483L151.691,149.058L151.327,148.634L151.206,148.512L150.72,148.573L150.174,148.087L149.567,147.055L149.02,146.023L148.413,145.598L148.352,145.052L148.292,144.02L147.745,143.473L147.199,143.048L147.078,142.016H146.592L145.985,140.984L145.863,139.952H145.924L146.47,140.438L146.531,140.984L147.503,140.377H147.563L148.11,140.863L149.142,140.802L150.113,140.195H150.174L150.659,140.135L151.145,139.588L151.691,139.527L153.209,138.374L153.695,137.828L154.18,137.281L155.212,136.674L155.819,137.16V137.706L156.305,137.646L156.851,137.099L156.791,137.038V137.099L156.73,136.553L156.669,134.974L157.094,134.428L156.609,134.489L156.548,133.942V133.396L156.426,131.818L156.366,131.332L155.759,130.3L155.698,129.814L155.637,129.268L156.184,128.661L155.698,128.722H155.637L155.091,128.236V127.75L154.484,127.265L153.877,126.233L154.362,125.686L154.848,125.079V124.594L154.787,124.047V123.501L154.727,123.015V122.651L154.666,121.497L153.088,121.558L152.966,120.526L152.905,119.433L151.873,119.555H151.327L151.266,119.008L150.72,118.584V118.037L150.174,118.098L149.688,118.644L149.142,118.705H148.595L147.624,119.312L146.592,119.919L146.046,119.433L146.106,119.919L145.56,119.98L144.467,120.04L143.981,120.101L142.828,119.616H143.435L143.374,119.069H143.86V118.523L143.799,117.976H143.314L142.707,118.037L142.282,118.644L141.675,117.612L141.189,117.673H140.643L140.582,117.187H140.096L139.489,117.248V116.702L139.975,116.155L139.428,115.67L138.821,115.184L138.7,115.063L138.457,115.305L138.639,115.063L138.336,114.759L137.425,114.82H137.364H137.304L136.818,114.395H136.332V114.88V114.395V114.273L136.15,114.334L136.272,115.366V115.912L136.818,116.337L136.879,116.884L135.847,117.491L135.361,117.552V118.037H135.847L135.907,118.523L135.968,119.069L137.061,119.555L136.575,120.101L137.122,120.587L138.214,121.012L138.275,122.105L137.729,121.073L137.122,120.587L136.029,120.648L135.058,120.708V121.255L135.118,122.287L135.179,122.833L134.693,123.379V123.865L134.147,122.894L134.086,122.408L134.026,121.862H133.54V122.408L133.054,122.469L132.993,121.922L133.479,121.376L132.386,120.89L131.354,120.951L130.262,121.073H129.776V121.619L129.29,122.165L129.351,122.712H129.897V123.197L130.444,123.683L130.383,123.744L129.958,124.29Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M136.332,114.395H136.818L137.364,114.819H137.425L138.335,114.759H138.457L138.7,115.002L139.003,114.698H139.489L138.943,114.152L138.335,113.666L138.882,113.18L139.428,113.12L138.821,112.634V112.148L139.307,112.088V111.541L139.246,111.056L139.792,110.995L140.217,110.449L140.824,110.388L140.764,109.842L141.735,109.234L142.221,108.202L141.674,107.717L142.16,107.11H142.646L142.706,107.595H143.253L143.678,106.988V106.503L143.617,105.956L143.071,105.471L142.585,105.531L142.039,105.592L141.978,105.046H141.492L141.432,104.56L141.917,103.953H142.464L141.856,103.467V102.921H141.31L140.824,102.982L140.885,103.528L139.792,103.649H139.246L138.76,104.196L139.367,104.681V105.228L138.821,104.742L138.335,105.288L138.275,104.742L138.214,104.256H137.668L137.243,104.864L137.303,105.349L136.757,105.41L136.15,104.924H135.664L135.604,104.439H135.118V104.985L134.632,105.531L134.693,106.078L134.754,107.11V107.656L134.814,108.142L134.875,108.688V109.174L134.936,109.72L134.45,110.327L134.997,110.813L135.543,110.752L135.604,111.298L136.15,111.723V112.33L136.211,112.816L136.271,113.848L136.332,114.273V114.395Z" + android:pathData="M136.332,114.394H136.818L137.364,114.819H137.425L138.335,114.759H138.457L138.7,115.001L139.003,114.698H139.489L138.943,114.152L138.335,113.666L138.882,113.18L139.428,113.12L138.821,112.634V112.148L139.307,112.088V111.541L139.246,111.056L139.792,110.995L140.217,110.448L140.824,110.388L140.764,109.841L141.735,109.234L142.221,108.202L141.674,107.717L142.16,107.11H142.646L142.706,107.595H143.253L143.678,106.988V106.503L143.617,105.956L143.071,105.47L142.585,105.531L142.039,105.592L141.978,105.046H141.492L141.432,104.56L141.917,103.953H142.464L141.856,103.467V102.921H141.31L140.824,102.981L140.885,103.528L139.792,103.649H139.246L138.76,104.196L139.367,104.681V105.228L138.821,104.742L138.335,105.288L138.275,104.742L138.214,104.256H137.668L137.243,104.863L137.303,105.349L136.757,105.41L136.15,104.924H135.664L135.604,104.438H135.118V104.985L134.632,105.531L134.693,106.078L134.754,107.11V107.656L134.814,108.142L134.875,108.688V109.174L134.936,109.72L134.45,110.327L134.997,110.813L135.543,110.752L135.604,111.298L136.15,111.723V112.33L136.211,112.816L136.271,113.848L136.332,114.273V114.394Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M138.457,115.305L138.7,115.063V115.002L138.639,115.063L138.457,115.305Z" + android:pathData="M138.457,115.306L138.7,115.063V115.002L138.639,115.063L138.457,115.306Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M111.746,135.581H111.807V136.006V136.067H112.293L112.778,136.006H112.839L112.9,136.552V136.977V137.099L113.446,137.038H113.932H113.992V137.524L114.599,138.556L115.146,138.495L115.631,138.434H116.117H116.178L116.238,139.466L116.299,140.013L115.814,140.498V140.559L116.36,141.105L116.906,141.045L117.453,140.984L117.392,140.438L117.938,140.377V140.984L118.485,141.409H118.545V141.895V141.955L119.092,142.441H119.152V142.805V142.927H119.638L120.245,143.412L120.792,143.898L120.852,144.444L121.338,143.837H121.884L121.945,143.777V143.716L122.066,142.866L121.763,142.259L121.702,141.712V141.166L122.188,140.68L122.613,140.073H122.673L123.159,140.013V139.709L123.098,139.527V139.466V138.981H123.584V138.92V138.434L123.523,137.888L123.038,137.949V137.888L123.463,136.856V136.795L123.402,136.37V135.824L123.341,135.278L123.28,135.338L123.22,134.853L122.127,133.821L121.581,133.335L121.034,132.849L120.488,132.91L120.063,133.396L120.002,133.456L119.456,133.517L119.395,132.971L117.817,132.546H117.392L116.846,133.092L116.906,133.638L115.814,133.699L115.328,133.76H114.842L114.782,133.274L114.235,132.789L113.689,132.849L113.628,132.242L113.082,132.303L112.596,132.91L112.05,132.364L112.11,132.971L111.078,133.517L111.139,134.063L111.2,134.61V134.974V135.095L111.746,135.581Z" + android:pathData="M111.746,135.581H111.807V136.006V136.066H112.292L112.778,136.006H112.839L112.899,136.552V136.977V137.099L113.446,137.038H113.931H113.992V137.523L114.599,138.555L115.146,138.495L115.631,138.434H116.117H116.178L116.238,139.466L116.299,140.012L115.813,140.498V140.559L116.36,141.105L116.906,141.044L117.452,140.984L117.392,140.437L117.938,140.377V140.984L118.485,141.409H118.545V141.894V141.955L119.092,142.441H119.152V142.805V142.926H119.638L120.245,143.412L120.791,143.898L120.852,144.444L121.338,143.837H121.884L121.945,143.776V143.716L122.066,142.866L121.763,142.259L121.702,141.712V141.166L122.188,140.68L122.613,140.073H122.673L123.159,140.012V139.709L123.098,139.527V139.466V138.98H123.584V138.92V138.434L123.523,137.888L123.038,137.948V137.888L123.462,136.856V136.795L123.402,136.37V135.824L123.341,135.277L123.28,135.338L123.22,134.852L122.127,133.82L121.581,133.335L121.034,132.849L120.488,132.91L120.063,133.395L120.002,133.456L119.456,133.517L119.395,132.97L117.817,132.545H117.392L116.845,133.092L116.906,133.638L115.813,133.699L115.328,133.76H114.842L114.781,133.274L114.235,132.788L113.689,132.849L113.628,132.242L113.082,132.303L112.596,132.91L112.05,132.363L112.11,132.97L111.078,133.517L111.139,134.063L111.2,134.61V134.974V135.095L111.746,135.581Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M124.494,144.142V143.656V143.535L124.433,143.11V142.685L124.373,142.563V142.199V142.078L123.826,141.592L123.219,141.106V141.046V140.985V140.621L122.673,140.074H122.612L122.187,140.681L121.702,141.167V141.713L121.762,142.26L122.066,142.867L121.944,143.717V143.777L122.612,143.899L123.523,144.081L124.009,144.202L124.494,144.142Z" + android:pathData="M124.494,144.142V143.656V143.535L124.433,143.11V142.685L124.373,142.563V142.199V142.078L123.826,141.592L123.219,141.106V141.046V140.985V140.621L122.673,140.074H122.612L122.187,140.681L121.702,141.167V141.713L121.762,142.26L122.066,142.867L121.944,143.717V143.777L122.612,143.899L123.523,144.081L124.008,144.202L124.494,144.142Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M119.395,132.971L119.456,133.517L120.002,133.457L120.063,133.396L120.488,132.91L121.034,132.85L121.58,133.335L122.127,133.821L123.219,134.853L123.28,135.339L123.341,135.278L124.312,134.732V134.671L124.251,134.185L124.191,133.153V132.607L124.13,132.121L124.191,132.06L125.162,131.514L126.74,130.846L127.226,131.332L127.833,131.271H128.319L128.804,131.211H129.351V131.15L129.776,129.571L129.715,129.086L129.169,128.6L129.229,128.539L129.654,128.054V127.993L129.594,127.507L129.533,126.475L129.472,125.929H129.533L130.079,125.868V125.808L130.019,125.383L129.958,124.836V124.29L130.383,123.744L129.897,123.319L129.351,123.804L128.865,123.865L128.683,121.74L128.137,121.801L127.651,121.862L127.165,122.469L126.133,123.015V122.529L126.073,121.983L125.526,122.59H125.041L124.555,122.651L123.523,123.197L122.977,123.804L123.037,124.29L123.098,124.776V125.322L123.159,125.868L123.219,126.9L122.248,128.054H121.762L121.216,128.114L121.155,127.082L121.641,126.475L121.095,126.536L121.58,125.99L122.066,125.383V124.897L121.459,124.411L120.427,124.472L119.941,125.565L120.063,126.597L119.577,127.204L119.638,127.69L119.031,127.75L119.091,128.236L118.606,128.843L117.574,128.904L117.634,129.936H118.181V130.421L117.209,131.028L117.149,129.996L116.602,130.057V130.543L116.663,131.028L116.724,132.06H117.27L117.816,132.546L119.395,132.971Z" + android:pathData="M119.395,132.971L119.456,133.518L120.002,133.457L120.063,133.396L120.488,132.911L121.034,132.85L121.58,133.336L122.127,133.821L123.219,134.853L123.28,135.339L123.341,135.278L124.312,134.732V134.671L124.251,134.186L124.191,133.154V132.607L124.13,132.122L124.191,132.061L125.162,131.515L126.74,130.847L127.226,131.332L127.833,131.272H128.319L128.804,131.211H129.351V131.15L129.776,129.572L129.715,129.086L129.169,128.601L129.229,128.54L129.654,128.054V127.993L129.594,127.508L129.533,126.476L129.472,125.929H129.533L130.079,125.869V125.808L130.019,125.383L129.958,124.837V124.29L130.383,123.744L129.897,123.319L129.351,123.805L128.865,123.865L128.683,121.741L128.137,121.801L127.651,121.862L127.165,122.469L126.133,123.016V122.53L126.073,121.983L125.526,122.591H125.041L124.555,122.651L123.523,123.198L122.977,123.805L123.037,124.29L123.098,124.776V125.322L123.159,125.869L123.219,126.901L122.248,128.054H121.762L121.216,128.115L121.155,127.083L121.641,126.476L121.095,126.537L121.58,125.99L122.066,125.383V124.897L121.459,124.412L120.427,124.472L119.941,125.565L120.063,126.597L119.577,127.204L119.638,127.69L119.031,127.751L119.091,128.236L118.606,128.843L117.574,128.904L117.634,129.936H118.181V130.422L117.209,131.029L117.149,129.997L116.602,130.058V130.543L116.663,131.029L116.724,132.061H117.27L117.816,132.547L119.395,132.971Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M139.186,101.827H138.579L137.061,101.948L136.575,102.009L136.029,102.555L136.09,103.041L136.697,104.073L136.636,103.587V103.041L137.122,102.494L137.607,102.434H138.154L138.639,102.373H139.186L139.732,102.312L140.218,101.766L140.764,101.705L141.796,101.645L142.342,102.13L142.949,102.555L142.889,102.07L143.374,101.523L143.86,100.977L143.799,99.945H143.253L143.192,99.459L143.739,98.852L144.164,98.306L143.678,98.366L143.192,98.913H142.646L142.16,98.973L141.675,99.52L141.128,99.58L140.643,100.127L140.157,100.734L140.218,101.22L139.671,101.766L139.186,101.827Z" + android:pathData="M139.186,101.827H138.579L137.061,101.948L136.575,102.009L136.029,102.555L136.09,103.041L136.697,104.073L136.636,103.587V103.041L137.122,102.495L137.607,102.434H138.154L138.639,102.373H139.186L139.732,102.313L140.218,101.766L140.764,101.705L141.796,101.645L142.342,102.13L142.949,102.555L142.889,102.07L143.374,101.523L143.86,100.977L143.799,99.945H143.253L143.192,99.459L143.739,98.852L144.164,98.306L143.678,98.367L143.192,98.913H142.646L142.16,98.974L141.675,99.52L141.128,99.581L140.643,100.127L140.157,100.734L140.218,101.22L139.671,101.766L139.186,101.827Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M140.4,112.27L140.461,113.302L141.553,113.241L141.614,113.727L142.646,113.666L143.192,113.605L143.132,113.12V112.634L143.071,112.088L143.01,111.602H142.525L141.918,111.116L141.493,111.663L140.886,111.177L140.946,111.723L140.4,111.784V112.27Z" + android:pathData="M140.4,112.27L140.461,113.302L141.553,113.241L141.614,113.726L142.646,113.666L143.192,113.605L143.132,113.119V112.634L143.071,112.087L143.01,111.602H142.525L141.918,111.116L141.493,111.662L140.886,111.177L140.946,111.723L140.4,111.784V112.27Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M144.285,110.388L143.8,110.935L143.86,111.481L144.407,111.967L143.921,112.513L143.982,113.059L144.528,113.484L145.56,113.424L146.106,113.363L146.167,113.97H145.621L146.714,114.395H147.26L146.653,113.909L147.199,113.302H147.685L148.11,112.209L147.563,111.785L148.535,110.57L149.02,110.024L148.413,109.053L148.96,108.506H148.413L148.899,107.96L147.806,108.021L147.321,108.081L146.835,108.628H147.321L147.928,109.053L147.442,109.66H146.896L146.41,109.72V110.267L146.471,110.752H145.924L145.378,110.328L145.864,109.72L145.803,109.235H145.257L145.317,109.781L144.832,110.328L144.285,110.388Z" + android:pathData="M144.285,110.388L143.799,110.935L143.86,111.481L144.407,111.967L143.921,112.513L143.982,113.059L144.528,113.484L145.56,113.424L146.106,113.363L146.167,113.97H145.621L146.713,114.395H147.26L146.653,113.909L147.199,113.302H147.685L148.11,112.209L147.563,111.784L148.535,110.57L149.02,110.024L148.413,109.053L148.96,108.506H148.413L148.899,107.96L147.806,108.021L147.32,108.081L146.835,108.628H147.32L147.928,109.053L147.442,109.66H146.896L146.41,109.72V110.267L146.471,110.752H145.924L145.378,110.327L145.863,109.72L145.803,109.235H145.256L145.317,109.781L144.831,110.327L144.285,110.388Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M144.649,115.608V115.122H144.103L143.557,115.183L143.617,115.729L144.164,116.154L144.771,116.64H145.256L145.803,116.579L145.742,116.033L145.196,115.608H144.649Z" + android:pathData="M144.649,115.608V115.122H144.103L143.557,115.183L143.617,115.73L144.164,116.155L144.771,116.64H145.256L145.803,116.579L145.742,116.033L145.196,115.608H144.649Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M147.321,115.427L146.774,115.488L146.228,115.002L146.288,115.488V116.034L146.835,116.52V115.973L147.381,115.913L147.321,115.427Z" + android:pathData="M147.321,115.427L146.774,115.488L146.228,115.002L146.288,115.488V116.034L146.835,116.52V115.974L147.381,115.913L147.321,115.427Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M186.416,145.538H186.294H185.869L185.384,145.598H185.141H184.898H184.837L184.291,145.113L183.745,144.627L183.138,144.202H182.713H182.652L182.045,143.17L181.559,143.716L181.256,144.081L181.134,144.323L179.556,144.93H179.495V144.445L179.374,143.413L178.888,143.898L178.402,143.959L177.856,143.534L176.885,144.081L176.945,144.627L176.46,145.173V145.113L176.338,145.173L176.278,144.081L175.792,143.656L175.306,144.141L174.821,144.202L174.335,144.809L174.274,144.748L174.214,144.809L173.667,144.263L172.696,144.384H172.574L172.089,143.898L171.482,143.413L170.935,142.927L169.843,142.988L168.75,142.563L168.204,142.017L167.111,140.62L166.625,141.106H166.564L166.018,140.681L164.925,140.742H164.683H164.5L165.047,141.227H164.986L164.5,141.288L164.075,141.834V142.32L164.015,142.199V142.32L163.408,141.349L162.861,140.863L161.89,140.924L161.769,140.985L162.315,140.377L162.801,139.831L162.194,139.345L161.222,139.406H161.162L160.069,138.92L159.583,138.981L158.976,138.496L158.43,138.556V138.01L158.369,137.524L158.308,136.492H157.823H157.762L157.033,136.674L156.851,136.978V137.099L156.305,137.646L155.819,137.706V137.16L155.212,136.674L154.18,137.281L153.695,137.828L153.27,138.374L151.691,139.528L151.206,139.588L150.659,140.135L150.174,140.195L149.142,140.802L148.11,140.863L147.563,140.377L146.531,140.985L146.47,140.438L145.924,139.952L145.985,140.985L146.592,142.017H147.138L147.199,143.049L147.745,143.474L148.292,144.02L148.413,145.052V145.598L149.02,146.023L149.566,147.055L150.234,148.087L150.781,148.573L151.266,148.512L151.327,148.634L151.691,149.059L152.177,149.484L152.663,150.091L153.027,150.516L153.512,150.455L153.998,150.819L154.12,150.94L155.152,150.88L156.244,150.819L156.73,150.273L156.669,149.726L156.851,149.484L157.155,149.18L158.187,149.059H158.733L159.219,148.998L159.705,149.362L159.826,149.484H160.372L161.404,149.362V149.423L161.708,149.848L162.072,150.151L162.194,150.455L163.043,150.819L163.59,150.94L164.197,150.88L164.561,151.305L164.44,151.79L164.986,152.397L165.108,152.519H165.047L164.683,152.701L164.318,152.883L164.622,153.247L164.5,153.005L165.715,153.794L165.775,153.854H165.957L166.443,154.279L166.807,154.219L167.414,154.704L167.9,155.19H167.961L168.932,155.129L169.539,155.069L170.025,155.008H170.268L171.603,154.461H172.028L171.664,153.976L171.967,153.854L172.028,153.308L172.817,153.187L173.607,153.247L174.153,153.187L174.699,153.126L175.671,152.519L176.156,151.972L177.188,151.365L177.674,150.819L178.16,150.212L178.099,149.726L178.645,149.18L179.131,149.119H179.677L180.709,148.998H181.256L181.802,148.937H182.288L182.348,149.423H182.834H182.895H183.077L183.502,149.787L184.473,149.301L184.594,149.362L184.655,149.301L184.777,149.241L185.019,149.484L185.566,149.726L185.627,149.908L185.687,149.18L185.505,148.816L185.627,148.209L185.869,147.723H186.355L186.173,147.055L186.476,146.63L187.023,146.266L186.901,145.902L186.659,146.266L186.416,145.538Z" + android:pathData="M186.416,145.537H186.294H185.869L185.384,145.598H185.141H184.898H184.837L184.291,145.112L183.744,144.627L183.137,144.202H182.712H182.652L182.045,143.17L181.559,143.716L181.255,144.08L181.134,144.323L179.556,144.93H179.495V144.445L179.374,143.413L178.888,143.898L178.402,143.959L177.856,143.534L176.885,144.08L176.945,144.627L176.46,145.173V145.112L176.338,145.173L176.278,144.08L175.792,143.655L175.306,144.141L174.821,144.202L174.335,144.809L174.274,144.748L174.213,144.809L173.667,144.263L172.696,144.384H172.574L172.089,143.898L171.482,143.413L170.935,142.927L169.843,142.988L168.75,142.563L168.203,142.016L167.111,140.62L166.625,141.106H166.564L166.018,140.681L164.925,140.742H164.682H164.5L165.047,141.227H164.986L164.5,141.288L164.075,141.834V142.32L164.015,142.198V142.32L163.408,141.349L162.861,140.863L161.89,140.924L161.769,140.984L162.315,140.377L162.801,139.831L162.193,139.345L161.222,139.406H161.161L160.069,138.92L159.583,138.981L158.976,138.495L158.43,138.556V138.01L158.369,137.524L158.308,136.492H157.823H157.762L157.033,136.674L156.851,136.978V137.099L156.305,137.645L155.819,137.706V137.16L155.212,136.674L154.18,137.281L153.694,137.828L153.27,138.374L151.691,139.527L151.205,139.588L150.659,140.134L150.173,140.195L149.141,140.802L148.109,140.863L147.563,140.377L146.531,140.984L146.47,140.438L145.924,139.952L145.985,140.984L146.592,142.016H147.138L147.199,143.048L147.745,143.473L148.292,144.02L148.413,145.052V145.598L149.02,146.023L149.566,147.055L150.234,148.087L150.781,148.573L151.266,148.512L151.327,148.633L151.691,149.058L152.177,149.483L152.662,150.09L153.027,150.515L153.512,150.455L153.998,150.819L154.119,150.94L155.151,150.88L156.244,150.819L156.73,150.273L156.669,149.726L156.851,149.483L157.155,149.18L158.187,149.058H158.733L159.219,148.998L159.704,149.362L159.826,149.483H160.372L161.404,149.362V149.423L161.708,149.848L162.072,150.151L162.193,150.455L163.043,150.819L163.59,150.94L164.197,150.88L164.561,151.305L164.44,151.79L164.986,152.397L165.107,152.519H165.047L164.682,152.701L164.318,152.883L164.622,153.247L164.5,153.004L165.714,153.794L165.775,153.854H165.957L166.443,154.279L166.807,154.218L167.414,154.704L167.9,155.19H167.961L168.932,155.129L169.539,155.068L170.025,155.008H170.267L171.603,154.461H172.028L171.664,153.976L171.967,153.854L172.028,153.308L172.817,153.186L173.606,153.247L174.153,153.186L174.699,153.126L175.67,152.519L176.156,151.972L177.188,151.365L177.674,150.819L178.159,150.212L178.099,149.726L178.645,149.18L179.131,149.119H179.677L180.709,148.998H181.255L181.802,148.937H182.287L182.348,149.423H182.834H182.895H183.077L183.502,149.787L184.473,149.301L184.594,149.362L184.655,149.301L184.776,149.24L185.019,149.483L185.566,149.726L185.626,149.908L185.687,149.18L185.505,148.816L185.626,148.208L185.869,147.723H186.355L186.173,147.055L186.476,146.63L187.023,146.266L186.901,145.902L186.658,146.266L186.416,145.537Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M185.019,149.484L184.837,149.423L184.594,149.362L184.473,149.302L183.502,149.787L183.441,149.848L182.895,149.423H182.834H182.348L182.288,148.938H181.802L181.256,148.998H180.709L179.677,149.12H179.131L178.645,149.18L178.099,149.727L178.159,150.212L177.674,150.819L177.188,151.366L176.156,151.973L175.67,152.519L174.699,153.126L174.153,153.187L173.606,153.248L172.817,153.187L172.028,153.308L171.967,153.855L171.664,153.976L172.028,154.462H171.603L170.268,155.008H170.025L169.539,155.069L168.932,155.13L167.961,155.19H167.9L167.414,154.705L166.807,154.219L166.443,154.28H166.261L165.775,153.855L165.715,153.794L164.5,153.005L164.622,153.248L164.865,153.855L165.229,154.826H165.29L164.865,155.372L164.804,155.433L164.865,155.676L164.318,155.555H164.197L164.258,155.372L164.379,155.13L163.893,155.433L163.772,155.494H163.226H163.165L163.226,156.04L163.833,156.526V157.072L163.893,157.497V157.558L163.408,157.619H163.347L163.408,158.651L162.983,159.683V159.743H162.497H162.436L162.133,160.593L162.194,160.533L163.408,160.775L163.59,161.2L164.197,161.686L164.743,162.172L164.804,162.718V163.264L165.411,163.75L165.957,164.236L166.504,164.661L167.05,165.146H167.596L167.657,165.693L168.204,165.632L168.75,166.118L169.236,166.057H169.782L170.268,165.996L171.36,166.239L171.664,166.057L172.21,165.45L172.757,164.782L173.182,164.418L174.092,164.357L174.517,164.175L175.246,163.568L176.399,163.143L177.067,163.75L177.188,163.568L177.977,163.386L177.917,162.9H177.977H178.524L179.131,162.839L179.92,163.082L180.588,163.143L181.073,162.111L181.559,161.565L182.045,160.957L182.53,160.472L183.016,159.865V159.379H183.502L183.987,158.772L184.473,158.165L184.352,156.647L184.837,156.04L184.716,155.008L185.262,154.462L185.748,153.915L186.294,153.855L186.719,153.308L187.266,152.762L187.751,152.216L187.691,151.669L186.719,150.455L186.901,150.394L186.719,150.212L186.112,150.091L185.869,150.212L185.809,150.273L185.748,150.212L185.626,149.909L185.566,149.727L185.019,149.484Z" + android:pathData="M185.019,149.484L184.837,149.423L184.594,149.362L184.473,149.302L183.502,149.787L183.441,149.848L182.895,149.423H182.834H182.348L182.288,148.937H181.802L181.256,148.998H180.709L179.677,149.119H179.131L178.645,149.18L178.099,149.727L178.159,150.212L177.674,150.819L177.188,151.366L176.156,151.973L175.67,152.519L174.699,153.126L174.153,153.187L173.606,153.248L172.817,153.187L172.028,153.308L171.967,153.855L171.664,153.976L172.028,154.462H171.603L170.268,155.008H170.025L169.539,155.069L168.932,155.129L167.961,155.19H167.9L167.414,154.704L166.807,154.219L166.443,154.28H166.261L165.775,153.855L165.715,153.794L164.5,153.005L164.622,153.248L164.865,153.855L165.229,154.826H165.29L164.865,155.372L164.804,155.433L164.865,155.676L164.318,155.554H164.197L164.258,155.372L164.379,155.129L163.893,155.433L163.772,155.494H163.226H163.165L163.226,156.04L163.833,156.526V157.072L163.893,157.497V157.558L163.408,157.618H163.347L163.408,158.65L162.983,159.682V159.743H162.497H162.436L162.133,160.593L162.194,160.532L163.408,160.775L163.59,161.2L164.197,161.686L164.743,162.171L164.804,162.718V163.264L165.411,163.75L165.957,164.236L166.504,164.66L167.05,165.146H167.596L167.657,165.692L168.204,165.632L168.75,166.117L169.236,166.057H169.782L170.268,165.996L171.36,166.239L171.664,166.057L172.21,165.45L172.757,164.782L173.182,164.418L174.092,164.357L174.517,164.175L175.246,163.568L176.399,163.143L177.067,163.75L177.188,163.568L177.977,163.386L177.917,162.9H177.977H178.524L179.131,162.839L179.92,163.082L180.588,163.143L181.073,162.111L181.559,161.564L182.045,160.957L182.53,160.472L183.016,159.865V159.379H183.502L183.987,158.772L184.473,158.165L184.352,156.647L184.837,156.04L184.716,155.008L185.262,154.462L185.748,153.915L186.294,153.855L186.719,153.308L187.266,152.762L187.751,152.215L187.691,151.669L186.719,150.455L186.901,150.394L186.719,150.212L186.112,150.091L185.869,150.212L185.809,150.273L185.748,150.212L185.626,149.909L185.566,149.727L185.019,149.484Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M154.787,123.501V124.048L154.848,124.594V125.08L154.362,125.687L153.877,126.233L154.484,127.265L155.091,127.751V128.237L155.637,128.722H155.698L156.184,128.662L155.637,129.269L155.698,129.815L155.759,130.301L156.366,131.333L156.426,131.818L156.548,133.397V133.943L156.609,134.489L157.094,134.429L156.669,134.975L156.73,136.553L156.791,137.1V137.039L156.851,136.978L157.033,136.675L157.762,136.493H157.823H158.308L158.369,137.525L158.43,138.01V138.557L158.976,138.496L159.583,138.982L160.069,138.921L161.162,139.407H161.222L162.194,139.346L162.801,139.832L162.315,140.378L161.769,140.985L161.89,140.924L162.861,140.864L163.408,141.349L164.015,142.321V142.199V141.835L164.44,141.289H164.5L164.986,141.228L164.44,140.803L164.683,140.742H164.925L166.018,140.682L166.564,141.107H166.625L167.05,140.56L167.111,140.621L168.204,142.017L168.75,142.563L169.843,142.988L170.935,142.928L171.482,143.413L172.089,143.899L172.574,144.385H172.696L173.667,144.263L174.214,144.81L174.274,144.749L174.699,144.203H175.246L175.731,143.656H175.792L176.278,144.081L176.338,145.174L176.46,145.113L176.885,144.628L176.824,144.081L177.856,143.474V143.535L178.402,143.96L178.888,143.899L179.374,143.413L179.495,144.445V144.931H179.556L181.073,144.324L181.256,144.081L181.559,143.717L182.045,143.171L182.652,144.203H182.713H183.138L183.745,144.628L184.291,145.113L184.837,145.599H184.898H185.141H185.384L185.869,145.538H186.294H186.416L186.659,146.267L186.901,145.902L187.144,145.477L187.083,144.931L187.205,144.445L187.144,143.838V143.413L187.266,142.26L187.448,141.592L187.873,140.924L188.419,140.742L188.844,139.771L189.087,139.225L190.119,138.193L191.151,138.253L191.697,137.828L192.001,136.675L191.576,135.946L191.151,135.764V135.097L191.515,134.914L190.483,133.761L190.058,133.032L189.269,132.547L189.512,132.122L189.208,131.697L189.451,130.119L189.39,130.058L189.269,129.936V129.572L189.512,127.994L188.54,127.812L188.055,127.205L189.937,125.748L190.058,125.262L190.119,125.201L190.24,124.837L190.119,123.137L189.937,122.712L189.694,122.105L189.39,121.741L188.723,120.952L188.419,120.588L188.298,119.07L187.933,118.766L187.691,117.977L187.63,117.127L187.569,116.884L186.416,116.034L185.627,115.913L184.655,115.367V115.306L185.019,114.699L184.412,114.76L184.594,114.638L184.716,113.91L184.534,113.181L184.473,113.06V112.999L184.291,112.574L183.805,111.724L182.895,111.481L182.045,111.785L181.62,112.331L181.438,112.574L180.406,112.635L179.799,112.696H179.677L179.495,112.271L179.009,111.724L178.22,111.906L177.735,111.967V112.453L178.281,112.392L177.795,113.485L177.31,114.031L176.278,114.092V113.545L176.217,113.06V112.574L174.699,113.667V114.213L173.849,115.002L174.76,115.306L174.821,115.792L174.335,116.399H173.849V116.945L173.91,117.431V117.977L172.878,118.038L172.332,118.099V117.552L171.785,117.613L170.268,118.22L169.661,117.734L169.6,117.249V116.702L169.539,116.156L168.993,115.67V115.185L167.354,115.245L166.868,115.852H166.382L165.29,115.427L164.804,115.974L164.258,116.034L164.318,116.52L163.772,116.581L163.286,117.188L162.679,116.642L162.254,117.249L161.769,117.795L161.283,118.341H160.737L160.251,118.948H159.705L159.765,119.495L159.219,119.555L158.187,119.616L157.641,119.677L156.609,120.284L156.184,121.377L155.698,121.862L156.244,122.348L156.305,122.894L156.123,122.834L155.334,122.894L154.727,122.227V122.652V123.016L154.787,123.501Z" + android:pathData="M154.787,123.501V124.047L154.848,124.594V125.079L154.362,125.686L153.877,126.233L154.484,127.265L155.091,127.751V128.236L155.637,128.722H155.698L156.184,128.661L155.637,129.268L155.698,129.815L155.759,130.3L156.366,131.332L156.426,131.818L156.548,133.396V133.943L156.609,134.489L157.094,134.428L156.669,134.975L156.73,136.553L156.791,137.099V137.039L156.851,136.978L157.033,136.674L157.762,136.492H157.823H158.308L158.369,137.524L158.43,138.01V138.556L158.976,138.496L159.583,138.981L160.069,138.921L161.162,139.406H161.222L162.194,139.346L162.801,139.831L162.315,140.378L161.769,140.985L161.89,140.924L162.861,140.863L163.408,141.349L164.015,142.32V142.199V141.835L164.44,141.288H164.5L164.986,141.227L164.44,140.803L164.683,140.742H164.925L166.018,140.681L166.564,141.106H166.625L167.05,140.56L167.111,140.62L168.204,142.017L168.75,142.563L169.843,142.988L170.935,142.927L171.482,143.413L172.089,143.899L172.574,144.384H172.696L173.667,144.263L174.214,144.809L174.274,144.749L174.699,144.202H175.246L175.731,143.656H175.792L176.278,144.081L176.338,145.173L176.46,145.113L176.885,144.627L176.824,144.081L177.856,143.474V143.534L178.402,143.959L178.888,143.899L179.374,143.413L179.495,144.445V144.931H179.556L181.073,144.324L181.256,144.081L181.559,143.716L182.045,143.17L182.652,144.202H182.713H183.138L183.745,144.627L184.291,145.113L184.837,145.598H184.898H185.141H185.384L185.869,145.538H186.294H186.416L186.659,146.266L186.901,145.902L187.144,145.477L187.083,144.931L187.205,144.445L187.144,143.838V143.413L187.266,142.26L187.448,141.592L187.873,140.924L188.419,140.742L188.844,139.771L189.087,139.224L190.119,138.192L191.151,138.253L191.697,137.828L192.001,136.674L191.576,135.946L191.151,135.764V135.096L191.515,134.914L190.483,133.761L190.058,133.032L189.269,132.546L189.512,132.121L189.208,131.696L189.451,130.118L189.39,130.057L189.269,129.936V129.572L189.512,127.993L188.54,127.811L188.055,127.204L189.937,125.747L190.058,125.262L190.119,125.201L190.24,124.837L190.119,123.137L189.937,122.712L189.694,122.105L189.39,121.741L188.723,120.951L188.419,120.587L188.298,119.069L187.933,118.766L187.691,117.977L187.63,117.127L187.569,116.884L186.416,116.034L185.627,115.913L184.655,115.366V115.306L185.019,114.698L184.412,114.759L184.594,114.638L184.716,113.909L184.534,113.181L184.473,113.059V112.999L184.291,112.574L183.805,111.724L182.895,111.481L182.045,111.785L181.62,112.331L181.438,112.574L180.406,112.634L179.799,112.695H179.677L179.495,112.27L179.009,111.724L178.22,111.906L177.735,111.967V112.452L178.281,112.392L177.795,113.484L177.31,114.031L176.278,114.091V113.545L176.217,113.059V112.574L174.699,113.666V114.213L173.849,115.002L174.76,115.306L174.821,115.791L174.335,116.398H173.849V116.945L173.91,117.43V117.977L172.878,118.037L172.332,118.098V117.552L171.785,117.612L170.268,118.22L169.661,117.734L169.6,117.248V116.702L169.539,116.155L168.993,115.67V115.184L167.354,115.245L166.868,115.852H166.382L165.29,115.427L164.804,115.973L164.258,116.034L164.318,116.52L163.772,116.58L163.286,117.187L162.679,116.641L162.254,117.248L161.769,117.795L161.283,118.341H160.737L160.251,118.948H159.705L159.765,119.494L159.219,119.555L158.187,119.616L157.641,119.676L156.609,120.284L156.184,121.376L155.698,121.862L156.244,122.348L156.305,122.894L156.123,122.833L155.334,122.894L154.727,122.226V122.651V123.015L154.787,123.501Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M201.107,205.698L201.714,206.73H202.26L202.139,205.637L201.653,205.091L201.046,204.666L200.985,204.18L200.439,203.634L199.953,203.694L199.346,203.209L198.254,202.723L197.222,202.844L196.675,202.298L196.068,201.873L195.583,201.934L194.551,202.48L195.097,202.966H195.643L196.736,202.844L197.222,203.33L198.314,203.755L198.921,204.301L200.014,204.726L200.561,205.212L201.107,205.698Z" + android:pathData="M201.107,205.697L201.714,206.729H202.26L202.139,205.637L201.653,205.09L201.046,204.665L200.985,204.18L200.439,203.633L199.953,203.694L199.346,203.208L198.254,202.723L197.222,202.844L196.675,202.298L196.068,201.873L195.583,201.934L194.551,202.48L195.097,202.966H195.643L196.736,202.844L197.222,203.33L198.314,203.755L198.921,204.301L200.014,204.726L200.561,205.212L201.107,205.697Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M162.497,35.535V36.021L163.044,35.475L162.983,34.929H163.529L164.015,34.868L164.501,33.289L163.893,32.804H163.347L163.408,33.411H162.861L162.315,33.472L162.376,33.957L162.436,34.443L161.89,34.989L162.497,35.535Z" + android:pathData="M162.497,35.535V36.021L163.043,35.475L162.983,34.929H163.529L164.015,34.868L164.5,33.289L163.893,32.804H163.347L163.408,33.411H162.861L162.315,33.472L162.376,33.957L162.436,34.443L161.89,34.989L162.497,35.535Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M148.231,88.169L148.717,87.562L148.656,87.016L149.142,86.469H149.688H149.81L150.234,86.408L150.599,84.83L150.477,83.191V82.705L150.417,82.159L149.87,81.188L149.81,80.641L151.267,79.488V78.941L151.206,77.97L151.145,77.363L150.599,76.938L149.992,76.392V75.845L149.931,75.36L150.417,74.328L150.356,73.721L150.295,72.689L149.688,72.203V71.717L149.627,70.685L150.113,70.078L149.992,69.046L149.931,68.014L149.87,66.921L150.356,65.889L150.842,65.282L151.874,64.675V64.736L151.934,64.675V65.161H152.359L152.906,64.615L153.391,64.068H153.877L154.97,64.007L155.455,63.4L154.848,62.368L154.788,61.883V61.336L154.18,60.304L154.666,59.758L155.637,59.151V58.604L156.062,57.026L156.002,56.48L155.941,55.994L155.88,54.901L156.366,54.416L156.852,53.323L156.791,52.23L157.823,51.623L158.794,51.016L159.28,50.53L159.219,49.984L159.158,48.891L160.19,48.284L161.162,47.192V46.706L161.587,46.099L161.04,45.067L160.433,44.642L160.98,44.035L161.405,43.488L162.922,42.335V41.849L163.347,40.696H163.408H163.954L165.047,41.121L165.472,41.06V40.575L165.351,39.542L166.383,38.935H166.443L167.05,39.421L167.475,39.36V38.875L167.84,37.236H167.9L168.932,37.661V37.175L168.811,36.143V35.597L168.872,35.536L169.904,35.475L169.843,34.443L170.268,33.411H170.329L170.571,33.35H170.814L171.361,33.836L172.453,34.261L172.514,34.807L173.121,35.839H173.364L173.607,35.779H173.971H174.153L174.699,36.264L176.278,36.143L176.763,35.597H176.824L177.31,35.536L177.917,36.507L178.888,35.961L179.435,35.9L179.374,35.414L179.86,34.261L180.345,33.715L180.285,33.168V32.683L180.224,32.197L180.709,31.104L180.527,28.979L181.013,28.433H181.499L182.045,28.372L183.077,27.705L183.563,27.219L183.866,27.158H184.109L183.684,28.251L185.262,28.615H185.687H185.809L186.355,29.101L186.962,29.526V30.072L186.477,30.679L186.537,31.772L186.598,32.258L186.659,32.743V33.29H186.78L186.962,33.229H187.205L187.327,31.347L187.934,30.133L189.026,29.344L190.24,29.04V28.737L190.544,27.158L190.423,27.219L189.391,27.28L188.844,27.34L189.33,26.794L189.269,25.701L188.723,25.276L189.208,25.216L189.755,24.669L189.694,24.123L189.633,23.576L189.148,23.637L189.087,23.091L187.994,23.152L187.023,23.759L186.962,22.727L185.87,22.787L185.323,22.302L184.352,23.455V23.941L183.927,24.548L183.32,23.516L183.259,22.969L183.745,22.423V21.938L183.684,20.845L183.138,20.905L182.166,21.998V22.545L181.134,23.152L181.256,24.73L181.317,25.276L180.709,24.791V24.244L180.163,23.759L180.102,23.212V22.666L180.042,22.18L179.495,22.241L179.556,22.727L179.617,23.212L179.131,24.366L178.706,25.458L178.22,26.49L178.16,26.005V25.458L178.099,24.426L179.07,23.819V23.273L179.495,22.241L180.042,21.634L179.435,21.148L177.917,22.302L177.371,21.816L176.885,22.423L176.946,22.909L177.978,23.334L176.46,24.001L175.914,23.516L175.428,24.062L175.489,25.155H174.942L175.549,25.641L174.517,26.794L173.91,25.762L173.485,26.369L173.546,26.855V27.401L173.06,27.948L172.514,27.462H171.968V28.008L171.421,27.522L170.875,27.583L170.45,28.13V28.615L169.964,28.676L169.479,29.283L169.539,30.254L170.086,30.74L170.146,31.833L169.6,31.286L169.054,30.801L168.507,30.861L168.082,32.015L167.415,30.922L166.99,31.529L167.05,32.561L167.597,33.593L167.657,34.079L167.111,33.593L166.504,32.622L166.565,33.654L166.14,34.747L165.593,34.2L165.472,33.229L164.986,33.775L165.108,35.354H164.622L164.076,35.414L163.59,35.961L164.136,36.446L163.651,37.054L163.165,37.539L163.226,38.085L163.772,38.571L163.287,39.178L161.708,39.3L161.647,38.693L161.162,39.3V39.785L161.283,40.878V41.364L160.858,42.457L160.798,41.424L160.737,40.392L160.676,39.846L160.19,40.453H159.705L159.158,40.514L158.673,41.06L159.158,41L159.766,41.485V42.032L159.219,41.485L158.733,42.092L158.126,41.607H157.641L157.701,42.699L157.216,43.306L158.733,42.639L159.341,43.124V43.61L158.309,43.731H157.762L157.337,44.338V44.824L158.369,44.763L158.43,45.795L157.944,45.856H157.398L156.912,46.463L156.427,47.009L155.334,46.584L154.848,47.131L154.909,47.677V48.163H154.423L153.938,48.709L154.484,49.256L153.998,49.802L152.906,49.923L153.513,50.409L154.059,50.895L154.545,50.288L154.666,51.32L153.573,51.38L153.027,51.441L153.088,51.987L153.634,52.412L153.148,53.02H152.602L152.116,53.627L151.631,54.173L152.238,54.719V55.144L151.752,55.751L151.206,55.266V54.78L150.659,55.812L150.72,56.358L151.267,56.298L151.388,57.39L150.842,57.937L150.356,57.998L150.417,59.029L149.931,59.576H149.385L149.445,60.122L149.931,60.062L149.992,60.608L150.052,61.154L149.567,61.701L148.474,61.276L148.413,60.729L147.867,60.244L147.381,60.79L146.896,61.397H146.349L145.803,61.458L145.864,62.49L145.378,63.036L144.953,64.129H144.467L143.921,64.19L143.982,64.736L144.042,65.768L143.435,65.282L142.95,65.829L142.464,66.436L141.918,65.889L141.432,66.496L140.886,67.043H140.4L140.521,68.136L139.914,67.65H139.368L139.975,68.196V68.682L139.489,68.743L138.882,68.257L138.457,68.803L137.911,68.864H137.365L136.818,68.925L136.879,69.471L137.486,70.442L136.94,70.503H136.393L135.301,70.078H134.815L134.329,70.685L134.876,71.171L134.936,71.717H134.39L133.358,71.839L132.872,72.931L132.812,71.839L132.265,71.899L131.78,72.446L131.294,71.96L130.687,72.021H130.201L130.262,72.567V73.114L130.808,73.538H131.355L131.415,74.024L130.869,74.085L130.383,74.631L129.291,74.753L129.351,75.238L129.958,75.724V76.27L128.866,75.845L128.926,76.331V76.877L129.533,77.849L130.626,77.788V78.334L130.14,78.395L128.987,77.849L129.048,78.456L129.108,78.941L129.655,79.913L130.262,80.398L129.715,81.006L129.23,80.52L128.683,81.066L128.744,81.613L129.776,82.037L129.291,82.098H128.805V82.645L129.412,83.13L129.898,83.616L130.99,83.555L132.022,82.948L131.051,84.041L130.565,84.587L130.019,85.194L131.233,86.166L130.687,86.226L130.08,86.287L129.655,86.773L129.108,86.348L128.562,86.408L128.076,87.38L128.137,87.987L127.712,89.019L128.259,89.565L129.169,87.926L130.201,87.805L130.262,88.351L130.323,89.444H129.837L129.898,90.476L129.412,91.022L129.351,90.536L128.926,91.022V91.568L129.048,92.661V93.147L130.14,94.118L131.78,94.543L130.748,95.636L131.901,96.121L132.387,95.515L132.447,96.607L134.026,96.486L135.058,96.425L136.09,95.818L136.15,96.364L137.122,95.757L137.607,95.15L138.032,94.118L138.579,93.511L140.157,92.904L140.096,92.418L140.582,91.811L141.614,91.751L141.675,92.297L142.221,92.722L143.253,92.176L143.192,91.083L144.164,89.99L144.042,88.897L143.496,88.472L144.467,87.319L144.953,86.773L145.439,86.166H145.985L146.046,87.198L145.56,87.744L145.074,87.805L145.135,88.837L145.621,88.776L147.26,89.747L148.231,88.594V88.169Z" + android:pathData="M148.231,88.169L148.717,87.562L148.656,87.015L149.142,86.469H149.688H149.81L150.234,86.408L150.599,84.83L150.477,83.191V82.705L150.417,82.159L149.87,81.188L149.81,80.641L151.267,79.488V78.941L151.206,77.97L151.145,77.363L150.599,76.938L149.992,76.392V75.845L149.931,75.36L150.417,74.328L150.356,73.72L150.295,72.688L149.688,72.203V71.717L149.627,70.685L150.113,70.078L149.992,69.046L149.931,68.014L149.87,66.921L150.356,65.889L150.842,65.282L151.874,64.675V64.736L151.934,64.675V65.161H152.359L152.906,64.614L153.391,64.068H153.877L154.97,64.007L155.455,63.4L154.848,62.368L154.788,61.883V61.336L154.18,60.304L154.666,59.758L155.637,59.151V58.604L156.062,57.026L156.002,56.48L155.941,55.994L155.88,54.901L156.366,54.416L156.852,53.323L156.791,52.23L157.823,51.623L158.794,51.016L159.28,50.53L159.219,49.984L159.158,48.891L160.19,48.284L161.162,47.192V46.706L161.587,46.099L161.04,45.067L160.433,44.642L160.98,44.035L161.405,43.488L162.922,42.335V41.849L163.347,40.696H163.408H163.954L165.047,41.121L165.472,41.06V40.574L165.351,39.542L166.383,38.935H166.443L167.05,39.421L167.475,39.36V38.875L167.84,37.236H167.9L168.932,37.66V37.175L168.811,36.143V35.596L168.872,35.536L169.904,35.475L169.843,34.443L170.268,33.411H170.329L170.571,33.35H170.814L171.361,33.836L172.453,34.261L172.514,34.807L173.121,35.839H173.364L173.607,35.779H173.971H174.153L174.699,36.264L176.278,36.143L176.763,35.596H176.824L177.31,35.536L177.917,36.507L178.888,35.961L179.435,35.9L179.374,35.414L179.86,34.261L180.345,33.715L180.285,33.168V32.682L180.224,32.197L180.709,31.104L180.527,28.979L181.013,28.433H181.499L182.045,28.372L183.077,27.705L183.563,27.219L183.866,27.158H184.109L183.684,28.251L185.262,28.615H185.687H185.809L186.355,29.101L186.962,29.526V30.072L186.477,30.679L186.537,31.772L186.598,32.257L186.659,32.743V33.29H186.78L186.962,33.229H187.205L187.327,31.347L187.934,30.133L189.026,29.344L190.24,29.04V28.736L190.544,27.158L190.423,27.219L189.391,27.28L188.844,27.34L189.33,26.794L189.269,25.701L188.723,25.276L189.208,25.215L189.755,24.669L189.694,24.123L189.633,23.576L189.148,23.637L189.087,23.091L187.994,23.152L187.023,23.758L186.962,22.726L185.87,22.787L185.323,22.302L184.352,23.455V23.941L183.927,24.548L183.32,23.516L183.259,22.969L183.745,22.423V21.937L183.684,20.845L183.138,20.905L182.166,21.998V22.544L181.134,23.152L181.256,24.73L181.317,25.276L180.709,24.791V24.244L180.163,23.758L180.102,23.212V22.666L180.042,22.18L179.495,22.241L179.556,22.726L179.617,23.212L179.131,24.366L178.706,25.458L178.22,26.49L178.16,26.005V25.458L178.099,24.426L179.07,23.819V23.273L179.495,22.241L180.042,21.634L179.435,21.148L177.917,22.302L177.371,21.816L176.885,22.423L176.946,22.909L177.978,23.334L176.46,24.001L175.914,23.516L175.428,24.062L175.489,25.155H174.942L175.549,25.64L174.517,26.794L173.91,25.762L173.485,26.369L173.546,26.855V27.401L173.06,27.947L172.514,27.462H171.968V28.008L171.421,27.522L170.875,27.583L170.45,28.129V28.615L169.964,28.676L169.479,29.283L169.539,30.254L170.086,30.74L170.146,31.833L169.6,31.286L169.054,30.801L168.507,30.861L168.082,32.015L167.415,30.922L166.99,31.529L167.05,32.561L167.597,33.593L167.657,34.079L167.111,33.593L166.504,32.622L166.565,33.654L166.14,34.746L165.593,34.2L165.472,33.229L164.986,33.775L165.108,35.354H164.622L164.076,35.414L163.59,35.961L164.136,36.446L163.651,37.053L163.165,37.539L163.226,38.085L163.772,38.571L163.287,39.178L161.708,39.3L161.647,38.693L161.162,39.3V39.785L161.283,40.878V41.364L160.858,42.456L160.798,41.424L160.737,40.392L160.676,39.846L160.19,40.453H159.705L159.158,40.514L158.673,41.06L159.158,40.999L159.766,41.485V42.031L159.219,41.485L158.733,42.092L158.126,41.606H157.641L157.701,42.699L157.216,43.306L158.733,42.639L159.341,43.124V43.61L158.309,43.731H157.762L157.337,44.338V44.824L158.369,44.763L158.43,45.795L157.944,45.856H157.398L156.912,46.463L156.427,47.009L155.334,46.584L154.848,47.131L154.909,47.677V48.163H154.423L153.938,48.709L154.484,49.256L153.998,49.802L152.906,49.923L153.513,50.409L154.059,50.895L154.545,50.287L154.666,51.32L153.573,51.38L153.027,51.441L153.088,51.987L153.634,52.412L153.148,53.019H152.602L152.116,53.626L151.631,54.173L152.238,54.719V55.144L151.752,55.751L151.206,55.265V54.78L150.659,55.812L150.72,56.358L151.267,56.298L151.388,57.39L150.842,57.937L150.356,57.997L150.417,59.029L149.931,59.576H149.385L149.445,60.122L149.931,60.061L149.992,60.608L150.052,61.154L149.567,61.701L148.474,61.276L148.413,60.729L147.867,60.243L147.381,60.79L146.896,61.397H146.349L145.803,61.458L145.864,62.49L145.378,63.036L144.953,64.129H144.467L143.921,64.189L143.982,64.736L144.042,65.768L143.435,65.282L142.95,65.829L142.464,66.436L141.918,65.889L141.432,66.496L140.886,67.043H140.4L140.521,68.135L139.914,67.65H139.368L139.975,68.196V68.682L139.489,68.743L138.882,68.257L138.457,68.803L137.911,68.864H137.365L136.818,68.925L136.879,69.471L137.486,70.442L136.94,70.503H136.393L135.301,70.078H134.815L134.329,70.685L134.876,71.171L134.936,71.717H134.39L133.358,71.839L132.872,72.931L132.812,71.839L132.265,71.899L131.78,72.446L131.294,71.96L130.687,72.021H130.201L130.262,72.567V73.113L130.808,73.538H131.355L131.415,74.024L130.869,74.085L130.383,74.631L129.291,74.753L129.351,75.238L129.958,75.724V76.27L128.866,75.845L128.926,76.331V76.877L129.533,77.849L130.626,77.788V78.334L130.14,78.395L128.987,77.849L129.048,78.456L129.108,78.941L129.655,79.913L130.262,80.398L129.715,81.005L129.23,80.52L128.683,81.066L128.744,81.612L129.776,82.037L129.291,82.098H128.805V82.644L129.412,83.13L129.898,83.616L130.99,83.555L132.022,82.948L131.051,84.041L130.565,84.587L130.019,85.194L131.233,86.165L130.687,86.226L130.08,86.287L129.655,86.772L129.108,86.348L128.562,86.408L128.076,87.38L128.137,87.987L127.712,89.019L128.259,89.565L129.169,87.926L130.201,87.804L130.262,88.351L130.323,89.444H129.837L129.898,90.476L129.412,91.022L129.351,90.536L128.926,91.022V91.568L129.048,92.661V93.147L130.14,94.118L131.78,94.543L130.748,95.636L131.901,96.121L132.387,95.514L132.447,96.607L134.026,96.486L135.058,96.425L136.09,95.818L136.15,96.364L137.122,95.757L137.607,95.15L138.032,94.118L138.579,93.511L140.157,92.904L140.096,92.418L140.582,91.811L141.614,91.751L141.675,92.297L142.221,92.722L143.253,92.175L143.192,91.083L144.164,89.99L144.042,88.897L143.496,88.472L144.467,87.319L144.953,86.772L145.439,86.165H145.985L146.046,87.198L145.56,87.744L145.074,87.804L145.135,88.837L145.621,88.776L147.26,89.747L148.231,88.594V88.169Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M146.835,90.841H146.895L146.956,91.387L147.442,91.873L147.867,91.326V90.78L147.806,90.234L147.259,89.748L146.349,90.901L146.531,90.841H146.835Z" + android:pathData="M146.835,90.84H146.895L146.956,91.387L147.442,91.872L147.867,91.326V90.78L147.806,90.233L147.259,89.748L146.349,90.901L146.531,90.84H146.835Z" android:fillColor="#D8D8D8"/> <path android:pathData="M176.763,42.943H176.702L177.188,42.396V41.91L177.127,41.304V40.818L177.067,40.271L176.52,39.786L176.399,38.754H175.913L174.76,38.329L173.728,37.843L173.242,37.904L172.635,37.418L172.149,37.479H172.089L172.028,36.447L170.935,35.961L169.843,35.476L168.871,35.536L168.811,35.597V36.143L168.932,37.175V37.661V37.722L167.9,37.236H167.839L167.475,38.875V39.361L166.989,39.422L166.443,38.936H166.382L165.35,39.543L165.472,40.575V41.061L164.986,41.121L163.954,40.696H163.408H163.347L162.922,41.85V42.335L161.404,43.489L160.979,44.035L160.433,44.642L161.04,45.067L161.586,46.099L161.161,46.706V47.192L160.19,48.285L159.158,48.892L159.219,49.985L159.279,50.531L158.794,51.017L157.823,51.624L156.79,52.231L156.851,53.324L156.366,54.416L155.88,54.902L155.941,55.995L156.001,56.48L156.062,57.027L155.637,58.605V59.151L154.666,59.758L154.18,60.305L154.787,61.337V61.883L154.848,62.369L155.455,63.401L154.969,64.008L153.877,64.069H153.391L152.905,64.615L152.359,65.161L151.873,65.222V64.736V64.676L150.841,65.283L150.356,65.89L149.87,66.922L149.931,68.015L149.991,69.047L150.113,70.079L149.627,70.686L149.688,71.718V72.203L150.295,72.689L150.356,73.721L150.416,74.328L149.931,75.36L149.991,75.846V76.392L150.598,76.938L151.145,77.364L151.205,77.971L151.266,78.942V79.488L149.809,80.642L149.87,81.188L150.416,82.159L150.477,82.706V83.191L150.598,84.83L150.234,86.409L149.809,86.47H149.688H149.141L148.656,87.016L148.716,87.562L148.231,88.169V88.594L147.259,89.748L147.806,90.233L147.867,90.78V91.326L147.442,91.872H147.381L146.895,91.387L146.835,90.84H146.531L146.349,90.901L146.41,91.933L146.47,92.419L146.531,93.512V94.058L146.592,94.544L146.652,95.09V95.576H147.199L147.259,96.608L147.684,96.061L148.292,96.547L147.806,97.64L147.867,98.125V98.672L147.927,99.157L147.988,100.25L148.049,100.796L148.656,101.282L148.109,101.828L148.17,102.86L148.777,103.346L149.263,103.285L149.384,104.925L150.538,105.349V105.835L150.598,106.381L150.052,106.442L150.113,106.928L149.566,107.474L149.627,108.021V108.567L150.234,108.992L150.295,109.599L150.841,110.024L150.902,110.57L150.963,111.602L150.477,112.209L151.023,112.634L151.509,112.088L152.116,112.574L153.634,111.967L154.18,112.452L154.666,112.391L155.273,112.331L155.212,111.845L155.151,110.813L155.091,109.72L155.516,109.174H156.062L156.608,109.113L157.094,108.506L156.548,108.567L157.033,108.021L158.065,107.414L159.158,107.899V108.385L159.704,108.324L160.736,108.263L161.283,108.203L161.222,107.171L161.161,106.685L162.133,105.046L162.011,104.014L162.497,103.468L163.043,102.86L162.983,102.375H162.436L162.922,101.282L163.408,100.736L162.861,100.25L162.801,99.704L162.74,99.218L163.225,98.611V98.065L163.65,97.033V96.547L163.59,95.94L162.983,94.968L164.015,94.362L162.376,93.997L162.861,93.39L163.954,93.876L164.5,93.815L165.472,92.722L165.411,92.176V91.63H165.897L166.443,91.569L166.989,92.055L167.475,90.962L167.961,90.415L168.932,89.808L167.839,89.383V88.837L168.386,88.23H168.871L169.782,86.652L169.235,86.105L169.175,85.073L168.143,85.62V85.134L168.082,84.588L167.475,84.102L166.989,83.677L166.929,83.131L166.868,82.584L165.836,83.191L165.289,82.706L164.743,82.159L164.622,81.188L164.075,80.702L164.015,80.156L163.529,79.67L164.015,79.61L164.5,79.063L164.44,78.031L164.379,77.485L164.318,76.453L164.865,76.392L164.257,75.967L164.743,75.36L164.682,74.328L165.168,73.782L165.107,72.689L163.529,72.811L163.468,71.778L163.954,71.232L165.047,71.657L165.532,71.111L166.079,71.05L166.504,70.504H167.111L168.082,69.896L167.536,69.411L168.507,68.257L167.961,67.772L168.993,67.711L169.478,66.618L169.964,67.104L170.996,66.497L170.45,66.011L170.935,65.465L171.482,65.404L172.514,64.797L172.392,63.765V63.219L172.332,62.733L172.817,61.64H173.303L173.728,60.548L174.274,59.94L173.667,59.516V58.969L173.546,57.876L173.485,56.845L173.971,56.298V55.752L173.91,55.266L174.396,54.659L175.488,54.598L175.428,53.506L175.306,52.534V51.988H175.792L176.338,52.413L177.309,51.32L177.917,51.806H178.463L178.949,51.745L179.495,52.231L179.981,51.684L179.859,50.592L179.313,50.106L178.766,49.135L178.706,48.588L178.645,47.556L178.584,46.464L179.009,45.917L178.524,45.432L178.463,44.946L177.917,44.4L177.856,43.914L177.795,43.368V42.882L176.763,42.943Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M197.039,75.724L197.525,74.692L198.011,74.085L198.436,73.538L198.921,72.385L199.225,71.353L199.346,70.867V71.232V71.353L199.893,71.292L200.378,70.746L199.832,70.26L200.317,69.714L200.257,68.621L200.742,68.135L201.228,67.528L201.167,67.043L201.592,65.889L202.624,65.282L203.11,64.25L202.503,63.218L201.957,62.733L200.317,62.308L198.678,61.883L198.132,61.397L197.586,60.972L197.039,61.033L196.432,60.001H196.493L196.979,59.94L197.464,59.879L198.011,59.272L197.95,58.787V58.301L197.343,57.815L197.282,57.269L196.25,57.33V56.783L196.189,56.298L195.4,55.994L195.34,55.933L195.097,55.812L196.129,55.266L195.582,54.78L195.522,54.234L195.036,54.841L194.429,54.294V53.809L194.368,53.262V52.716L193.883,52.352L193.761,52.23V51.745L193.822,51.684L194.247,51.198L193.64,50.166L194.125,49.559V49.316L194.065,49.074V48.527L193.458,47.556L192.851,46.524L192.304,45.977L191.211,45.613L191.151,45.067L190.604,44.581L189.997,43.549L189.937,42.517L189.876,42.031L189.815,40.999L190.301,40.392L190.24,39.907L190.179,38.814L189.087,37.843L188.115,37.478L187.994,37.418V37.296L187.933,36.871L187.387,36.386L186.841,35.9L186.233,35.414V34.929L186.719,34.322L186.658,33.775L187.144,33.229H186.962L186.78,33.29H186.658L186.598,32.743L186.537,32.258V31.772L186.476,30.679L186.962,30.072L186.901,29.587L186.355,29.101L185.748,28.615H185.687H185.262L183.623,28.251L184.109,27.158H183.866L183.562,27.219L183.077,27.705L182.045,28.372L181.498,28.433H181.013L180.527,28.979L180.709,31.104L180.223,32.197L180.284,32.682V33.168L180.345,33.715L179.859,34.261L179.374,35.414L179.434,35.9L178.888,35.961L177.917,36.507L177.31,35.536L176.824,35.597H176.763L176.277,36.143L174.699,36.264L174.153,35.779H173.971H173.606L173.364,35.839H173.06L172.453,34.807V34.261L171.36,33.836L170.814,33.35H170.571L170.328,33.411H170.267L169.843,34.443L169.903,35.475L170.996,35.961L172.028,36.446L172.149,37.478L172.635,37.418L173.242,37.903L173.728,37.843L174.821,38.328L175.913,38.753H176.46L176.52,39.785L177.067,40.271L177.127,40.817L177.188,41.303V41.849L177.249,42.396L176.763,42.942L177.795,42.881L177.856,43.367V43.913L177.917,44.399L178.463,44.945L178.524,45.431L179.07,45.917L178.584,46.463L178.645,47.556L178.766,48.588V49.134L179.374,50.105L179.92,50.591L179.981,51.684L180.527,51.623L181.073,52.109L182.166,52.048L182.227,52.595L182.712,53.019L182.773,53.566V54.051L182.895,55.144V55.69L183.502,56.116V56.662L182.955,56.723H182.47L181.984,56.783V57.33L181.073,58.969V59.454L180.648,60.547L180.163,61.154L179.191,62.247V62.733L179.252,63.279L178.22,63.886L177.734,64.432L177.249,64.979V65.525L177.37,66.618L176.338,67.164L175.792,66.678L175.245,66.739L175.306,67.771L174.335,68.925L174.396,69.957L174.456,70.442L175.003,70.928L175.124,71.96L174.578,72.567L174.638,73.114L175.731,73.538L175.792,74.024L175.853,75.117L175.974,76.634L176.035,77.727L175.003,78.334L175.063,79.366L175.124,79.913L176.277,81.37L177.856,81.248L178.402,81.795L179.495,81.734L180.041,81.673L180.648,82.705L180.709,83.676L181.255,84.223L181.802,84.709L183.38,84.587L183.927,84.526L184.352,83.434L184.837,82.887L185.444,83.919L185.93,83.312L186.416,82.766L187.448,82.22L188.965,81.552H189.512L190.058,81.491L189.997,80.945L189.937,80.398L190.483,79.852L191.09,80.884L191.515,80.277L192.547,79.731L193.033,78.638L193.579,79.123L194.672,79.063L195.157,79.002L195.643,78.456L196.129,77.181L196.554,76.27L197.039,75.724Z" + android:pathData="M197.039,75.724L197.525,74.692L198.011,74.085L198.435,73.538L198.921,72.385L199.225,71.353L199.346,70.867V71.231V71.353L199.892,71.292L200.378,70.746L199.832,70.26L200.317,69.714L200.257,68.621L200.742,68.135L201.228,67.528L201.167,67.043L201.592,65.889L202.624,65.282L203.11,64.25L202.503,63.218L201.956,62.732L200.317,62.307L198.678,61.882L198.132,61.397L197.586,60.972L197.039,61.033L196.432,60.001H196.493L196.978,59.94L197.464,59.879L198.011,59.272L197.95,58.786V58.301L197.343,57.815L197.282,57.269L196.25,57.329V56.783L196.189,56.297L195.4,55.994L195.339,55.933L195.097,55.812L196.129,55.265L195.582,54.78L195.522,54.233L195.036,54.84L194.429,54.294V53.808L194.368,53.262V52.716L193.882,52.352L193.761,52.23V51.744L193.822,51.684L194.247,51.198L193.64,50.166L194.125,49.559V49.316L194.065,49.073V48.527L193.457,47.556L192.85,46.524L192.304,45.977L191.211,45.613L191.151,45.067L190.604,44.581L189.997,43.549L189.936,42.517L189.876,42.031L189.815,40.999L190.301,40.392L190.24,39.907L190.179,38.814L189.087,37.842L188.115,37.478L187.994,37.417V37.296L187.933,36.871L187.387,36.386L186.84,35.9L186.233,35.414V34.929L186.719,34.321L186.658,33.775L187.144,33.229H186.962L186.78,33.289H186.658L186.598,32.743L186.537,32.257V31.772L186.476,30.679L186.962,30.072L186.901,29.586L186.355,29.101L185.748,28.615H185.687H185.262L183.623,28.251L184.109,27.158H183.866L183.562,27.219L183.077,27.704L182.045,28.372L181.498,28.433H181.013L180.527,28.979L180.709,31.104L180.223,32.197L180.284,32.682V33.168L180.345,33.714L179.859,34.261L179.373,35.414L179.434,35.9L178.888,35.961L177.916,36.507L177.309,35.536L176.824,35.596H176.763L176.277,36.143L174.699,36.264L174.153,35.778H173.97H173.606L173.363,35.839H173.06L172.453,34.807V34.261L171.36,33.836L170.814,33.35H170.571L170.328,33.411H170.267L169.842,34.443L169.903,35.475L170.996,35.961L172.028,36.446L172.149,37.478L172.635,37.417L173.242,37.903L173.728,37.842L174.82,38.328L175.913,38.753H176.459L176.52,39.785L177.067,40.271L177.127,40.817L177.188,41.303V41.849L177.249,42.396L176.763,42.942L177.795,42.881L177.856,43.367V43.913L177.916,44.399L178.463,44.945L178.524,45.431L179.07,45.917L178.584,46.463L178.645,47.556L178.766,48.588V49.134L179.373,50.105L179.92,50.591L179.981,51.684L180.527,51.623L181.073,52.109L182.166,52.048L182.227,52.594L182.712,53.019L182.773,53.566V54.051L182.894,55.144V55.69L183.502,56.115V56.662L182.955,56.722H182.469L181.984,56.783V57.329L181.073,58.968V59.454L180.648,60.547L180.163,61.154L179.191,62.247V62.732L179.252,63.279L178.22,63.886L177.734,64.432L177.249,64.979V65.525L177.37,66.618L176.338,67.164L175.792,66.678L175.245,66.739L175.306,67.771L174.335,68.924L174.395,69.956L174.456,70.442L175.003,70.928L175.124,71.96L174.578,72.567L174.638,73.113L175.731,73.538L175.792,74.024L175.852,75.117L175.974,76.634L176.035,77.727L175.003,78.334L175.063,79.366L175.124,79.912L176.277,81.369L177.856,81.248L178.402,81.794L179.495,81.734L180.041,81.673L180.648,82.705L180.709,83.676L181.255,84.223L181.802,84.708L183.38,84.587L183.926,84.526L184.351,83.434L184.837,82.887L185.444,83.919L185.93,83.312L186.415,82.766L187.447,82.219L188.965,81.552H189.512L190.058,81.491L189.997,80.945L189.936,80.398L190.483,79.852L191.09,80.884L191.515,80.277L192.547,79.73L193.033,78.638L193.579,79.123L194.672,79.063L195.157,79.002L195.643,78.455L196.129,77.181L196.554,76.27L197.039,75.724Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M212.823,171.52L212.277,171.581L211.791,171.459H211.306L210.213,171.763L209.606,171.399L208.695,171.459L208.088,171.52L207.481,170.974L205.478,171.702L204.931,171.945L204.264,173.281L203.05,174.495L201.896,174.98L201.593,175.587L200.439,175.83L199.468,175.345L198.921,175.405L197.768,175.466L197.222,175.527L196.311,175.587L195.158,175.648L194.368,175.284L193.64,175.345L192.486,175.466L191.576,175.527L190.908,175.223L190.787,174.737L190.665,174.616V174.313L190.483,173.705L190.301,173.584V173.341L190.18,173.22L189.39,174.13L188.844,174.677L188.662,174.737L188.601,174.798H188.358L188.965,175.77L189.026,176.802L189.573,177.287L189.633,177.834L190.18,177.773L190.665,177.712L191.272,178.258L190.787,178.744V179.291L189.755,179.898L189.815,180.444L189.876,181.476H189.573V181.537L189.33,181.597L189.451,182.569V183.054L189.512,184.086L190.665,184.633L191.212,185.058L191.758,185.543L192.304,186.029L192.851,186.515L192.911,187.061L192.972,187.547L192.486,188.154L193.397,188.518H193.519L194.611,188.457L195.643,188.397L196.675,188.336L197.222,188.822L197.889,188.154L197.707,187.607L198.072,187.425L199.164,186.94L199.589,187.182H199.893L200.136,186.879H200.318L200.803,187.486L201.35,187.425L201.41,187.972L201.653,187.85L202.2,187.486L202.442,187.365H202.928L203.414,187.304L204.385,187.243L204.81,186.818H204.871L204.992,186.636L206.024,186.575L206.995,186.515L207.117,186.393L207.056,186.029L206.631,185.483L206.571,184.936L207.481,184.511L207.785,184.572L207.724,184.511L207.967,184.451V184.39L208.452,183.844L208.392,183.358L208.938,183.297H209.302L209.788,182.751H209.849L209.909,182.69L210.456,182.629L211.002,182.569H211.549V183.115H212.095L213.127,182.994L214.523,182.933V182.447L214.402,181.355L213.916,181.415L213.309,180.93V180.383L212.216,180.505L211.791,181.051L211.67,180.019V179.473L212.095,178.926L212.641,178.866V178.319L213.127,177.773L212.52,177.287L212.459,176.255H213.005L212.945,175.162L212.884,174.13L213.916,174.07L214.948,174.009L215.434,173.402L215.009,172.552L212.823,171.52Z" + android:pathData="M212.823,171.52L212.277,171.581L211.791,171.459H211.305L210.213,171.763L209.606,171.399L208.695,171.459L208.088,171.52L207.481,170.974L205.478,171.702L204.931,171.945L204.263,173.28L203.049,174.495L201.896,174.98L201.592,175.587L200.439,175.83L199.468,175.344L198.921,175.405L197.768,175.466L197.221,175.527L196.311,175.587L195.157,175.648L194.368,175.284L193.64,175.344L192.486,175.466L191.576,175.527L190.908,175.223L190.786,174.737L190.665,174.616V174.312L190.483,173.705L190.301,173.584V173.341L190.179,173.22L189.39,174.13L188.844,174.677L188.662,174.737L188.601,174.798H188.358L188.965,175.769L189.026,176.801L189.572,177.287L189.633,177.833L190.179,177.773L190.665,177.712L191.272,178.258L190.786,178.744V179.29L189.754,179.898L189.815,180.444L189.876,181.476H189.572V181.537L189.329,181.597L189.451,182.569V183.054L189.512,184.086L190.665,184.633L191.211,185.058L191.758,185.543L192.304,186.029L192.85,186.515L192.911,187.061L192.972,187.547L192.486,188.154L193.397,188.518H193.518L194.611,188.457L195.643,188.397L196.675,188.336L197.221,188.821L197.889,188.154L197.707,187.607L198.071,187.425L199.164,186.94L199.589,187.182H199.893L200.135,186.879H200.317L200.803,187.486L201.349,187.425L201.41,187.972L201.653,187.85L202.199,187.486L202.442,187.364H202.928L203.414,187.304L204.385,187.243L204.81,186.818H204.87L204.992,186.636L206.024,186.575L206.995,186.515L207.117,186.393L207.056,186.029L206.631,185.483L206.57,184.936L207.481,184.511L207.784,184.572L207.724,184.511L207.967,184.451V184.39L208.452,183.843L208.391,183.358L208.938,183.297H209.302L209.788,182.751H209.848L209.909,182.69L210.456,182.629L211.002,182.569H211.548V183.115H212.095L213.127,182.994L214.523,182.933V182.447L214.401,181.354L213.916,181.415L213.309,180.93V180.383L212.216,180.505L211.791,181.051L211.67,180.019V179.473L212.095,178.926L212.641,178.865V178.319L213.127,177.773L212.52,177.287L212.459,176.255H213.005L212.945,175.162L212.884,174.13L213.916,174.07L214.948,174.009L215.434,173.402L215.009,172.552L212.823,171.52Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M193.519,188.519H193.397L193.458,188.579L193.519,188.519Z" + android:pathData="M193.519,188.518H193.397L193.458,188.579L193.519,188.518Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M216.162,161.746L215.191,161.625H215.13H215.009L214.584,162.232L214.28,162.414L213.916,162.232L213.248,161.928L212.216,162.293L211.609,161.503L211.549,160.471L211.427,159.379V158.893L210.82,158.407V157.861L210.759,157.375H211.306L211.245,156.283L211.184,155.736L210.577,154.765V154.218L209.484,153.794L208.938,153.308L208.331,152.761L208.27,151.729L207.178,151.305L205.903,151.122L206.024,149.301L204.324,148.33L203.778,147.844L203.353,147.784H203.292L202.625,147.601L202.321,147.48H202.139L201.653,147.298L200.196,147.905L200.014,148.512L199.832,148.937L198.861,149.058L198.011,149.119L197.647,149.058L196.554,150.09L196.007,150.515L194.49,149.908L193.883,149.969L192.972,150.151L192.486,150.94L191.515,150.819L190.908,150.515L190.119,150.212L189.148,150.03L187.691,150.151L186.901,150.394L186.719,150.455L187.691,151.669L187.751,152.215L187.266,152.761L186.719,153.308L186.294,153.854L185.748,153.915L185.262,154.461L184.716,155.008L184.837,156.04L184.352,156.647L184.473,158.164L183.987,158.771L183.502,159.379H183.016V159.864L182.531,160.471L182.045,160.957L181.559,161.564L181.074,162.11L180.588,163.142L180.649,163.203L180.224,164.235H180.709L181.256,164.174L181.316,164.721L181.377,165.753L181.438,166.299L181.984,166.724L182.045,167.817L182.47,167.756H183.016H183.138L183.745,168.242L184.23,168.727V169.213L183.805,169.82L183.866,170.306L183.927,170.791H184.352L185.141,170.731H185.323H185.505L185.93,170.67L186.537,171.216L187.569,171.581L187.994,171.095L189.026,170.427V170.488L189.087,170.427L189.694,170.974L189.208,171.52V172.066L189.815,172.006L190.362,172.977L190.18,173.22L190.301,173.341V173.584L190.483,173.705L190.665,174.313L190.726,174.434L190.787,174.737L190.908,175.223L191.576,175.527L192.486,175.466L193.64,175.345L194.368,175.284L195.158,175.648L196.311,175.587L197.222,175.527L197.768,175.466L198.921,175.405L199.468,175.345L200.439,175.83L201.593,175.587L201.896,174.98L203.05,174.495L204.264,173.28L204.931,171.945L205.478,171.702L207.481,170.974L208.088,171.52L208.695,171.459L209.606,171.399L210.213,171.763L211.306,171.459H211.791L212.277,171.581L212.823,171.52L215.009,172.552V172.309V171.824L215.434,170.731L214.887,170.245L214.827,169.213L214.766,168.606L215.252,168.12L215.737,167.513L215.191,167.574L214.705,167.635L214.645,167.088L215.07,165.996V165.51L215.555,164.903L216.162,165.389L216.223,166.481L216.709,166.421L217.194,165.874V165.328L217.68,165.267L218.166,164.174L217.983,162.11L217.68,162.96L216.891,162.05L216.769,161.989L216.526,161.868L216.162,161.746Z" + android:pathData="M216.162,161.746L215.191,161.625H215.13H215.009L214.584,162.232L214.28,162.414L213.916,162.232L213.248,161.928L212.216,162.293L211.609,161.504L211.549,160.471L211.427,159.379V158.893L210.82,158.407V157.861L210.759,157.375H211.306L211.245,156.283L211.184,155.736L210.577,154.765V154.219L209.484,153.794L208.938,153.308L208.331,152.762L208.27,151.73L207.178,151.305L205.903,151.123L206.024,149.301L204.324,148.33L203.778,147.844L203.353,147.784H203.292L202.625,147.602L202.321,147.48H202.139L201.653,147.298L200.196,147.905L200.014,148.512L199.832,148.937L198.861,149.059L198.011,149.119L197.647,149.059L196.554,150.091L196.007,150.516L194.49,149.908L193.883,149.969L192.972,150.151L192.486,150.94L191.515,150.819L190.908,150.516L190.119,150.212L189.148,150.03L187.691,150.151L186.901,150.394L186.719,150.455L187.691,151.669L187.751,152.215L187.266,152.762L186.719,153.308L186.294,153.854L185.748,153.915L185.262,154.461L184.716,155.008L184.837,156.04L184.352,156.647L184.473,158.165L183.987,158.772L183.502,159.379H183.016V159.864L182.531,160.471L182.045,160.957L181.559,161.564L181.074,162.111L180.588,163.143L180.649,163.203L180.224,164.235H180.709L181.256,164.175L181.316,164.721L181.377,165.753L181.438,166.299L181.984,166.724L182.045,167.817L182.47,167.756H183.016H183.138L183.745,168.242L184.23,168.728V169.213L183.805,169.82L183.866,170.306L183.927,170.792H184.352L185.141,170.731H185.323H185.505L185.93,170.67L186.537,171.217L187.569,171.581L187.994,171.095L189.026,170.427V170.488L189.087,170.427L189.694,170.974L189.208,171.52V172.067L189.815,172.006L190.362,172.977L190.18,173.22L190.301,173.341V173.584L190.483,173.706L190.665,174.313L190.726,174.434L190.787,174.738L190.908,175.223L191.576,175.527L192.486,175.466L193.64,175.345L194.368,175.284L195.158,175.648L196.311,175.588L197.222,175.527L197.768,175.466L198.921,175.405L199.468,175.345L200.439,175.83L201.593,175.588L201.896,174.98L203.05,174.495L204.264,173.281L204.931,171.945L205.478,171.702L207.481,170.974L208.088,171.52L208.695,171.459L209.606,171.399L210.213,171.763L211.306,171.459H211.791L212.277,171.581L212.823,171.52L215.009,172.552V172.309V171.824L215.434,170.731L214.887,170.245L214.827,169.213L214.766,168.606L215.252,168.121L215.737,167.514L215.191,167.574L214.705,167.635L214.645,167.089L215.07,165.996V165.51L215.555,164.903L216.162,165.389L216.223,166.481L216.709,166.421L217.194,165.874V165.328L217.68,165.267L218.166,164.175L217.983,162.111L217.68,162.96L216.891,162.05L216.769,161.989L216.526,161.868L216.162,161.746Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M212.095,183.115H211.548V182.568H211.002L210.456,182.629L209.909,182.69L209.849,182.75L209.424,183.297H209.302H208.938L208.392,183.358L208.452,183.843L207.967,184.39V184.45V184.693L208.27,184.815L208.634,185.361L209.12,185.3L209.181,185.847V186.332V186.393V186.454L208.756,186.939L209.059,187.425L208.695,187.486V187.546H208.574L208.27,187.607L208.513,188.032L208.331,189.064L208.27,189.125L208.088,189.368L207.845,189.61L207.906,190.157L207.42,190.703H207.36V190.764L207.906,191.249L208.938,191.189L209.484,191.128L209.97,190.582V191.128L210.031,191.614L209.545,191.674L208.574,192.828L209.12,193.253L209.606,192.706L211.123,192.039L211.609,191.492L212.641,190.885V190.4L213.066,189.853L214.098,189.185L214.584,188.7L215.069,188.093L216.101,187.546L216.587,187.486L217.68,187.425L218.712,187.364L219.258,187.304L219.744,186.757L219.683,185.664L219.137,185.725L218.044,185.239L217.558,185.3L216.405,184.329L215.373,184.39L215.312,183.904V183.358L214.705,182.933H214.523L213.127,182.993L212.095,183.115Z" + android:pathData="M212.095,183.115H211.548V182.569H211.002L210.456,182.629L209.909,182.69L209.849,182.751L209.424,183.297H209.302H208.938L208.392,183.358L208.452,183.844L207.967,184.39V184.451V184.693L208.27,184.815L208.634,185.361L209.12,185.3L209.181,185.847V186.333V186.393V186.454L208.756,186.94L209.059,187.425L208.695,187.486V187.547H208.574L208.27,187.607L208.513,188.032L208.331,189.064L208.27,189.125L208.088,189.368L207.845,189.611L207.906,190.157L207.42,190.703H207.36V190.764L207.906,191.25L208.938,191.189L209.484,191.128L209.97,190.582V191.128L210.031,191.614L209.545,191.675L208.574,192.828L209.12,193.253L209.606,192.707L211.123,192.039L211.609,191.493L212.641,190.886V190.4L213.066,189.854L214.098,189.186L214.584,188.7L215.069,188.093L216.101,187.547L216.587,187.486L217.68,187.425L218.712,187.365L219.258,187.304L219.744,186.757L219.683,185.665L219.137,185.725L218.044,185.24L217.558,185.3L216.405,184.329L215.373,184.39L215.312,183.904V183.358L214.705,182.933H214.523L213.127,182.994L212.095,183.115Z" android:fillColor="#D8D8D8"/> <path android:pathData="M207.906,190.157L207.845,189.611L208.088,189.368L208.27,189.125L208.331,189.065L208.513,188.033L208.27,187.608L208.574,187.547L208.695,187.486L209.059,187.426L208.756,186.94L209.181,186.394V186.333V185.847L209.12,185.301L208.634,185.362L208.27,184.815L207.967,184.694L207.784,184.572L207.481,184.512L206.57,184.937L206.631,185.483L207.056,186.029L207.117,186.394V186.515H206.995L206.024,186.576L204.992,186.636L204.87,186.819L204.506,187.244H204.385L203.413,187.304L202.928,187.365H202.442L202.199,187.486L201.653,187.851L201.41,187.972L201.349,187.426L200.803,187.486L200.317,186.879H200.135L199.892,187.183L199.771,187.304L199.589,187.183L199.164,186.94L198.071,187.426L197.707,187.608L197.889,188.154L197.221,188.822L196.675,188.336L195.643,188.397L194.611,188.458L193.518,188.518L193.457,188.579H193.579L192.547,189.186L192.061,189.733L191.576,190.34H191.09L190.483,190.4L190.422,190.34L189.936,189.854L189.451,190.461L188.965,191.007L187.933,191.068L186.901,191.736H186.415L185.383,191.797L185.323,191.736L184.776,191.311L184.837,191.857L184.351,191.918L183.805,192.404L184.412,192.829L184.959,193.314L185.019,193.861V194.407L184.534,194.953L184.109,196.046L183.562,196.592H183.077L183.623,197.139L182.652,197.746H182.591H182.53H182.105L181.62,198.292L181.68,198.899V199.385H181.559H181.073L181.62,200.417L182.227,200.903L183.259,200.842V201.328L183.38,202.42L183.987,202.906L184.412,202.36L185.019,202.299L185.505,202.238H186.051L186.112,202.785V203.27L185.08,203.331L184.473,203.392L184.048,203.938L184.594,204.424V204.97L184.655,205.516L185.201,205.456L186.294,205.881L186.78,205.334H187.326L187.812,205.274V205.759L188.844,205.213L189.39,205.152L189.936,205.091L190.969,205.031L191.515,205.516L192.122,205.941L192.061,205.456L193.093,205.395L193.64,205.881L194.186,206.366L195.279,206.791L194.854,207.398L194.307,207.459L193.761,208.005L193.275,207.52L193.215,206.973L192.668,206.488L191.636,207.095L191.576,206.548L191.09,206.609L190.544,206.67H190.058L189.512,206.731L189.026,207.277H188.48L187.933,207.338H187.447L186.901,207.398L186.476,208.005V208.491L187.083,209.523L187.569,209.462L188.115,209.948L188.722,210.494V210.98L188.783,212.012L188.297,212.619L188.904,213.044V213.59L188.965,214.137L189.572,215.169L190.119,215.108L190.665,215.047L191.09,214.501L190.604,214.015L190.544,213.469L190.969,212.923L191.576,213.408L191.636,213.955V214.44L191.697,214.987L192.243,215.472L192.79,215.412L193.336,216.444L193.882,216.383L193.822,215.351L193.761,214.865V214.319L194.186,213.773L194.247,214.805L194.793,214.744L194.854,215.776H195.461L197.586,215.594L197.525,215.108L196.432,214.683L196.371,214.137L195.764,213.651L195.704,212.558L195.218,212.619L194.55,211.648L194.004,211.162L193.943,210.13L194.49,210.069L195.097,210.494V211.041L195.643,211.526H196.189L197.221,210.919L198.193,210.312L198.132,209.219L197.161,209.887H196.614L196.068,209.402L196.007,208.916L196.493,208.309L197.464,207.216L198.011,207.155L198.618,208.187L199.71,208.612L199.65,208.127V207.58L199.528,206.488L199.467,205.456H198.921L197.828,205.031L197.221,204.059L196.736,204.12L195.643,203.634L194.55,203.209L193.457,203.27L192.911,202.785L193.397,202.238L193.882,201.692L193.822,201.145L193.336,201.206L192.729,200.174L193.215,199.567H193.7L194.793,199.446L195.4,199.992L195.461,200.478V201.024L195.946,200.963L196.432,199.871L195.886,199.931L194.247,198.474L193.579,197.442L192.486,197.017L191.94,196.532L191.879,195.5L191.818,194.953V194.468L191.272,193.982L191.697,193.375L192.729,192.768H193.215L193.336,193.8L193.943,194.286L194.49,195.318L195.157,196.35L196.25,196.775L197.282,197.199V196.714L196.189,196.228L195.582,195.743V195.257L195.522,194.711L196.129,195.196L196.675,195.621L197.221,196.167L198.86,196.592L198.8,196.046L198.253,196.107L197.707,195.075L197.1,194.589L197.646,194.528H198.132L198.193,195.5L199.285,195.439L200.317,194.893L200.803,194.346H200.257L199.164,193.921L198.071,193.496L197.525,193.011L196.979,192.464L196.918,191.979L197.464,191.918L199.043,191.797H199.528V191.25L199.467,190.765L199.953,190.157L200.56,190.704L201.046,191.189L202.139,191.068L202.685,190.522L202.078,190.036L202.624,189.975L203.596,189.915L204.688,190.4L206.327,190.279L206.874,190.765L207.359,190.704H207.42L207.906,190.157Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M181.681,198.899L181.62,198.292L182.106,197.746H182.531H182.591H182.652L183.623,197.139L183.077,196.592H183.563L184.109,196.046L184.534,194.953L185.02,194.407V193.861L184.959,193.314L184.413,192.829L183.805,192.404L183.198,191.979L183.138,190.886L182.591,190.947L182.531,189.915V189.368L181.984,188.883L181.924,187.851L181.863,187.304L181.924,187.244L182.349,186.758L182.288,186.211L181.741,185.24L181.681,184.694L180.588,184.755L180.102,184.269L179.495,183.783L178.463,184.39L177.978,184.451L177.492,184.937L177.553,185.483V185.969L177.613,186.515L177.674,187.547L178.22,188.033L178.281,188.518L178.342,189.065L177.795,189.125L177.856,189.672V190.157L177.917,190.643V191.189L177.978,191.736L178.038,192.768L177.553,193.314L177.613,193.861V194.407L178.22,194.893L177.735,195.439V195.925H178.281L178.342,196.471L177.795,196.532L177.856,197.564L178.888,197.442L179.435,197.989L180.527,197.867V198.353L181.134,199.385H181.559H181.681V198.899Z" + android:pathData="M181.681,198.899L181.62,198.292L182.106,197.745H182.531H182.591H182.652L183.623,197.138L183.077,196.592H183.563L184.109,196.046L184.534,194.953L185.02,194.407V193.86L184.959,193.314L184.413,192.828L183.805,192.403L183.198,191.978L183.138,190.886L182.591,190.946L182.531,189.914V189.368L181.984,188.882L181.924,187.85L181.863,187.304L181.924,187.243L182.349,186.757L182.288,186.211L181.741,185.24L181.681,184.693L180.588,184.754L180.102,184.269L179.495,183.783L178.463,184.39L177.978,184.451L177.492,184.936L177.553,185.483V185.968L177.613,186.515L177.674,187.547L178.22,188.032L178.281,188.518L178.342,189.064L177.795,189.125L177.856,189.671V190.157L177.917,190.643V191.189L177.978,191.735L178.038,192.767L177.553,193.314L177.613,193.86V194.407L178.22,194.892L177.735,195.439V195.924H178.281L178.342,196.471L177.795,196.531L177.856,197.563L178.888,197.442L179.435,197.988L180.527,197.867V198.353L181.134,199.385H181.559H181.681V198.899Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M178.463,184.389L179.495,183.782L180.102,184.268L180.588,184.753L181.68,184.693L181.741,185.239L182.288,186.21L182.348,186.757L181.923,187.242L181.863,187.303L181.923,187.849L181.984,188.881L182.53,189.367V189.913L182.591,190.946L183.137,190.885L183.198,191.978L183.805,192.402L184.352,191.917L184.837,191.856L184.777,191.31L185.323,191.735L185.384,191.795L186.416,191.735H186.901L187.933,191.067L188.965,191.006L189.451,190.46L189.937,189.853L190.422,190.338L190.483,190.399L191.09,190.338H191.576L192.061,189.731L192.547,189.185L193.579,188.578H193.458L193.397,188.517L192.486,188.153L192.972,187.546L192.911,187.06L192.851,186.514L192.304,186.028L191.758,185.543L191.211,185.057L190.665,184.632L189.512,184.086L189.451,183.054V182.568L189.33,181.597V181.475H189.572H189.876L189.815,180.443L189.754,179.897L190.787,179.29V178.743L191.272,178.258L190.665,177.711L190.179,177.772L189.633,177.833L189.572,177.286L189.026,176.801L188.965,175.769L188.358,174.797V174.737H188.662L188.844,174.676L189.39,174.13L190.179,173.219L190.362,172.976L189.815,172.005L189.208,172.066V171.519L189.694,170.973L189.087,170.427L189.026,170.487L188.055,171.094L187.63,171.641L187.569,171.58L186.537,171.216L185.93,170.669L185.505,170.73H185.444H185.141L184.352,170.791H183.927L183.866,170.305L183.805,169.819L184.23,169.212V168.727L183.744,168.241L183.137,167.755H183.016H182.652L182.045,167.816L181.984,166.723L181.438,166.298L181.377,165.752L181.316,164.72L181.255,164.174L180.709,164.234H180.223L180.648,163.202L180.588,163.142L179.92,163.081L179.131,162.838L178.524,162.899H177.977H177.917L177.977,163.384L177.188,163.567L177.067,163.749L176.399,163.142L175.245,163.567L174.517,164.174L174.092,164.356L173.181,164.417L172.756,164.781L172.21,165.449L171.664,166.056L171.36,166.238L170.268,165.995L169.782,166.056H169.235L168.75,166.116L168.203,165.631L167.657,165.691L167.596,165.145H167.05L166.504,164.659L165.957,164.234L165.411,163.749L164.804,163.263V162.717L164.743,162.17L164.197,161.685L163.59,161.199L163.408,160.774L162.193,160.531L162.133,160.592L161.465,161.199L160.858,161.078L160.372,161.26L159.947,161.442L159.522,161.503H159.462H159.401L158.551,161.563L157.762,161.624H157.337H157.215L156.851,162.413L156.912,162.595L156.244,162.474L155.516,162.838L155.394,163.324L154.787,162.899H154.241L153.877,162.96H153.694L153.027,162.231L152.602,162.292L151.691,162.656H151.57L151.448,163.263L151.63,163.688L151.813,164.174L151.873,164.599L151.691,164.781L150.963,165.266L151.752,165.813L151.813,166.541L151.934,166.602L152.42,166.723L152.845,166.177L152.905,166.723L152.966,167.209V167.755L152.541,168.362H151.995L151.509,168.909L152.055,169.394L152.116,169.941L152.177,170.973L152.723,171.459L152.784,172.005L153.33,172.491L153.755,171.398L154.241,170.851L154.726,169.759L154.666,169.212L155.212,169.152L155.759,169.698L156.366,170.184L156.912,170.669L157.458,171.641L157.033,172.733L157.094,173.28L157.155,174.312L158.187,174.251L158.247,174.797L158.794,174.737L159.28,175.162L159.887,175.708L158.308,175.829L158.855,176.315L159.401,176.801L160.069,177.833L160.554,177.772L161.708,178.743V179.229L162.801,179.715L163.833,179.108L164.379,179.047L165.472,180.079L166.625,180.99L167.232,182.022L168.264,181.961L168.871,182.932L169.964,183.418H170.51L171.117,184.328H171.603L172.149,184.875L173.242,184.753H173.728L174.335,185.178L174.396,185.785L174.881,186.21L175.428,186.15L175.549,187.182L176.581,187.121V187.667L177.127,187.607H177.674L177.552,186.575V186.028L177.492,185.543V184.996V184.935L177.977,184.45L178.463,184.389Z" + android:pathData="M178.463,184.389L179.495,183.782L180.102,184.268L180.588,184.754L181.68,184.693L181.741,185.239L182.288,186.211L182.348,186.757L181.923,187.243L181.863,187.303L181.923,187.85L181.984,188.882L182.53,189.367V189.914L182.591,190.946L183.137,190.885L183.198,191.978L183.805,192.403L184.352,191.917L184.837,191.856L184.777,191.31L185.323,191.735L185.384,191.796L186.416,191.735H186.901L187.933,191.067L188.965,191.006L189.451,190.46L189.937,189.853L190.422,190.339L190.483,190.399L191.09,190.339H191.576L192.061,189.732L192.547,189.185L193.579,188.578H193.458L193.397,188.517L192.486,188.153L192.972,187.546L192.911,187.06L192.851,186.514L192.304,186.028L191.758,185.543L191.211,185.057L190.665,184.632L189.512,184.086L189.451,183.054V182.568L189.33,181.597V181.475H189.572H189.876L189.815,180.443L189.754,179.897L190.787,179.29V178.744L191.272,178.258L190.665,177.712L190.179,177.772L189.633,177.833L189.572,177.287L189.026,176.801L188.965,175.769L188.358,174.798V174.737H188.662L188.844,174.676L189.39,174.13L190.179,173.219L190.362,172.976L189.815,172.005L189.208,172.066V171.519L189.694,170.973L189.087,170.427L189.026,170.487L188.055,171.094L187.63,171.641L187.569,171.58L186.537,171.216L185.93,170.67L185.505,170.73H185.444H185.141L184.352,170.791H183.927L183.866,170.305L183.805,169.82L184.23,169.213V168.727L183.744,168.241L183.137,167.756H183.016H182.652L182.045,167.816L181.984,166.724L181.438,166.299L181.377,165.752L181.316,164.72L181.255,164.174L180.709,164.235H180.223L180.648,163.203L180.588,163.142L179.92,163.081L179.131,162.838L178.524,162.899H177.977H177.917L177.977,163.385L177.188,163.567L177.067,163.749L176.399,163.142L175.245,163.567L174.517,164.174L174.092,164.356L173.181,164.417L172.756,164.781L172.21,165.449L171.664,166.056L171.36,166.238L170.268,165.995L169.782,166.056H169.235L168.75,166.116L168.203,165.631L167.657,165.692L167.596,165.145H167.05L166.504,164.66L165.957,164.235L165.411,163.749L164.804,163.263V162.717L164.743,162.171L164.197,161.685L163.59,161.199L163.408,160.774L162.193,160.531L162.133,160.592L161.465,161.199L160.858,161.078L160.372,161.26L159.947,161.442L159.522,161.503H159.462H159.401L158.551,161.563L157.762,161.624H157.337H157.215L156.851,162.413L156.912,162.595L156.244,162.474L155.516,162.838L155.394,163.324L154.787,162.899H154.241L153.877,162.96H153.694L153.027,162.231L152.602,162.292L151.691,162.656H151.57L151.448,163.263L151.63,163.688L151.813,164.174L151.873,164.599L151.691,164.781L150.963,165.267L151.752,165.813L151.813,166.541L151.934,166.602L152.42,166.724L152.845,166.177L152.905,166.724L152.966,167.209V167.756L152.541,168.363H151.995L151.509,168.909L152.055,169.395L152.116,169.941L152.177,170.973L152.723,171.459L152.784,172.005L153.33,172.491L153.755,171.398L154.241,170.852L154.726,169.759L154.666,169.213L155.212,169.152L155.759,169.698L156.366,170.184L156.912,170.67L157.458,171.641L157.033,172.734L157.094,173.28L157.155,174.312L158.187,174.251L158.247,174.798L158.794,174.737L159.28,175.162L159.887,175.708L158.308,175.83L158.855,176.315L159.401,176.801L160.069,177.833L160.554,177.772L161.708,178.744V179.229L162.801,179.715L163.833,179.108L164.379,179.047L165.472,180.079L166.625,180.99L167.232,182.022L168.264,181.961L168.871,182.932L169.964,183.418H170.51L171.117,184.329H171.603L172.149,184.875L173.242,184.754H173.728L174.335,185.179L174.396,185.786L174.881,186.211L175.428,186.15L175.549,187.182L176.581,187.121V187.667L177.127,187.607H177.674L177.552,186.575V186.028L177.492,185.543V184.996V184.936L177.977,184.45L178.463,184.389Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M99.24,182.023L99.847,182.205L100.333,182.266H100.697L100.879,182.084L101.122,181.78V180.991L100.576,180.323L100.151,180.384L99.544,180.566L99.179,180.748L98.937,181.112V181.173L99.24,182.023Z" + android:pathData="M99.24,182.023L99.847,182.205L100.333,182.265H100.697L100.879,182.083L101.122,181.78V180.991L100.576,180.323L100.151,180.384L99.544,180.566L99.179,180.748L98.937,181.112V181.173L99.24,182.023Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M134.936,158.891L135.3,159.316L135.725,159.256L136.211,159.134L136.332,158.77L136.271,157.981L135.543,157.495L135.421,157.617L134.875,157.981L134.936,158.527V158.891Z" + android:pathData="M134.936,158.892L135.3,159.317L135.725,159.256L136.211,159.135L136.332,158.77L136.271,157.981L135.543,157.496L135.421,157.617L134.875,157.981L134.936,158.528V158.892Z" android:fillColor="#D8D8D8"/> <path - android:pathData="M95.968,83.755V35.02H23.036V83.755H95.968Z" + android:pathData="M72.095,53.827V19.016H20V53.827H72.095Z" android:fillColor="#004996"/> <path - android:pathData="M95.968,83.755V35.02H23.036V83.755H95.968Z" + android:pathData="M72.095,53.827V19.016H20V53.827H72.095Z" android:strokeWidth="0.25" android:fillColor="#00000000" android:strokeColor="#000000"/> <path - android:pathData="M59.5,41.787L59.196,42.701H58.217L59.027,43.276L58.723,44.19L59.5,43.615L60.31,44.19L60.006,43.276L60.783,42.701H59.804L59.5,41.787Z" + android:pathData="M46.046,23.848L45.829,24.501H45.13L45.708,24.912L45.491,25.565L46.046,25.154L46.625,25.565L46.408,24.912L46.963,24.501H46.263L46.046,23.848Z" android:strokeWidth="0.25" android:fillColor="#FFD500" android:strokeColor="#FFD500"/> <path - android:pathData="M51.396,43.986L51.092,44.9H50.113L50.924,45.475L50.62,46.389L51.396,45.814L52.173,46.389L51.869,45.475L52.679,44.9H51.7L51.396,43.986Z" + android:pathData="M40.258,25.422L40.041,26.075H39.341L39.92,26.486L39.703,27.138L40.258,26.727L40.813,27.138L40.596,26.486L41.174,26.075H40.475L40.258,25.422Z" android:strokeWidth="0.25" android:fillColor="#FFD500" android:strokeColor="#FFD500"/> <path - android:pathData="M45.487,49.943L45.183,50.857H44.204L45.015,51.432L44.711,52.38L45.487,51.805L46.264,52.38L45.96,51.432L46.771,50.857H45.791L45.487,49.943Z" + android:pathData="M36.037,29.676L35.82,30.329H35.121L35.699,30.74L35.482,31.416L36.037,31.005L36.592,31.416L36.375,30.74L36.954,30.329H36.254L36.037,29.676Z" android:strokeWidth="0.25" android:fillColor="#FFD500" android:strokeColor="#FFD500"/> <path - android:pathData="M43.259,58.065L42.955,58.979H41.976L42.752,59.555L42.449,60.468L43.259,59.893L44.035,60.468L43.732,59.555L44.542,58.979H43.563L43.259,58.065Z" + android:pathData="M34.445,35.477L34.228,36.129H33.529L34.083,36.54L33.867,37.193L34.445,36.782L35,37.193L34.783,36.54L35.362,36.129H34.662L34.445,35.477Z" android:strokeWidth="0.25" android:fillColor="#FFD500" android:strokeColor="#FFD500"/> <path - android:pathData="M45.454,66.188L45.15,67.136H44.171L44.947,67.712L44.643,68.625L45.454,68.05L46.23,68.625L45.926,67.678L46.737,67.136H45.758L45.454,66.188Z" + android:pathData="M36.013,41.277L35.796,41.954H35.097L35.651,42.365L35.434,43.018L36.013,42.607L36.568,43.018L36.351,42.341L36.93,41.954H36.23L36.013,41.277Z" android:strokeWidth="0.25" android:fillColor="#FFD500" android:strokeColor="#FFD500"/> <path - android:pathData="M51.396,72.145L51.092,73.092H50.113L50.89,73.668L50.586,74.581L51.396,74.006L52.173,74.581L51.869,73.668L52.646,73.092H51.7L51.396,72.145Z" + android:pathData="M40.258,45.535L40.041,46.212H39.341L39.896,46.623L39.679,47.276L40.258,46.865L40.813,47.276L40.595,46.623L41.15,46.212H40.475L40.258,45.535Z" android:strokeWidth="0.25" android:fillColor="#FFD500" android:strokeColor="#FFD500"/> <path - android:pathData="M59.5,74.311L59.196,75.258H58.217L59.027,75.834L58.723,76.747L59.5,76.172L60.31,76.747L60.006,75.8L60.783,75.258H59.804L59.5,74.311Z" + android:pathData="M46.046,47.082L45.829,47.759H45.13L45.708,48.17L45.491,48.823L46.046,48.412L46.625,48.823L46.408,48.146L46.963,47.759H46.263L46.046,47.082Z" android:strokeWidth="0.25" android:fillColor="#FFD500" android:strokeColor="#FFD500"/> <path - android:pathData="M67.638,43.986L67.908,44.9H68.887L68.11,45.475L68.414,46.389L67.638,45.814L66.827,46.389L67.131,45.475L66.354,44.9H67.334L67.638,43.986Z" + android:pathData="M51.859,25.422L52.052,26.075H52.751L52.196,26.486L52.414,27.138L51.859,26.727L51.28,27.138L51.497,26.486L50.942,26.075H51.642L51.859,25.422Z" android:strokeWidth="0.25" android:fillColor="#FFD500" android:strokeColor="#FFD500"/> <path - android:pathData="M73.547,49.943L73.817,50.857H74.796L74.019,51.432L74.323,52.38L73.547,51.805L72.736,52.38L73.04,51.432L72.263,50.857H73.243L73.547,49.943Z" + android:pathData="M56.08,29.676L56.272,30.329H56.972L56.417,30.74L56.634,31.416L56.08,31.005L55.501,31.416L55.718,30.74L55.163,30.329H55.862L56.08,29.676Z" android:strokeWidth="0.25" android:fillColor="#FFD500" android:strokeColor="#FFD500"/> <path - android:pathData="M75.775,58.065L76.079,58.979H77.058L76.247,59.555L76.551,60.468L75.775,59.893L74.964,60.468L75.268,59.555L74.492,58.979H75.471L75.775,58.065Z" + android:pathData="M57.671,35.477L57.888,36.129H58.588L58.009,36.54L58.226,37.193L57.671,36.782L57.092,37.193L57.309,36.54L56.755,36.129H57.454L57.671,35.477Z" android:strokeWidth="0.25" android:fillColor="#FFD500" android:strokeColor="#FFD500"/> <path - android:pathData="M73.58,66.188L73.884,67.136H74.863L74.053,67.712L74.357,68.625L73.58,68.05L72.77,68.625L73.074,67.678L72.297,67.136H73.276L73.58,66.188Z" + android:pathData="M56.104,41.277L56.321,41.954H57.02L56.441,42.365L56.658,43.018L56.104,42.607L55.525,43.018L55.742,42.341L55.187,41.954H55.886L56.104,41.277Z" android:strokeWidth="0.25" android:fillColor="#FFD500" android:strokeColor="#FFD500"/> <path - android:pathData="M67.638,72.145L67.941,73.092H68.921L68.11,73.668L68.414,74.581L67.638,74.006L66.861,74.581L67.131,73.668L66.354,73.092H67.334L67.638,72.145Z" + android:pathData="M51.859,45.535L52.076,46.212H52.775L52.196,46.623L52.414,47.276L51.859,46.865L51.304,47.276L51.497,46.623L50.942,46.212H51.642L51.859,45.535Z" android:strokeWidth="0.25" android:fillColor="#FFD500" android:strokeColor="#FFD500"/> <path - android:pathData="M222.567,109.981C222.172,116.249 216.767,120.941 210.593,120.569C204.419,120.198 199.645,114.893 200.041,108.626C200.436,102.358 205.841,97.667 212.016,98.038C218.19,98.41 222.963,103.715 222.567,109.981Z" + android:pathData="M222.567,109.982C222.172,116.249 216.767,120.941 210.593,120.569C204.418,120.198 199.645,114.894 200.041,108.626C200.436,102.359 205.841,97.668 212.016,98.039C218.189,98.41 222.963,103.715 222.567,109.982Z" android:strokeWidth="5.643" android:fillColor="#00000000" android:fillType="evenOdd" android:strokeColor="#C2D6E1"/> <path - android:pathData="M273.252,114.043C271.097,148.823 241.577,175.237 207.407,173.142C173.235,171.047 147.2,141.226 149.356,106.446C151.51,71.667 181.031,45.253 215.201,47.348C249.372,49.443 275.408,79.263 273.252,114.043Z" + android:pathData="M273.252,114.042C271.097,148.822 241.577,175.236 207.407,173.142C173.235,171.047 147.2,141.226 149.356,106.446C151.51,71.667 181.031,45.253 215.201,47.347C249.372,49.442 275.408,79.263 273.252,114.042Z" android:strokeAlpha="0.36" android:strokeWidth="5.643" android:fillColor="#00000000" @@ -980,7 +980,7 @@ android:strokeColor="#C2D6E1" android:fillAlpha="0.36"/> <path - android:pathData="M290.147,114.065C287.405,157.67 249.833,190.786 206.344,188.16C162.853,185.533 129.717,148.146 132.461,104.541C135.203,60.938 172.775,27.821 216.264,30.448C259.754,33.074 292.891,70.461 290.147,114.065Z" + android:pathData="M290.147,114.065C287.405,157.67 249.833,190.786 206.344,188.16C162.853,185.534 129.717,148.146 132.461,104.542C135.203,60.938 172.775,27.822 216.264,30.448C259.754,33.075 292.891,70.462 290.147,114.065Z" android:strokeAlpha="0.14" android:strokeWidth="5.643" android:fillColor="#00000000" @@ -996,7 +996,7 @@ android:strokeColor="#C2D6E1" android:fillAlpha="0.04"/> <path - android:pathData="M256.357,113.022C254.788,138.471 233.307,157.775 208.468,156.244C183.63,154.713 164.682,132.917 166.251,107.468C167.82,82.019 189.302,62.715 214.14,64.245C238.978,65.777 257.926,87.573 256.357,113.022Z" + android:pathData="M256.357,113.022C254.788,138.471 233.307,157.775 208.468,156.244C183.63,154.713 164.682,132.917 166.251,107.468C167.82,82.018 189.302,62.714 214.14,64.245C238.978,65.777 257.926,87.573 256.357,113.022Z" android:strokeAlpha="0.5" android:strokeWidth="5.643" android:fillColor="#00000000" @@ -1004,7 +1004,7 @@ android:strokeColor="#C2D6E1" android:fillAlpha="0.5"/> <path - android:pathData="M239.274,110.903C238.294,126.45 224.896,138.211 209.443,137.278C193.988,136.346 182.167,123.063 183.146,107.516C184.125,91.969 197.523,80.208 212.977,81.141C228.431,82.073 240.252,95.356 239.274,110.903Z" + android:pathData="M239.274,110.903C238.294,126.45 224.896,138.211 209.443,137.278C193.988,136.346 182.166,123.063 183.146,107.516C184.125,91.969 197.523,80.208 212.977,81.141C228.431,82.073 240.252,95.356 239.274,110.903Z" android:strokeWidth="5.643" android:fillColor="#00000000" android:fillType="evenOdd" @@ -1028,20 +1028,29 @@ android:fillColor="#F7B994" android:fillType="evenOdd"/> <path - android:pathData="M198.06,148.466L200.642,150.412C196.908,155.366 195.064,161.745 195.996,168.374C196.903,174.83 200.308,180.513 205.411,184.359L205.412,184.359L203.467,186.94C197.852,182.708 193.851,176.335 192.795,168.823C191.74,161.31 193.829,154.081 198.06,148.466ZM236.533,143.059C242.148,147.29 246.149,153.664 247.205,161.176C248.261,168.688 246.171,175.917 241.94,181.532L239.36,179.588C243.093,174.634 244.936,168.255 244.004,161.627C243.073,154.998 239.542,149.374 234.588,145.641L236.533,143.059Z" + android:pathData="M198.06,148.466L200.642,150.412C196.908,155.367 195.065,161.745 195.996,168.374C196.904,174.83 200.308,180.513 205.412,184.359L205.412,184.359L203.467,186.94C197.852,182.709 193.851,176.335 192.795,168.823C191.74,161.311 193.829,154.081 198.06,148.466ZM236.533,143.059C242.148,147.291 246.149,153.664 247.205,161.176C248.261,168.689 246.172,175.918 241.94,181.533L239.36,179.588C243.093,174.634 244.936,168.255 244.005,161.627C243.073,154.998 239.543,149.375 234.588,145.641L236.533,143.059Z" android:strokeAlpha="0.24" android:fillColor="#95B9CB" android:fillType="evenOdd" android:fillAlpha="0.24"/> <path - android:pathData="M203.222,152.357L205.804,154.302C203.066,157.935 201.714,162.613 202.397,167.474C203.062,172.208 205.559,176.376 209.302,179.196L209.302,179.196L207.357,181.777C203.063,178.542 200.004,173.668 199.196,167.924C198.389,162.179 199.987,156.65 203.222,152.357ZM232.643,148.222C236.937,151.458 239.996,156.331 240.804,162.076C241.611,167.821 240.013,173.349 236.778,177.642L234.197,175.697C236.935,172.064 238.286,167.387 237.603,162.526C236.92,157.665 234.331,153.541 230.698,150.803L232.643,148.222Z" + android:pathData="M203.222,152.356L205.804,154.301C203.066,157.935 201.714,162.612 202.397,167.474C203.062,172.208 205.559,176.375 209.302,179.196L209.302,179.196L207.357,181.777C203.063,178.542 200.004,173.668 199.196,167.923C198.389,162.178 199.987,156.65 203.222,152.356ZM232.643,148.222C236.937,151.457 239.996,156.331 240.804,162.076C241.611,167.82 240.013,173.348 236.778,177.642L234.197,175.697C236.935,172.064 238.286,167.386 237.603,162.526C236.92,157.665 234.331,153.541 230.698,150.803L232.643,148.222Z" android:strokeAlpha="0.6" android:fillColor="#95B9CB" android:fillType="evenOdd" - android:fillAlpha="0.6"/> + android:fillAlpha="0.6" /> <path - android:pathData="M205.597,167.024C204.479,159.069 210.021,151.715 217.976,150.597C225.93,149.479 233.284,155.021 234.402,162.975C235.52,170.93 229.978,178.284 222.024,179.402C218.153,179.946 214.306,178.92 211.247,176.614C208.187,174.309 206.141,170.894 205.597,167.024ZM231.202,163.425C230.332,157.238 224.612,152.927 218.426,153.797C212.239,154.666 207.928,160.386 208.798,166.573C209.221,169.586 210.81,172.238 213.192,174.033C215.574,175.828 218.561,176.624 221.574,176.201C227.761,175.331 232.071,169.611 231.202,163.425Z" + android:pathData="M205.598,167.023C204.48,159.069 210.022,151.715 217.976,150.597C225.93,149.479 233.285,155.021 234.402,162.975C235.52,170.929 229.978,178.284 222.024,179.402C218.154,179.946 214.306,178.92 211.247,176.614C208.187,174.309 206.141,170.893 205.598,167.023ZM231.202,163.424C230.332,157.238 224.612,152.927 218.426,153.797C212.239,154.666 207.929,160.386 208.798,166.573C209.221,169.585 210.81,172.238 213.192,174.032C215.574,175.827 218.561,176.624 221.574,176.2C227.761,175.331 232.071,169.611 231.202,163.424Z" android:fillColor="#007FAD" - android:fillType="evenOdd"/> + android:fillType="evenOdd" /> + <path + android:pathData="M74.975,19h35.353v35h-35.353z" + android:fillColor="#EC3237" /> + <path + android:pathData="M89.169,24.816h6.965v23.539h-6.965z" + android:fillColor="#ffffff" /> + <path + android:pathData="M80.689,40.253l0,-6.965l23.539,-0l0,6.965z" + android:fillColor="#ffffff" /> </group> </vector> diff --git a/Corona-Warn-App/src/main/res/drawable/ic_risk_details_ventilation.xml b/Corona-Warn-App/src/main/res/drawable/ic_risk_details_ventilation.xml new file mode 100644 index 0000000000000000000000000000000000000000..629dbc0ee11789e38aa09c1d55e4deed932c5b7e --- /dev/null +++ b/Corona-Warn-App/src/main/res/drawable/ic_risk_details_ventilation.xml @@ -0,0 +1,18 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="12" + android:viewportHeight="12"> + <group + android:scaleX="0.5" + android:scaleY="0.5" + android:pivotX="4" + android:pivotY="4"> + <path + android:fillColor="#ffffff" + android:fillType="nonZero" + android:pathData="M0.8804,5.3135C2.0757,4.9316 3.3125,4.7407 4.4912,4.7407C6.0186,4.7407 7.1392,4.9815 8.5835,4.9815C10.0777,4.9815 11.0073,3.9688 11.0073,2.6489C11.0073,1.2959 9.9781,0.333 8.6914,0.333C7.7451,0.333 6.9151,0.9224 6.5664,1.7109C6.4336,1.9849 6.4834,2.3086 6.7822,2.458C7.0396,2.5908 7.3633,2.5078 7.5376,2.1675C7.7202,1.7441 8.1685,1.4121 8.6914,1.4121C9.3804,1.4121 9.9282,1.8936 9.9282,2.6489C9.9282,3.4043 9.397,3.9023 8.5835,3.9023C7.2056,3.9023 6.0684,3.6533 4.4912,3.6533C3.1382,3.6533 1.7769,3.894 0.5484,4.2842C0.1997,4.3838 0.0669,4.6826 0.1499,4.9731C0.2329,5.2554 0.5069,5.4214 0.8804,5.3135ZM13.8628,9.1982C15.8052,9.1982 17.1665,7.9697 17.1665,6.2515C17.1665,4.5581 15.8633,3.3296 14.2446,3.3296C12.7422,3.3296 11.6299,4.3755 11.4307,5.7534C11.3809,6.0938 11.5718,6.3677 11.8706,6.4092C12.1778,6.4507 12.4434,6.2598 12.5181,5.8696C12.6509,5.0064 13.3731,4.4087 14.2446,4.4087C15.2656,4.4087 16.0791,5.1641 16.0791,6.2515C16.0791,7.3555 15.2075,8.1191 13.8628,8.1191C11.3311,8.1191 8.6001,6.6748 5.2798,6.6748C3.5698,6.6748 2.0176,6.9487 0.5484,7.4717C0.208,7.5879 0.0669,7.8784 0.1499,8.169C0.2329,8.4512 0.5152,8.6255 0.8804,8.501C2.2334,7.9863 3.6446,7.7622 5.2798,7.7622C8.5918,7.7622 11.0654,9.1982 13.8628,9.1982ZM8.5918,15.0503C9.8701,15.0503 10.8579,14.104 10.8579,12.751C10.8579,10.792 8.8574,9.6963 5.1719,9.6963C3.6363,9.6963 1.9595,9.9951 0.5484,10.4849C0.208,10.6011 0.0669,10.8916 0.1499,11.1821C0.2329,11.4644 0.5152,11.6387 0.8804,11.5142C2.2002,11.041 3.6778,10.7837 5.1719,10.7837C8.1851,10.7837 9.7788,11.5391 9.7788,12.751C9.7788,13.5146 9.2476,13.9712 8.5918,13.9712C7.936,13.9712 7.5376,13.5312 7.4214,12.834C7.3716,12.5269 7.1558,12.2778 6.7989,12.3027C6.417,12.3276 6.2676,12.6431 6.3174,12.9751C6.4668,14.1289 7.3218,15.0503 8.5918,15.0503Z" + android:strokeWidth="1" + android:strokeColor="#00000000" /> + </group> +</vector> diff --git a/Corona-Warn-App/src/main/res/layout/fragment_settings_tracing.xml b/Corona-Warn-App/src/main/res/layout/fragment_settings_tracing.xml index 430e1f7fa7a4cacd6fd4e419c02a6c5d03ab2196..617cb80e27951675541028f754f587fb88c60ad1 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_settings_tracing.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_settings_tracing.xml @@ -92,35 +92,55 @@ app:statusText="@{settingsTracingState.getTracingStatusText(context)}" app:subtitle="@{@string/settings_tracing_title}" /> - <androidx.appcompat.widget.LinearLayoutCompat - android:id="@+id/settings_interoperability_row" - style="@style/row" - android:layout_width="match_parent" + <androidx.constraintlayout.widget.ConstraintLayout + android:id="@+id/settingsInteroperabilityRow" + android:layout_width="0dp" android:layout_height="wrap_content" - android:orientation="vertical" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" + android:paddingTop="@dimen/spacing_tiny" + android:paddingBottom="@dimen/spacing_tiny" + android:background="?android:selectableItemBackground" + app:layout_constraintStart_toStartOf="@id/guideline_start" + app:layout_constraintEnd_toStartOf="@id/guideline_end" app:layout_constraintTop_toBottomOf="@id/settings_tracing_switch_row"> + <androidx.appcompat.widget.AppCompatImageView + android:id="@+id/flag_eu" + android:layout_width="26dp" + android:layout_height="26dp" + app:srcCompat="@drawable/ic_country_eu" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + <TextView - android:id="@+id/settings_plain_row_header_subtitle" + android:id="@+id/interoperability_title" style="@style/subtitle" - android:layout_width="match_parent" + android:layout_width="0dp" android:layout_height="wrap_content" - android:text="@string/settings_interoperability_title" /> + android:layout_marginStart="@dimen/spacing_tiny" + android:text="@string/settings_interoperability_title" + app:layout_constraintBottom_toBottomOf="@id/flag_eu" + app:layout_constraintStart_toEndOf="@id/flag_eu" + app:layout_constraintTop_toTopOf="@id/flag_eu" /> + + <androidx.appcompat.widget.AppCompatImageView + android:id="@+id/flag_ch" + android:layout_width="0dp" + android:layout_height="22dp" + app:srcCompat="@drawable/ic_country_ch" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/interoperability_title" /> <TextView - android:id="@+id/settings_plain_row_header_body" + android:id="@+id/interoperability_subtitle" style="@style/body2Medium" - android:layout_width="match_parent" + android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_marginTop="@dimen/spacing_mega_tiny" android:text="@string/settings_interoperability_subtitle" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@+id/settings_plain_row_header_subtitle" /> + app:layout_constraintBottom_toBottomOf="@+id/flag_ch" + app:layout_constraintStart_toStartOf="@id/interoperability_title" + app:layout_constraintTop_toTopOf="@+id/flag_ch" /> - </androidx.appcompat.widget.LinearLayoutCompat> + </androidx.constraintlayout.widget.ConstraintLayout> <View android:layout_width="match_parent" @@ -129,7 +149,7 @@ android:background="@color/colorHairline" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@id/settings_interoperability_row" /> + app:layout_constraintTop_toBottomOf="@id/settingsInteroperabilityRow" /> <androidx.constraintlayout.widget.ConstraintLayout android:id="@+id/settings_tracing_status" @@ -138,7 +158,7 @@ android:layout_marginTop="@dimen/spacing_small" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@id/settings_interoperability_row"> + app:layout_constraintTop_toBottomOf="@id/settingsInteroperabilityRow"> <include android:id="@+id/settings_tracing_status_location" @@ -180,33 +200,6 @@ app:layout_constraintStart_toStartOf="@+id/guideline_start" app:layout_constraintTop_toBottomOf="@+id/settings_tracing_status_bluetooth" /> - <TextView - android:id="@+id/risk_details_period_logged_subtitle" - style="@style/subtitle" - gone="@{!settingsTracingState.isTracingStatusTextVisible()}" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_marginStart="@dimen/spacing_small" - android:layout_marginTop="@dimen/spacing_normal" - android:focusable="true" - android:text="@{loggedPeriod.getRiskActiveTracingDaysInRetentionPeriodLogged(context)}" - app:layout_constraintEnd_toStartOf="@+id/guideline_end" - app:layout_constraintStart_toEndOf="@+id/risk_details_investigation_period_circle_progress" - app:layout_constraintTop_toBottomOf="@+id/risk_details_period_logged_body_notice" /> - - <de.rki.coronawarnapp.ui.view.CircleProgress - android:id="@+id/risk_details_investigation_period_circle_progress" - gone="@{!settingsTracingState.isTracingStatusTextVisible()}" - android:layout_width="@dimen/spacing_huge" - android:layout_height="@dimen/spacing_huge" - android:importantForAccessibility="no" - app:circleWidth="@dimen/circle_large_width" - app:layout_constraintBottom_toBottomOf="@+id/risk_details_period_logged_subtitle" - app:layout_constraintStart_toStartOf="@+id/guideline_start" - app:layout_constraintTop_toTopOf="@+id/risk_details_period_logged_subtitle" - app:progress="@{loggedPeriod.activeTracingDaysInRetentionPeriod}" - app:progressColor="@{loggedPeriod.getProgressColor(context)}" /> - <include layout="@layout/merge_guidelines_card" /> <include layout="@layout/merge_guidelines_side" /> diff --git a/Corona-Warn-App/src/main/res/layout/tracing_content_increased_view.xml b/Corona-Warn-App/src/main/res/layout/tracing_content_increased_view.xml index 869b464eeea2cb668421a130fe2203c33d93294f..2d2c4b51f3e265c53351332975a12e8d3c135d58 100644 --- a/Corona-Warn-App/src/main/res/layout/tracing_content_increased_view.xml +++ b/Corona-Warn-App/src/main/res/layout/tracing_content_increased_view.xml @@ -78,36 +78,6 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/row_contact_last"> - <de.rki.coronawarnapp.ui.view.CircleProgress - android:id="@+id/risk_card_row_saved_days_circle_progress" - android:layout_width="@dimen/circle_small" - android:layout_height="@dimen/circle_small" - android:layout_marginStart="8dp" - app:circleColor="@color/colorStableHairlineLight" - app:circleWidth="@dimen/circle_small_width" - app:disableText="true" - app:layout_constraintBottom_toBottomOf="@+id/risk_card_row_saved_days_body" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="@+id/risk_card_row_saved_days_body" - app:progress="@{state.activeTracingDays}" - app:progressColor="@{state.getProgressColorHighRisk(context)}" /> - - <TextView - android:id="@+id/risk_card_row_saved_days_body" - style="@style/subtitle" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_marginTop="@dimen/spacing_tiny" - android:layout_marginBottom="@dimen/spacing_tiny" - android:layout_marginStart="24dp" - android:text="@{state.getRiskActiveTracingDaysInRetentionPeriod(context)}" - android:textColor="@color/colorTextPrimary1InvertedStable" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toEndOf="@+id/risk_card_row_saved_days_circle_progress" - app:layout_constraintTop_toTopOf="parent" - tools:text="@string/risk_card_body_saved_days" - tools:textColor="@color/colorStableLight" /> </androidx.constraintlayout.widget.ConstraintLayout> <de.rki.coronawarnapp.ui.view.TracingCardInfoRow diff --git a/Corona-Warn-App/src/main/res/layout/tracing_content_low_view.xml b/Corona-Warn-App/src/main/res/layout/tracing_content_low_view.xml index dd85e6ef0a3de7dea4073243b0ea92433108c7b0..048ee99fe023516b336372ecc940838b8998a936 100644 --- a/Corona-Warn-App/src/main/res/layout/tracing_content_low_view.xml +++ b/Corona-Warn-App/src/main/res/layout/tracing_content_low_view.xml @@ -72,47 +72,6 @@ app:layout_constraintTop_toBottomOf="@+id/row_contact" tools:text="@string/risk_card_low_risk_most_recent_body_encounters_on_more_than_one_day" /> - <androidx.constraintlayout.widget.ConstraintLayout - android:id="@+id/row_saved_days" - gone="@{state.isGoneOnContentLowView(context)}" - android:layout_width="0dp" - android:layout_height="wrap_content" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@+id/row_contact_last"> - - <de.rki.coronawarnapp.ui.view.CircleProgress - android:id="@+id/risk_card_row_saved_days_circle_progress" - android:layout_width="@dimen/circle_small" - android:layout_height="@dimen/circle_small" - android:layout_marginStart="8dp" - app:circleColor="@color/colorStableHairlineLight" - app:circleWidth="@dimen/circle_small_width" - app:disableText="true" - app:layout_constraintBottom_toBottomOf="@+id/risk_card_row_saved_days_body" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="@+id/risk_card_row_saved_days_body" - app:progress="@{state.activeTracingDays}" - app:progressColor="@{state.getProgressColorLowRisk(context)}" /> - - <TextView - android:id="@+id/risk_card_row_saved_days_body" - style="@style/subtitle" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_marginTop="@dimen/spacing_tiny" - android:layout_marginBottom="@dimen/spacing_tiny" - android:layout_marginStart="24dp" - android:text="@{state.getRiskActiveTracingDaysInRetentionPeriod(context)}" - android:textColor="@color/colorTextPrimary1InvertedStable" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toEndOf="@+id/risk_card_row_saved_days_circle_progress" - app:layout_constraintTop_toTopOf="parent" - tools:text="@string/risk_card_body_saved_days" - tools:textColor="@color/colorStableLight" /> - </androidx.constraintlayout.widget.ConstraintLayout> - <de.rki.coronawarnapp.ui.view.TracingCardInfoRow android:id="@+id/row_time_fetched" android:layout_width="0dp" @@ -123,7 +82,7 @@ app:compatIconTint="@color/colorStableLight" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@+id/row_saved_days" + app:layout_constraintTop_toBottomOf="@+id/row_contact_last" tools:text="@string/risk_card_body_not_yet_fetched" /> <Button diff --git a/Corona-Warn-App/src/main/res/layout/tracing_details_item_behavior_normal_view.xml b/Corona-Warn-App/src/main/res/layout/tracing_details_item_behavior_normal_view.xml index 42e7316ba5e76cee2609c3377a6a6c110ef66153..a37c2577bb59a14e13be226bc4d981691f76b01f 100644 --- a/Corona-Warn-App/src/main/res/layout/tracing_details_item_behavior_normal_view.xml +++ b/Corona-Warn-App/src/main/res/layout/tracing_details_item_behavior_normal_view.xml @@ -74,5 +74,16 @@ tools:backgroundTint="@color/colorSurface2" tools:foregroundTint="@color/colorTextSemanticNeutral" /> + <de.rki.coronawarnapp.tracing.ui.details.items.behavior.BehaviorInfoRow + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:focusable="true" + android:backgroundTint="@{state.getBackgroundColor(context)}" + android:foregroundTint="@{state.getIconColor(context)}" + android:icon="@drawable/ic_risk_details_ventilation" + android:text="@string/risk_details_behavior_body_ventilation" + tools:backgroundTint="@color/colorSurface2" + tools:foregroundTint="@color/colorTextSemanticNeutral" /> + </LinearLayout> </layout> \ No newline at end of file diff --git a/Corona-Warn-App/src/main/res/layout/tracing_details_item_periodlogged_view.xml b/Corona-Warn-App/src/main/res/layout/tracing_details_item_periodlogged_view.xml index 657e2d1da2189d1d9556f2cad5af0e8d3ef2449e..d89197811ff1f9d01ad25788caa8e5c266897c2d 100644 --- a/Corona-Warn-App/src/main/res/layout/tracing_details_item_periodlogged_view.xml +++ b/Corona-Warn-App/src/main/res/layout/tracing_details_item_periodlogged_view.xml @@ -60,46 +60,5 @@ app:layout_constraintTop_toBottomOf="@id/risk_details_period_logged_subtitle" /> </androidx.constraintlayout.widget.ConstraintLayout> - <androidx.constraintlayout.widget.ConstraintLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_marginTop="@dimen/spacing_normal" - android:focusable="true" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@id/risk_details_period_logged_layout"> - - <androidx.constraintlayout.widget.ConstraintLayout - android:id="@+id/icon_background" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent"> - - <de.rki.coronawarnapp.ui.view.CircleProgress - android:id="@+id/risk_details_investigation_period_circle_progress" - android:layout_width="@dimen/spacing_huge" - android:layout_height="@dimen/spacing_huge" - android:importantForAccessibility="no" - app:circleWidth="@dimen/circle_large_width" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:progress="@{loggedPeriod.activeTracingDaysInRetentionPeriod}" - app:progressColor="@{loggedPeriod.getProgressColor(context)}" /> - </androidx.constraintlayout.widget.ConstraintLayout> - - <TextView - style="@style/subtitle" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_marginStart="@dimen/spacing_small" - android:text="@{loggedPeriod.getRiskActiveTracingDaysInRetentionPeriodLogged(context)}" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toEndOf="@+id/icon_background" - app:layout_constraintTop_toTopOf="parent" - tools:text="@string/risk_details_information_body_period_logged_assessment" /> - </androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout> </layout> \ No newline at end of file diff --git a/Corona-Warn-App/src/main/res/layout/view_country_list_entry_flag_item.xml b/Corona-Warn-App/src/main/res/layout/view_country_list_entry_flag_item.xml index 1d37e33e4f6ddd1119ebceeb98496fa4bef67ed5..6ea32fe131435ec56448b0addbfc7d2193c3b42d 100644 --- a/Corona-Warn-App/src/main/res/layout/view_country_list_entry_flag_item.xml +++ b/Corona-Warn-App/src/main/res/layout/view_country_list_entry_flag_item.xml @@ -2,7 +2,7 @@ <ImageView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/country_list_entry_image" - android:layout_width="28dp" + android:layout_width="wrap_content" android:layout_height="28dp" android:layout_margin="4dp" app:srcCompat="@drawable/ic_country_eu" /> diff --git a/Corona-Warn-App/src/main/res/values-bg/strings.xml b/Corona-Warn-App/src/main/res/values-bg/strings.xml index 69c27d8e732b09b07a5bc3d4d5c86a9cec8a32b9..e8f448daba8728232e67c4ff5388eb4b27eabc2e 100644 --- a/Corona-Warn-App/src/main/res/values-bg/strings.xml +++ b/Corona-Warn-App/src/main/res/values-bg/strings.xml @@ -41,8 +41,6 @@ <string name="preference_polling_test_result_started"><xliff:g id="preference">"preference_polling_test_result_started"</xliff:g></string> <!-- NOTR --> <string name="preference_test_result_notification"><xliff:g id="preference">"preference_test_result_notification"</xliff:g></string> - <!-- NOTR --> - <string name="preference_risk_days_explanation_shown"><xliff:g id="preference">"preference_risk_days_explanation_shown"</xliff:g></string> <!-- #################################### Generics @@ -107,10 +105,6 @@ Risk Card ###################################### --> - <!-- XTXT: risk card - tracing active for x out of 14 days --> - <string name="risk_card_body_saved_days">"РегиÑтрирането на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк е било активно през %1$s от изминалите 14 дни."</string> - <!-- XTXT: risk card- tracing active for 14 out of 14 days --> - <string name="risk_card_body_saved_days_full">"ÐÑма прекъÑване на региÑтрирането на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк"</string> <!-- XTXT; risk card - no update done yet --> <string name="risk_card_body_not_yet_fetched">"Ð’Ñе още не е извършвана проверка на контактите."</string> <!-- XTXT: risk card - last successful update --> @@ -344,8 +338,6 @@ <string name="risk_details_subtitle_period_logged">"Този период Ñе включва в изчиÑлението."</string> <!-- XHED: risk details - infection period logged information body, below behaviors --> <string name="risk_details_information_body_period_logged">"ВашиÑÑ‚ риÑк от заразÑване може да Ñе изчиÑли Ñамо за периодите, в които региÑтрирането на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк е било активно. Затова тази Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ñ‚Ñ€Ñбва да бъде активирана поÑтоÑнно."</string> - <!-- XHED: risk details - infection period logged information body, below behaviors --> - <string name="risk_details_information_body_period_logged_assessment">"РегиÑтрирането на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк покрива поÑледните 14 дни. За този период от време функциÑта е била активна на Ð’Ð°ÑˆÐ¸Ñ Ñмартфон в продължение на %1$s дни. Приложението изтрива автоматично по-Ñтарите региÑтри, тъй като те вече не могат да Ñлужат за предотвратÑване на заразÑването."</string> <!-- XTXT: risk details - infection period days logged/14 --> <string name="risk_details_information_active_tracing_days_circle_progress">"%s/14"</string> <!-- XHED: risk details - how your risk level was calculated, below behaviors --> @@ -380,10 +372,6 @@ <!-- XACT: risk details page title --> <string name="risk_details_accessibility_title">"ВашиÑÑ‚ ÑÑ‚Ð°Ñ‚ÑƒÑ Ð½Ð° риÑк"</string> - <!-- XHED: one time risk explanation dialog title --> - <string name="risk_details_explanation_dialog_title">"Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾Ñ‚Ð½Ð¾Ñно функционалноÑтта за региÑтриране на Ð¸Ð·Ð»Ð°Ð³Ð°Ð½Ð¸Ñ Ð½Ð° риÑк"</string> - <!-- YTXT: one time risk explanation dialog - pointing to the faq page for more information--> - <string name="risk_details_explanation_dialog_faq_body">"За повече Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð²Ð¸Ð¶Ñ‚Ðµ Ñтраницата „ЧЗВ“."</string> <!-- XHED: risk details - deadman notification title --> <string name="risk_details_deadman_notification_title">"ВашиÑÑ‚ ÑÑ‚Ð°Ñ‚ÑƒÑ Ð½Ð° риÑк"</string> <!-- YTXT: risk details - deadman notification text --> diff --git a/Corona-Warn-App/src/main/res/values-de/contact_diary_strings.xml b/Corona-Warn-App/src/main/res/values-de/contact_diary_strings.xml index 623060853d1f1d1bfc7f6ededf40bad77bbcbb59..14b896c15e64f5f50dbff1c922fc46ebbe75be0f 100644 --- a/Corona-Warn-App/src/main/res/values-de/contact_diary_strings.xml +++ b/Corona-Warn-App/src/main/res/values-de/contact_diary_strings.xml @@ -104,17 +104,21 @@ <!-- XHED: Title for the contact diary dialog to delete all persons --> <string name="contact_diary_delete_persons_title">"Wollen Sie wirklich alle Personen entfernen?"</string> <!-- XTXT: Message for the contact diary dialog to delete all locations --> - <string name="contact_diary_delete_locations_message">"Wenn Sie einen Ort entfernen, werden alle Einträge für diesen Ort aus dem Tagebuch gelöscht."</string> + <string name="contact_diary_delete_locations_message">"Wenn Sie alle Orte entfernen, werden alle Einträge für alle Orte aus dem Tagebuch gelöscht."</string> <!-- XTXT: Message for the contact diary dialog to delete all persons --> - <string name="contact_diary_delete_persons_message">"Wenn Sie eine Person entfernen, werden alle Einträge für diese Person aus dem Tagebuch gelöscht."</string> + <string name="contact_diary_delete_persons_message">"Wenn Sie alle Personen entfernen, werden alle Einträge für alle Personen aus dem Tagebuch gelöscht."</string> <!-- XACT: edit icon description for screen readers --> <string name="contact_diary_edit_icon_content_description">"Eintrag bearbeiten"</string> <!-- XACT: edit icon description for screen readers --> <string name="contact_diary_delete_icon_content_description">"Eintrag löschen"</string> <!-- XHED: Title for the contact diary dialog to delete delete a single location --> - <string name="contact_diary_delete_location_title">"Wollen Sie wirklich diesen Ort entfernen?"</string> + <string name="contact_diary_delete_location_title">"Wollen Sie diesen Ort wirklich entfernen?"</string> <!-- XHED: Title for the contact diary dialog to delete delete a single person --> <string name="contact_diary_delete_person_title">"Wollen Sie wirklich diese Person entfernen?"</string> + <!-- XTXT: Message for the contact diary dialog to delete a single location --> + <string name="contact_diary_delete_location_message">"Wenn Sie einen Ort entfernen, werden alle Einträge für diesen Ort aus dem Tagebuch gelöscht."</string> + <!-- XTXT: Message for the contact diary dialog to delete a single person --> + <string name="contact_diary_delete_person_message">"Wenn Sie eine Person entfernen, werden alle Einträge für diese Person aus dem Tagebuch gelöscht."</string> <!-- XHED: Title for the contact diary comment info screen --> <string name="contact_diary_comment_info_screen_title">"Notiz"</string> diff --git a/Corona-Warn-App/src/main/res/values-de/release_info_strings.xml b/Corona-Warn-App/src/main/res/values-de/release_info_strings.xml index b57b02302a67f6457d2a8771b7a202da30dfa819..55e4acd124fa1a726e68920c53a1a10419efc773 100644 --- a/Corona-Warn-App/src/main/res/values-de/release_info_strings.xml +++ b/Corona-Warn-App/src/main/res/values-de/release_info_strings.xml @@ -17,34 +17,26 @@ <!-- XHED: Titles for the release info screen bullet points --> <string-array name="new_release_title"> - <item>Zusatzfunktionen im Kontakt-Tagebuch</item> - <item>Direkter Zugriff auf Kontakt-Tagebuch</item> - <item>Mehr Details zum Risikostatus</item> - <item>Screenshots zur Corona-Warn-App</item> + <item>Länderübergreifende Risiko-Ermittlung um Schweiz erweitert </item> + <item>Erstellung von Fehlerberichten</item> </string-array> <!-- XTXT: Text bodies for the release info screen bullet points --> <string-array name="new_release_body"> - <item>Sie können zu jedem Eintrag angeben, unter welchen Umständen die Begegnung stattfand. Sie können aus vorgegebenen Optionen auswählen (z.B. Dauer der Begegnung, mit oder ohne Maske) sowie zusätzlich in einer kurzen Notiz weitere Umstände erfassen, die zu einem erhöhten Risiko führen könnten. Sollten Sie sich tatsächlich anstecken, können diese Angaben dem Gesundheitsamt bei der Nachverfolgung möglicher Infektionsketten helfen.</item> - <item>Sie können nun direkt einen Eintrag im Kontakt-Tagebuch hinzufügen, ohne erst die App öffnen zu müssen. Tippen Sie dazu etwa 2 Sekunden lang auf das Icon der Corona-Warn-App bis ein Menü erscheint und tippen Sie dann auf "Tagebuch-Eintrag für heute hinzufügen“.</item> - <item>Wenn Ihnen in der App ein erhöhtes Risiko angezeigt wird, können Sie nun sehen, ob der Risikostatus aufgrund einer bzw. mehrerer Begegnungen mit erhöhtem Risiko angezeigt wird, oder aufgrund von mehreren Begegnungen mit niedrigem Risiko.</item> - <item>Auf https://www.coronawarn.app stehen nun alle Screenshots der App zu Verfügung. So können Sie sich nun auch über geplante Funktionen der App informieren.</item> + <item>Die Corona-Warn-App nutzende Personen können nun auch verschlüsselte Zufalls-IDs mit Personen austauschen, die die offizielle Warn-App der Schweiz nutzen. Somit können Warnungen an App nutzende Personen in der Schweiz geschickt sowie von ihnen empfangen werden.</item> + <item>Sie können nun nach Aufforderung des technischen Supports einen Fehlerbericht erstellen und die Schritte aufzeichnen, die Sie in der App ausführen. Mögliche technische Fehler können so besser analysiert und schneller behoben werden. </item> </string-array> <!-- XTXT: Text labels that will be converted to Links --> <string-array name="new_release_linkified_labels"> <item></item> <item></item> - <item></item> - <item>https://www.coronawarn.app</item> </string-array> <!-- XTXT: URL destinations for the lables in new_release_linkified_labels --> <string-array name="new_release_target_urls"> <item></item> <item></item> - <item></item> - <item>https://www.coronawarn.app/de/screenshots</item> </string-array> </resources> diff --git a/Corona-Warn-App/src/main/res/values-de/strings.xml b/Corona-Warn-App/src/main/res/values-de/strings.xml index ce0bebb41c5db8158339ab7dd75f467ff4ae8fc7..42bda2997799287f9ae9c3ab8967e7800f8eb943 100644 --- a/Corona-Warn-App/src/main/res/values-de/strings.xml +++ b/Corona-Warn-App/src/main/res/values-de/strings.xml @@ -42,8 +42,6 @@ <string name="preference_polling_test_result_started"><xliff:g id="preference">"preference_polling_test_result_started"</xliff:g></string> <!-- NOTR --> <string name="preference_test_result_notification"><xliff:g id="preference">"preference_test_result_notification"</xliff:g></string> - <!-- NOTR --> - <string name="preference_risk_days_explanation_shown"><xliff:g id="preference">"preference_risk_days_explanation_shown"</xliff:g></string> <!-- #################################### Generics @@ -108,6 +106,8 @@ Risk Card ###################################### --> + <!-- XTXT: risk card - Days since installation if < 14 days --> + <string name="risk_card_body_days_since_installation">"Seit %s Tagen installiert"</string> <!-- XTXT: risk card - tracing active for x out of 14 days --> <string name="risk_card_body_saved_days">"Risiko-Ermittlung war für %1$s der letzten 14 Tage aktiv"</string> <!-- XTXT: risk card- tracing active for 14 out of 14 days --> @@ -329,6 +329,8 @@ <!-- XTXT: Explains user about increased risk level: URL, has to be "translated" into english (relevant for all languages except german) - https://www.coronawarn.app/en/faq/#further_details --> <string name="risk_details_increased_risk_faq_url">"https://www.coronawarn.app/de/faq/#red_card_how_to_test"</string> + <!-- XMSG: risk details - ventilation bullet point --> + <string name="risk_details_behavior_body_ventilation">"Lüften Sie Innenräume mehrmals täglich. Öffnen Sie dazu die Fenster einige Minuten lang so weit wie möglich (Stoßlüftung)."</string> <!-- XMSG: risk details - cough/sneeze, something like a bullet point --> <string name="risk_details_behavior_body_cough_sneeze">"Niesen oder husten Sie in die Armbeuge oder in ein Taschentuch."</string> <!-- XMSG: risk details - contact your doctor, bullet point --> @@ -344,8 +346,12 @@ <!-- XHED: risk details - infection period logged headling, below behaviors --> <string name="risk_details_subtitle_period_logged">"Dieser Zeitraum wird berücksichtigt."</string> <!-- XHED: risk details - infection period logged information body, below behaviors --> - <string name="risk_details_information_body_period_logged">"Die Berechnung des Infektionsrisikos kann nur für die Zeiträume erfolgen, an denen die Risiko-Ermittlung aktiv war. Die Risiko-Ermittlung sollte daher dauerhaft aktiv sein."</string> - <!-- XHED: risk details - infection period logged information body, below behaviors --> + <string name="risk_details_information_body_period_logged">"Die Berechnung des Infektionsrisikos kann nur für die Zeiträume erfolgen, an denen die Risiko-Ermittlung aktiv war. Die Risiko- Ermittlung sollte daher dauerhaft aktiv sein. Für Ihre Risiko-Ermittlung wird der Zeitraum der letzten 14 Tage betrachtet."</string> + <!-- XTXT: risk details - infection period logged information body, under 14 days --> + <string name="risk_details_information_body_period_logged_assessment_under_14_days">"Die Corona-Warn-App ist seit %s Tagen installiert. Das Infektionsrisiko wird für Zeiträume berechnet, in denen die Risiko-Ermittlung aktiv ist. Wenn Sie andere Personen getroffen haben und die Risiko-Ermittlung aktiv war, wird Ihr Infektions-Risiko berechnet."</string> + <!-- XTXT: risk details - infection period logged information body, over 14 days --> + <string name="risk_details_information_body_period_logged_assessment_over_14_days">"Wenn die Risiko-Ermittlung zu Zeiten in denen sie andere Personen getroffen haben aktiv war, kann die Berechnung des Infektionsrisikos für diesen Zeitraum erfolgen."</string> + <!-- XHED: risk details - infection period logged information body, below behaviors --> <!-- XTXT: risk details - infection period logged information body, under 14 days --> <string name="risk_details_information_body_period_logged_assessment">"Für Ihre Risiko-Ermittlung wird nur der Zeitraum der letzten 14 Tage betrachtet. In diesem Zeitraum war Ihre Risiko-Ermittlung für eine Gesamtdauer von %1$s Tagen aktiv. Ältere Tage werden automatisch gelöscht, da sie aus Sicht des Infektionsschutzes nicht mehr relevant sind."</string> <!-- XTXT: risk details - infection period days logged/14 --> <string name="risk_details_information_active_tracing_days_circle_progress">"%s/14"</string> @@ -381,10 +387,6 @@ <!-- XACT: risk details page title --> <string name="risk_details_accessibility_title">"Ihr Risikostatus"</string> - <!-- XHED: one time risk explanation dialog title --> - <string name="risk_details_explanation_dialog_title">"Information zur Funktionsweise der Risiko-Ermittlung"</string> - <!-- YTXT: one time risk explanation dialog - pointing to the faq page for more information--> - <string name="risk_details_explanation_dialog_faq_body">"Weitere Informationen finden Sie in den FAQ."</string> <!-- XHED: risk details - deadman notification title --> <string name="risk_details_deadman_notification_title">"Ihr Risikostatus"</string> <!-- YTXT: risk details - deadman notification text --> @@ -499,7 +501,7 @@ <!-- XHED: onboarding(tracing) - location explanation for bluetooth headline --> <string name="onboarding_tracing_location_headline">"Standort-Verwendung erlauben"</string> <!-- XTXT: onboarding(tracing) - location explanation for bluetooth body text --> - <string name="onboarding_tracing_location_body">"Auf Ihren Standort wird nicht zugegriffen. Die Standort-Erlaubnis wird benötigt, da Google bzw. Android diese für die Verwendung von Bluetooth voraussetzt."</string> + <string name="onboarding_tracing_location_body">"Auf Ihren Standort wird nicht zugegriffen. Die Standort-Erlaubnis wird benötigt, um die Verwendung von Bluetooth Low Energy in Android 10 und früheren Versionen zu ermöglichen."</string> <!-- XBUT: onboarding(tracing) - button enable tracing --> <string name="onboarding_tracing_location_button">"Geräte-Einstellungen öffnen"</string> <!-- XACT: Onboarding (test) page title --> @@ -1453,9 +1455,9 @@ <!-- YTXT: Text for consent given --> <string name="submission_test_result_available_text_consent_given">"Vielen Dank, dass Sie mithelfen, andere zu warnen und damit einverstanden sind, Ihr Testergebnis zu teilen. \n\n"<b>"Bitte geben Sie Ihr Testergebnis im nächsten Schritt frei, indem Sie „Teilen“ antippen."</b>""</string> <!-- XHED: Close screen popup title for consent given --> - <string name="submission_test_result_available_close_dialog_title_consent_given">"Möchten Sie den Vorgang wirklich abbrechen?"</string> + <string name="submission_test_result_available_close_dialog_title_consent_given">"Testergebnis anzeigen"</string> <!-- XTXT: Close screen popup text for consent given --> - <string name="submission_test_result_available_close_dialog_body_consent_given">"Achtung:\nSie sind dabei den Vorgang abzubrechen.\nSie haben Ihre Mitmenschen noch nicht gewarnt. Bitte schützen Sie Ihre Mitmenschen und schließen Sie den Vorgang ab."</string> + <string name="submission_test_result_available_close_dialog_body_consent_given">"Erst wenn Sie sich über Ihr Testergebnis informiert haben, können Sie bei Bedarf Ihre Mitmenschen warnen und so helfen, Infektionsketten zu unterbrechen."</string> <!-- YTXT: Text for consent NOT given --> <string name="submission_test_result_available_text_consent_not_given">"Sie haben sich entschieden, Ihr Testergebnis nicht zu teilen. Ihre Mitmenschen werden nicht gewarnt. \n\nSie können im Anschluss Ihr Testergebnis doch noch teilen und mithelfen, die Verbreitung von Corona zu bekämpfen und Ihre Mitmenschen zu schützen."</string> <!-- XHED: Close screen popup title for consent NOT given --> @@ -1463,9 +1465,9 @@ <!-- XTXT: Close screen popup text for consent NOT given --> <string name="submission_test_result_available_close_dialog_body_consent_not_given">"Ihre bisherigen Angaben werden nicht gespeichert."</string> <!-- XBUT: Close screen popup cancel button --> - <string name="submission_test_result_available_close_dialog_cancel_button">"Abbrechen"</string> + <string name="submission_test_result_available_close_dialog_cancel_button">"Nicht Anzeigen"</string> <!-- XBUT: Close screen popup continue button --> - <string name="submission_test_result_available_close_dialog_continue_button">"Fortsetzen"</string> + <string name="submission_test_result_available_close_dialog_continue_button">"Anzeigen"</string> <!-- Submission your consent screen --> <!-- XHED: Your consent screen title --> diff --git a/Corona-Warn-App/src/main/res/values-en/strings.xml b/Corona-Warn-App/src/main/res/values-en/strings.xml index 5d7dd22baeeac3217f03bd3bb26de575c4706d05..aba2825d1892a209d67585843c711f1da7f1535c 100644 --- a/Corona-Warn-App/src/main/res/values-en/strings.xml +++ b/Corona-Warn-App/src/main/res/values-en/strings.xml @@ -41,8 +41,6 @@ <string name="preference_polling_test_result_started"><xliff:g id="preference">"preference_polling_test_result_started"</xliff:g></string> <!-- NOTR --> <string name="preference_test_result_notification"><xliff:g id="preference">"preference_test_result_notification"</xliff:g></string> - <!-- NOTR --> - <string name="preference_risk_days_explanation_shown"><xliff:g id="preference">"preference_risk_days_explanation_shown"</xliff:g></string> <!-- #################################### Generics @@ -107,10 +105,6 @@ Risk Card ###################################### --> - <!-- XTXT: risk card - tracing active for x out of 14 days --> - <string name="risk_card_body_saved_days">"Exposure logging was active for %1$s of the past 14 days."</string> - <!-- XTXT: risk card- tracing active for 14 out of 14 days --> - <string name="risk_card_body_saved_days_full">"Exposure logging permanently active"</string> <!-- XTXT; risk card - no update done yet --> <string name="risk_card_body_not_yet_fetched">"Encounters have not yet been checked."</string> <!-- XTXT: risk card - last successful update --> @@ -344,8 +338,6 @@ <string name="risk_details_subtitle_period_logged">"This period is included in the calculation."</string> <!-- XHED: risk details - infection period logged information body, below behaviors --> <string name="risk_details_information_body_period_logged">"Your risk of infection can be calculated only for periods during which exposure logging was active. The logging feature should therefore remain active permanently."</string> - <!-- XHED: risk details - infection period logged information body, below behaviors --> - <string name="risk_details_information_body_period_logged_assessment">"Exposure logging covers the past 14 days. During this time, the logging feature on your smartphone was active for %1$s days. The app automatically deletes older logs, as these are no longer relevant for infection prevention."</string> <!-- XTXT: risk details - infection period days logged/14 --> <string name="risk_details_information_active_tracing_days_circle_progress">"%s/14"</string> <!-- XHED: risk details - how your risk level was calculated, below behaviors --> @@ -380,10 +372,6 @@ <!-- XACT: risk details page title --> <string name="risk_details_accessibility_title">"Your Risk Status"</string> - <!-- XHED: one time risk explanation dialog title --> - <string name="risk_details_explanation_dialog_title">"Information about exposure logging functionality"</string> - <!-- YTXT: one time risk explanation dialog - pointing to the faq page for more information--> - <string name="risk_details_explanation_dialog_faq_body">"For further information, please see our FAQ page."</string> <!-- XHED: risk details - deadman notification title --> <string name="risk_details_deadman_notification_title">"Your Risk Status"</string> <!-- YTXT: risk details - deadman notification text --> diff --git a/Corona-Warn-App/src/main/res/values-pl/strings.xml b/Corona-Warn-App/src/main/res/values-pl/strings.xml index d133834d996cac691b0e90135093a490dd14f7d6..8736f5ab18f43c9e62a50432db2f01e9abde6885 100644 --- a/Corona-Warn-App/src/main/res/values-pl/strings.xml +++ b/Corona-Warn-App/src/main/res/values-pl/strings.xml @@ -41,8 +41,6 @@ <string name="preference_polling_test_result_started"><xliff:g id="preference">"preference_polling_test_result_started"</xliff:g></string> <!-- NOTR --> <string name="preference_test_result_notification"><xliff:g id="preference">"preference_test_result_notification"</xliff:g></string> - <!-- NOTR --> - <string name="preference_risk_days_explanation_shown"><xliff:g id="preference">"preference_risk_days_explanation_shown"</xliff:g></string> <!-- #################################### Generics @@ -107,10 +105,6 @@ Risk Card ###################################### --> - <!-- XTXT: risk card - tracing active for x out of 14 days --> - <string name="risk_card_body_saved_days">"Rejestrowanie narażenia byÅ‚o aktywne przez %1$s z ostatnich 14 dni."</string> - <!-- XTXT: risk card- tracing active for 14 out of 14 days --> - <string name="risk_card_body_saved_days_full">"Rejestrowanie narażenia stale aktywne"</string> <!-- XTXT; risk card - no update done yet --> <string name="risk_card_body_not_yet_fetched">"Kontakty nie zostaÅ‚y jeszcze sprawdzone."</string> <!-- XTXT: risk card - last successful update --> @@ -344,8 +338,6 @@ <string name="risk_details_subtitle_period_logged">"Ten okres jest uwzglÄ™dniony w obliczeniu."</string> <!-- XHED: risk details - infection period logged information body, below behaviors --> <string name="risk_details_information_body_period_logged">"Ryzyko zakażenia można obliczyć tylko dla okresów, w których rejestrowanie narażenia byÅ‚o aktywne. Dlatego też funkcja rejestrowania powinna być stale aktywna."</string> - <!-- XHED: risk details - infection period logged information body, below behaviors --> - <string name="risk_details_information_body_period_logged_assessment">"Rejestrowanie narażenia obejmuje ostatnie 14 dni. W tym czasie funkcja rejestrowania w Twoim smartfonie byÅ‚a aktywna przez %1$s dni. Aplikacja automatycznie usuwa starsze dzienniki, ponieważ nie sÄ… one już istotne dla zapobiegania zakażeniom."</string> <!-- XTXT: risk details - infection period days logged/14 --> <string name="risk_details_information_active_tracing_days_circle_progress">"%s/14"</string> <!-- XHED: risk details - how your risk level was calculated, below behaviors --> @@ -380,10 +372,6 @@ <!-- XACT: risk details page title --> <string name="risk_details_accessibility_title">"Twój status ryzyka"</string> - <!-- XHED: one time risk explanation dialog title --> - <string name="risk_details_explanation_dialog_title">"Informacje o funkcjonalnoÅ›ci rejestrowania narażenia"</string> - <!-- YTXT: one time risk explanation dialog - pointing to the faq page for more information--> - <string name="risk_details_explanation_dialog_faq_body">"WiÄ™cej informacji znajduje siÄ™ na naszej stronie „CzÄ™sto zadawane pytaniaâ€."</string> <!-- XHED: risk details - deadman notification title --> <string name="risk_details_deadman_notification_title">"Twój status ryzyka"</string> <!-- YTXT: risk details - deadman notification text --> diff --git a/Corona-Warn-App/src/main/res/values-ro/strings.xml b/Corona-Warn-App/src/main/res/values-ro/strings.xml index 4a247aeb3f5823bf930adf5d07f2c5775a585894..8dbf8987e307944ae2a75a3c8f7fbcaeb173c4d9 100644 --- a/Corona-Warn-App/src/main/res/values-ro/strings.xml +++ b/Corona-Warn-App/src/main/res/values-ro/strings.xml @@ -41,8 +41,6 @@ <string name="preference_polling_test_result_started"><xliff:g id="preference">"preference_polling_test_result_started"</xliff:g></string> <!-- NOTR --> <string name="preference_test_result_notification"><xliff:g id="preference">"preference_test_result_notification"</xliff:g></string> - <!-- NOTR --> - <string name="preference_risk_days_explanation_shown"><xliff:g id="preference">"preference_risk_days_explanation_shown"</xliff:g></string> <!-- #################################### Generics @@ -107,10 +105,6 @@ Risk Card ###################################### --> - <!-- XTXT: risk card - tracing active for x out of 14 days --> - <string name="risk_card_body_saved_days">"ÃŽn ultimele 14 zile, înregistrarea în jurnal a expunerilor a fost activă timp de %1$s zile."</string> - <!-- XTXT: risk card- tracing active for 14 out of 14 days --> - <string name="risk_card_body_saved_days_full">"ÃŽnregistrarea în jurnal a expunerilor este permanent activă"</string> <!-- XTXT; risk card - no update done yet --> <string name="risk_card_body_not_yet_fetched">"ÃŽntâlnirile nu au fost încă verificate."</string> <!-- XTXT: risk card - last successful update --> @@ -344,8 +338,6 @@ <string name="risk_details_subtitle_period_logged">"Această perioadă este inclusă în calcul."</string> <!-- XHED: risk details - infection period logged information body, below behaviors --> <string name="risk_details_information_body_period_logged">"Riscul dvs. de infectare poate fi calculat doar pentru perioadele în care a fost activă înregistrarea în jurnal a expunerilor. Prin urmare, caracteristica de înregistrare în jurnal trebuie să rămână permanent activă."</string> - <!-- XHED: risk details - infection period logged information body, below behaviors --> - <string name="risk_details_information_body_period_logged_assessment">"ÃŽnregistrarea în jurnal a expunerilor acoperă ultimele 14 zile. ÃŽn această perioadă, caracteristica de înregistrare în jurnal de pe smartphone-ul dvs. a fost activă timp de %1$s zile. AplicaÈ›ia È™terge automat înregistrările mai vechi din jurnal, întrucât acestea nu mai sunt relevante pentru prevenirea infectării."</string> <!-- XTXT: risk details - infection period days logged/14 --> <string name="risk_details_information_active_tracing_days_circle_progress">"%s/14"</string> <!-- XHED: risk details - how your risk level was calculated, below behaviors --> @@ -380,10 +372,6 @@ <!-- XACT: risk details page title --> <string name="risk_details_accessibility_title">"Starea riscului dvs."</string> - <!-- XHED: one time risk explanation dialog title --> - <string name="risk_details_explanation_dialog_title">"InformaÈ›ii despre funcÈ›ionalitatea de înregistrare în jurnal a expunerilor"</string> - <!-- YTXT: one time risk explanation dialog - pointing to the faq page for more information--> - <string name="risk_details_explanation_dialog_faq_body">"Pentru mai multe informaÈ›ii, consultaÈ›i pagina noastră de întrebări frecvente."</string> <!-- XHED: risk details - deadman notification title --> <string name="risk_details_deadman_notification_title">"Starea riscului dvs."</string> <!-- YTXT: risk details - deadman notification text --> diff --git a/Corona-Warn-App/src/main/res/values-tr/strings.xml b/Corona-Warn-App/src/main/res/values-tr/strings.xml index 0266b0162527ef5b9f926c708eb925ac4fc84285..11ca6f8de7fd5ed2bd5a42f2133bd2315962832d 100644 --- a/Corona-Warn-App/src/main/res/values-tr/strings.xml +++ b/Corona-Warn-App/src/main/res/values-tr/strings.xml @@ -41,8 +41,6 @@ <string name="preference_polling_test_result_started"><xliff:g id="preference">"preference_polling_test_result_started"</xliff:g></string> <!-- NOTR --> <string name="preference_test_result_notification"><xliff:g id="preference">"preference_test_result_notification"</xliff:g></string> - <!-- NOTR --> - <string name="preference_risk_days_explanation_shown"><xliff:g id="preference">"preference_risk_days_explanation_shown"</xliff:g></string> <!-- #################################### Generics @@ -107,10 +105,6 @@ Risk Card ###################################### --> - <!-- XTXT: risk card - tracing active for x out of 14 days --> - <string name="risk_card_body_saved_days">"Maruz kalma günlüğü son 14 günde %1$s gün etkindi."</string> - <!-- XTXT: risk card- tracing active for 14 out of 14 days --> - <string name="risk_card_body_saved_days_full">"Maruz kalma günlüğü sürekli etkin"</string> <!-- XTXT; risk card - no update done yet --> <string name="risk_card_body_not_yet_fetched">"KarşılaÅŸmalar henüz kontrol edilmedi."</string> <!-- XTXT: risk card - last successful update --> @@ -344,8 +338,6 @@ <string name="risk_details_subtitle_period_logged">"Bu dönem hesaplamaya dahil edildi."</string> <!-- XHED: risk details - infection period logged information body, below behaviors --> <string name="risk_details_information_body_period_logged">"Enfeksiyon riskiniz yalnızca maruz kalma günlüğünün etkin olduÄŸu dönemler için hesaplanabilir. Bu nedenle günlüğe kaydetme özelliÄŸinin sürekli etkin kalması gerekir."</string> - <!-- XHED: risk details - infection period logged information body, below behaviors --> - <string name="risk_details_information_body_period_logged_assessment">"Maruz kalma günlüğü son 14 günü kapsar. Bu süre boyunca akıllı telefonunuzdaki günlüğe kaydetme özelliÄŸi %1$s gün etkindi. Uygulama, enfeksiyondan korunma için artık ilgili olmadığından daha eski kayıtları otomatik olarak siler."</string> <!-- XTXT: risk details - infection period days logged/14 --> <string name="risk_details_information_active_tracing_days_circle_progress">"%s/14"</string> <!-- XHED: risk details - how your risk level was calculated, below behaviors --> @@ -380,10 +372,6 @@ <!-- XACT: risk details page title --> <string name="risk_details_accessibility_title">"Risk Durumunuz"</string> - <!-- XHED: one time risk explanation dialog title --> - <string name="risk_details_explanation_dialog_title">"Maruz kalma günlüğü iÅŸlevi hakkında bilgi"</string> - <!-- YTXT: one time risk explanation dialog - pointing to the faq page for more information--> - <string name="risk_details_explanation_dialog_faq_body">"Daha fazla bilgi için lütfen SSS sayfamıza bakın."</string> <!-- XHED: risk details - deadman notification title --> <string name="risk_details_deadman_notification_title">"Risk Durumunuz"</string> <!-- YTXT: risk details - deadman notification text --> diff --git a/Corona-Warn-App/src/main/res/values/contact_diary_strings.xml b/Corona-Warn-App/src/main/res/values/contact_diary_strings.xml index 5a610c20973298353c67e836344802a78111b1b0..dad9ca91c2d328f440aaff4ab49e69a25da3637c 100644 --- a/Corona-Warn-App/src/main/res/values/contact_diary_strings.xml +++ b/Corona-Warn-App/src/main/res/values/contact_diary_strings.xml @@ -115,6 +115,10 @@ <string name="contact_diary_delete_location_title">"Do you really want to remove this place?"</string> <!-- XHED: Title for the contact diary dialog to delete delete a single person --> <string name="contact_diary_delete_person_title">"Do you really want to remove this person?"</string> + <!-- XTXT: Message for the contact diary dialog to delete a single location --> + <string name="contact_diary_delete_location_message">"Wenn Sie einen Ort entfernen, werden alle Einträge für diesen Ort aus dem Tagebuch gelöscht."</string> + <!-- XTXT: Message for the contact diary dialog to delete a single person --> + <string name="contact_diary_delete_person_message">"Wenn Sie eine Person entfernen, werden alle Einträge für diese Person aus dem Tagebuch gelöscht."</string> <!-- XHED: Title for the contact journal export email subject --> <string name="contact_diary_export_subject" translatable="false">"Mein Kontakt-Tagebuch"</string> diff --git a/Corona-Warn-App/src/main/res/values/release_info_strings.xml b/Corona-Warn-App/src/main/res/values/release_info_strings.xml index b8c27c66cf82e2b01ffe02bc9f8c4ac4ee88356d..5e030915b3fb4a6df911d4ab61d373431a99c33f 100644 --- a/Corona-Warn-App/src/main/res/values/release_info_strings.xml +++ b/Corona-Warn-App/src/main/res/values/release_info_strings.xml @@ -17,34 +17,26 @@ <!-- XHED: Titles for the release info screen bullet points --> <string-array name="new_release_title"> - <item>"Additional Features in the Contact Journal"</item> - <item>"Direct Access to Contact Journal"</item> - <item>"More Details about Your Risk Status"</item> - <item>"Screenshots for the Corona-Warn-App"</item> + <item>Länderübergreifende Risiko-Ermittlung um Schweiz erweitert </item> + <item>Erstellung von Fehlerberichten</item> </string-array> <!-- XTXT: Text bodies for the release info screen bullet points --> <string-array name="new_release_body"> - <item>"You can now enter the specific circumstances of each encounter. You can select from the predefined options (such as duration of the encounter, with or without mask) and also enter a brief note to record other circumstances that might result in an increased risk. If you become infected, this information can help the public health authority trace potential chains of infection."</item> - <item>"You can now add an entry to your contact journal directly, without having to open the app first. To do so, tap and hold the icon for the Corona-Warn-App for approximately 2 seconds, until a menu appears, and then tap “Add Journal Entry for Todayâ€."</item> - <item>"If the app indicates that you have an increased risk, you can now see whether the risk status is displayed based on one or more exposures with an increased risk or one or more exposures with a low risk."</item> - <item>"The website https://www.coronawarn.app now contains all the screenshots for the app, so you can find out about planned features, for example."</item> + <item>Die Corona-Warn-App nutzende Personen können nun auch verschlüsselte Zufalls-IDs mit Personen austauschen, die die offizielle Warn-App der Schweiz nutzen. Somit können Warnungen an App nutzende Personen in der Schweiz geschickt sowie von ihnen empfangen werden.</item> + <item>Sie können nun nach Aufforderung des technischen Supports einen Fehlerbericht erstellen und die Schritte aufzeichnen, die Sie in der App ausführen. Mögliche technische Fehler können so besser analysiert und schneller behoben werden. </item> </string-array> <!-- XTXT: Text labels that will be converted to Links --> <string-array name="new_release_linkified_labels"> - <item/> - <item/> - <item/> - <item>"https://www.coronawarn.app"</item> + <item></item> + <item></item> </string-array> <!-- XTXT: URL destinations for the lables in new_release_linkified_labels --> <string-array name="new_release_target_urls"> - <item/> - <item/> - <item/> - <item>"https://www.coronawarn.app/en/screenshots"</item> + <item></item> + <item></item> </string-array> </resources> diff --git a/Corona-Warn-App/src/main/res/values/strings.xml b/Corona-Warn-App/src/main/res/values/strings.xml index 315ee7ea00279280d352ddce2e884c6bd7c27135..cef1af7d362438d0ff8d5161475e432d827a80f0 100644 --- a/Corona-Warn-App/src/main/res/values/strings.xml +++ b/Corona-Warn-App/src/main/res/values/strings.xml @@ -48,8 +48,6 @@ <string name="preference_polling_test_result_started"><xliff:g id="preference">"preference_polling_test_result_started"</xliff:g></string> <!-- NOTR --> <string name="preference_test_result_notification"><xliff:g id="preference">"preference_test_result_notification"</xliff:g></string> - <!-- NOTR --> - <string name="preference_risk_days_explanation_shown"><xliff:g id="preference">"preference_risk_days_explanation_shown"</xliff:g></string> <!-- #################################### Generics @@ -118,6 +116,8 @@ Risk Card ###################################### --> + <!-- XTXT: risk card - Days since installation if < 14 days --> + <string name="risk_card_body_days_since_installation">"Seit %s Tagen installiert"</string> <!-- XTXT: risk card - tracing active for x out of 14 days --> <string name="risk_card_body_saved_days">"Exposure logging was active for %1$s of the past 14 days."</string> <!-- XTXT: risk card- tracing active for 14 out of 14 days --> @@ -339,6 +339,8 @@ <!-- XTXT: Explains user about increased risk level: URL, has to be "translated" into english (relevant for all languages except german) - https://www.coronawarn.app/en/faq/#further_details --> <string name="risk_details_increased_risk_faq_url">"https://www.coronawarn.app/en/faq/#red_card_how_to_test"</string> + <!-- XMSG: risk details - ventilation bullet point --> + <string name="risk_details_behavior_body_ventilation">"Lüften Sie Innenräume mehrmals täglich. Öffnen Sie dazu die Fenster einige Minuten lang so weit wie möglich (Stoßlüftung)."</string> <!-- XMSG: risk details - cough/sneeze, something like a bullet point --> <string name="risk_details_behavior_body_cough_sneeze">"Sneeze or cough into your elbow or a tissue."</string> <!-- XMSG: risk details - contact your doctor, bullet point --> @@ -355,7 +357,11 @@ <string name="risk_details_subtitle_period_logged">"This period is included in the calculation."</string> <!-- XHED: risk details - infection period logged information body, below behaviors --> <string name="risk_details_information_body_period_logged">"Your risk of infection can be calculated only for periods during which exposure logging was active. The logging feature should therefore remain active permanently."</string> - <!-- XHED: risk details - infection period logged information body, below behaviors --> + <!-- XTXT: risk details - infection period logged information body, under 14 days --> + <string name="risk_details_information_body_period_logged_assessment_under_14_days">"Exposure logging covers the past 14 days. During this time, the logging feature on your smartphone was active for %1$s days. The app automatically deletes older logs, as these are no longer relevant for infection prevention."</string> + <!-- XTXT: risk details - infection period logged information body, over 14 days --> + <string name="risk_details_information_body_period_logged_assessment_over_14_days">"Wenn die Risiko-Ermittlung zu Zeiten in denen sie andere Personen getroffen haben aktiv war, kann die Berechnung des Infektionsrisikos für diesen Zeitraum erfolgen."</string> + <!-- XHED: risk details - infection period logged information body, below behaviors --> <!-- XTXT: risk details - infection period logged information body, under 14 days --> <string name="risk_details_information_body_period_logged_assessment">"Exposure logging covers the past 14 days. During this time, the logging feature on your smartphone was active for %1$s days. The app automatically deletes older logs, as these are no longer relevant for infection prevention."</string> <!-- XTXT: risk details - infection period days logged/14 --> <string name="risk_details_information_active_tracing_days_circle_progress">"%s/14"</string> @@ -391,11 +397,6 @@ <!-- XACT: risk details page title --> <string name="risk_details_accessibility_title">"Your Risk Status"</string> - <!-- XHED: one time risk explanation dialog title --> - <string name="risk_details_explanation_dialog_title">"Information about exposure logging functionality"</string> - <!-- YTXT: one time risk explanation dialog - pointing to the faq page for more information--> - <string name="risk_details_explanation_dialog_faq_body">"For further information, please see our FAQ page."</string> - <!-- XHED: risk details - deadman notification title --> <string name="risk_details_deadman_notification_title">"Your Risk Status"</string> <!-- YTXT: risk details - deadman notification text --> diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/fallback/DefaultAppConfigSanityCheck.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/fallback/DefaultAppConfigSanityCheck.kt index 3c94d8afd20b5c09a3fe2d814ab60c77d98242af..67679862b65b1b2560d1b91ba942016cbc58e787 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/fallback/DefaultAppConfigSanityCheck.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/fallback/DefaultAppConfigSanityCheck.kt @@ -37,7 +37,7 @@ class DefaultAppConfigSanityCheck : BaseTest() { fun `current default matches checksum`() { val config = context.assets.open(configName).readBytes() val sha256 = context.assets.open(checkSumName).readBytes().toString(Charsets.UTF_8) - sha256 shouldBe "12d0b93c0c02c6870ef75c173a53a8ffb9cab6828fbf22e751053329c425eef2" + sha256 shouldBe "3d108b3fee7d1b4c227087c82bb804048de8d0542c3f2b26cf507a918201124d" config.toSHA256() shouldBe sha256 } diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/fallback/DefaultAppConfigSourceTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/fallback/DefaultAppConfigSourceTest.kt index 313f4cbca19208d229f306c3160cb26c4d3c00df..cf21c6b07f6b0cb657363536e346f57084b7ec32 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/fallback/DefaultAppConfigSourceTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/fallback/DefaultAppConfigSourceTest.kt @@ -20,6 +20,7 @@ import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test import testhelpers.BaseIOTest import java.io.File +import java.io.FileNotFoundException class DefaultAppConfigSourceTest : BaseIOTest() { @MockK private lateinit var context: Context @@ -81,6 +82,7 @@ class DefaultAppConfigSourceTest : BaseIOTest() { @Test fun `exceptions when getting the default config are rethrown`() = runBlockingTest { + every { assetManager.open("default_app_config_android.bin") } throws FileNotFoundException("default_app_config_android.bin does not exist") val instance = createInstance() shouldThrowAny { diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/remote/AppConfigApiTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/remote/AppConfigApiTest.kt index 7534816f002e9bb7318568e32601aaf1393fd0d4..5f9f1e884a6d690df3212cf6d328a7d0a6d8e31a 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/remote/AppConfigApiTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/remote/AppConfigApiTest.kt @@ -75,6 +75,6 @@ class AppConfigApiTest : BaseIOTest() { val request = webServer.takeRequest(5, TimeUnit.SECONDS)!! request.method shouldBe "GET" - request.path shouldBe "/version/v1/app_config_android" + request.path shouldBe "/version/v2/app_config_android" } } diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/remote/AppConfigServerTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/remote/AppConfigServerTest.kt index f8e3b0aab6c770d062385704ee2ac01bd8803571..e5fffdcd31f6232ee060e0dd184e6e448bfb5621 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/remote/AppConfigServerTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/remote/AppConfigServerTest.kt @@ -7,7 +7,7 @@ import de.rki.coronawarnapp.appconfig.internal.InternalConfigData import de.rki.coronawarnapp.storage.TestSettings import de.rki.coronawarnapp.util.CWADebug import de.rki.coronawarnapp.util.TimeStamper -import de.rki.coronawarnapp.util.security.VerificationKeys +import de.rki.coronawarnapp.util.security.SignatureValidation import io.kotest.assertions.throwables.shouldThrow import io.kotest.matchers.shouldBe import io.mockk.MockKAnnotations @@ -33,7 +33,7 @@ import java.io.File class AppConfigServerTest : BaseIOTest() { @MockK lateinit var api: AppConfigApiV2 - @MockK lateinit var verificationKeys: VerificationKeys + @MockK lateinit var signatureValidation: SignatureValidation @MockK lateinit var timeStamper: TimeStamper @MockK lateinit var testSettings: TestSettings private val testDir = File(IO_TEST_BASEDIR, this::class.simpleName!!) @@ -45,7 +45,7 @@ class AppConfigServerTest : BaseIOTest() { testDir.exists() shouldBe true every { timeStamper.nowUTC } returns Instant.ofEpochMilli(123456789) - every { verificationKeys.hasInvalidSignature(any(), any()) } returns false + every { signatureValidation.hasValidSignature(any(), any()) } returns true mockkObject(CWADebug) every { CWADebug.isDeviceForTestersBuild } returns false @@ -59,7 +59,7 @@ class AppConfigServerTest : BaseIOTest() { private fun createInstance() = AppConfigServer( api = { api }, - verificationKeys = verificationKeys, + signatureValidation = signatureValidation, timeStamper = timeStamper, testSettings = testSettings ) @@ -92,7 +92,7 @@ class AppConfigServerTest : BaseIOTest() { cacheValidity = Duration.standardSeconds(123) ) - verify(exactly = 1) { verificationKeys.hasInvalidSignature(any(), any()) } + verify(exactly = 1) { signatureValidation.hasValidSignature(any(), any()) } } @Test @@ -113,7 +113,7 @@ class AppConfigServerTest : BaseIOTest() { coEvery { api.getApplicationConfiguration() } returns Response.success( APPCONFIG_BUNDLE.toResponseBody() ) - every { verificationKeys.hasInvalidSignature(any(), any()) } returns true + every { signatureValidation.hasValidSignature(any(), any()) } returns false val downloadServer = createInstance() diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditLocationsViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditLocationsViewModelTest.kt index 6dd141a3353bcc2b643258d518b28e8eb5afcecc..85cec1b373816147ce9adac70409814a5ecd3787 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditLocationsViewModelTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditLocationsViewModelTest.kt @@ -12,6 +12,7 @@ import io.mockk.every import io.mockk.impl.annotations.MockK import io.mockk.just import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.test.TestCoroutineScope import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test import org.junit.jupiter.api.extension.ExtendWith @@ -37,10 +38,16 @@ class ContactDiaryEditLocationsViewModelTest { MockKAnnotations.init(this) } + fun createInstance() = ContactDiaryEditLocationsViewModel( + appScope = TestCoroutineScope(), + contactDiaryRepository = contactDiaryRepository, + dispatcherProvider = TestDispatcherProvider() + ) + @Test fun testOnDeleteAllLocationsClick() { every { contactDiaryRepository.locations } returns MutableStateFlow(locationList) - viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider()) + viewModel = createInstance() viewModel.navigationEvent.observeForever { } viewModel.onDeleteAllLocationsClick() viewModel.navigationEvent.value shouldBe ContactDiaryEditLocationsViewModel.NavigationEvent.ShowDeletionConfirmationDialog @@ -51,7 +58,7 @@ class ContactDiaryEditLocationsViewModelTest { coEvery { contactDiaryRepository.deleteAllLocationVisits() } just Runs coEvery { contactDiaryRepository.deleteAllLocations() } just Runs every { contactDiaryRepository.locations } returns MutableStateFlow(locationList) - viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider()) + viewModel = createInstance() viewModel.onDeleteAllConfirmedClick() coVerify(exactly = 1) { contactDiaryRepository.deleteAllLocationVisits() @@ -62,7 +69,7 @@ class ContactDiaryEditLocationsViewModelTest { @Test fun testOnEditLocationClick() { every { contactDiaryRepository.locations } returns MutableStateFlow(locationList) - viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider()) + viewModel = createInstance() viewModel.navigationEvent.observeForever { } viewModel.onEditLocationClick(location) viewModel.navigationEvent.value shouldBe @@ -72,7 +79,7 @@ class ContactDiaryEditLocationsViewModelTest { @Test fun testIsButtonEnabled() { every { contactDiaryRepository.locations } returns MutableStateFlow(locationList) - viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider()) + viewModel = createInstance() viewModel.isButtonEnabled.observeForever { } viewModel.isButtonEnabled.value shouldBe true } @@ -80,7 +87,7 @@ class ContactDiaryEditLocationsViewModelTest { @Test fun testIsButtonNotEnabledWhenListIsEmpty() { every { contactDiaryRepository.locations } returns MutableStateFlow(emptyList()) - viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider()) + viewModel = createInstance() viewModel.isButtonEnabled.observeForever { } viewModel.isButtonEnabled.value shouldBe false } @@ -88,7 +95,7 @@ class ContactDiaryEditLocationsViewModelTest { @Test fun testLocations() { every { contactDiaryRepository.locations } returns MutableStateFlow(locationList) - viewModel = ContactDiaryEditLocationsViewModel(contactDiaryRepository, TestDispatcherProvider()) + viewModel = createInstance() viewModel.locationsLiveData.observeForever { } viewModel.locationsLiveData.value shouldBe locationList } diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditPersonsViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditPersonsViewModelTest.kt index 892d74d8be0c919fcea222d3f520c2a54e1904d0..babe9784bcf715e537e38f9b0cc1230aaf5d282f 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditPersonsViewModelTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/contactdiary/ui/edit/ContactDiaryEditPersonsViewModelTest.kt @@ -12,6 +12,7 @@ import io.mockk.every import io.mockk.impl.annotations.MockK import io.mockk.just import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.test.TestCoroutineScope import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test import org.junit.jupiter.api.extension.ExtendWith @@ -38,10 +39,16 @@ class ContactDiaryEditPersonsViewModelTest { MockKAnnotations.init(this) } + private fun createInstance() = ContactDiaryEditPersonsViewModel( + appScope = TestCoroutineScope(), + contactDiaryRepository = contactDiaryRepository, + dispatcherProvider = TestDispatcherProvider() + ) + @Test fun testOnDeleteAllLocationsClick() { every { contactDiaryRepository.people } returns MutableStateFlow(personList) - viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider()) + viewModel = createInstance() viewModel.navigationEvent.observeForever { } viewModel.onDeleteAllPersonsClick() viewModel.navigationEvent.value shouldBe ContactDiaryEditPersonsViewModel.NavigationEvent.ShowDeletionConfirmationDialog @@ -52,7 +59,7 @@ class ContactDiaryEditPersonsViewModelTest { coEvery { contactDiaryRepository.deleteAllPeople() } just Runs coEvery { contactDiaryRepository.deleteAllPersonEncounters() } just Runs every { contactDiaryRepository.people } returns MutableStateFlow(personList) - viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider()) + viewModel = createInstance() viewModel.onDeleteAllConfirmedClick() coVerify(exactly = 1) { contactDiaryRepository.deleteAllPeople() @@ -63,7 +70,7 @@ class ContactDiaryEditPersonsViewModelTest { @Test fun testOnEditLocationClick() { every { contactDiaryRepository.people } returns MutableStateFlow(personList) - viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider()) + viewModel = createInstance() viewModel.navigationEvent.observeForever { } viewModel.onEditPersonClick(person) viewModel.navigationEvent.value shouldBe @@ -73,7 +80,7 @@ class ContactDiaryEditPersonsViewModelTest { @Test fun testIsButtonEnabled() { every { contactDiaryRepository.people } returns MutableStateFlow(personList) - viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider()) + viewModel = createInstance() viewModel.isButtonEnabled.observeForever { } viewModel.isButtonEnabled.value shouldBe true } @@ -81,7 +88,7 @@ class ContactDiaryEditPersonsViewModelTest { @Test fun testIsButtonNotEnabledWhenListIsEmpty() { every { contactDiaryRepository.people } returns MutableStateFlow(emptyList()) - viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider()) + viewModel = createInstance() viewModel.isButtonEnabled.observeForever { } viewModel.isButtonEnabled.value shouldBe false } @@ -89,7 +96,7 @@ class ContactDiaryEditPersonsViewModelTest { @Test fun testLocations() { every { contactDiaryRepository.people } returns MutableStateFlow(personList) - viewModel = ContactDiaryEditPersonsViewModel(contactDiaryRepository, TestDispatcherProvider()) + viewModel = createInstance() viewModel.personsLiveData.observeForever { } viewModel.personsLiveData.value shouldBe personList } diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/download/KeyDownloadToolTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/download/KeyDownloadToolTest.kt index 2e298c1046e4e24e77502e6d194404e0180cd480..de6126928f6d7c9d279c943c7ba44a5a265fe4ca 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/download/KeyDownloadToolTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/download/KeyDownloadToolTest.kt @@ -7,7 +7,6 @@ import de.rki.coronawarnapp.diagnosiskeys.server.LocationCode import de.rki.coronawarnapp.diagnosiskeys.storage.CachedKey import de.rki.coronawarnapp.diagnosiskeys.storage.CachedKeyInfo import de.rki.coronawarnapp.diagnosiskeys.storage.KeyCacheRepository -import de.rki.coronawarnapp.diagnosiskeys.storage.legacy.LegacyKeyCacheMigration import io.kotest.assertions.throwables.shouldThrow import io.kotest.matchers.shouldBe import io.mockk.MockKAnnotations @@ -38,7 +37,6 @@ class KeyDownloadToolTest : BaseIOTest() { private val testDir = File(IO_TEST_BASEDIR, this::class.simpleName!!) private val testFile = File(testDir, "testfile") - @MockK private lateinit var legacyKeyCache: LegacyKeyCacheMigration @MockK private lateinit var keyServer: DiagnosisKeyServer @MockK private lateinit var keyCache: KeyCacheRepository @MockK private lateinit var downloadConfig: KeyDownloadConfig @@ -78,7 +76,6 @@ class KeyDownloadToolTest : BaseIOTest() { } private fun createInstance() = KeyDownloadTool( - legacyKeyCache = legacyKeyCache, keyServer = keyServer, keyCache = keyCache ) diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/storage/legacy/LegacyKeyCacheMigrationTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/storage/legacy/LegacyKeyCacheMigrationTest.kt deleted file mode 100644 index dcb966efcb0ac6e38f20c4c4fb0c80a8eb2b42b7..0000000000000000000000000000000000000000 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/storage/legacy/LegacyKeyCacheMigrationTest.kt +++ /dev/null @@ -1,213 +0,0 @@ -package de.rki.coronawarnapp.diagnosiskeys.storage.legacy - -import android.content.Context -import android.database.SQLException -import dagger.Lazy -import de.rki.coronawarnapp.util.HashExtensions.hashToMD5 -import de.rki.coronawarnapp.util.TimeStamper -import io.kotest.matchers.shouldBe -import io.mockk.MockKAnnotations -import io.mockk.coEvery -import io.mockk.coVerify -import io.mockk.every -import io.mockk.impl.annotations.MockK -import io.mockk.mockk -import kotlinx.coroutines.runBlocking -import org.joda.time.Duration -import org.joda.time.Instant -import org.junit.jupiter.api.AfterEach -import org.junit.jupiter.api.BeforeEach -import org.junit.jupiter.api.Test -import testhelpers.BaseIOTest -import java.io.File -import java.io.IOException - -class LegacyKeyCacheMigrationTest : BaseIOTest() { - - @MockK - lateinit var context: Context - - @MockK - lateinit var timeStamper: TimeStamper - - @MockK - lateinit var legacyDao: KeyCacheLegacyDao - - private val testDir = File(IO_TEST_BASEDIR, this::class.simpleName!!) - private val legacyDir = File(testDir, "key-export") - - @BeforeEach - fun setup() { - MockKAnnotations.init(this) - testDir.mkdirs() - testDir.exists() shouldBe true - - every { context.cacheDir } returns testDir - every { timeStamper.nowUTC } returns Instant.EPOCH - - coEvery { legacyDao.clear() } returns Unit - } - - @AfterEach - fun teardown() { - testDir.deleteRecursively() - } - - private fun createTool() = LegacyKeyCacheMigration( - context = context, - legacyDao = Lazy { legacyDao }, - timeStamper = timeStamper - ) - - @Test - fun `nothing happens on null checksum`() { - val tool = createTool() - runBlocking { - tool.tryMigration(null, File(testDir, "something")) - } - - coVerify(exactly = 0) { legacyDao.clear() } - } - - @Test - fun `migrate a file successfully`() { - val legacyFile1 = File(legacyDir, "1234.zip") - legacyFile1.parentFile!!.mkdirs() - legacyFile1.writeText("testdata") - legacyFile1.exists() shouldBe true - - val legacyFile1MD5 = legacyFile1.hashToMD5() - legacyFile1MD5.isNotEmpty() shouldBe true - - val migrationTarget = File(testDir, "migratedkey.zip") - - val tool = createTool() - runBlocking { - tool.tryMigration(legacyFile1MD5, migrationTarget) - } - - legacyFile1.exists() shouldBe false - migrationTarget.exists() shouldBe true - migrationTarget.hashToMD5() shouldBe legacyFile1MD5 - - coVerify(exactly = 1) { legacyDao.clear() } - } - - @Test - fun `migrating a single file fails gracefully`() { - val legacyFile1 = File(legacyDir, "1234.zip") - legacyFile1.parentFile!!.mkdirs() - legacyFile1.writeText("testdata") - legacyFile1.exists() shouldBe true - - val legacyFile1MD5 = legacyFile1.hashToMD5() - legacyFile1MD5.isNotEmpty() shouldBe true - - val migrationTarget = mockk<File>() - every { migrationTarget.path } throws IOException() - - val tool = createTool() - runBlocking { - tool.tryMigration(legacyFile1MD5, migrationTarget) - } - - legacyFile1.exists() shouldBe false - - coVerify(exactly = 1) { legacyDao.clear() } - } - - @Test - fun `legacy app database can crash, we don't care`() { - val legacyFile1 = File(legacyDir, "1234.zip") - legacyFile1.parentFile!!.mkdirs() - legacyFile1.writeText("testdata") - legacyFile1.exists() shouldBe true - - val legacyFile1MD5 = legacyFile1.hashToMD5() - legacyFile1MD5.isNotEmpty() shouldBe true - - val migrationTarget = File(testDir, "migratedkey.zip") - - coEvery { legacyDao.clear() } throws SQLException() - - val tool = createTool() - runBlocking { - tool.tryMigration(legacyFile1MD5, migrationTarget) - } - - legacyFile1.exists() shouldBe false - migrationTarget.exists() shouldBe true - migrationTarget.hashToMD5() shouldBe legacyFile1MD5 - - coVerify(exactly = 1) { legacyDao.clear() } - } - - @Test - fun `init failure causes legacy cache to be cleared`() { - val legacyFile1 = File(legacyDir, "1234.zip") - legacyFile1.parentFile!!.mkdirs() - legacyFile1.writeText("testdata") - - val legacyFile1MD5 = legacyFile1.hashToMD5() - legacyFile1MD5.isNotEmpty() shouldBe true - - legacyFile1.setReadable(false) - - val migrationTarget = File(testDir, "migratedkey.zip") - - val tool = createTool() - runBlocking { - tool.tryMigration(legacyFile1MD5, migrationTarget) - } - - legacyFile1.exists() shouldBe false - migrationTarget.exists() shouldBe false - } - - @Test - fun `stale legacy files (older than 15 days) are cleaned up on init`() { - val legacyFile1 = File(legacyDir, "1234.zip") - legacyFile1.parentFile!!.mkdirs() - legacyFile1.writeText("testdata") - - val legacyFile1MD5 = legacyFile1.hashToMD5() - legacyFile1MD5.isNotEmpty() shouldBe true - - every { timeStamper.nowUTC } returns Instant.ofEpochMilli(legacyFile1.lastModified()) - .plus(Duration.standardDays(16)) - - val migrationTarget = File(testDir, "migratedkey.zip") - - coEvery { legacyDao.clear() } throws SQLException() - - val tool = createTool() - runBlocking { - tool.tryMigration(legacyFile1MD5, migrationTarget) - } - - legacyFile1.exists() shouldBe false - migrationTarget.exists() shouldBe false - } - - @Test - fun `init deletes empty cache dir`() { - legacyDir.mkdirs() - legacyDir.exists() shouldBe true - - runBlocking { - val tool = createTool() - tool.tryMigration("doesntmatter", File(testDir, "1")) - } - legacyDir.exists() shouldBe false - legacyDir.parentFile!!.exists() shouldBe true - - runBlocking { - val tool = createTool() - tool.tryMigration("doesntmatter", File(testDir, "1")) - } - legacyDir.exists() shouldBe false - legacyDir.parentFile!!.exists() shouldBe true - - coVerify(exactly = 1) { legacyDao.clear() } - } -} diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/main/home/HomeFragmentViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/main/home/HomeFragmentViewModelTest.kt index ca7c68ec638ac93377e58ba8e49ed4616a4236da..dbbcda67a7ea6f040e0f790cff68f8b5a95a138e 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/main/home/HomeFragmentViewModelTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/main/home/HomeFragmentViewModelTest.kt @@ -6,7 +6,6 @@ import de.rki.coronawarnapp.deadman.DeadmanNotificationScheduler import de.rki.coronawarnapp.environment.BuildConfigWrap import de.rki.coronawarnapp.main.CWASettings import de.rki.coronawarnapp.notification.ShareTestResultNotificationService -import de.rki.coronawarnapp.risk.TimeVariables import de.rki.coronawarnapp.statistics.source.StatisticsProvider import de.rki.coronawarnapp.storage.LocalData import de.rki.coronawarnapp.storage.TracingRepository @@ -185,16 +184,9 @@ class HomeFragmentViewModelTest : BaseTest() { every { BuildConfigWrap.VERSION_CODE } returns 1120004 every { cwaSettings.lastChangelogVersion.value } returns 1L andThen 1120004 - every { LocalData.tracingExplanationDialogWasShown() } returns false andThen true - mockkObject(TimeVariables) - coEvery { TimeVariables.getActiveTracingDaysInRetentionPeriod() } coAnswers { 1 } - - every { errorResetTool.isResetNoticeToBeShown } returns false andThen true + every { errorResetTool.isResetNoticeToBeShown } returns true with(createInstance()) { - showPopUps() - popupEvents.getOrAwaitValue() shouldBe HomeFragmentEvents.ShowTracingExplanation(1) - showPopUps() popupEvents.getOrAwaitValue() shouldBe HomeFragmentEvents.ShowErrorResetDialog } diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/windows/ExposureWindowsCalculationTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/windows/ExposureWindowsCalculationTest.kt index 0e88002d6c34e088b097b392a753296fd458b982..d02dac3c4f8a1936f323ed36c43e1c3e841b729d 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/windows/ExposureWindowsCalculationTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/windows/ExposureWindowsCalculationTest.kt @@ -14,6 +14,7 @@ import de.rki.coronawarnapp.nearby.windows.entities.configuration.DefaultRiskCal import de.rki.coronawarnapp.nearby.windows.entities.configuration.JsonMinutesAtAttenuationFilter import de.rki.coronawarnapp.nearby.windows.entities.configuration.JsonMinutesAtAttenuationWeight import de.rki.coronawarnapp.nearby.windows.entities.configuration.JsonNormalizedTimeToRiskLevelMapping +import de.rki.coronawarnapp.nearby.windows.entities.configuration.JsonTransmissionRiskValueMapping import de.rki.coronawarnapp.nearby.windows.entities.configuration.JsonTrlFilter import de.rki.coronawarnapp.risk.DefaultRiskLevels import de.rki.coronawarnapp.risk.result.AggregatedRiskResult @@ -261,8 +262,14 @@ class ExposureWindowsCalculationTest : BaseTest() { result.append(logRange(filter.dropIfTrlInRange, "Drop If Trl In Range")) } - result.append("\n").append("â—¦ Transmission Risk Level Multiplier: ${config.transmissionRiskLevelMultiplier}") - result.append("\n").append("-------------------------------------------- âš™ -").append("\n") + result.append("\n").appendLine("â—¦ Transmission Risk Value Mapping (${config.transmissionRiskValueMapping.size})") + for (mapping in config.transmissionRiskValueMapping) { + result.append("\t").appendLine("⇥ Mapping") + result.append("\t\t").append("↳ transmissionRiskLevel: ").appendLine(mapping.transmissionRiskLevel) + result.append("\t\t").append("↳ transmissionRiskValue: ").appendLine(mapping.transmissionRiskValue) + } + + result.appendLine("-------------------------------------------- âš™ -") debugLog(result.toString(), LogLevel.NONE) } @@ -364,8 +371,6 @@ class ExposureWindowsCalculationTest : BaseTest() { } every { testConfig.normalizedTimePerExposureWindowToRiskLevelMapping } returns normalizedTimePerExposureWindowToRiskLevelMapping - every { testConfig.transmissionRiskLevelMultiplier } returns json.transmissionRiskLevelMultiplier - val trlEncoding: RiskCalculationParametersOuterClass.TransmissionRiskLevelEncoding = mockk() every { trlEncoding.infectiousnessOffsetHigh } returns json.trlEncoding.infectiousnessOffsetHigh every { trlEncoding.infectiousnessOffsetStandard } returns json.trlEncoding.infectiousnessOffsetStandard @@ -385,6 +390,18 @@ class ExposureWindowsCalculationTest : BaseTest() { trlFilters.add(filter) } every { testConfig.transmissionRiskLevelFilters } returns trlFilters + + val transmissionRiskValueMapping = + mutableListOf<RiskCalculationParametersOuterClass.TransmissionRiskValueMapping>() + for (jsonMapping: JsonTransmissionRiskValueMapping in json.transmissionRiskValueMapping) { + val mapping: RiskCalculationParametersOuterClass.TransmissionRiskValueMapping = mockk() + mapping.run { + every { transmissionRiskLevel } returns jsonMapping.transmissionRiskLevel + every { transmissionRiskValue } returns jsonMapping.transmissionRiskValue + } + transmissionRiskValueMapping += mapping + } + every { testConfig.transmissionRiskValueMapping } returns transmissionRiskValueMapping } private fun jsonToExposureWindow(json: JsonWindow): ExposureWindow { diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/windows/entities/configuration/DefaultRiskCalculationConfiguration.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/windows/entities/configuration/DefaultRiskCalculationConfiguration.kt index 7445d86e786d7250f7cf57dc4c5498eba97fabeb..1273b327df115d6ba365a5da1cb6e8340353d40d 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/windows/entities/configuration/DefaultRiskCalculationConfiguration.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/windows/entities/configuration/DefaultRiskCalculationConfiguration.kt @@ -11,10 +11,10 @@ data class DefaultRiskCalculationConfiguration( val normalizedTimePerDayToRiskLevelMapping: List<JsonNormalizedTimeToRiskLevelMapping>, @SerializedName("normalizedTimePerEWToRiskLevelMapping") val normalizedTimePerEWToRiskLevelMapping: List<JsonNormalizedTimeToRiskLevelMapping>, - @SerializedName("transmissionRiskLevelMultiplier") - val transmissionRiskLevelMultiplier: Double, @SerializedName("trlEncoding") val trlEncoding: JsonTrlEncoding, @SerializedName("trlFilters") - val trlFilters: List<JsonTrlFilter> + val trlFilters: List<JsonTrlFilter>, + @SerializedName("transmissionRiskValueMapping") + val transmissionRiskValueMapping: List<JsonTransmissionRiskValueMapping> ) diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/windows/entities/configuration/JsonTransmissionRiskValueMapping.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/windows/entities/configuration/JsonTransmissionRiskValueMapping.kt new file mode 100644 index 0000000000000000000000000000000000000000..64bce14b999d03f9d6b64b8e8ea73530321e6401 --- /dev/null +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/windows/entities/configuration/JsonTransmissionRiskValueMapping.kt @@ -0,0 +1,10 @@ +package de.rki.coronawarnapp.nearby.windows.entities.configuration + +import com.google.gson.annotations.SerializedName + +data class JsonTransmissionRiskValueMapping( + @SerializedName("transmissionRiskLevel") + val transmissionRiskLevel: Int, + @SerializedName("transmissionRiskValue") + val transmissionRiskValue: Double +) diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/risk/storage/BaseRiskLevelStorageTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/risk/storage/BaseRiskLevelStorageTest.kt index 5e52b89da44898fd5a597fe4086b42bbaece898b..f792ede47577c270d5a938fbebcc26894d25b5be 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/risk/storage/BaseRiskLevelStorageTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/risk/storage/BaseRiskLevelStorageTest.kt @@ -13,11 +13,9 @@ import de.rki.coronawarnapp.risk.storage.internal.RiskResultDatabase.AggregatedR import de.rki.coronawarnapp.risk.storage.internal.RiskResultDatabase.ExposureWindowsDao import de.rki.coronawarnapp.risk.storage.internal.RiskResultDatabase.Factory import de.rki.coronawarnapp.risk.storage.internal.RiskResultDatabase.RiskResultsDao -import de.rki.coronawarnapp.risk.storage.legacy.RiskLevelResultMigrator import io.kotest.assertions.throwables.shouldThrow import io.kotest.matchers.shouldBe import io.kotest.matchers.shouldNotBe -import io.mockk.Called import io.mockk.MockKAnnotations import io.mockk.Runs import io.mockk.coEvery @@ -25,7 +23,6 @@ import io.mockk.coVerify import io.mockk.every import io.mockk.impl.annotations.MockK import io.mockk.just -import io.mockk.mockk import io.mockk.spyk import io.mockk.verify import kotlinx.coroutines.CoroutineScope @@ -46,7 +43,6 @@ class BaseRiskLevelStorageTest : BaseTest() { @MockK lateinit var riskResultTables: RiskResultsDao @MockK lateinit var exposureWindowTables: ExposureWindowsDao @MockK lateinit var aggregatedRiskPerDateResultDao: AggregatedRiskPerDateResultDao - @MockK lateinit var riskLevelResultMigrator: RiskLevelResultMigrator @BeforeEach fun setup() { @@ -58,8 +54,6 @@ class BaseRiskLevelStorageTest : BaseTest() { every { database.aggregatedRiskPerDate() } returns aggregatedRiskPerDateResultDao every { database.clearAllTables() } just Runs - coEvery { riskLevelResultMigrator.getLegacyResults() } returns emptyList() - every { riskResultTables.allEntries() } returns emptyFlow() every { riskResultTables.latestEntries(2) } returns emptyFlow() every { riskResultTables.latestAndLastSuccessful() } returns emptyFlow() @@ -79,8 +73,7 @@ class BaseRiskLevelStorageTest : BaseTest() { onDeletedOrphanedExposureWindows: () -> Unit = {} ) = object : BaseRiskLevelStorage( scope = scope, - riskResultDatabaseFactory = databaseFactory, - riskLevelResultMigrator = riskLevelResultMigrator + riskResultDatabaseFactory = databaseFactory ) { override val storedResultLimit: Int = storedResultLimit @@ -130,8 +123,6 @@ class BaseRiskLevelStorageTest : BaseTest() { runBlockingTest { val instance = createInstance() instance.allRiskLevelResults.first() shouldBe listOf(testRisklevelResult) - - verify { riskLevelResultMigrator wasNot Called } } } @@ -146,26 +137,11 @@ class BaseRiskLevelStorageTest : BaseTest() { instance.allRiskLevelResults.first() shouldBe listOf(riskLevelResult) verify { - riskLevelResultMigrator wasNot Called riskResultTables.allEntries() } } } - @Test - fun `riskLevelResults returns legacy results if data is empty`() { - coEvery { riskLevelResultMigrator.getLegacyResults() } returns listOf(mockk(), mockk()) - every { riskResultTables.allEntries() } returns flowOf(emptyList()) - every { exposureWindowTables.allEntries() } returns flowOf(emptyList()) - - runBlockingTest { - val instance = createInstance() - instance.allRiskLevelResults.first().size shouldBe 2 - - coVerify { riskLevelResultMigrator.getLegacyResults() } - } - } - // This just tests the mapping, the correctness of the SQL statement is validated in an instrumentation test @Test fun `latestRiskLevelResults with exposure windows are returned from database and mapped`() { @@ -179,27 +155,12 @@ class BaseRiskLevelStorageTest : BaseTest() { instance.latestRiskLevelResults.first() shouldBe listOf(riskLevelResult) verify { - riskLevelResultMigrator wasNot Called riskResultTables.latestEntries(2) exposureWindowTables.getWindowsForResult(listOf(testRiskLevelResultDao.id)) } } } - @Test - fun `latestRiskLevelResults returns legacy results if data is empty`() { - coEvery { riskLevelResultMigrator.getLegacyResults() } returns listOf(mockk(), mockk()) - every { riskResultTables.latestEntries(2) } returns flowOf(emptyList()) - every { exposureWindowTables.allEntries() } returns flowOf(emptyList()) - - runBlockingTest { - val instance = createInstance() - instance.latestRiskLevelResults.first().size shouldBe 2 - - coVerify { riskLevelResultMigrator.getLegacyResults() } - } - } - // This just tests the mapping, the correctness of the SQL statement is validated in an instrumentation test @Test fun `latestAndLastSuccessful with exposure windows are returned from database and mapped`() { @@ -213,26 +174,12 @@ class BaseRiskLevelStorageTest : BaseTest() { instance.latestAndLastSuccessful.first() shouldBe listOf(riskLevelResult) verify { - riskLevelResultMigrator wasNot Called riskResultTables.latestAndLastSuccessful() exposureWindowTables.getWindowsForResult(listOf(testRiskLevelResultDao.id)) } } } - @Test - fun `latestAndLastSuccessful returns legacy results if data is empty`() { - coEvery { riskLevelResultMigrator.getLegacyResults() } returns listOf(mockk(), mockk()) - every { riskResultTables.latestAndLastSuccessful() } returns flowOf(emptyList()) - - runBlockingTest { - val instance = createInstance() - instance.latestAndLastSuccessful.first().size shouldBe 2 - - coVerify { riskLevelResultMigrator.getLegacyResults() } - } - } - @Test fun `errors when storing risklevel result are rethrown`() = runBlockingTest { coEvery { riskResultTables.insertEntry(any()) } throws IllegalStateException("No body expects the...") diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/risk/storage/legacy/RiskLevelResultMigratorTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/risk/storage/legacy/RiskLevelResultMigratorTest.kt deleted file mode 100644 index a122a3eb7803e4c21102283422944c4535625294..0000000000000000000000000000000000000000 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/risk/storage/legacy/RiskLevelResultMigratorTest.kt +++ /dev/null @@ -1,148 +0,0 @@ -package de.rki.coronawarnapp.risk.storage.legacy - -import android.content.Context -import androidx.core.content.edit -import de.rki.coronawarnapp.risk.RiskState -import de.rki.coronawarnapp.util.TimeStamper -import io.kotest.matchers.shouldBe -import io.mockk.MockKAnnotations -import io.mockk.every -import io.mockk.impl.annotations.MockK -import kotlinx.coroutines.runBlocking -import org.joda.time.Instant -import org.junit.jupiter.api.BeforeEach -import org.junit.jupiter.api.Test -import testhelpers.BaseTest -import testhelpers.preferences.MockSharedPreferences - -class RiskLevelResultMigratorTest : BaseTest() { - - @MockK lateinit var timeStamper: TimeStamper - @MockK lateinit var context: Context - private val mockPreferences = MockSharedPreferences() - - @BeforeEach - fun setup() { - MockKAnnotations.init(this) - - every { timeStamper.nowUTC } returns Instant.EPOCH.plus(1337) - } - - fun createInstance() = RiskLevelResultMigrator( - timeStamper = timeStamper, - encryptedPreferences = { mockPreferences }, - context = context - ) - - @Test - fun `normal case with full values`() = runBlocking { - mockPreferences.edit { - putInt("preference_risk_level_score", MigrationRiskLevelConstants.INCREASED_RISK) - putInt("preference_risk_level_score_successful", MigrationRiskLevelConstants.LOW_LEVEL_RISK) - putLong("preference_timestamp_risk_level_calculation", 1234567890L) - } - createInstance().apply { - val legacyResults = getLegacyResults() - legacyResults[0].apply { - riskState shouldBe RiskState.INCREASED_RISK - calculatedAt shouldBe Instant.ofEpochMilli(1234567890L) - } - legacyResults[1].apply { - riskState shouldBe RiskState.LOW_RISK - calculatedAt shouldBe Instant.EPOCH.plus(1337) - } - } - } - - @Test - fun `empty list if no previous data was available`() = runBlocking { - mockPreferences.dataMapPeek.isEmpty() shouldBe true - createInstance().getLegacyResults() shouldBe emptyList() - } - - @Test - fun `if no timestamp is available we use the current time`() = runBlocking { - mockPreferences.edit { - putInt("preference_risk_level_score", MigrationRiskLevelConstants.INCREASED_RISK) - putInt("preference_risk_level_score_successful", MigrationRiskLevelConstants.LOW_LEVEL_RISK) - } - createInstance().apply { - val legacyResults = getLegacyResults() - legacyResults[0].apply { - riskState shouldBe RiskState.INCREASED_RISK - calculatedAt shouldBe Instant.EPOCH.plus(1337) - } - legacyResults[1].apply { - riskState shouldBe RiskState.LOW_RISK - calculatedAt shouldBe Instant.EPOCH.plus(1337) - } - } - } - - @Test - fun `last successful is null`() = runBlocking { - mockPreferences.edit { - putInt("preference_risk_level_score_successful", MigrationRiskLevelConstants.INCREASED_RISK) - } - createInstance().apply { - val legacyResults = getLegacyResults() - legacyResults.size shouldBe 1 - legacyResults.first().apply { - riskState shouldBe RiskState.INCREASED_RISK - calculatedAt shouldBe Instant.EPOCH.plus(1337) - } - } - } - - @Test - fun `last successfully calculated is null`() = runBlocking { - mockPreferences.edit { - putInt("preference_risk_level_score", MigrationRiskLevelConstants.INCREASED_RISK) - putLong("preference_timestamp_risk_level_calculation", 1234567890L) - } - createInstance().apply { - val legacyResults = getLegacyResults() - legacyResults.size shouldBe 1 - legacyResults.first().apply { - riskState shouldBe RiskState.INCREASED_RISK - calculatedAt shouldBe Instant.ofEpochMilli(1234567890L) - } - } - } - - @Test - fun `exceptions are handled gracefully`() = runBlocking { - mockPreferences.edit { - putInt("preference_risk_level_score", MigrationRiskLevelConstants.INCREASED_RISK) - } - every { timeStamper.nowUTC } throws Exception("Surprise!") - createInstance().getLegacyResults() shouldBe emptyList() - } - - @Test - fun `legacy risk level mapping`() { - RiskLevelResultMigrator.mapRiskLevelConstant( - MigrationRiskLevelConstants.NO_CALCULATION_POSSIBLE_TRACING_OFF - ) shouldBe RiskState.CALCULATION_FAILED - - RiskLevelResultMigrator.mapRiskLevelConstant( - MigrationRiskLevelConstants.LOW_LEVEL_RISK - ) shouldBe RiskState.LOW_RISK - - RiskLevelResultMigrator.mapRiskLevelConstant( - MigrationRiskLevelConstants.INCREASED_RISK - ) shouldBe RiskState.INCREASED_RISK - - RiskLevelResultMigrator.mapRiskLevelConstant( - MigrationRiskLevelConstants.UNKNOWN_RISK_OUTDATED_RESULTS - ) shouldBe RiskState.CALCULATION_FAILED - - RiskLevelResultMigrator.mapRiskLevelConstant( - MigrationRiskLevelConstants.UNKNOWN_RISK_OUTDATED_RESULTS_MANUAL - ) shouldBe RiskState.CALCULATION_FAILED - - RiskLevelResultMigrator.mapRiskLevelConstant( - MigrationRiskLevelConstants.UNDETERMINED - ) shouldBe RiskState.CALCULATION_FAILED - } -} diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/statistics/source/StatisticsServerTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/statistics/source/StatisticsServerTest.kt index a9ce4ebd834fc08dfb195959dee000db8fa31f23..f1b7acf6554a37a2515723a0e55621f19952c1e5 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/statistics/source/StatisticsServerTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/statistics/source/StatisticsServerTest.kt @@ -1,6 +1,6 @@ package de.rki.coronawarnapp.statistics.source -import de.rki.coronawarnapp.util.security.VerificationKeys +import de.rki.coronawarnapp.util.security.SignatureValidation import io.kotest.assertions.throwables.shouldThrow import io.kotest.matchers.shouldBe import io.mockk.MockKAnnotations @@ -23,20 +23,20 @@ import java.io.IOException class StatisticsServerTest : BaseIOTest() { @MockK lateinit var api: StatisticsApiV1 - @MockK lateinit var verificationKeys: VerificationKeys + @MockK lateinit var signatureValidation: SignatureValidation @MockK lateinit var cache: Cache @BeforeEach fun setup() { MockKAnnotations.init(this) - every { verificationKeys.hasInvalidSignature(any(), any()) } returns false + every { signatureValidation.hasValidSignature(any(), any()) } returns true every { cache.evictAll() } just Runs } private fun createInstance() = StatisticsServer( api = { api }, - verificationKeys = verificationKeys, + signatureValidation = signatureValidation, cache = cache ) @@ -49,7 +49,7 @@ class StatisticsServerTest : BaseIOTest() { val rawStatistics = server.getRawStatistics() rawStatistics shouldBe STATS_PROTO - verify(exactly = 1) { verificationKeys.hasInvalidSignature(any(), any()) } + verify(exactly = 1) { signatureValidation.hasValidSignature(any(), any()) } } @Test @@ -66,7 +66,7 @@ class StatisticsServerTest : BaseIOTest() { @Test fun `verification fails`() = runBlockingTest { coEvery { api.getStatistics() } returns Response.success(STATS_ZIP.toResponseBody()) - every { verificationKeys.hasInvalidSignature(any(), any()) } returns true + every { signatureValidation.hasValidSignature(any(), any()) } returns false val server = createInstance() diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/storage/DatabaseConstantsTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/storage/DatabaseConstantsTest.kt deleted file mode 100644 index 1455528be352b60d22f02f747d145a98adb03c3c..0000000000000000000000000000000000000000 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/storage/DatabaseConstantsTest.kt +++ /dev/null @@ -1,12 +0,0 @@ -package de.rki.coronawarnapp.storage - -import org.junit.Assert -import org.junit.Test - -class DatabaseConstantsTest { - - @Test - fun allDatabaseConstants() { - Assert.assertEquals(DATABASE_NAME, "coronawarnapp-db") - } -} diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/storage/tracing/TracingIntervalRepositoryTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/storage/tracing/TracingIntervalRepositoryTest.kt deleted file mode 100644 index 1729c44fd9d7709f00532742c92cddc83828540c..0000000000000000000000000000000000000000 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/storage/tracing/TracingIntervalRepositoryTest.kt +++ /dev/null @@ -1,64 +0,0 @@ -package de.rki.coronawarnapp.storage.tracing - -import io.mockk.MockKAnnotations -import io.mockk.Runs -import io.mockk.coEvery -import io.mockk.coVerify -import io.mockk.impl.annotations.MockK -import io.mockk.just -import kotlinx.coroutines.runBlocking -import org.junit.Before -import org.junit.Test -import testhelpers.BaseTest -import java.util.Date - -/** - * TracingIntervalRepository test. - */ -class TracingIntervalRepositoryTest : BaseTest() { - - @MockK - private lateinit var dao: TracingIntervalDao - private lateinit var repository: TracingIntervalRepository - - @Before - fun setUp() { - MockKAnnotations.init(this) - repository = TracingIntervalRepository(dao) - - coEvery { dao.deleteOutdatedIntervals(any()) } just Runs - coEvery { dao.insertInterval(any()) } just Runs - coEvery { dao.getAllIntervals() } returns listOf() - } - - /** - * Test DAO is called. - */ - @Test - fun testCreate() { - val today = Date().time - - runBlocking { - repository.createInterval(today - 1, today) - - coVerify { - dao.insertInterval(any()) - } - } - } - - /** - * Test DAO is called. - */ - @Test - fun testGet() { - runBlocking { - repository.getIntervals() - - coVerify { - dao.deleteOutdatedIntervals(any()) - dao.getAllIntervals() - } - } - } -} diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/tracing/states/IncreasedRiskTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/tracing/states/IncreasedRiskTest.kt index 778e6557324ec9cc2a2ed11b3a52cf1ed0eac8f9..438f59d49a8f58bb6915a21ecd65de085d656edd 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/tracing/states/IncreasedRiskTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/tracing/states/IncreasedRiskTest.kt @@ -61,7 +61,6 @@ internal class IncreasedRiskTest { lastExposureDetectionTime = Instant.now(), allowManualUpdate = false, daysWithEncounters = 1, - activeTracingDays = 1, lastEncounterAt = Instant.now() ) } diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/tracing/states/LowRiskTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/tracing/states/LowRiskTest.kt index 4b997aa7ca54d03af10bbfa7e8c1b8c88259a085..8fb93b6e4079ff9662f02ce560a6d10f707afc0e 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/tracing/states/LowRiskTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/tracing/states/LowRiskTest.kt @@ -32,7 +32,6 @@ internal class LowRiskTest { lastExposureDetectionTime = Instant.now(), allowManualUpdate = false, daysWithEncounters = 0, - activeTracingDays = 1, lastEncounterAt = null ) diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/tracing/ui/details/TracingDetailsItemProviderTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/tracing/ui/details/TracingDetailsItemProviderTest.kt index b8a3664aa153d7d719aea63507ece24479a5f4d6..73be55667a1886353dd13dfc6ba528a61bfe77db 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/tracing/ui/details/TracingDetailsItemProviderTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/tracing/ui/details/TracingDetailsItemProviderTest.kt @@ -8,7 +8,6 @@ import de.rki.coronawarnapp.risk.ProtoRiskLevel import de.rki.coronawarnapp.risk.RiskLevelTaskResult import de.rki.coronawarnapp.risk.result.AggregatedRiskResult import de.rki.coronawarnapp.risk.storage.RiskLevelStorage -import de.rki.coronawarnapp.storage.TracingRepository import de.rki.coronawarnapp.tracing.GeneralTracingStatus import de.rki.coronawarnapp.tracing.ui.details.items.additionalinfos.AdditionalInfoLowRiskBox import de.rki.coronawarnapp.tracing.ui.details.items.behavior.BehaviorIncreasedRiskBox @@ -39,7 +38,6 @@ class TracingDetailsItemProviderTest : BaseTest() { @MockK(relaxed = true) lateinit var aggregatedRiskResult: AggregatedRiskResult @MockK lateinit var tracingStatus: GeneralTracingStatus - @MockK lateinit var tracingRepository: TracingRepository @MockK lateinit var riskLevelStorage: RiskLevelStorage @MockK lateinit var surveys: Surveys @@ -51,7 +49,6 @@ class TracingDetailsItemProviderTest : BaseTest() { private fun createInstance() = TracingDetailsItemProvider( tracingStatus = tracingStatus, - tracingRepository = tracingRepository, riskLevelStorage = riskLevelStorage, surveys = surveys ) @@ -63,7 +60,6 @@ class TracingDetailsItemProviderTest : BaseTest() { availableSurveys: List<Surveys.Type> = emptyList() ) { every { tracingStatus.generalStatus } returns flowOf(status) - every { tracingRepository.activeTracingDaysInRetentionPeriod } returns flowOf(0) every { aggregatedRiskResult.totalRiskLevel } returns riskLevel every { surveys.availableSurveys } returns flowOf(availableSurveys) diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/main/home/MainFragmentViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/main/home/MainFragmentViewModelTest.kt deleted file mode 100644 index 5422956790145a432cb9fd5639db48d1810615ac..0000000000000000000000000000000000000000 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/main/home/MainFragmentViewModelTest.kt +++ /dev/null @@ -1 +0,0 @@ -package de.rki.coronawarnapp.ui.main.home diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/security/EncryptionResetToolTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/security/EncryptionResetToolTest.kt index 9b16e6e67db00a92b49e033383d6bc472ef13338..574b1a009ce5b50486fd72da511a89e6488463fc 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/security/EncryptionResetToolTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/security/EncryptionResetToolTest.kt @@ -29,14 +29,12 @@ class EncryptionResetToolTest : BaseIOTest() { private val testDir = File(IO_TEST_BASEDIR, this::class.simpleName!!) private val privateFilesDir = File(testDir, "files") private val encryptedPrefsFile = File(testDir, "shared_prefs/shared_preferences_cwa.xml") - private val encryptedDatabaseFile = File(testDir, "databases/coronawarnapp-db") @BeforeEach fun setup() { MockKAnnotations.init(this) every { context.filesDir } returns privateFilesDir - every { context.getDatabasePath("coronawarnapp-db") } returns encryptedDatabaseFile mockPreferences = MockSharedPreferences() every { @@ -65,11 +63,6 @@ class EncryptionResetToolTest : BaseIOTest() { createNewFile() exists() shouldBe true } - encryptedDatabaseFile.apply { - parentFile!!.mkdirs() - createNewFile() - exists() shouldBe true - } } @Test @@ -79,7 +72,6 @@ class EncryptionResetToolTest : BaseIOTest() { createInstance() encryptedPrefsFile.exists() shouldBe true - encryptedDatabaseFile.exists() shouldBe true mockPreferences.dataMapPeek shouldBe emptyMap() } @@ -107,7 +99,6 @@ class EncryptionResetToolTest : BaseIOTest() { createInstance().tryResetIfNecessary(Exception()) encryptedPrefsFile.exists() shouldBe true - encryptedDatabaseFile.exists() shouldBe true } /** @@ -145,7 +136,6 @@ class EncryptionResetToolTest : BaseIOTest() { ) shouldBe false encryptedPrefsFile.exists() shouldBe false - encryptedDatabaseFile.exists() shouldBe false mockPreferences.dataMapPeek.apply { this["ea1851.reset.performedAt"] shouldBe 1234567890L @@ -189,7 +179,6 @@ class EncryptionResetToolTest : BaseIOTest() { ) shouldBe true encryptedPrefsFile.exists() shouldBe false - encryptedDatabaseFile.exists() shouldBe false mockPreferences.dataMapPeek.apply { this["ea1851.reset.performedAt"] shouldBe 1234567890L @@ -214,7 +203,6 @@ class EncryptionResetToolTest : BaseIOTest() { ) shouldBe true encryptedPrefsFile.exists() shouldBe false - encryptedDatabaseFile.exists() shouldBe false mockPreferences.dataMapPeek.apply { this["ea1851.reset.performedAt"] shouldBe 1234567890L @@ -240,7 +228,6 @@ class EncryptionResetToolTest : BaseIOTest() { ) shouldBe true encryptedPrefsFile.exists() shouldBe false - encryptedDatabaseFile.exists() shouldBe false mockPreferences.dataMapPeek.apply { this["ea1851.reset.performedAt"] shouldBe 1234567890L @@ -269,7 +256,6 @@ class EncryptionResetToolTest : BaseIOTest() { ) shouldBe false encryptedPrefsFile.exists() shouldBe true - encryptedDatabaseFile.exists() shouldBe true mockPreferences.dataMapPeek.apply { this["ea1851.reset.performedAt"] shouldBe null @@ -287,7 +273,6 @@ class EncryptionResetToolTest : BaseIOTest() { ) shouldBe false encryptedPrefsFile.exists() shouldBe true - encryptedDatabaseFile.exists() shouldBe true mockPreferences.dataMapPeek.apply { this["ea1851.reset.performedAt"] shouldBe null @@ -307,7 +292,6 @@ class EncryptionResetToolTest : BaseIOTest() { ) shouldBe false encryptedPrefsFile.exists() shouldBe true - encryptedDatabaseFile.exists() shouldBe true mockPreferences.dataMapPeek.apply { this["ea1851.reset.performedAt"] shouldBe null @@ -325,7 +309,6 @@ class EncryptionResetToolTest : BaseIOTest() { ) shouldBe false encryptedPrefsFile.exists() shouldBe false - encryptedDatabaseFile.exists() shouldBe false mockPreferences.dataMapPeek.apply { this["ea1851.reset.performedAt"] shouldBe null @@ -346,28 +329,6 @@ class EncryptionResetToolTest : BaseIOTest() { ) shouldBe false encryptedPrefsFile.exists() shouldBe true - encryptedDatabaseFile.exists() shouldBe true - - mockPreferences.dataMapPeek.apply { - this["ea1851.reset.performedAt"] shouldBe null - this["ea1851.reset.windowconsumed.160"] shouldBe true - this["ea1851.reset.shownotice"] shouldBe null - } - } - - @Test - fun `the reset is considered failed if the database exists and can not be deleted`() { - createMockFiles() - encryptedDatabaseFile.delete() - encryptedDatabaseFile.mkdir() // Can't delete directories with children via `delete()` - File(encryptedDatabaseFile, "prevent deletion").createNewFile() - - createInstance().tryResetIfNecessary( - GeneralSecurityException("decryption failed") - ) shouldBe false - - encryptedPrefsFile.exists() shouldBe false - encryptedDatabaseFile.exists() shouldBe true mockPreferences.dataMapPeek.apply { this["ea1851.reset.performedAt"] shouldBe null diff --git a/Corona-Warn-App/src/test/resources/exposure-windows-risk-calculation.json b/Corona-Warn-App/src/test/resources/exposure-windows-risk-calculation.json index 2b11428431878d27278183ac72545a1c0ebdb851..0e47872a66c3792c27df150cf1919854e200a164 100644 --- a/Corona-Warn-App/src/test/resources/exposure-windows-risk-calculation.json +++ b/Corona-Warn-App/src/test/resources/exposure-windows-risk-calculation.json @@ -1,28 +1,8 @@ { "__comment__": "JSON has been generated from YAML, see README", "defaultRiskCalculationConfiguration": { - "minutesAtAttenuationFilters": [ - { - "attenuationRange": { - "min": 0, - "max": 73, - "maxExclusive": true - }, - "dropIfMinutesInRange": { - "min": 0, - "max": 10, - "maxExclusive": true - } - } - ], - "trlFilters": [ - { - "dropIfTrlInRange": { - "min": 1, - "max": 2 - } - } - ], + "minutesAtAttenuationFilters": [], + "trlFilters": [], "minutesAtAttenuationWeights": [ { "attenuationRange": { @@ -39,12 +19,20 @@ "maxExclusive": true }, "weight": 0.5 + }, + { + "attenuationRange": { + "min": 63, + "max": 73, + "maxExclusive": true + }, + "weight": 0.3 } ], "normalizedTimePerEWToRiskLevelMapping": [ { "normalizedTimeRange": { - "min": 0, + "min": 5, "max": 15, "maxExclusive": true }, @@ -61,7 +49,7 @@ "normalizedTimePerDayToRiskLevelMapping": [ { "normalizedTimeRange": { - "min": 0, + "min": 5, "max": 15, "maxExclusive": true }, @@ -83,11 +71,44 @@ "reportTypeOffsetConfirmedClinicalDiagnosis": 4, "reportTypeOffsetConfirmedTest": 6 }, - "transmissionRiskLevelMultiplier": 0.2 + "transmissionRiskValueMapping": [ + { + "transmissionRiskLevel": 1, + "transmissionRiskValue": 0 + }, + { + "transmissionRiskLevel": 2, + "transmissionRiskValue": 0 + }, + { + "transmissionRiskLevel": 3, + "transmissionRiskValue": 0.6 + }, + { + "transmissionRiskLevel": 4, + "transmissionRiskValue": 0.8 + }, + { + "transmissionRiskLevel": 5, + "transmissionRiskValue": 1 + }, + { + "transmissionRiskLevel": 6, + "transmissionRiskValue": 1.2 + }, + { + "transmissionRiskLevel": 7, + "transmissionRiskValue": 1.4 + }, + { + "transmissionRiskLevel": 8, + "transmissionRiskValue": 1.6 + } + ] }, "testCases": [ { - "description": "drop Exposure Windows that do not match minutesAtAttenuationFilters (< 10 minutes)", + "description": "keep Exposure Windows (< 10 minutes)", "exposureWindows": [ { "ageInDays": 1, @@ -109,15 +130,15 @@ } ], "expTotalRiskLevel": 1, - "expTotalMinimumDistinctEncountersWithLowRisk": 0, - "expAgeOfMostRecentDateWithLowRisk": null, + "expAgeOfMostRecentDateWithLowRisk": 1, "expAgeOfMostRecentDateWithHighRisk": null, - "expTotalMinimumDistinctEncountersWithHighRisk": 0, - "expNumberOfDaysWithLowRisk": 0, - "expNumberOfDaysWithHighRisk": 0 + "expNumberOfDaysWithLowRisk": 1, + "expNumberOfDaysWithHighRisk": 0, + "expTotalMinimumDistinctEncountersWithLowRisk": 1, + "expTotalMinimumDistinctEncountersWithHighRisk": 0 }, { - "description": "keep Exposure Windows that match minutesAtAttenuationFilters (>= 10 minutes)", + "description": "keep Exposure Windows (>= 10 minutes)", "exposureWindows": [ { "ageInDays": 1, @@ -139,15 +160,15 @@ } ], "expTotalRiskLevel": 1, - "expTotalMinimumDistinctEncountersWithLowRisk": 1, "expAgeOfMostRecentDateWithLowRisk": 1, "expAgeOfMostRecentDateWithHighRisk": null, - "expTotalMinimumDistinctEncountersWithHighRisk": 0, "expNumberOfDaysWithLowRisk": 1, - "expNumberOfDaysWithHighRisk": 0 + "expNumberOfDaysWithHighRisk": 0, + "expTotalMinimumDistinctEncountersWithLowRisk": 1, + "expTotalMinimumDistinctEncountersWithHighRisk": 0 }, { - "description": "drop Exposure Windows that do not match minutesAtAttenuationFilters (>= 73 dB)", + "description": "keep Exposure Windows (>= 73 dB)", "exposureWindows": [ { "ageInDays": 1, @@ -169,15 +190,15 @@ } ], "expTotalRiskLevel": 1, - "expTotalMinimumDistinctEncountersWithLowRisk": 0, "expAgeOfMostRecentDateWithLowRisk": null, "expAgeOfMostRecentDateWithHighRisk": null, - "expTotalMinimumDistinctEncountersWithHighRisk": 0, "expNumberOfDaysWithLowRisk": 0, - "expNumberOfDaysWithHighRisk": 0 + "expNumberOfDaysWithHighRisk": 0, + "expTotalMinimumDistinctEncountersWithLowRisk": 0, + "expTotalMinimumDistinctEncountersWithHighRisk": 0 }, { - "description": "keep Exposure Windows that match minutesAtAttenuationFilters (< 73 dB)", + "description": "keep Exposure Windows (< 73 dB)", "exposureWindows": [ { "ageInDays": 1, @@ -199,15 +220,15 @@ } ], "expTotalRiskLevel": 1, - "expTotalMinimumDistinctEncountersWithLowRisk": 1, - "expAgeOfMostRecentDateWithLowRisk": 1, + "expAgeOfMostRecentDateWithLowRisk": null, "expAgeOfMostRecentDateWithHighRisk": null, - "expTotalMinimumDistinctEncountersWithHighRisk": 0, - "expNumberOfDaysWithLowRisk": 1, - "expNumberOfDaysWithHighRisk": 0 + "expNumberOfDaysWithLowRisk": 0, + "expNumberOfDaysWithHighRisk": 0, + "expTotalMinimumDistinctEncountersWithLowRisk": 0, + "expTotalMinimumDistinctEncountersWithHighRisk": 0 }, { - "description": "drop Exposure Windows that do not match trlFilters (<= 2)", + "description": "keep Exposure Windows with TRL <= 2", "exposureWindows": [ { "ageInDays": 1, @@ -229,15 +250,15 @@ } ], "expTotalRiskLevel": 1, - "expTotalMinimumDistinctEncountersWithLowRisk": 0, "expAgeOfMostRecentDateWithLowRisk": null, "expAgeOfMostRecentDateWithHighRisk": null, - "expTotalMinimumDistinctEncountersWithHighRisk": 0, "expNumberOfDaysWithLowRisk": 0, - "expNumberOfDaysWithHighRisk": 0 + "expNumberOfDaysWithHighRisk": 0, + "expTotalMinimumDistinctEncountersWithLowRisk": 0, + "expTotalMinimumDistinctEncountersWithHighRisk": 0 }, { - "description": "keep Exposure Windows that match trlFilters (> 2)", + "description": "keep Exposure Windows with TRL > 2", "exposureWindows": [ { "ageInDays": 1, @@ -259,12 +280,62 @@ } ], "expTotalRiskLevel": 1, + "expAgeOfMostRecentDateWithLowRisk": 1, + "expAgeOfMostRecentDateWithHighRisk": null, + "expNumberOfDaysWithLowRisk": 1, + "expNumberOfDaysWithHighRisk": 0, "expTotalMinimumDistinctEncountersWithLowRisk": 1, + "expTotalMinimumDistinctEncountersWithHighRisk": 0 + }, + { + "description": "identify Exposure Window as no risk based on normalizedTime (< 5)", + "exposureWindows": [ + { + "ageInDays": 1, + "reportType": 2, + "infectiousness": 1, + "calibrationConfidence": 0, + "scanInstances": [ + { + "minAttenuation": 30, + "typicalAttenuation": 25, + "secondsSinceLastScan": 299 + } + ] + } + ], + "expTotalRiskLevel": 1, + "expAgeOfMostRecentDateWithLowRisk": null, + "expAgeOfMostRecentDateWithHighRisk": null, + "expNumberOfDaysWithLowRisk": 0, + "expNumberOfDaysWithHighRisk": 0, + "expTotalMinimumDistinctEncountersWithLowRisk": 0, + "expTotalMinimumDistinctEncountersWithHighRisk": 0 + }, + { + "description": "identify Exposure Window as Low Risk based on normalizedTime (>= 5)", + "exposureWindows": [ + { + "ageInDays": 1, + "reportType": 2, + "infectiousness": 1, + "calibrationConfidence": 0, + "scanInstances": [ + { + "minAttenuation": 30, + "typicalAttenuation": 25, + "secondsSinceLastScan": 300 + } + ] + } + ], + "expTotalRiskLevel": 1, "expAgeOfMostRecentDateWithLowRisk": 1, "expAgeOfMostRecentDateWithHighRisk": null, - "expTotalMinimumDistinctEncountersWithHighRisk": 0, "expNumberOfDaysWithLowRisk": 1, - "expNumberOfDaysWithHighRisk": 0 + "expNumberOfDaysWithHighRisk": 0, + "expTotalMinimumDistinctEncountersWithLowRisk": 1, + "expTotalMinimumDistinctEncountersWithHighRisk": 0 }, { "description": "identify Exposure Window as Low Risk based on normalizedTime (< 15)", @@ -294,12 +365,12 @@ } ], "expTotalRiskLevel": 1, - "expTotalMinimumDistinctEncountersWithLowRisk": 1, "expAgeOfMostRecentDateWithLowRisk": 1, "expAgeOfMostRecentDateWithHighRisk": null, - "expTotalMinimumDistinctEncountersWithHighRisk": 0, "expNumberOfDaysWithLowRisk": 1, - "expNumberOfDaysWithHighRisk": 0 + "expNumberOfDaysWithHighRisk": 0, + "expTotalMinimumDistinctEncountersWithLowRisk": 1, + "expTotalMinimumDistinctEncountersWithHighRisk": 0 }, { "description": "identify Exposure Window as High Risk based on normalizedTime (>= 15)", @@ -329,12 +400,55 @@ } ], "expTotalRiskLevel": 2, - "expTotalMinimumDistinctEncountersWithLowRisk": 0, "expAgeOfMostRecentDateWithLowRisk": null, "expAgeOfMostRecentDateWithHighRisk": 1, - "expTotalMinimumDistinctEncountersWithHighRisk": 1, "expNumberOfDaysWithLowRisk": 0, - "expNumberOfDaysWithHighRisk": 1 + "expNumberOfDaysWithHighRisk": 1, + "expTotalMinimumDistinctEncountersWithLowRisk": 0, + "expTotalMinimumDistinctEncountersWithHighRisk": 1 + }, + { + "description": "ignore Exposure Windows with no Risk Level", + "exposureWindows": [ + { + "ageInDays": 2, + "reportType": 3, + "infectiousness": 1, + "calibrationConfidence": 0, + "scanInstances": [ + { + "minAttenuation": 30, + "typicalAttenuation": 25, + "secondsSinceLastScan": 299 + } + ] + }, + { + "ageInDays": 3, + "reportType": 3, + "infectiousness": 1, + "calibrationConfidence": 0, + "scanInstances": [ + { + "minAttenuation": 30, + "typicalAttenuation": 25, + "secondsSinceLastScan": 300 + }, + { + "minAttenuation": 30, + "typicalAttenuation": 25, + "secondsSinceLastScan": 300 + } + ] + } + ], + "expTotalRiskLevel": 1, + "expAgeOfMostRecentDateWithLowRisk": 3, + "expAgeOfMostRecentDateWithHighRisk": null, + "expNumberOfDaysWithLowRisk": 1, + "expNumberOfDaysWithHighRisk": 0, + "expTotalMinimumDistinctEncountersWithLowRisk": 1, + "expTotalMinimumDistinctEncountersWithHighRisk": 0 }, { "description": "identify the most recent date with Low Risk", @@ -395,12 +509,12 @@ } ], "expTotalRiskLevel": 1, - "expTotalMinimumDistinctEncountersWithLowRisk": 3, "expAgeOfMostRecentDateWithLowRisk": 2, "expAgeOfMostRecentDateWithHighRisk": null, - "expTotalMinimumDistinctEncountersWithHighRisk": 0, "expNumberOfDaysWithLowRisk": 3, - "expNumberOfDaysWithHighRisk": 0 + "expNumberOfDaysWithHighRisk": 0, + "expTotalMinimumDistinctEncountersWithLowRisk": 3, + "expTotalMinimumDistinctEncountersWithHighRisk": 0 }, { "description": "count Exposure Windows with same Date/TRL/CallibrationConfidence only once towards distinct encounters with Low Risk", @@ -443,12 +557,12 @@ } ], "expTotalRiskLevel": 1, - "expTotalMinimumDistinctEncountersWithLowRisk": 1, "expAgeOfMostRecentDateWithLowRisk": 1, "expAgeOfMostRecentDateWithHighRisk": null, - "expTotalMinimumDistinctEncountersWithHighRisk": 0, "expNumberOfDaysWithLowRisk": 1, - "expNumberOfDaysWithHighRisk": 0 + "expNumberOfDaysWithHighRisk": 0, + "expTotalMinimumDistinctEncountersWithLowRisk": 1, + "expTotalMinimumDistinctEncountersWithHighRisk": 0 }, { "description": "count Exposure Windows with same Date/TRL but different CallibrationConfidence separately towards distinct encounters with Low Risk", @@ -491,12 +605,12 @@ } ], "expTotalRiskLevel": 1, - "expTotalMinimumDistinctEncountersWithLowRisk": 2, "expAgeOfMostRecentDateWithLowRisk": 1, "expAgeOfMostRecentDateWithHighRisk": null, - "expTotalMinimumDistinctEncountersWithHighRisk": 0, "expNumberOfDaysWithLowRisk": 1, - "expNumberOfDaysWithHighRisk": 0 + "expNumberOfDaysWithHighRisk": 0, + "expTotalMinimumDistinctEncountersWithLowRisk": 2, + "expTotalMinimumDistinctEncountersWithHighRisk": 0 }, { "description": "count Exposure Windows with same Date/CallibrationConfidence but different TRL separately towards distinct encounters with Low Risk", @@ -539,12 +653,12 @@ } ], "expTotalRiskLevel": 1, - "expTotalMinimumDistinctEncountersWithLowRisk": 2, "expAgeOfMostRecentDateWithLowRisk": 1, "expAgeOfMostRecentDateWithHighRisk": null, - "expTotalMinimumDistinctEncountersWithHighRisk": 0, "expNumberOfDaysWithLowRisk": 1, - "expNumberOfDaysWithHighRisk": 0 + "expNumberOfDaysWithHighRisk": 0, + "expTotalMinimumDistinctEncountersWithLowRisk": 2, + "expTotalMinimumDistinctEncountersWithHighRisk": 0 }, { "description": "count Exposure Windows with same TRL/CallibrationConfidence but different Date separately towards distinct encounters with Low Risk", @@ -587,12 +701,12 @@ } ], "expTotalRiskLevel": 1, - "expTotalMinimumDistinctEncountersWithLowRisk": 2, "expAgeOfMostRecentDateWithLowRisk": 1, "expAgeOfMostRecentDateWithHighRisk": null, - "expTotalMinimumDistinctEncountersWithHighRisk": 0, "expNumberOfDaysWithLowRisk": 2, - "expNumberOfDaysWithHighRisk": 0 + "expNumberOfDaysWithHighRisk": 0, + "expTotalMinimumDistinctEncountersWithLowRisk": 2, + "expTotalMinimumDistinctEncountersWithHighRisk": 0 }, { "description": "determine High Risk in total if there are sufficient Exposure Windows with a Low Risk", @@ -653,12 +767,12 @@ } ], "expTotalRiskLevel": 2, - "expTotalMinimumDistinctEncountersWithLowRisk": 1, "expAgeOfMostRecentDateWithLowRisk": null, "expAgeOfMostRecentDateWithHighRisk": 1, - "expTotalMinimumDistinctEncountersWithHighRisk": 0, "expNumberOfDaysWithLowRisk": 0, - "expNumberOfDaysWithHighRisk": 1 + "expNumberOfDaysWithHighRisk": 1, + "expTotalMinimumDistinctEncountersWithLowRisk": 1, + "expTotalMinimumDistinctEncountersWithHighRisk": 0 }, { "description": "identify the most recent date with High Risk", @@ -719,12 +833,12 @@ } ], "expTotalRiskLevel": 2, - "expTotalMinimumDistinctEncountersWithLowRisk": 0, "expAgeOfMostRecentDateWithLowRisk": null, "expAgeOfMostRecentDateWithHighRisk": 2, - "expTotalMinimumDistinctEncountersWithHighRisk": 3, "expNumberOfDaysWithLowRisk": 0, - "expNumberOfDaysWithHighRisk": 3 + "expNumberOfDaysWithHighRisk": 3, + "expTotalMinimumDistinctEncountersWithLowRisk": 0, + "expTotalMinimumDistinctEncountersWithHighRisk": 3 }, { "description": "count Exposure Windows with same Date/TRL/CallibrationConfidence only once towards distinct encounters with High Risk", @@ -767,12 +881,12 @@ } ], "expTotalRiskLevel": 2, - "expTotalMinimumDistinctEncountersWithLowRisk": 0, "expAgeOfMostRecentDateWithLowRisk": null, "expAgeOfMostRecentDateWithHighRisk": 1, - "expTotalMinimumDistinctEncountersWithHighRisk": 1, "expNumberOfDaysWithLowRisk": 0, - "expNumberOfDaysWithHighRisk": 1 + "expNumberOfDaysWithHighRisk": 1, + "expTotalMinimumDistinctEncountersWithLowRisk": 0, + "expTotalMinimumDistinctEncountersWithHighRisk": 1 }, { "description": "count Exposure Windows with same Date/TRL but different CallibrationConfidence separately towards distinct encounters with High Risk", @@ -815,12 +929,12 @@ } ], "expTotalRiskLevel": 2, - "expTotalMinimumDistinctEncountersWithLowRisk": 0, "expAgeOfMostRecentDateWithLowRisk": null, "expAgeOfMostRecentDateWithHighRisk": 1, - "expTotalMinimumDistinctEncountersWithHighRisk": 2, "expNumberOfDaysWithLowRisk": 0, - "expNumberOfDaysWithHighRisk": 1 + "expNumberOfDaysWithHighRisk": 1, + "expTotalMinimumDistinctEncountersWithLowRisk": 0, + "expTotalMinimumDistinctEncountersWithHighRisk": 2 }, { "description": "count Exposure Windows with same Date/CallibrationConfidence but different TRL separately towards distinct encounters with High Risk", @@ -863,12 +977,12 @@ } ], "expTotalRiskLevel": 2, - "expTotalMinimumDistinctEncountersWithLowRisk": 0, "expAgeOfMostRecentDateWithLowRisk": null, "expAgeOfMostRecentDateWithHighRisk": 1, - "expTotalMinimumDistinctEncountersWithHighRisk": 2, "expNumberOfDaysWithLowRisk": 0, - "expNumberOfDaysWithHighRisk": 1 + "expNumberOfDaysWithHighRisk": 1, + "expTotalMinimumDistinctEncountersWithLowRisk": 0, + "expTotalMinimumDistinctEncountersWithHighRisk": 2 }, { "description": "count Exposure Windows with same TRL/CallibrationConfidence but different Date separately towards distinct encounters with High Risk", @@ -911,12 +1025,12 @@ } ], "expTotalRiskLevel": 2, - "expTotalMinimumDistinctEncountersWithLowRisk": 0, "expAgeOfMostRecentDateWithLowRisk": null, "expAgeOfMostRecentDateWithHighRisk": 1, - "expTotalMinimumDistinctEncountersWithHighRisk": 2, "expNumberOfDaysWithLowRisk": 0, - "expNumberOfDaysWithHighRisk": 2 + "expNumberOfDaysWithHighRisk": 2, + "expTotalMinimumDistinctEncountersWithLowRisk": 0, + "expTotalMinimumDistinctEncountersWithHighRisk": 2 }, { "description": "determine High Risk in total if there is at least one Exposure Window with High Risk", @@ -959,23 +1073,23 @@ } ], "expTotalRiskLevel": 2, - "expTotalMinimumDistinctEncountersWithLowRisk": 1, "expAgeOfMostRecentDateWithLowRisk": 2, "expAgeOfMostRecentDateWithHighRisk": 1, - "expTotalMinimumDistinctEncountersWithHighRisk": 1, "expNumberOfDaysWithLowRisk": 1, - "expNumberOfDaysWithHighRisk": 1 + "expNumberOfDaysWithHighRisk": 1, + "expTotalMinimumDistinctEncountersWithLowRisk": 1, + "expTotalMinimumDistinctEncountersWithHighRisk": 1 }, { "description": "handle empty set of Exposure Windows", "exposureWindows": [], "expTotalRiskLevel": 1, - "expTotalMinimumDistinctEncountersWithLowRisk": 0, - "expTotalMinimumDistinctEncountersWithHighRisk": 0, "expAgeOfMostRecentDateWithLowRisk": null, "expAgeOfMostRecentDateWithHighRisk": null, "expNumberOfDaysWithLowRisk": 0, - "expNumberOfDaysWithHighRisk": 0 + "expNumberOfDaysWithHighRisk": 0, + "expTotalMinimumDistinctEncountersWithLowRisk": 0, + "expTotalMinimumDistinctEncountersWithHighRisk": 0 }, { "description": "handle empty set of Scan Instances (should never happen)", @@ -989,12 +1103,12 @@ } ], "expTotalRiskLevel": 1, - "expTotalMinimumDistinctEncountersWithLowRisk": 0, - "expTotalMinimumDistinctEncountersWithHighRisk": 0, "expAgeOfMostRecentDateWithLowRisk": null, "expAgeOfMostRecentDateWithHighRisk": null, "expNumberOfDaysWithLowRisk": 0, - "expNumberOfDaysWithHighRisk": 0 + "expNumberOfDaysWithHighRisk": 0, + "expTotalMinimumDistinctEncountersWithLowRisk": 0, + "expTotalMinimumDistinctEncountersWithHighRisk": 0 }, { "description": "handle a typicalAttenuation: of zero (should never happen)", @@ -1019,12 +1133,12 @@ } ], "expTotalRiskLevel": 1, - "expTotalMinimumDistinctEncountersWithLowRisk": 1, - "expTotalMinimumDistinctEncountersWithHighRisk": 0, "expAgeOfMostRecentDateWithLowRisk": 1, "expAgeOfMostRecentDateWithHighRisk": null, "expNumberOfDaysWithLowRisk": 1, - "expNumberOfDaysWithHighRisk": 0 + "expNumberOfDaysWithHighRisk": 0, + "expTotalMinimumDistinctEncountersWithLowRisk": 1, + "expTotalMinimumDistinctEncountersWithHighRisk": 0 }, { "description": "handle secondsSinceLastScan of zero (should never happen)", @@ -1054,12 +1168,12 @@ } ], "expTotalRiskLevel": 1, - "expTotalMinimumDistinctEncountersWithLowRisk": 1, - "expTotalMinimumDistinctEncountersWithHighRisk": 0, - "expAgeOfMostRecentDateWithLowRisk": 1, + "expAgeOfMostRecentDateWithLowRisk": null, "expAgeOfMostRecentDateWithHighRisk": null, - "expNumberOfDaysWithLowRisk": 1, - "expNumberOfDaysWithHighRisk": 0 + "expNumberOfDaysWithLowRisk": 0, + "expNumberOfDaysWithHighRisk": 0, + "expTotalMinimumDistinctEncountersWithLowRisk": 0, + "expTotalMinimumDistinctEncountersWithHighRisk": 0 }, { "description": "ignores negative secondsSinceLastScan (can happen when time-travelling, not officially supported)", @@ -1094,12 +1208,12 @@ } ], "expTotalRiskLevel": 2, - "expTotalMinimumDistinctEncountersWithLowRisk": 0, - "expTotalMinimumDistinctEncountersWithHighRisk": 1, "expAgeOfMostRecentDateWithLowRisk": null, "expAgeOfMostRecentDateWithHighRisk": 1, "expNumberOfDaysWithLowRisk": 0, - "expNumberOfDaysWithHighRisk": 1 + "expNumberOfDaysWithHighRisk": 1, + "expTotalMinimumDistinctEncountersWithLowRisk": 0, + "expTotalMinimumDistinctEncountersWithHighRisk": 1 } ] } \ No newline at end of file diff --git a/Corona-Warn-App/src/testDevice/java/de/rki/coronawarnapp/test/risk/storage/DefaultRiskLevelStorageTest.kt b/Corona-Warn-App/src/testDevice/java/de/rki/coronawarnapp/test/risk/storage/DefaultRiskLevelStorageTest.kt index d0dffa6dfc7573022255661d0abeb6652c7a32b4..1ea39918f6916fe921e0bf1852a3d3e897b8f05b 100644 --- a/Corona-Warn-App/src/testDevice/java/de/rki/coronawarnapp/test/risk/storage/DefaultRiskLevelStorageTest.kt +++ b/Corona-Warn-App/src/testDevice/java/de/rki/coronawarnapp/test/risk/storage/DefaultRiskLevelStorageTest.kt @@ -6,7 +6,6 @@ import de.rki.coronawarnapp.risk.result.AggregatedRiskResult import de.rki.coronawarnapp.risk.storage.DefaultRiskLevelStorage import de.rki.coronawarnapp.risk.storage.internal.RiskResultDatabase import de.rki.coronawarnapp.risk.storage.internal.riskresults.PersistedRiskLevelResultDao -import de.rki.coronawarnapp.risk.storage.legacy.RiskLevelResultMigrator import de.rki.coronawarnapp.server.protocols.internal.v2.RiskCalculationParametersOuterClass import io.kotest.matchers.shouldBe import io.mockk.MockKAnnotations @@ -32,7 +31,6 @@ class DefaultRiskLevelStorageTest : BaseTest() { @MockK lateinit var database: RiskResultDatabase @MockK lateinit var riskResultTables: RiskResultDatabase.RiskResultsDao @MockK lateinit var exposureWindowTables: RiskResultDatabase.ExposureWindowsDao - @MockK lateinit var riskLevelResultMigrator: RiskLevelResultMigrator private val testRiskLevelResultDao = PersistedRiskLevelResultDao( id = "riskresult-id", @@ -75,8 +73,6 @@ class DefaultRiskLevelStorageTest : BaseTest() { every { database.exposureWindows() } returns exposureWindowTables every { database.clearAllTables() } just Runs - coEvery { riskLevelResultMigrator.getLegacyResults() } returns emptyList() - every { riskResultTables.allEntries() } returns flowOf(listOf(testRiskLevelResultDao)) every { riskResultTables.latestEntries(2) } returns emptyFlow() every { riskResultTables.latestAndLastSuccessful() } returns emptyFlow() @@ -93,8 +89,7 @@ class DefaultRiskLevelStorageTest : BaseTest() { scope: CoroutineScope = TestCoroutineScope() ) = DefaultRiskLevelStorage( scope = scope, - riskResultDatabaseFactory = databaseFactory, - riskLevelResultMigrator = riskLevelResultMigrator + riskResultDatabaseFactory = databaseFactory ) @Test diff --git a/Corona-Warn-App/src/testDeviceForTesters/java/de/rki/coronawarnapp/test/risk/storage/DefaultRiskLevelStorageTest.kt b/Corona-Warn-App/src/testDeviceForTesters/java/de/rki/coronawarnapp/test/risk/storage/DefaultRiskLevelStorageTest.kt index 308b12ed372971e6e7b48147735fd9bdb267c059..af1e3eadfb47f1d5717e596a795949ae8f5e9aea 100644 --- a/Corona-Warn-App/src/testDeviceForTesters/java/de/rki/coronawarnapp/test/risk/storage/DefaultRiskLevelStorageTest.kt +++ b/Corona-Warn-App/src/testDeviceForTesters/java/de/rki/coronawarnapp/test/risk/storage/DefaultRiskLevelStorageTest.kt @@ -6,7 +6,6 @@ import de.rki.coronawarnapp.risk.result.AggregatedRiskResult import de.rki.coronawarnapp.risk.storage.DefaultRiskLevelStorage import de.rki.coronawarnapp.risk.storage.internal.RiskResultDatabase import de.rki.coronawarnapp.risk.storage.internal.riskresults.PersistedRiskLevelResultDao -import de.rki.coronawarnapp.risk.storage.legacy.RiskLevelResultMigrator import de.rki.coronawarnapp.server.protocols.internal.v2.RiskCalculationParametersOuterClass import io.kotest.matchers.shouldBe import io.mockk.MockKAnnotations @@ -31,7 +30,6 @@ class DefaultRiskLevelStorageTest : BaseTestInstrumentation() { @MockK lateinit var database: RiskResultDatabase @MockK lateinit var riskResultTables: RiskResultDatabase.RiskResultsDao @MockK lateinit var exposureWindowTables: RiskResultDatabase.ExposureWindowsDao - @MockK lateinit var riskLevelResultMigrator: RiskLevelResultMigrator private val testRiskLevelResultDao = PersistedRiskLevelResultDao( id = "riskresult-id", @@ -74,8 +72,6 @@ class DefaultRiskLevelStorageTest : BaseTestInstrumentation() { every { database.exposureWindows() } returns exposureWindowTables every { database.clearAllTables() } just Runs - coEvery { riskLevelResultMigrator.getLegacyResults() } returns emptyList() - every { riskResultTables.allEntries() } returns flowOf(listOf(testRiskLevelResultDao)) every { riskResultTables.latestEntries(2) } returns emptyFlow() every { riskResultTables.latestAndLastSuccessful() } returns emptyFlow() @@ -90,8 +86,7 @@ class DefaultRiskLevelStorageTest : BaseTestInstrumentation() { private fun createInstance() = DefaultRiskLevelStorage( scope = TestCoroutineScope(), - riskResultDatabaseFactory = databaseFactory, - riskLevelResultMigrator = riskLevelResultMigrator + riskResultDatabaseFactory = databaseFactory ) @Test diff --git a/README.md b/README.md index 4d0d652d9a0ba3f922be1d91cd0e43693d8d8c32..178eb8b25c72280aa477f8a895f8481d0e634a58 100644 --- a/README.md +++ b/README.md @@ -3,11 +3,21 @@ </h1> <p align="center"> - <a href="https://github.com/corona-warn-app/cwa-app-android/issues" title="Open Issues"><img src="https://img.shields.io/github/issues/corona-warn-app/cwa-app-android"></a> - <a href="https://circleci.com/gh/corona-warn-app/cwa-app-android" title="Build Status"><img src="https://circleci.com/gh/corona-warn-app/cwa-app-android.png?circle-token=c26c689ad7833b8c0786752d3e65f56f25f906f3&style=shield"></a> - <a href="https://sonarcloud.io/component_measures?id=corona-warn-app_cwa-app-android&metric=Coverage&view=list" title="Coverage"><img src="https://sonarcloud.io/api/project_badges/measure?project=corona-warn-app_cwa-app-android&metric=coverage"></a> - <a href="./LICENSE" title="License"><img src="https://img.shields.io/badge/License-Apache%202.0-green.svg"></a> - <a href="https://api.reuse.software/info/github.com/corona-warn-app/cwa-app-android" title="REUSE Status"><img src="https://api.reuse.software/badge/github.com/corona-warn-app/cwa-app-android"></a> + <a href="https://github.com/corona-warn-app/cwa-app-android/issues" title="Open Issues"> + <img src="https://img.shields.io/github/issues/corona-warn-app/cwa-app-android"> + </a> + <a href="https://circleci.com/gh/corona-warn-app/cwa-app-android" title="Build Status"> + <img src="https://circleci.com/gh/corona-warn-app/cwa-app-android.png?circle-token=c26c689ad7833b8c0786752d3e65f56f25f906f3&style=shield&branch=main"> + </a> + <a href="https://sonarcloud.io/component_measures?id=corona-warn-app_cwa-app-android&metric=Coverage&view=list" title="Coverage"> + <img src="https://sonarcloud.io/api/project_badges/measure?project=corona-warn-app_cwa-app-android&metric=coverage"> + </a> + <a href="./LICENSE" title="License"> + <img src="https://img.shields.io/badge/License-Apache%202.0-green.svg"> + </a> + <a href="https://api.reuse.software/info/github.com/corona-warn-app/cwa-app-android" title="REUSE Status"> + <img src="https://api.reuse.software/badge/github.com/corona-warn-app/cwa-app-android"> + </a> </p> <p align="center"> diff --git a/gradle.properties b/gradle.properties index dd26c8008b0a8c7eee720e9465a64cb40e3df128..d16b5c37c3aa2bf0581cccfad385db01563d79c3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -20,4 +20,4 @@ org.gradle.dependency.verification.console=verbose VERSION_MAJOR=1 VERSION_MINOR=15 VERSION_PATCH=0 -VERSION_BUILD=4 +VERSION_BUILD=0