From ec590bd579fab67fd1c8b96fa6b5364c44bef927 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=C2=A0Koby=C5=82ko?= Date: Sun, 19 Nov 2023 13:55:41 +0100 Subject: [PATCH 01/15] Add search to browser extension request screen --- .../common/TopAppBarWithSearch.kt | 174 ++++++++++++++++++ .../main/java/com/twofasapp/locale/Strings.kt | 1 + .../ui/request/BrowserExtRequestScreen.kt | 61 +++++- .../ui/request/BrowserExtRequestViewModel.kt | 49 +++-- .../changebrand/ChangeBrandScreen.kt | 148 +-------------- 5 files changed, 269 insertions(+), 164 deletions(-) create mode 100644 core/designsystem/src/main/java/com/twofasapp/designsystem/common/TopAppBarWithSearch.kt diff --git a/core/designsystem/src/main/java/com/twofasapp/designsystem/common/TopAppBarWithSearch.kt b/core/designsystem/src/main/java/com/twofasapp/designsystem/common/TopAppBarWithSearch.kt new file mode 100644 index 00000000..a32e9945 --- /dev/null +++ b/core/designsystem/src/main/java/com/twofasapp/designsystem/common/TopAppBarWithSearch.kt @@ -0,0 +1,174 @@ +package com.twofasapp.designsystem.common + +import androidx.activity.compose.BackHandler +import androidx.compose.animation.AnimatedVisibility +import androidx.compose.animation.fadeIn +import androidx.compose.animation.fadeOut +import androidx.compose.foundation.layout.RowScope +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.text.KeyboardActions +import androidx.compose.foundation.text.KeyboardOptions +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.OutlinedTextField +import androidx.compose.material3.OutlinedTextFieldDefaults +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.MutableState +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier +import androidx.compose.ui.focus.FocusRequester +import androidx.compose.ui.focus.focusRequester +import androidx.compose.ui.focus.onFocusChanged +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.platform.LocalFocusManager +import androidx.compose.ui.platform.LocalSoftwareKeyboardController +import androidx.compose.ui.text.input.ImeAction +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import com.twofasapp.designsystem.TwIcons +import com.twofasapp.designsystem.TwTheme + +@Composable +fun TopAppBarWithSearch( + title: String, + searchHint: String = "", + modifier: Modifier = Modifier, + actions: @Composable RowScope.() -> Unit = {}, + onSearchValueChanged: (String) -> Unit = {}, + navigationClick: () -> Unit +) { + val showSearch = remember { mutableStateOf(false) } + + TwTopAppBar(title = { + if (showSearch.value) { + SearchBar(hint = searchHint, showSearch = showSearch, onValueChanged = onSearchValueChanged) + } else { + Text(text = title, color = TwTheme.color.onSurfacePrimary) + } + }, navigationIcon = { + IconButton(onClick = { + if (showSearch.value) { + showSearch.value = false + onSearchValueChanged("") + } else { + navigationClick.invoke() + } + }) { + Icon(TwIcons.ArrowBack, null, tint = TwTheme.color.onSurfacePrimary) + } + }, actions = { + if (showSearch.value.not()) { + IconButton(onClick = { showSearch.value = true }) { + Icon(TwIcons.Search, null, tint = TwTheme.color.primary) + } + } + actions() + }, modifier = modifier + ) +} + +@Composable +fun SearchBar( + value: String = "", + hint: String = "", + showSearch: MutableState, + onValueChanged: (String) -> Unit = {}, + onClearClick: () -> Unit = {}, +) { + val textValue = remember { mutableStateOf(value) } + val showClearButton = remember { mutableStateOf(false) } + val keyboardController = LocalSoftwareKeyboardController.current + val focusRequester = remember { FocusRequester() } + val focusManager = LocalFocusManager.current + + BackHandler( + enabled = showSearch.value + ) { + if (textValue.value.isNotEmpty()) { + textValue.value = "" + onValueChanged("") + } else { + showClearButton.value = false + showSearch.value = false + focusManager.clearFocus() + keyboardController?.hide() + } + + onClearClick() + } + + if (showSearch.value) { + OutlinedTextField( + modifier = Modifier + .height(56.dp) + .fillMaxWidth() + .onFocusChanged { focusState -> + showClearButton.value = focusState.isFocused + } + .focusRequester(focusRequester), + value = textValue.value, + onValueChange = { + textValue.value = it + onValueChanged(it) + }, + placeholder = { + Text(text = hint, style = MaterialTheme.typography.bodyMedium.copy(fontSize = 18.sp)) + }, + textStyle = MaterialTheme.typography.bodyMedium.copy(fontSize = 18.sp), + colors = OutlinedTextFieldDefaults.colors( + focusedTextColor = TwTheme.color.onSurfacePrimary, + disabledTextColor = Color.Black, + focusedBorderColor = Color.Transparent, + unfocusedBorderColor = Color.Transparent, + focusedLabelColor = TwTheme.color.onSurfaceSecondary, + unfocusedLabelColor = TwTheme.color.onSurfaceSecondary, + errorLabelColor = TwTheme.color.error, + ), + trailingIcon = { + AnimatedVisibility( + visible = showClearButton.value, + enter = fadeIn(), + exit = fadeOut() + ) { + IconButton(onClick = { + if (textValue.value.isNotEmpty()) { + textValue.value = "" + onValueChanged("") + } else { + showClearButton.value = false + showSearch.value = false + focusManager.clearFocus() + keyboardController?.hide() + } + + onClearClick() + }) { + Icon( + painter = TwIcons.Close, + tint = TwTheme.color.onSurfacePrimary, + contentDescription = null + ) + } + } + }, + maxLines = 1, + singleLine = true, + keyboardOptions = KeyboardOptions.Default.copy(imeAction = ImeAction.Done), + keyboardActions = KeyboardActions(onDone = { + keyboardController?.hide() + }), + ) + + LaunchedEffect(Unit) { + focusRequester.requestFocus() + } + } else { + textValue.value = "" + onValueChanged("") + } +} \ No newline at end of file diff --git a/core/locale/src/main/java/com/twofasapp/locale/Strings.kt b/core/locale/src/main/java/com/twofasapp/locale/Strings.kt index ed5c01a5..20d05a1b 100644 --- a/core/locale/src/main/java/com/twofasapp/locale/Strings.kt +++ b/core/locale/src/main/java/com/twofasapp/locale/Strings.kt @@ -189,6 +189,7 @@ class Strings(c: Context) { val browserRequestSuggested = c.getString(R.string.extension__services_suggested_header) val browserRequestAll = c.getString(R.string.extension__services_all_header) val browserRequestOther = c.getString(R.string.extension__services_other_header) + val browserRequestEmpty = c.getString(R.string.tokens__service_not_found_search) val settingsTheme = c.getString(R.string.settings__option_theme) val settingsShowNextCode = c.getString(R.string.settings__show_next_token) diff --git a/feature/browserext/src/main/java/com/twofasapp/feature/browserext/ui/request/BrowserExtRequestScreen.kt b/feature/browserext/src/main/java/com/twofasapp/feature/browserext/ui/request/BrowserExtRequestScreen.kt index d9b406cf..4a7b813b 100644 --- a/feature/browserext/src/main/java/com/twofasapp/feature/browserext/ui/request/BrowserExtRequestScreen.kt +++ b/feature/browserext/src/main/java/com/twofasapp/feature/browserext/ui/request/BrowserExtRequestScreen.kt @@ -3,10 +3,12 @@ package com.twofasapp.feature.browserext.ui.request import android.content.Intent import androidx.compose.foundation.background import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width import androidx.compose.foundation.lazy.LazyColumn @@ -17,9 +19,13 @@ import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue +import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.platform.LocalFocusManager +import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.core.app.NotificationManagerCompat @@ -27,13 +33,16 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.lifecycleScope import com.twofasapp.common.domain.Service import com.twofasapp.designsystem.TwTheme +import com.twofasapp.designsystem.common.TopAppBarWithSearch +import com.twofasapp.designsystem.common.TwDivider import com.twofasapp.designsystem.common.TwSwitch -import com.twofasapp.designsystem.common.TwTopAppBar +import com.twofasapp.designsystem.ktx.LocalBackDispatcher import com.twofasapp.designsystem.ktx.currentActivity import com.twofasapp.designsystem.service.DsServiceSimple import com.twofasapp.designsystem.service.asState import com.twofasapp.feature.browserext.notification.BrowserExtRequestPayload import com.twofasapp.feature.browserext.notification.BrowserExtRequestReceiver +import com.twofasapp.locale.R import com.twofasapp.locale.TwLocale import kotlinx.coroutines.launch import org.koin.androidx.compose.koinViewModel @@ -53,6 +62,7 @@ internal fun BrowserExtRequestScreen( ScreenContent( uiState = uiState, onSaveMyChoiceToggle = { viewModel.toggleSaveMyChoice() }, + onSearchChanged = { viewModel.updateSearchQuery(it) }, onServiceClick = { service -> activity.lifecycleScope.launch { viewModel.assignDomain(service) @@ -81,11 +91,26 @@ private fun ScreenContent( uiState: BrowserExtRequestUiState, onSaveMyChoiceToggle: () -> Unit = {}, onServiceClick: (Service) -> Unit = {}, + onSearchChanged: (String) -> Unit = {}, ) { val strings = TwLocale.strings + val backDispatcher = LocalBackDispatcher + val focusRequester = remember { FocusRequester() } + val focusManager = LocalFocusManager.current + Scaffold( - topBar = { TwTopAppBar(titleText = strings.browserRequestTitle) }, + topBar = { + TopAppBarWithSearch( + title = strings.browserRequestTitle, + searchHint = stringResource(id = R.string.commons__search), + onSearchValueChanged = { + onSearchChanged(it) + }, + ) { + backDispatcher.onBackPressed() + } + } ) { padding -> LazyColumn(modifier = Modifier.padding(padding)) { item { @@ -146,6 +171,25 @@ private fun ScreenContent( ) } } + + if (uiState.suggestedServices.isEmpty() && uiState.otherServices.isEmpty()) { + item { + Column( + modifier = Modifier.fillMaxWidth(), + verticalArrangement = Arrangement.Center, + horizontalAlignment = Alignment.CenterHorizontally, + ) { + TwDivider() + Spacer(modifier = Modifier.height(24.dp)) + Text( + text = strings.browserRequestEmpty, + color = TwTheme.color.onSurfaceSecondary, + style = TwTheme.typo.body2, + modifier = Modifier, + ) + } + } + } } } } @@ -192,3 +236,16 @@ private fun Preview() { ), ) } + +@Preview +@Composable +private fun Empty() { + ScreenContent( + uiState = BrowserExtRequestUiState( + browserName = "{browser}", + domain = "{domain}", + suggestedServices = emptyList(), + otherServices = emptyList(), + ), + ) +} diff --git a/feature/browserext/src/main/java/com/twofasapp/feature/browserext/ui/request/BrowserExtRequestViewModel.kt b/feature/browserext/src/main/java/com/twofasapp/feature/browserext/ui/request/BrowserExtRequestViewModel.kt index 875c720e..870b9e62 100644 --- a/feature/browserext/src/main/java/com/twofasapp/feature/browserext/ui/request/BrowserExtRequestViewModel.kt +++ b/feature/browserext/src/main/java/com/twofasapp/feature/browserext/ui/request/BrowserExtRequestViewModel.kt @@ -1,12 +1,12 @@ package com.twofasapp.feature.browserext.ui.request import androidx.lifecycle.ViewModel -import com.twofasapp.feature.browserext.notification.BrowserExtRequestPayload -import com.twofasapp.feature.browserext.notification.DomainMatcher import com.twofasapp.common.domain.Service import com.twofasapp.common.ktx.launchScoped import com.twofasapp.data.browserext.BrowserExtRepository import com.twofasapp.data.services.ServicesRepository +import com.twofasapp.feature.browserext.notification.BrowserExtRequestPayload +import com.twofasapp.feature.browserext.notification.DomainMatcher import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.update @@ -14,28 +14,45 @@ internal class BrowserExtRequestViewModel( private val browserExtRepository: BrowserExtRepository, private val servicesRepository: ServicesRepository, ) : ViewModel() { + val uiState = MutableStateFlow(BrowserExtRequestUiState()) + private val searchQuery = MutableStateFlow("") fun init(payload: BrowserExtRequestPayload) { launchScoped { - val domain = payload.domain - val services = servicesRepository.getServices() - val matched = domain?.let { DomainMatcher.findMatchingDomain(services, domain) } ?: emptyList() - val suggested = domain?.let { DomainMatcher.findSuggestedForDomain(services, domain) }?.minus(matched.toSet()) ?: emptyList() - val recommended = matched.plus(suggested) - - uiState.update { state -> - state.copy( - browserName = browserExtRepository.getPairedBrowser(payload.extensionId).name, - domain = payload.domain.orEmpty(), - suggestedServices = recommended, - otherServices = services.minus(recommended.toSet()), - payload = payload, - ) + searchQuery.collect { query -> + val domain = payload.domain + val services = servicesRepository.getServices() + .filter { + if (query.isNotEmpty()) { + it.name.contains(query.trim(), ignoreCase = true) || + it.tags.map { tag -> tag.lowercase() }.contains(query.lowercase()) + } else { + true + } + } + val matched = domain?.let { DomainMatcher.findMatchingDomain(services, domain) } ?: emptyList() + val suggested = + domain?.let { DomainMatcher.findSuggestedForDomain(services, domain) }?.minus(matched.toSet()) ?: emptyList() + val recommended = matched.plus(suggested) + + uiState.update { state -> + state.copy( + browserName = browserExtRepository.getPairedBrowser(payload.extensionId).name, + domain = payload.domain.orEmpty(), + suggestedServices = recommended, + otherServices = services.minus(recommended.toSet()), + payload = payload, + ) + } } } } + fun updateSearchQuery(query: String) { + searchQuery.update { query } + } + fun assignDomain(service: Service) { launchScoped { if (uiState.value.saveMyChoice) { diff --git a/feature/home/src/main/java/com/twofasapp/feature/home/ui/editservice/changebrand/ChangeBrandScreen.kt b/feature/home/src/main/java/com/twofasapp/feature/home/ui/editservice/changebrand/ChangeBrandScreen.kt index 62a6fe14..74aa8264 100644 --- a/feature/home/src/main/java/com/twofasapp/feature/home/ui/editservice/changebrand/ChangeBrandScreen.kt +++ b/feature/home/src/main/java/com/twofasapp/feature/home/ui/editservice/changebrand/ChangeBrandScreen.kt @@ -1,8 +1,5 @@ package com.twofasapp.feature.home.ui.editservice.changebrand -import androidx.compose.animation.AnimatedVisibility -import androidx.compose.animation.fadeIn -import androidx.compose.animation.fadeOut import androidx.compose.foundation.Image import androidx.compose.foundation.background import androidx.compose.foundation.border @@ -10,7 +7,6 @@ import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.RowScope import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height @@ -22,18 +18,11 @@ import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.foundation.shape.CircleShape -import androidx.compose.foundation.text.KeyboardActions -import androidx.compose.foundation.text.KeyboardOptions -import androidx.compose.material3.Icon -import androidx.compose.material3.IconButton import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.OutlinedTextField -import androidx.compose.material3.OutlinedTextFieldDefaults import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect -import androidx.compose.runtime.MutableState import androidx.compose.runtime.collectAsState import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember @@ -42,25 +31,16 @@ import androidx.compose.ui.Alignment.Companion.CenterHorizontally import androidx.compose.ui.Alignment.Companion.CenterVertically import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip -import androidx.compose.ui.focus.FocusRequester -import androidx.compose.ui.focus.focusRequester -import androidx.compose.ui.focus.onFocusChanged -import androidx.compose.ui.graphics.Color import androidx.compose.ui.layout.ContentScale -import androidx.compose.ui.platform.LocalFocusManager -import androidx.compose.ui.platform.LocalSoftwareKeyboardController import androidx.compose.ui.platform.LocalUriHandler import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.font.FontWeight -import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import androidx.compose.ui.unit.sp -import com.twofasapp.designsystem.TwIcons import com.twofasapp.designsystem.TwTheme -import com.twofasapp.designsystem.common.TwTopAppBar +import com.twofasapp.designsystem.common.TopAppBarWithSearch import com.twofasapp.designsystem.dialog.ListDialog import com.twofasapp.designsystem.ktx.LocalBackDispatcher import com.twofasapp.feature.home.ui.editservice.EditServiceViewModel @@ -86,7 +66,7 @@ internal fun ChangeBrandScreen( Scaffold( topBar = { - ToolbarWithSearch( + TopAppBarWithSearch( title = stringResource(id = R.string.customization_change_brand), searchHint = stringResource(id = R.string.commons__search), onSearchValueChanged = { brandViewModel.applySearchFilter(it) }, @@ -269,127 +249,3 @@ fun SectionHeader(header: String) { .padding(horizontal = 16.dp, vertical = 8.dp) ) } - -@Composable -fun ToolbarWithSearch( - title: String, - searchHint: String = "", - modifier: Modifier = Modifier, - actions: @Composable RowScope.() -> Unit = {}, - onSearchValueChanged: (String) -> Unit = {}, - navigationClick: () -> Unit -) { - val showSearch = remember { mutableStateOf(false) } - - TwTopAppBar(title = { - if (showSearch.value) { - SearchBar(hint = searchHint, showSearch = showSearch, onValueChanged = onSearchValueChanged) - } else { - Text(text = title, color = TwTheme.color.onSurfacePrimary) - } - }, navigationIcon = { - IconButton(onClick = { - if (showSearch.value) { - showSearch.value = false - onSearchValueChanged("") - } else { - navigationClick.invoke() - } - }) { - Icon(TwIcons.ArrowBack, null, tint = TwTheme.color.onSurfacePrimary) - } - }, actions = { - if (showSearch.value.not()) { - IconButton(onClick = { showSearch.value = true }) { - Icon(TwIcons.Search, null, tint = TwTheme.color.primary) - } - } - actions() - }, modifier = modifier - ) -} - -@Composable -fun SearchBar( - value: String = "", - hint: String = "", - showSearch: MutableState, - onValueChanged: (String) -> Unit = {}, - onClearClick: () -> Unit = {}, -) { - val textValue = remember { mutableStateOf(value) } - val showClearButton = remember { mutableStateOf(false) } - val keyboardController = LocalSoftwareKeyboardController.current - val focusRequester = remember { FocusRequester() } - val focusManager = LocalFocusManager.current - - if (showSearch.value) { - OutlinedTextField( - modifier = Modifier - .height(56.dp) - .fillMaxWidth() - .onFocusChanged { focusState -> - showClearButton.value = focusState.isFocused - } - .focusRequester(focusRequester), - value = textValue.value, - onValueChange = { - textValue.value = it - onValueChanged(it) - }, - placeholder = { - Text(text = hint, style = MaterialTheme.typography.bodyMedium.copy(fontSize = 18.sp)) - }, - textStyle = MaterialTheme.typography.bodyMedium.copy(fontSize = 18.sp), - colors = OutlinedTextFieldDefaults.colors( - focusedTextColor = TwTheme.color.onSurfacePrimary, - disabledTextColor = Color.Black, - focusedBorderColor = Color.Transparent, - unfocusedBorderColor = Color.Transparent, - focusedLabelColor = TwTheme.color.onSurfaceSecondary, - unfocusedLabelColor = TwTheme.color.onSurfaceSecondary, - errorLabelColor = TwTheme.color.error, - ), - trailingIcon = { - AnimatedVisibility( - visible = showClearButton.value, - enter = fadeIn(), - exit = fadeOut() - ) { - IconButton(onClick = { - if (textValue.value.isNotEmpty()) { - textValue.value = "" - onValueChanged("") - } else { - showClearButton.value = false - showSearch.value = false - focusManager.clearFocus() - keyboardController?.hide() - } - - onClearClick() - }) { - Icon( - painter = TwIcons.Close, - tint = TwTheme.color.onSurfacePrimary, - contentDescription = null - ) - } - } - }, - maxLines = 1, - singleLine = true, - keyboardOptions = KeyboardOptions.Default.copy(imeAction = ImeAction.Done), - keyboardActions = KeyboardActions(onDone = { - keyboardController?.hide() - }), - ) - - LaunchedEffect(Unit) { - focusRequester.requestFocus() - } - } else { - textValue.value = "" - onValueChanged("") - } -} \ No newline at end of file From f6988d6afeab28f9efa6ffe18b449ec5661dbb84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=C2=A0Koby=C5=82ko?= Date: Sat, 25 Nov 2023 16:39:40 +0100 Subject: [PATCH 02/15] Allow to set cloud password before launch --- .../data/services/BackupRepository.kt | 8 +++++++ .../data/services/BackupRepositoryImpl.kt | 9 ++++++++ .../feature/backup/ui/backup/BackupScreen.kt | 1 - .../backup/ui/backup/BackupViewModel.kt | 7 ++++++- .../ui/backupsettings/BackupSettingsScreen.kt | 2 +- .../backupsettings/BackupSettingsUiState.kt | 1 + .../backupsettings/BackupSettingsViewModel.kt | 21 ++++++++++++++++++- gradle/libs.versions.toml | 6 +++--- 8 files changed, 48 insertions(+), 7 deletions(-) diff --git a/data/services/src/main/java/com/twofasapp/data/services/BackupRepository.kt b/data/services/src/main/java/com/twofasapp/data/services/BackupRepository.kt index 15a09f2c..4b609c46 100644 --- a/data/services/src/main/java/com/twofasapp/data/services/BackupRepository.kt +++ b/data/services/src/main/java/com/twofasapp/data/services/BackupRepository.kt @@ -118,4 +118,12 @@ interface BackupRepository { * Publish clouds sync status */ fun publishCloudSyncStatus(status: CloudSyncStatus) + + /** + * Set password for cloud sync. The password is used to create local encryption key + * and used for cloud sync (once enabled). + */ + fun setPasswordForCloudSync(password: String?) + + fun observePasswordForCloudSync(): Flow } \ No newline at end of file diff --git a/data/services/src/main/java/com/twofasapp/data/services/BackupRepositoryImpl.kt b/data/services/src/main/java/com/twofasapp/data/services/BackupRepositoryImpl.kt index 59c27e78..004e691c 100644 --- a/data/services/src/main/java/com/twofasapp/data/services/BackupRepositoryImpl.kt +++ b/data/services/src/main/java/com/twofasapp/data/services/BackupRepositoryImpl.kt @@ -61,6 +61,7 @@ class BackupRepositoryImpl( ) : BackupRepository { private val cloudSyncStatusFlow = MutableStateFlow(CloudSyncStatus.Default) + private val passwordForCloudSync = MutableStateFlow(null) override fun dispatchCloudSync(trigger: CloudSyncTrigger, password: String?) { cloudSyncWorkDispatcher.tryDispatch( @@ -415,6 +416,14 @@ class BackupRepositoryImpl( cloudSyncStatusFlow.tryEmit(status) } + override fun setPasswordForCloudSync(password: String?) { + passwordForCloudSync.tryEmit(password) + } + + override fun observePasswordForCloudSync(): Flow { + return passwordForCloudSync + } + private fun serializeBackupContent(backupContent: BackupContent): String { return json.encodeToString(backupContent) } diff --git a/feature/backup/src/main/java/com/twofasapp/feature/backup/ui/backup/BackupScreen.kt b/feature/backup/src/main/java/com/twofasapp/feature/backup/ui/backup/BackupScreen.kt index b8f183ab..615f2c56 100644 --- a/feature/backup/src/main/java/com/twofasapp/feature/backup/ui/backup/BackupScreen.kt +++ b/feature/backup/src/main/java/com/twofasapp/feature/backup/ui/backup/BackupScreen.kt @@ -197,7 +197,6 @@ private fun ScreenContent( title = strings.backupSyncSettings, icon = TwIcons.Settings, onClick = onSettingsClick, - enabled = uiState.cloudBackupStatus?.active == true && uiState.cloudSyncStatus != CloudSyncStatus.Syncing, ) } diff --git a/feature/backup/src/main/java/com/twofasapp/feature/backup/ui/backup/BackupViewModel.kt b/feature/backup/src/main/java/com/twofasapp/feature/backup/ui/backup/BackupViewModel.kt index ef3d3f88..3b359681 100644 --- a/feature/backup/src/main/java/com/twofasapp/feature/backup/ui/backup/BackupViewModel.kt +++ b/feature/backup/src/main/java/com/twofasapp/feature/backup/ui/backup/BackupViewModel.kt @@ -17,6 +17,7 @@ import com.twofasapp.data.session.SessionRepository import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.distinctUntilChangedBy +import kotlinx.coroutines.flow.first import kotlinx.coroutines.flow.update internal class BackupViewModel( @@ -152,7 +153,11 @@ internal class BackupViewModel( when (val signInResult = googleAuth.handleSignInResult(result)) { is SignInResult.Success -> { backupRepository.setCloudSyncActive(signInResult.email) - backupRepository.dispatchCloudSync(CloudSyncTrigger.FirstConnect) + backupRepository.dispatchCloudSync( + trigger = CloudSyncTrigger.FirstConnect, + password = backupRepository.observePasswordForCloudSync().first(), + ) + backupRepository.setPasswordForCloudSync(null) } is SignInResult.Canceled -> { diff --git a/feature/backup/src/main/java/com/twofasapp/feature/backup/ui/backupsettings/BackupSettingsScreen.kt b/feature/backup/src/main/java/com/twofasapp/feature/backup/ui/backupsettings/BackupSettingsScreen.kt index 6658e8bc..93f8c06b 100644 --- a/feature/backup/src/main/java/com/twofasapp/feature/backup/ui/backupsettings/BackupSettingsScreen.kt +++ b/feature/backup/src/main/java/com/twofasapp/feature/backup/ui/backupsettings/BackupSettingsScreen.kt @@ -91,7 +91,7 @@ private fun BackupSettingsScreenContent( LazyColumn( modifier = Modifier.padding(padding), ) { - if (uiState.encrypted) { + if (uiState.encrypted || uiState.pass.isNullOrBlank().not()) { item { SettingsLink( title = strings.backupSettingsRemovePasswordTitle, diff --git a/feature/backup/src/main/java/com/twofasapp/feature/backup/ui/backupsettings/BackupSettingsUiState.kt b/feature/backup/src/main/java/com/twofasapp/feature/backup/ui/backupsettings/BackupSettingsUiState.kt index 8d504874..3dc8ce38 100644 --- a/feature/backup/src/main/java/com/twofasapp/feature/backup/ui/backupsettings/BackupSettingsUiState.kt +++ b/feature/backup/src/main/java/com/twofasapp/feature/backup/ui/backupsettings/BackupSettingsUiState.kt @@ -9,6 +9,7 @@ internal data class BackupSettingsUiState( val account: String = "", val lastSyncMillis: Long = 0L, val events: List = emptyList(), + val pass: String? = null, ) internal sealed interface BackupSettingsUiEvent { diff --git a/feature/backup/src/main/java/com/twofasapp/feature/backup/ui/backupsettings/BackupSettingsViewModel.kt b/feature/backup/src/main/java/com/twofasapp/feature/backup/ui/backupsettings/BackupSettingsViewModel.kt index a773f795..46246789 100644 --- a/feature/backup/src/main/java/com/twofasapp/feature/backup/ui/backupsettings/BackupSettingsViewModel.kt +++ b/feature/backup/src/main/java/com/twofasapp/feature/backup/ui/backupsettings/BackupSettingsViewModel.kt @@ -34,14 +34,33 @@ internal class BackupSettingsViewModel( } } } + + launchScoped { + backupRepository.observePasswordForCloudSync().collect { pass -> + uiState.update { it.copy(pass = pass) } + } + } } fun setPassword(password: String) { - backupRepository.dispatchCloudSync(CloudSyncTrigger.SetPassword, password) + if (uiState.value.syncActive) { + backupRepository.dispatchCloudSync(CloudSyncTrigger.SetPassword, password) + } else { + backupRepository.setPasswordForCloudSync(password) + } } fun removePassword(password: String) { launchScoped { + if (uiState.value.syncActive.not()) { + if (password == uiState.value.pass) { + backupRepository.setPasswordForCloudSync(null) + } else { + publishEvent(BackupSettingsUiEvent.ShowRemovePasswordDialogError) + } + return@launchScoped + } + val isCorrect = backupRepository.checkCloudBackupPassword(password) if (isCorrect) { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index f7eadf74..d6c2e02b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,6 @@ [versions] accompanist = "0.32.0" -agp = "8.2.0-rc02" +agp = "8.2.0-rc03" cameraX = "1.3.0" coil = "2.4.0" commonmark = "0.21.0" @@ -8,7 +8,7 @@ compose = "1.5.4" composeActivity = "1.8.0" composeCompiler = "1.5.3" core = "1.12.0" -firebase = "32.5.0" +firebase = "32.6.0" glance = "1.0.0" junit = "4.13.2" koin = "3.5.0" @@ -17,7 +17,7 @@ kotlin = "1.9.10" kotlinCoroutines = "1.7.3" kotlinKsp = "1.9.10-1.0.13" ktor = "2.3.4" -lifecycle = "2.7.0-beta01" +lifecycle = "2.7.0-rc01" material3 = "1.2.0-alpha08" room = "2.6.0" From 09820987d86e41bd1fdcf906a6cfbfaf93e30770 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=C2=A0Koby=C5=82ko?= Date: Sat, 25 Nov 2023 17:19:15 +0100 Subject: [PATCH 03/15] Support regexp in icon matching --- app/src/debug/res/values/strings.xml | 2 +- core/locale/src/main/res/values/strings.xml | 2 +- .../main/java/com/twofasapp/parsers/domain/SupportedService.kt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/debug/res/values/strings.xml b/app/src/debug/res/values/strings.xml index e0f6cefb..d4cf157c 100644 --- a/app/src/debug/res/values/strings.xml +++ b/app/src/debug/res/values/strings.xml @@ -1,3 +1,3 @@ - 2FAS.DEBUG + 2FAS.DEBUG \ No newline at end of file diff --git a/core/locale/src/main/res/values/strings.xml b/core/locale/src/main/res/values/strings.xml index e75aacb9..e6823d12 100644 --- a/core/locale/src/main/res/values/strings.xml +++ b/core/locale/src/main/res/values/strings.xml @@ -15,7 +15,7 @@ Used for scanning QR-codes You can unlock the application using Face ID - 2FAS Authenticator + 2FAS Authenticator 2FA Authenticator (2FAS App) OK Add diff --git a/parsers/src/main/java/com/twofasapp/parsers/domain/SupportedService.kt b/parsers/src/main/java/com/twofasapp/parsers/domain/SupportedService.kt index 9935372f..2c883eb5 100644 --- a/parsers/src/main/java/com/twofasapp/parsers/domain/SupportedService.kt +++ b/parsers/src/main/java/com/twofasapp/parsers/domain/SupportedService.kt @@ -35,7 +35,7 @@ data class SupportedService( MatchRule.Matcher.StartsWith -> textToMatch.startsWith(rule.text, ignoreCase = rule.ignoreCase) MatchRule.Matcher.EndsWith -> textToMatch.endsWith(rule.text, ignoreCase = rule.ignoreCase) MatchRule.Matcher.Equals -> textToMatch.equals(rule.text, ignoreCase = rule.ignoreCase) - MatchRule.Matcher.Regex -> false // Match regex currently unsupported + MatchRule.Matcher.Regex -> rule.text.toRegex().containsMatchIn(textToMatch) } if (isMatcherFound) { From c1a470981a7a83b60d38a28854f07bd75282f353 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=C2=A0Koby=C5=82ko?= Date: Sat, 25 Nov 2023 17:25:17 +0100 Subject: [PATCH 04/15] Add turkish language --- app/src/main/res/xml/locales_config.xml | 1 + .../src/main/res/values-de-rDE/strings.xml | 13 +- .../src/main/res/values-es-rES/strings.xml | 7 +- .../src/main/res/values-fr-rFR/strings.xml | 7 +- .../locale/src/main/res/values-in/strings.xml | 7 +- .../src/main/res/values-it-rIT/strings.xml | 7 +- .../src/main/res/values-nl-rNL/strings.xml | 7 +- .../src/main/res/values-pl-rPL/strings.xml | 7 +- .../src/main/res/values-pt-rBR/strings.xml | 7 +- .../src/main/res/values-pt-rPT/strings.xml | 7 +- .../src/main/res/values-tr-rTR/strings.xml | 820 ++++++++++++++++++ .../src/main/res/values-uk-rUA/strings.xml | 7 +- core/locale/src/main/res/values/strings.xml | 9 +- 13 files changed, 891 insertions(+), 15 deletions(-) create mode 100644 core/locale/src/main/res/values-tr-rTR/strings.xml diff --git a/app/src/main/res/xml/locales_config.xml b/app/src/main/res/xml/locales_config.xml index 8c625b91..20351e6d 100644 --- a/app/src/main/res/xml/locales_config.xml +++ b/app/src/main/res/xml/locales_config.xml @@ -11,4 +11,5 @@ + \ No newline at end of file diff --git a/core/locale/src/main/res/values-de-rDE/strings.xml b/core/locale/src/main/res/values-de-rDE/strings.xml index 4f23e941..bc1ceb05 100644 --- a/core/locale/src/main/res/values-de-rDE/strings.xml +++ b/core/locale/src/main/res/values-de-rDE/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: de-DE, German (Germany) Exported by: rafakob - Exported at: Thu, 16 Nov 2023 13:28:44 -0800 + Exported at: Sat, 25 Nov 2023 08:22:33 -0800 --> + 2FAS uses iCloud for secure backup and sync of your 2FA tokens. The **encrypted** backup data is stored in iCloud, accessible **only by the 2FAS app**. Additionally, this feature aids with token **recovery and syncing** across iOS devices.\n\nIt\'s enabled by default and can disabled at any time in the app\'s backup settings. + Learn more about backup diff --git a/core/locale/src/main/res/values-es-rES/strings.xml b/core/locale/src/main/res/values-es-rES/strings.xml index 8ceda159..0c84e350 100644 --- a/core/locale/src/main/res/values-es-rES/strings.xml +++ b/core/locale/src/main/res/values-es-rES/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: es-ES, Spanish (Spain) Exported by: rafakob - Exported at: Thu, 16 Nov 2023 13:28:44 -0800 + Exported at: Sat, 25 Nov 2023 08:22:33 -0800 --> + 2FAS uses iCloud for secure backup and sync of your 2FA tokens. The **encrypted** backup data is stored in iCloud, accessible **only by the 2FAS app**. Additionally, this feature aids with token **recovery and syncing** across iOS devices.\n\nIt\'s enabled by default and can disabled at any time in the app\'s backup settings. + Learn more about backup diff --git a/core/locale/src/main/res/values-fr-rFR/strings.xml b/core/locale/src/main/res/values-fr-rFR/strings.xml index 8045d699..7422857b 100644 --- a/core/locale/src/main/res/values-fr-rFR/strings.xml +++ b/core/locale/src/main/res/values-fr-rFR/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: fr-FR, French (France) Exported by: rafakob - Exported at: Thu, 16 Nov 2023 13:28:45 -0800 + Exported at: Sat, 25 Nov 2023 08:22:33 -0800 --> + 2FAS uses iCloud for secure backup and sync of your 2FA tokens. The **encrypted** backup data is stored in iCloud, accessible **only by the 2FAS app**. Additionally, this feature aids with token **recovery and syncing** across iOS devices.\n\nIt\'s enabled by default and can disabled at any time in the app\'s backup settings. + Learn more about backup diff --git a/core/locale/src/main/res/values-in/strings.xml b/core/locale/src/main/res/values-in/strings.xml index cf8957e7..549ad264 100644 --- a/core/locale/src/main/res/values-in/strings.xml +++ b/core/locale/src/main/res/values-in/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: id-ID, Indonesian (Indonesia) Exported by: rafakob - Exported at: Thu, 16 Nov 2023 13:28:45 -0800 + Exported at: Sat, 25 Nov 2023 08:22:33 -0800 --> + 2FAS uses iCloud for secure backup and sync of your 2FA tokens. The **encrypted** backup data is stored in iCloud, accessible **only by the 2FAS app**. Additionally, this feature aids with token **recovery and syncing** across iOS devices.\n\nIt\'s enabled by default and can disabled at any time in the app\'s backup settings. + Learn more about backup diff --git a/core/locale/src/main/res/values-it-rIT/strings.xml b/core/locale/src/main/res/values-it-rIT/strings.xml index 2a4a1c1c..958eaf09 100644 --- a/core/locale/src/main/res/values-it-rIT/strings.xml +++ b/core/locale/src/main/res/values-it-rIT/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: it-IT, Italian (Italy) Exported by: rafakob - Exported at: Thu, 16 Nov 2023 13:28:45 -0800 + Exported at: Sat, 25 Nov 2023 08:22:33 -0800 --> + 2FAS uses iCloud for secure backup and sync of your 2FA tokens. The **encrypted** backup data is stored in iCloud, accessible **only by the 2FAS app**. Additionally, this feature aids with token **recovery and syncing** across iOS devices.\n\nIt\'s enabled by default and can disabled at any time in the app\'s backup settings. + Learn more about backup diff --git a/core/locale/src/main/res/values-nl-rNL/strings.xml b/core/locale/src/main/res/values-nl-rNL/strings.xml index a36b4aa8..19beeeb7 100644 --- a/core/locale/src/main/res/values-nl-rNL/strings.xml +++ b/core/locale/src/main/res/values-nl-rNL/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: nl-NL, Dutch (Netherlands) Exported by: rafakob - Exported at: Thu, 16 Nov 2023 13:28:45 -0800 + Exported at: Sat, 25 Nov 2023 08:22:33 -0800 --> + 2FAS uses iCloud for secure backup and sync of your 2FA tokens. The **encrypted** backup data is stored in iCloud, accessible **only by the 2FAS app**. Additionally, this feature aids with token **recovery and syncing** across iOS devices.\n\nIt\'s enabled by default and can disabled at any time in the app\'s backup settings. + Learn more about backup diff --git a/core/locale/src/main/res/values-pl-rPL/strings.xml b/core/locale/src/main/res/values-pl-rPL/strings.xml index de9b194a..6bd6d14a 100644 --- a/core/locale/src/main/res/values-pl-rPL/strings.xml +++ b/core/locale/src/main/res/values-pl-rPL/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: pl-PL, Polish (Poland) Exported by: rafakob - Exported at: Thu, 16 Nov 2023 13:28:45 -0800 + Exported at: Sat, 25 Nov 2023 08:22:33 -0800 --> + 2FAS uses iCloud for secure backup and sync of your 2FA tokens. The **encrypted** backup data is stored in iCloud, accessible **only by the 2FAS app**. Additionally, this feature aids with token **recovery and syncing** across iOS devices.\n\nIt\'s enabled by default and can disabled at any time in the app\'s backup settings. + Learn more about backup diff --git a/core/locale/src/main/res/values-pt-rBR/strings.xml b/core/locale/src/main/res/values-pt-rBR/strings.xml index ee0dcd31..f55bdd4d 100644 --- a/core/locale/src/main/res/values-pt-rBR/strings.xml +++ b/core/locale/src/main/res/values-pt-rBR/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: pt-BR, Brazilian Portuguese Exported by: rafakob - Exported at: Thu, 16 Nov 2023 13:28:45 -0800 + Exported at: Sat, 25 Nov 2023 08:22:33 -0800 --> + \"**2Fas**\" usa o icloud para backup seguro + Leia mais sobre a cópia de segurança\u0020 diff --git a/core/locale/src/main/res/values-pt-rPT/strings.xml b/core/locale/src/main/res/values-pt-rPT/strings.xml index de716b19..b58c5bca 100644 --- a/core/locale/src/main/res/values-pt-rPT/strings.xml +++ b/core/locale/src/main/res/values-pt-rPT/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: pt-PT, Portuguese (Portugal) Exported by: rafakob - Exported at: Thu, 16 Nov 2023 13:28:45 -0800 + Exported at: Sat, 25 Nov 2023 08:22:33 -0800 --> + 2FAS uses iCloud for secure backup and sync of your 2FA tokens. The **encrypted** backup data is stored in iCloud, accessible **only by the 2FAS app**. Additionally, this feature aids with token **recovery and syncing** across iOS devices.\n\nIt\'s enabled by default and can disabled at any time in the app\'s backup settings. + Learn more about backup diff --git a/core/locale/src/main/res/values-tr-rTR/strings.xml b/core/locale/src/main/res/values-tr-rTR/strings.xml new file mode 100644 index 00000000..1742d2e3 --- /dev/null +++ b/core/locale/src/main/res/values-tr-rTR/strings.xml @@ -0,0 +1,820 @@ + + + + + QR kodlarını taramak için kullanılır + Uygulamanın kilidini Face ID\'nizi kullanarak açabilirsiniz + + 2FAS Authenticator + 2AD Doğrulayıcısı (2FAS Uygulaması) + Tamam + Ekle + + İptal + Bildirimler + + %1$d / %2$d + + Hizmet, Yedekten zaten silindi + + Hizmet, Yedekten zaten düzenlendi + + Kullanıcı, iCloud kotasının üzerinde + + iCloud\'a erişilemiyor + + iCloud kullanıcı tarafından devre dışı bırakıldı + + 2FAS Yedeklemesi + Kapat + Devam et + Kopyala + Sil + Reddet + Bitti + Düzenle + Kodu elle girin + Hata + Bilgi + Sonraki + Uyarı + Kapalı + Açık + + QR kodunu yakalamak için kameranızı ekrana doğrultun + Yeniden adlandır + Yeniden dene + Kaydet + QR Kodu Tara + Hizmet + Ayarla + Atla + Jetonlar + Uyarı + Sonuç yok + Özelleştir + Onayla + Reddet + + Girilen metin çok uzun (en fazla %d karakter) + Anlaşıldı! + Doğrulanıyor… + + Devam etmek için Parmak izini onayla. + + Bu sefer PIN kullan + + Harikasınız! + Dünya çapında 6 milyondan fazla kullanıcının güvendiği 2FAS uygulaması sayesinde telefonunuz, çevrim içi hizmetleriniz için özel ve güvenli bir anahtar haline geldi. + Basit + 2FAS\'ı çevrim içi hizmetlerinizle eşleştirin. İki faktörlü güvenliği QR kodunuzla saniyeler içinde etkinleştirin. + Gizli + 2FAS gizliliğinize saygı duyar ve onu korur. Bu uygulama; kişisel verilerinizi asla toplamaz, işlemez veya kullanmaz. + Güvenli + Jetonlarınız cihaz depolama alanı üzerinde çevrim dışı olarak saklanır, bu nedenle hizmetlerinizi yedeklemeyi unutmayın! Yetkisiz erişime ve cihaz hasarına karşı koruma sağlamak için iCloud Eşitlemesi ve PIN parolası kullanın. + + 2FAS\'ı kullanmaya başla + Hizmet şartları + Çevrim içi hizmet hesabınızı 2FAS ile eşleştirin veya jetonlarınızı içeri aktarın + Yeni hizmet eşleştir + + 2FAS yedek dosyasını içeri aktar + + Google Authenticator\'dan içeri aktar + + Ne yapacağınızdan emin değil misiniz? + + \"Hesapları Aktar\" seçeneğini kullanarak Google Authenticator\'daki hesaplarınızı QR koduna dışarı aktarın. Ardından başka bir cihaz kullanarak dışarı aktarılmış QR kodunun fotoğrafını çekin, cihazınıza fotoğrafı gönderin (veya mümkünse QR kodunun ekran görüntüsünü alın) ve aşağıdaki \"QR kodu seç\" seçeneğini kullanın. Eğer kodları başka bir cihazdan içeri aktarıyorsanız, onun yerine \"QR kodu tara\" düğmesini kullanın. + + QR kodu seç + + QR kodu tara + + Yeni bir kod ekleniyor + + Gizli Anahtar Kopyalandı + + Bu jeton, listede zaten mevcut + Sayaç Kopyalandı + Jeton Kopyalandı + Sonraki Jeton Kopyalandı + + %s kodunu eklemek ister misiniz? + + Ayarları Aç + Yanlış PIN + PIN\'i Değiştir + Lütfen cihazın sahibi olduğunuzu onaylayın + + Lütfen yeni PIN\'inizi onaylayın + PIN Oluştur + Lütfen mevcut PIN\'inizi girin + + Lütfen yeni PIN\'inizi girin + + Lütfen PIN\'inizi girin + + Çok fazla girişim. Lütfen %s tekrar deneyin + Çok fazla girişim. Lütfen %s dakika sonra tekrar deneyin. + + Çok fazla girişim. Lütfen daha sonra tekrar deneyin. + + Çok fazla girişim. Lütfen bir dakika sonra tekrar deneyin + Yedekleme ve Eşitleme + Konu seç + Posta hizmetinizi yapılandırın ve tekrar deneyin + Genel + Posta hizmetlerine erişilemiyor + Sorun + Güvenlik + PIN uzunluğu seç + Ayarlar + + Öneri + Gelişmiş + Widgetlar + Ana Ekran Widgetlarında seçilen hizmetleri görüntüleyin. + + Widgetları etkinleştirirseniz bütün jetonlarınıza PIN kodunuz olmadan erişilebilecek.\n\nWidgetları etkinleştirmek istediğinizden emin misiniz? + Sonraki jetonu göster + Listedeki gelen jetonları görün. + Çöp Kutusu + Geri yükle + Çöp Kutusu Boş + Uygulamayı paylaş + + Şunun için jetonu silmek istediğinizden emin misiniz: + Çöp Kutusuna taşı + Ek bilgi + Yöntem seç + Çoğaltılmış Gizli Anahtar + + Yanlış Gizli anahtar (sadece 2\'den 7\'ye kadar olan rakamlar, harfler), en fazla 512 karakter uzunluğunda + Tamam, hadi tekrar deneyelim + + QR kodunu taramak için kameranızı ekrana doğrultun + + Gizli Anahtar + Bu QR kodu sizi App Store\'a götürür + + Jetonu sil + + Hizmet ara + + Üzgünüz, hizmet bulunamadı + + Başka bir arama terimi ile tekrar deneyin + Anahtar çok kısa. En az 4 karakter + Hizmet Adı + + Taranan kodun içindeki Gizli anahtar, %s üzerinde zaten kullanılıyor. Muhtemelen kodu tekrar tarıyorsunuz + Bu kod yanlış veya desteklenmiyor. Tekrar deneyin. + Hizmet Adı Yaz + Hizmet Adı Gir + + Ne yazık ki bu hizmeti tanımıyoruz. Bu hizmete ne adı vermek istersiniz? + + Bu jetonu bir daha geri yükleyemeyeceksiniz. + Rozet rengi + Marka simgesini değiştir + Etiketi değiştir + Hizmet Bilgisi + Kişiselleştirme + Marka simgesi + Etiket + + Bu hizmeti 2FAS uygulamasından sil + + Etiket (1 veya 2 karakter) + Arka plan rengi seç: + %s eklendi + Sonraki Jeton: %s + Sonraki Jetonun değeri + Jetonlarım + Grup siliniyor + + Bütün jetonlar şu gruba taşınacak: \"Jetonlarım\" + Grup ekle + Grup adı: + Galeriden seç + Kameraya erişilemiyor + + Uygulamanın, Sistem Ayarlarında uygun izinlere sahip olup olmadığını kontrol edin + QR kodu bulunamadı + + Seçilen resmin içinde QR kodu yok. Lütfen başka bir resim deneyin. + Hizmet seç + Ne hizmeti eklemek istiyorsunuz? + Bu jetonu tekrar girin + + Bu jetonun kilidini aç ve tekrar yaz + Grup + Grup seç + 2AD jetonları Google Authenticator uygulamasından içeri aktarılıyor + Bu QR kodu, jetonların Google Authenticator\'dan içeri aktarılmasına izin verir + + %1$d üzerinden %2$d + Jetonlar içeri aktarılacak. + Sıralama ölçütü + + A\'dan Z\'ye + + Z\'den A\'ya + Elle + Gelişmiş + + Uyarı + + Gelişmiş ayarların değiştirilmesi önerilmez. Bunu yalnızca 2AD sağlayıcınız gerek duyduğunda ve açık talimatlara sahip olduğunuzda yapın. + Jeton ayarları + OTP Doğrulaması + Algoritma + Yenileme süresi + Basamak sayısı + Sayaç + Başlangıç sayacı + + %d sn + HOTP + TOTP + Gelişmiş ayarların değiştirilmesi önerilmez. Bunu yalnızca 2AD sağlayıcınız gerek duyduğunda ve açık talimatlara sahip olduğunuzda yapın. + En iyi yöntem + + Hizmet başarıyla eklendi. Şunu şiddetle öneriyoruz ki\u0020 + + QR ekran görüntüsünü galerinizden silin. + Birisi bu QR kodunun ekran görüntüsünü ele geçirirse, bu hizmetin 2AD kodlarını alabilecektir. + Bir simge talep edin + Discord\'da bize ulaşın + Discord sunucumuza giriş yapın + ve kullanıcıların talep edilen simgeler için oy kullanmasına izin verin. + veya + Hizmet sağlayıcıyı bilgilendirin + Sosyal Medyayı veya e-postayı kullanabilir ve bu metni onlarla paylaşabilirsiniz: + Merhaba! Hizmetinize 2AD ile giriş yapmak için 2FAS uygulamasını kullanıyorum, ancak uygulamada simgeniz yok! Simgenizi şuraya gönderebilirsiniz: https://2fas.com/yb + https://2fas.com/yb + Şirketin resmi hesabını etiketlemeyi unutmayın! + 2FAS uygulamasında marka simgesini bulamıyor musunuz? + Bir marka simgesi talep edin + Bir marka simgesi talep edin + İstek yöntemi seç + Bir kullanıcı olarak simge talep edin + Bir şirket olarak simgeyi gönder + + %1$s için iki faktörlü kimlik doğrulaması açık olduğu sürece bu jeton olmadan %2$s hesabınızda oturum açamazsınız. + Gizli Anahtarı Göster + Gizli Anahtarı Kopyala + + Jeton değişimine saniyeler kala sayaç + Sil düğmesi + Hizmet silindi + + Bu alan gizli bir Güvenli Anahtar içerir. Bunu ortaya çıkarmak için Göster düğmesini kullanın. Bu yalnızca kilit ekranı için uygulama PIN\'ini ayarladıysanız çalışacaktır + Hizmet adı: %s + Ek bilgi: %s + Jeton %s. Kopyalamak için basın + %s ögesini düzenle + Adı %1$s ve rengi %2$s olan servis etiketi + %s hizmet simgesi + Seçildi + Seçilmedi + Rozet rengi: %s + Reddediliyor + Sadece 2\'den 9\'a kadar olan rakamlar, harfler. En az 4 karakter + Hizmet Ekle + Grup Ekle + + Yeni bir hizmet eklemek için Hizmet Ekle düğmesini kullanın + Arama sonucu yok + + Hizmet sıralamasını ayarlamak için Sıralama Ölçütünü kullanın + İçerik yükleniyor + \"%s\" parolası geçersiz karakterler içerdiğinden jetonlar yedeklenemedi. Onu listeden kaldırın ve tekrar deneyin + İçeri aktar + Dışarı aktar + 2FAS Yedeklemesi, kendi bütünlüğünü korumak için devre dışı bırakılacak + Dosya dışarı aktarılırken hata oluştu + İçeri aktarma başarıyla tamamlandı + + Başka bir uygulama kamerayı kullanıyor. Eğer diğer uygulamaları kapatmak işe yaramazsa cihazı yeniden başlatın + + Sisteme aşırı yüklenildiğinden kameraya erişilemiyor. Cihazı yeniden başlatmayı deneyin + Kamera başlatılamıyor. Cihazı yeniden başlatmayı deneyin + Bölünmüş ekran görünümünde kamera başlatılamıyor. Uygulamayı tam ekranda açın ve tekrar deneyin + 2FAS uygulaması nasıl geri yüklenir? + Uygulama geri yüklemesi + + Eğer PIN\'inizi unuttuysanız veya 2FAS uygulamasını sıfırlamak istiyorsanız, uygulamayı yeniden yüklemeniz gerekiyor. + + Bir yedeğiniz yoksa ve uygulamayı sıfırlarsanız, tüm kodlarınıza erişiminizi ve dolayısıyla 2AD ile korunan tüm hesaplarınıza erişiminizi kaybedeceğinizi unutmayın. + + Eğer bir yedeğiniz varsa içiniz rahat olsun, bütün kodlarınızı geri yükleyebileceksiniz. + Bulut Yedeklemesi + iCloud Eşitlemesi + ÖNERİLEN: iCloud Eşitlemesi, cihazını kaybetme veya bozma olasılığına karşı jetonlarınızı Apple iCloud\'da güvende tutar. iCloud Yedeklemesini açık bırakın. + Dosya Yedeklemesi + + Jetonlarınızı çevrim dışı yedeklemek için Dosya Yedeklemesini kullanın + Yedek kaldırma + 2FAS Yedeklemesini sil + Uyarı! 2FAS Yedeklemesini silerseniz, bu hesapla eşitlenen diğer cihazlardaki tüm jetonları da sileceksiniz. Diğer cihazlardaki jetonları korumak için lütfen 2FAS Yedeklemesini silmeden önce devre dışı bıraktığınızdan emin olun. + + Yedeği silmek istiyorum + Yedeği dışarı dosya olarak aktar + + 2FAS uygulaması ile diğer cihazlardaki dışarıya aktarılan dosyaları içeri aktarabilirsiniz + Dosyayı dışa aktar + PIN\'i doğrula + Dosyayı kaydet + Yedek dosyasını içeri aktar + + Şunları içeren bir yedek dosyasını içeri aktaracaksınız: + Dosyayı içeri aktar + Başka dosya seç + İçeri aktarılacak hiçbir şey yok + Dosya hatası! + + Dosyadaki hizmetler uygulamanızdaki hizmetlerle birleştirilecek + Ya bu dosya boştur ya da içindeki tüm hizmetler uygulamada zaten mevcuttur + Bu dosyadaki içerikleri içeri aktarmak için uygulamanın yeni sürümüne ihtiyacınız var. En yeni sürümü App Store\'da bulabilirsiniz + Bu dosya okunamıyor. Dosya, bozulmuş veya erişilmeye çalışırken hata oluşmuş olabilir. Lütfen başka bir dosya seçin + Parola + Parolayı tekrarla + Yanlış karakter. Sadece A\'dan Z\'ye ve a\'dan z\'ye harfleri (ğ, Ş gibi Türkçe harfler hariç), rakamları ve şu özel karakterleri kullanın: -_/!#$%&+*~@?=^.,\'(){}[]:;<>| + Girilen ifade çok kısa (en az 3 karakter) + Parolalar eşleşmiyor + Kaydet ve dışa aktar + Yedek dosyanızın korumasını artırmak için lütfen parola ayarlayın + İçeri aktarma işlemine devam etmek için bu yedek dosyası için bir parola girin + Bu yedek dosyası için bir parola ayarla + Yanlış Parola + + %d yeni hizmet + + %d hizmet dosyadan içeri aktarıldı + + iCloud\'da bir sorun var. Sistem ayarlarını kontrol edin + + Bu dosya, uygulamanın desteklediği biçim sürümünden daha yeni bir biçim sürümünde + + Bu dosya şifrelenmiş. Sadece şifrelenmemiş dosyaları destekliyoruz + Jetonu kopyala + + Evet, bu hizmeti silmek istiyorum + Nötr + Açık mavi + Çivit mavisi + Mor + Turkuaz + Yeşil + Kırmızı + Turuncu + Sarı + Bilgi + Destekle ve Paylaş + Arkadaşına bahset + Bir değerlendirme yaz + Hakkında + Gizlilik Politikası + Kullanım Şartları + Uygulama sürümü %s + Sınır yok + PIN kodu + Uygulama güvenliği + Kilitlenme ayarları + Face ID + Touch ID + + X başarısız girişimden sonra engelle: + Uygulama kilitlenmeden önce, parolayı girmek üzere izin verilen en fazla başarısız girişim sayısını seçin (kilitlenme süresi aşağıdan değiştirilebilir). + Kilitlenme süresi + 3 dakika + 5 dakika + 10 dakika + En fazla başarısız girişim + 4 haneli kod + 6 haneli kod + Biyometrik Doğrulama + Bağışlar + 2FAS\'a bağış yap + Yeni sürüm + 2FAS\'ın yeni bir sürümü App Store\'da mevcut. Şimdi güncelle! + Şimdi güncelle + + Bu sürümü atla + + Daha sonra güncelle + Tarayıcı uzantısı + 2FAS Web Tarayıcısı uzantısı + 2FAS tarayıcı uzantısını masaüstü bilgisayarınızda yükleyin + Onu 2FAS uygulamanızla eşleştirin + Daha fazla bilgi: + 2fas.com/be + Web tarayıcısı ile eşleştir + https://www.2fas.com/be + Eşleşme başarılı! + Bu web tarayıcısını kullanarak çevrim içi hizmetlerinize giriş yapmaya çalıştığınızda 2FAS size anlık bildirim gönderecek. Her giriş için jetonlarınızı tekrar girmenize gerek kalmayacak. + Eşleşme başarısız :( + Bu QR kodu tanınmadı ve 2FAS bu cihazı tarayıcı uzantısıyla eşleştiremedi. Lütfen tekrar deneyin. + + Zaten eşleşmiş! + + Bu Tarayıcı Uzantısı, bu cihazla zaten eşleşmiş. + Desteğe başvur + Tarayıcı ile eşleşiliyor + + Eşleşmiş cihazlar (web tarayıcıları) + Yeni ekle + + Cihaz takma adı + Cihaz takma adı + Ad + Bu takma ad, 2FAS tarayıcı uzantısıyla eşleşen diğer cihazlar arasında bu cihazı belirlemenize yardımcı olur + Tarayıcı Uzantıları ayarları + <BİLİNMEYEN_AD> + %1$s, %2$s için 2AD jetonu talep etti. Onaylamak ve bu alan adıyla kaydetmek için hizmeti seçin. + Tarayıcı isteği + + Jeton başarıyla gönderildi! + Kod gönderilirken hata oluştu. %s + Eşleşmiş Cihaz Siliniyor + Eşleşmiş cihazı silmek istediğinizden emin misiniz? + Eşleşme tarihi + Bu web tarayıcısını unut + + Eşleşmiş alan adlarının listesi. + Alan adı silinsin mi? + %s hesabına giriş yapmak için tarayıcı uzantısını bir sonraki kullanışınızda bu alan adını tekrar eşleştirmeniz istenecek. + Anlık Bildirimler + Tarayıcı Uzantısı gibi işlevselliklere erişebilmek için uygulamanın Anlık Bildirimlere erişmesi gerekiyor. Bu ayarı istediğiniz zaman Sistem Ayarlarında değiştirebilirsiniz. + İsteğin süresi doldu + 2AD Jetonu İsteği + Şunun için 2AD jetonunu paylaşmak ister misiniz: + Bildirim yok + 2 F A S + 2FAS + Google Drive\'a erişilemiyor + Google Drive kullanıcı tarafından devre dışı bırakıldı + Bu dosyanın içeriğini içeri aktarmak için uygulamanın yeni bir sürümüne ihtiyacınız olacak. En yeni sürümü Google Store\'da bulabilirsiniz + Bu QR kodu sizi Google Store\'a götürür + Jetonlarınız cihaz depolama alanı üzerinde çevrimdışı olarak saklanır, bu nedenle hizmetlerinizi yedeklemeyi unutmayın! Yetkisiz erişime ve cihaz hasarına karşı koruma sağlamak için Google Drive Eşitlemesi ve PIN parolası kullanın. + 2FAS\'ın yeni bir sürümü Google Store\'da mevcut. Şimdi güncelleyin! + PIN eşleşmiyor! Lütfen tekrar deneyin. + Geliştirici Seçenekleri + Jetonları içeri aktar + Eşleşme sonucu + DİKKAT + Kameranızı doğru QR koduna doğrultun ve tekrar tarayın. + Değişiklikleri iptal etmek istiyor musunuz? + Kaydedilmemiş değişiklikler + Anahtar geçersiz bir biçime sahip + Sistem hatası! Sistem galeri uygulaması mevcut değil. + Google Drive İzni + Yedek dosyalarını uygulama verilerine kaydetmek için Google Drive iznine ihtiyacımız var. + İnternet Bağlantısı Gerekli + Google ile senkronize etmek için bir internet bağlantısını etkinleştirmeniz gerekir. + Google Drive\'a erişimi iptal etmek için internet bağlantısını etkinleştirmeniz gerekir. + Yedek dosyanızı Google Drive\'ınızdaki gizli klasörün içinde otomatik olarak depolayın ve eşitleyin. Bu klasör sadece 2FAS uygulaması tarafından erişilebilir. + Yedeğin eşitlenmesinde bir sorun oluştu. Lütfen uygulamayı birkaç dakika sonra yeniden başlatın ve tekrar deneyin. + Yedek şifrelenirken bir sorun oluştu. Lütfen parolanızı yeniden ayarlayın. + Yedeğin şifresi çözülürken bir hata oluştu. Lütfen parolanızı yeniden ayarlayın. + iCloud\'da bir sorun var. Sistem ayarlarını kontrol edin + Google Drive hesap izinlerinizle ilgili bir sorun var. Senkronizasyonu açıp kapatmayı deneyin. + Yedeğiniz parola korumalı. Onu etkinleştirin ve parolanızı girin. + Yedeğiniz parola korumalı ama girilen parola yanlış. Onu etkinleştirin ve parolanızı girin. + Hizmet Ataması + Kişiselleştirme + Marka simgesini değiştir + Gelişmiş + Bir simge talep edin + Etiketi düzenle + Bu grubu silmek istediğinizden emin misiniz? + Yedek dosyanız dışarı aktarılmak için hazır + 2FAS jetonlarınızı güvenli bir şekilde yedeklemek için bu dosyayı dışarı aktarın. Daha sonra 2FAS uygulamasını kullanarak bu dosyayı bu cihazda veya diğer cihazlarda içeri aktarabilirsiniz. + Dosyayı parola olmadan dışarı aktar (önerilmez) + Dosya, uygulamanın hizmet listesi ile senkronize edilecektir. + Belki Daha Sonra + Etkinleştir + Eklenmiş hizmet yok + ÖNERİLEN: Google Drive Eşitlemesi, cihazını kaybetme veya bozma olasılığına karşı jetonlarınızı Google Drive\'da güvende tutar. Google Drive Eşitlemesini açık bırakın. + Google Drive Eşitlemesi kapatılsın mı? + 2AD jetonları bu cihazda ve Google Drive\'ınızda kalacak, ancak senkronize edilmeyecektir. Ayrıca Google Hesabınızdan çıkış yapmış olacaksınız. + Bu cihazın kaybolması veya hasar görmesi ya da uygulamanın kaldırılması durumunda jetonlarınızı kurtaramayabileceğinizi ve 2AD ile güvence altına alınan çevrimiçi hesaplara erişiminizi kaybedeceğinizi unutmayın. + Google Drive yedek dosyasını özel bir parola ile koruyun. + Şifreyi kaldır + Google Drive yedek dosyanız için parolayı kaldırın. + Google hesabı + Son eşitleme + Bu web tarayıcısını kullanarak çevrim içi hizmetlerinize giriş yapmaya çalıştığınızda 2FAS size ANLIK bildirim gönderecek. Her giriş için jetonlarınızı tekrar girmenize gerek kalmayacak. + Tarayıcı adı + Doğrula + Biyometrik kimliğinizi kullanın + Açık kaynak lisansları + Diğer uygulamalardaki jetonlarınızı 2FAS\'a içeri aktarabilirsiniz. Listeden bir uygulama seçin ve talimatları izleyin. + Uygulama seç + Google Authenticator + Aegis + Raivo OTP + 2FAS Auth + Evet + Hayır + Ara + Bu bağlantıyı destekleyen uygulama yok + Kamera İzni + QR Kodlarını taramak için kamera izni gerekiyor. Bu özelliği kullanmak istiyorsanız Uygulama Bilgisine, ardından İzinlere gidin ve Kamerayı etkinleştirin. + PIN\'i devre dışı bırak + Lütfen yeni %s PIN\'inizi girin + PIN yanlış! Lütfen tekrar deneyin + Biyometrikler + 2FAS Desteği + Geliştirici Seçenekleri + Biyometrik Kilit + Tema + Otomatik + Otomatik - Sistem Ayarları + Koyu + Açık + Jeton panoya kopyalandı! + Sonraki jeton panoya kopyalandı! + Bu 2AD hizmetini kalıcı olarak silmek istiyor musunuz? + Elle ekle + Bu QR Kodu çalışmıyor! + + QR kodu resimden okunamadı! + Başka bir resim seçmeyi deneyin. + Hizmeti sonsuza dek sil + + Hizmet, Gizli Anahtar geçersiz olduğu için eklenemedi. Tekrar deneyin. + + Bu Gizli Anahtarı içeren hizmet zaten mevcut. Üzerine yazmak istiyor musunuz? + Anahtar geçersiz karakterler içeriyor + Gizli Anahtarı Göster + + Gizli anahtarınız korunuyor. Gizli anahtarı görmek için lütfen bir PIN veya parmak izi kilidi ekleyin. + Hizmet listesi boş + Yeni bir hizmet eklemek için \"+\" düğmesini kullanın + %1$s hesabı için iki adımlı doğrulamayı etkinleştirdiğiniz sürece bu jeton olmadan %2$s hesabınıza giriş yapamayacaksınız.\n\nBu jetonu 2FAS çöp kutusundan geri yükleyemeyeceksiniz. + Hizmetler başarıyla içeri aktarıldı! + + Yedeğinizi eşitlemek için etkin bir internet bağlantısına ihtiyacınız var. Lütfen ağ bağlantınızı etkinleştirin ve tekrar deneyin. + Uygulamayı güncelle + + Tüm özellikleri elde etmek ve yüksek bir güvenlik seviyesi sürdürmek için lütfen 2FAS\'ı en yeni sürüme güncelleyin. + Sileceğiniz öge: + + 2FAS hizmet listenizden.\n\nUnutmayın, iki faktörlü kimlik doğrulama açık olduğu sürece, bu jeton olmadan %s hesabına giriş yapamayacaksınız. + Sil + Dışarı aktar + Paylaş + Yedeği dosyadan içeri aktar + Yedek dosyasını şununla içeri aktaracaksınız: + İçeri aktar + Widgetta görünen jetonlar PIN kodunuz tarafından korunmaz.\n\nJetonlarınızı widgetta görüntülemek istediğinizden emin misiniz? + UYARI! + Evet, eminim + 2FAS Yedeklemesi + 2FAS Yedeklemesini etkinleştirin. Telefonunuzun sıfırlanması veya kaybolması hâlinde tüm jetonlarınızı kurtarabileceksiniz. + Üzgünüz, marka bulunamadı + + Widget üzerinde görünecek hizmetleri seçin: + Eşitlemeyi devre dışı bırak + İptal + Parola Ayarla + Yedek dosyasını Google Drive\'dan sil + + Bu dosyayı Google Drive\'ınızdan silerseniz, eşitlenmiş tüm cihazlarınızdaki eşitleme devre dışı bırakılacak ve jetonlarınız sadece bu ve diğer cihazların yerel depolama alanında kalacak. + 2FAS uygulamanız bu tarayıcıyla zaten eşleşmiş. + + QR kodunu tekrar okutun + Hata + + Taranan QR kodu desteklenmeyen bir biçimde. Lütfen tekrar deneyin. + QR kodu taranırken bilinmeyen bir hata oluştu. Lütfen tekrar deneyin. + Bu seferlik PIN kullan + Doğrulamayı etkinleştir + İptal + + Biyometrik Kilidi etkinleştirmek için PIN Koduyla girişi etkinleştirip ayarlamanız gerekir. + Uygulamanın kilitlenmesi için gereken süreyi seçin + Görünüşe göre ya şu anda disk alanınız tükenmiş ya da geçmişte böyle bir olay veri tabanına zarar vermiş + Bulut yedeklemesi yeni sürüme taşındı. Uygulamayı güncelleyin + Bulut yedeklemesi şifrelenmiş. Bu özelliğin desteklenmesi için uygulamayı güncelleyin + Uygulamaya devam et + İptal + Doğrula + Reddet + İstek gönderildi + Jeton gönderilsin mi? + %1$s, %2$s için 2FAS jetonu istedi + Jeton gönderilirken hata oluştu + Bu web sitesi eşleştirilmedi + Uygulamayı açın ve bu alan adı için bir hizmet seçin + Uygulamayı açın ve Tarayıcı Uzantısının düzgün bir şekilde eşleşip eşleşmediğini kontrol edin + Bağlantıda bir sorun var + Lütfen tekrar deneyin + Hata + Tarayıcı uzantısının çalışması için lütfen 2FAS uygulamasına hizmetleri ekleyin + Onayla + Reddet + Bu cihazdaki tokenlerinize yetkisiz erişimi önlemek için PIN kodu ve Face ID yetkilendirmesini açın. + Bu cihazdaki tokenlarınıza yetkisiz erişimi önlemek için PIN kodu ve Touch ID yetkilendirmesini açın. + Girilen kod yanlış. Lütfen kodu iki kez kontrol edin + Girilen kodun süresi doldu. Yeni bir kod almak için lütfen destek ekibiyle iletişime geçin + İnternet bağlantısı yok. Lütfen bağlantıyı kontrol edin ve tekrar deneyin + Sunucularımızda bir problem var gibi görünüyor. Sorun devam ederse lütfen destek ekibimize başvurun + İşlem başarısız oldu + Günlükler gönderildi + Bize ulaştığınız için teşekkür ederiz. Gönderdiklerinizi en kısa zamanda analiz edeceğiz. + Gönder + Günlükler gönderiliyor + Destek ekibi tarafından sağlanan kod otomatik olarak dolduruldu. Günlükler gönderilsin mi? + Lütfen destek ekibimiz tarafından sağlanan kodu girin veya yapıştırın + Günlükleri gönder + 2FAS\'ın bu harika iki faktörlü kimlik doğrulama uygulamasına göz atın: https://2fas.com + Alındılar + Harici uygulamadan içeri aktar + + an önce + az önce + + + %d dakika önce + %d dakika önce + + + %d saat önce + %d saat önce + + + %d gün önce + %d gün önce + + + %d hafta önce + %d hafta önce + + + %d ay önce + %d ay önce + + Bilinmeyen hata oluştu! Tekrar deneyin! + Dosya başarıyla kaydedildi! + Dosya paylaşılamadı! + Parolayı yazın + Kaldırma işlemine devam etmek için yedeğin parolasını girin. + Google\'a erişimi iptal etme işlemine devam etmek için yedeğin parolasını girin. + Eşitleme ayarları + Yerel dosya + Google Drive eşitlemesi + Yedek dosyanız Google Drive\'dan silinsin mi? + Google Eşitlemesi devre dışı bırakılacak. Jetonlarınız yerel olarak kalacak; ancak 2FAS uygulaması bu ve diğer eşitlenmiş cihazlarınızdaki Google Hesabınızdan çıkış yapmış olacak. + Eşitleme için bekleniyor... + Eşitleniyor... + Şifrelenmiş bir yedek dosyasını içeri aktaracaksınız. + JSON dosyası seç + Hesaplarınızı Aegis\'ten şifrelenmemiş bir JSON dosyasına aktarın ve \"JSON dosyası seç\" düğmesini kullanarak yükleyin. Başarılı bir içeri aktarma işleminden sonra dosyayı kaldırmayı unutmayın. + Raivo\'nun Ayarlarında \"OTP\'leri ZIP arşivine aktar\" seçeneğini kullanın, bir ZIP dosyası kaydedin, dosyaları çıkarın ve \"JSON dosyası seç\" düğmesini kullanarak JSON dosyasını içeri aktarın. + Ancak içeri aktarılabilecek hiçbir hizmet yok. + Tekrar dene + İlerle + 2AD jetonları Google Authenticator uygulamasından içeri aktarılıyor + 2AD jetonları Aegis uygulamasından içeri aktarılıyor + 2AD jetonları Raivo uygulamasından içeri aktarılıyor + Bu QR kodu, jetonların Google Authenticator\'dan içeri aktarılmasına izin verir. + Bu JSON dosyası, jetonların Aegis\'ten içeri aktarılmasına izin verir. + Bu JSON dosyası, jetonların Raivo\'dan içeri aktarılmasına izin verir. + Hiçbir jeton okunamadı. Başka bir dosya seçmeyi deneyin. + Google Drive eşitlemesi hatırlatıcısı + Emin misiniz? Google Drive eşitlemesi olmazsa, telefonunuzu kaybettiğinizde veya sıfırladığınızda jetonlarınızı geri yükleyemeyeceksiniz! + Kod başarıyla gönderildi + Kod gönderilirken hata oluştu + Yeni hizmet ekle + Hizmeti özelleştir + Önerilen + Tüm hizmetler + Diğer hizmetler + SSL Hatası + Bir SSL hatası oluştu ve sunucuya güvenli bir bağlantı yapılamıyor. Uygulamanın en son sürümüne sahip olduğunuzdan emin olun veya bağlantı ağını değiştirmeyi deneyin. + İçeri aktarmaya çalıştığınız dosya çok büyük. Dosya sınırı 10 MB\'dir. + İçeri aktarmaya çalıştığınız dosya geçersiz veya bozuk. Lütfen başka bir dosya seçin. + Etkin arama + Başlangıçta etkin arama + Sona erme süresi: + Widget ayarları + Giriş tamsayı olmalıdır + Giriş bir sayı olmalıdır + Girdi boş olamaz + Girdi çok uzun. Sınır: %d + En iyi eşleşme + Çökme raporlarını anonim olarak gönder + Anonim çökme raporlarını 2FAS\'a göndererek uygulamadaki sorunları belirlememize ve çözmemize yardımcı olun (uygulamanın yeniden başlatılması gerekir). + Listeyi yönet + Görünüm + Mevcut jeton dolmak üzereyken bir sonraki jetonu göster + Liste biçimi + Google Drive eşitlenmedi. + Yedekleme ayarlarına git + Varsayılan + Kompakt + LastPass + Hesaplarınızı LastPass\'ten şifrelenmemiş bir JSON dosyasına aktarın ve \"JSON dosyası seç\" düğmesini kullanarak yükleyin. Başarılı bir içeri aktarma işleminden sonra dosyayı kaldırmayı unutmayın. + Çökme Raporları + 2AD jetonları LastPass uygulamasından içeri aktarılıyor + Bu JSON dosyası, jetonların LastPass\'ten içeri aktarılmasına izin verir. + Jetonları LastPass uygulamasından içeri aktar + Jetonları Aegis\'ten içeri aktar + Jetonları Raivo OTP\'den içeri aktar + Jetonları Google Authenticator\'dan içeri aktar + + sn + Hizmeti 2FAS ile eşleştir + QR kodunu yakalamak için kameranızı ekrana doğrultun. + Diğer yöntemler + Gizli anahtar gir + QR kodu içeren bir görsel yükle + Neredeyse tamam! + Hizmeti eşleştirmeyi tamamlamak için bu jetonu yeniden girmeniz gerekiyor. + Hizmeti 2FAS ile eşleştir + Hizmet adını ve gizli anahtarı yazın. + Hizmet adı + Gizli Anahtar + Diğer ayarlar + (isteğe bağlı) + Hizmet ekle + Ne yapacağınızı bilmiyor musunuz? Yardım için basın + Gelişmiş jeton ayarları + Ek bilgi + Varsayılan jeton ayarlarının değiştirilmesi önerilmez. Bunu yalnızca 2AD sağlayıcınız gerek duyduğunda ve açık talimatlara sahip olduğunuzda yapın. + Uygulamada ekran görüntülerine 5 dakika için izin ver. + Ekran görüntülerine izin ver + Uygulamada ekran görüntülerine izin verilsin mi? + Emin misiniz? Bu seçeneğin etkinleştirilmesi, uygulamanın her yerinde ekran görüntüsü ve kaydı almanıza izin verir; ancak bu seçeneğin etkinleştirilmesi, tüm harici ekran kaydetme girişimlerine de izin verecek.\nGüvenlik sebepleri nedeniyle bu seçenek 5 dakika sonra otomatik olarak devre dışı bırakılacak. + Sosyal medya bağlantıları + Discord + YouTube + X (eski adıyla Twitter) + GitHub + LinkedIn + Reddit + Facebook + Jetonları gizle + Jetonlar, basıldığında ortaya çıkacak + Elle eşleştir + Eşleştirme kodu + Jetonları Authenticator Pro\'dan içeri aktar + Bu metin dosyası, jetonların Authenticator Pro\'dan içeri aktarılmasına izin verir. + 2AD jetonları Authenticator Pro uygulamasından içeri aktarılıyor + Hesaplarınızı Authenticator Pro\'dan şifrelenmemiş bir metin dosyasına aktarın ve \"Metin dosyası seç\" düğmesini kullanarak yükleyin. Başarılı bir içeri aktarma işleminden sonra dosyayı kaldırmayı unutmayın. + Authenticator Pro + Metin belgesi seçin + Biyometrik giriş, sistemdeki parmak izi ayarları değişikliklerinden dolayı devre dışı bırakıldı + 2AD jetonları LastPass uygulamasından içeri aktarılıyor + Bu QR kodu, jetonların LastPass\'ten içeri aktarılmasına izin verir + Bana yol göster + Hizmetleri gözden geçir + 2FAS uygulaması ile eşleştirilecek uygulamayı seçin + Hizmetiniz için 2AD kılavuzları sağlamak ister misiniz? + Şimdi uygula + Pembe + Kahverengi + Diğer yöntemler? + Kameraya erişilemiyor. Sistem ayarlarından uygulamanın iznini kontrol edin + + Sistem Ayarları + Girilen metin çok kısa (en az %d karakter) + + önerilmez + 2FAS kılavuzu + %s için 2FAS + Evrensel 2AD Kılavuzu + Seçimimi kaydet + andOTP + 2AD jetonları andOTP uygulamasından içeri aktarılıyor + Bu JSON dosyası, jetonların andOTP\'den içeri aktarılmasına izin verir. + Jetonları andOTP\'den içeri aktar + Hesaplarınızı andOTP\'den şifrelenmemiş bir JSON dosyasına aktarın ve \"JSON dosyası seç\" düğmesini kullanarak yükleyin. Başarılı bir içeri aktarma işleminden sonra dosyayı kaldırmayı unutmayın. + Bir sonraki adımda, 2FA jetonlarının güvenli bir şekilde saklanacağı Google Drive hesabınızı seçmeniz istenecektir. + Bu riski alacağım, yedekleme yok + Google Drive eşitlemesi başarıyla açıldı! + İçeri aktarmaya çalıştığınız yedek dosyası bu uygulama sürümünde desteklenmiyor. Uygulama yalnızca %d sürümüne kadar olan yedek biçimi sürümlerini desteklerken, içeri aktarmaya çalıştığınız dosya %d sürümündedir. + Pair + Secure sync and backup + + 2FAS uses iCloud for secure backup and sync of your 2FA tokens. The **encrypted** backup data is stored in iCloud, accessible **only by the 2FAS app**. Additionally, this feature aids with token **recovery and syncing** across iOS devices.\n\nIt\'s enabled by default and can disabled at any time in the app\'s backup settings. + Learn more about backup + diff --git a/core/locale/src/main/res/values-uk-rUA/strings.xml b/core/locale/src/main/res/values-uk-rUA/strings.xml index eea19a8c..565cdad4 100644 --- a/core/locale/src/main/res/values-uk-rUA/strings.xml +++ b/core/locale/src/main/res/values-uk-rUA/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: uk-UA, Ukrainian (Ukraine) Exported by: rafakob - Exported at: Thu, 16 Nov 2023 13:28:45 -0800 + Exported at: Sat, 25 Nov 2023 08:22:33 -0800 --> + 2FAS використовує iCloud для безпечного резервного копіювання та синхронізації ваших 2FA токенів. *Зашифровані* дані резервної копії зберігаються в iCloud, доступні *тільки за допомогою програми 2FAS*. Крім того, ця функція допомагає *відновлювати та синхронізувати* токени на пристроях iOS.\\n\\nЇЇ увімкнено за умовчанням і можна будь-коли вимкнути в налаштуваннях резервного копіювання програми. + Дізнайтеся більше про резервне копіювання diff --git a/core/locale/src/main/res/values/strings.xml b/core/locale/src/main/res/values/strings.xml index e6823d12..0f513fb9 100644 --- a/core/locale/src/main/res/values/strings.xml +++ b/core/locale/src/main/res/values/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: en, English Exported by: rafakob - Exported at: Thu, 16 Nov 2023 13:28:44 -0800 + Exported at: Sat, 25 Nov 2023 08:22:33 -0800 --> - 2FAS Authenticator + 2FAS Authenticator 2FA Authenticator (2FAS App) OK Add @@ -812,4 +812,9 @@ I\'ll take the risk, no backup Google Drive sync turned on successfully! The backup file you\'re attempting to import is not supported in this application version. The application only supports backup format versions up to %d, while the file you\'re importing is version %d. + Pair + Secure sync and backup + + 2FAS uses iCloud for secure backup and sync of your 2FA tokens. The **encrypted** backup data is stored in iCloud, accessible **only by the 2FAS app**. Additionally, this feature aids with token **recovery and syncing** across iOS devices.\n\nIt\'s enabled by default and can disabled at any time in the app\'s backup settings. + Learn more about backup From c91683515d82054ee70adafc39782c02f42e3831 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=C2=A0Koby=C5=82ko?= Date: Sat, 25 Nov 2023 17:25:39 +0100 Subject: [PATCH 05/15] Update icons --- .../06f9f455-dd28-4d3d-b9fc-1d387766b633.png | Bin 0 -> 6148 bytes .../188da94f-0915-47a9-8eb6-50700370982f.png | Bin 0 -> 3163 bytes .../2112cacb-76b1-40b2-8852-8125f0d5fa74.png | Bin 0 -> 3197 bytes .../2297cf29-8469-4c9e-8288-5a7a714e4737.png | Bin 0 -> 5471 bytes .../234b9ec4-c4e8-4eff-b202-7d1317c54a15.png | Bin 0 -> 5449 bytes .../278ece64-c64e-42c0-80eb-df84028800c6.png | Bin 0 -> 9618 bytes .../29d5d1cc-0d53-47ad-b54f-718bd27c6e28.png | Bin 0 -> 4296 bytes .../2a466bc4-0870-44ae-a0db-204113bdc726.png | Bin 0 -> 18697 bytes .../338ed941-d30c-4e97-8af1-36d065dd9727.png | Bin 0 -> 1941 bytes .../34d4554e-7ae2-4954-adbe-7e673c842924.png | Bin 0 -> 1706 bytes .../436ef0e7-59c2-41d6-b4a2-3e204feb4bc9.png | Bin 0 -> 5252 bytes .../45a863b0-b4ce-492f-85d7-64205a270bc9.png | Bin 0 -> 2189 bytes .../5208e264-1687-4367-8162-f6610992a795.png | Bin 0 -> 2642 bytes .../55d8f571-983a-482c-961a-e9c6cb4fab86.png | Bin 0 -> 2326 bytes .../575fb3f0-38a9-4552-b629-722a528311b3.png | Bin 0 -> 3108 bytes .../63e83753-5153-4376-89be-6c100f42d0eb.png | Bin 0 -> 4099 bytes .../6a1ad343-5fdd-4171-9a83-c1870d869179.png | Bin 0 -> 4175 bytes .../6b3b59f4-b9c3-41f3-a5a7-5d136f6976e7.png | Bin 0 -> 1344 bytes .../7ab0a499-5c82-495e-83ef-facd57c4280d.png | Bin 0 -> 5027 bytes .../8bfe9d0a-c6bb-4cb6-98a0-c6fb291a106b.png | Bin 0 -> 3302 bytes .../91007f8f-205f-4913-aa0a-a2a8022a5d0d.png | Bin 0 -> 8585 bytes .../93497b32-1eaa-4ceb-bf26-6d54359bb1d2.png | Bin 0 -> 2694 bytes .../99a1311f-d7dc-4772-872f-1fd6d8d6a5d4.png | Bin 0 -> 12681 bytes .../9b5336b6-8284-4d4e-a8dc-d8dd3659756b.png | Bin 0 -> 2314 bytes .../9bb5615f-7402-40a9-ae26-33aa43a57faa.png | Bin 0 -> 2975 bytes .../9be04765-4a71-448d-8c60-3c19cdfeec6b.png | Bin 0 -> 17346 bytes .../9daeaa08-fd78-4ded-ad73-0c6711f40e16.png | Bin 0 -> 3387 bytes .../9de136f4-469a-426b-8fc6-383426cb8746.png | Bin 0 -> 3769 bytes .../a24626fa-41d3-42f3-b32b-2e7c040164d7.png | Bin 0 -> 5604 bytes .../a3da9df5-872a-4118-b552-0ea5efb0b413.png | Bin 0 -> 3763 bytes .../a94eb94e-fff8-4a31-9e7b-0c972ebe3c5d.png | Bin 0 -> 7171 bytes .../b4f3b3e6-e0d7-43ba-9f6b-94c61e17b2f6.png | Bin 0 -> 2416 bytes .../b55e8769-85a1-4531-bda5-6e6f18cef590.png | Bin 0 -> 1816 bytes .../babb34f8-7295-439e-bdda-92a685c020b1.png | Bin 0 -> 6670 bytes .../bb2ecb26-c1f4-4b45-aa9d-b978c6439196.png | Bin 0 -> 4670 bytes .../c18dac50-f1d0-4fcc-9949-6e6377899389.png | Bin 0 -> 17474 bytes .../c1e6c669-25e0-416e-9fdb-27e04f65486d.png | Bin 0 -> 3724 bytes .../c267f480-7a6e-4982-9be0-32c5289bf9d0.png | Bin 0 -> 5457 bytes .../c7f88473-c76c-474f-8585-f0d2d8c864a3.png | Bin 0 -> 4785 bytes .../d4614125-b7c5-4d38-8709-7b1e9d935ff3.png | Bin 0 -> 2777 bytes .../d5af35b9-8b0d-4beb-bb3c-eb860a4646ae.png | Bin 0 -> 1905 bytes .../e55941f4-689a-4a39-9a23-3d7c0a6c4a5e.png | Bin 0 -> 1365 bytes .../ecfaacd8-891a-46d2-a1ce-05970065c68c.png | Bin 0 -> 5377 bytes .../f32d0413-9244-4bc1-a30a-15c4641fd86d.png | Bin 0 -> 3641 bytes .../f4902c21-bf98-4235-bc6d-b1158c6b0674.png | Bin 0 -> 18828 bytes .../f724c440-095b-4f88-b592-e3d9ac2aed76.png | Bin 0 -> 12972 bytes parsers/src/main/assets/services.json | 2 +- 47 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 parsers/src/main/assets/icons/06f9f455-dd28-4d3d-b9fc-1d387766b633.png create mode 100644 parsers/src/main/assets/icons/188da94f-0915-47a9-8eb6-50700370982f.png create mode 100644 parsers/src/main/assets/icons/2112cacb-76b1-40b2-8852-8125f0d5fa74.png create mode 100644 parsers/src/main/assets/icons/2297cf29-8469-4c9e-8288-5a7a714e4737.png create mode 100644 parsers/src/main/assets/icons/234b9ec4-c4e8-4eff-b202-7d1317c54a15.png create mode 100644 parsers/src/main/assets/icons/278ece64-c64e-42c0-80eb-df84028800c6.png create mode 100644 parsers/src/main/assets/icons/29d5d1cc-0d53-47ad-b54f-718bd27c6e28.png create mode 100644 parsers/src/main/assets/icons/2a466bc4-0870-44ae-a0db-204113bdc726.png create mode 100644 parsers/src/main/assets/icons/338ed941-d30c-4e97-8af1-36d065dd9727.png create mode 100644 parsers/src/main/assets/icons/34d4554e-7ae2-4954-adbe-7e673c842924.png create mode 100644 parsers/src/main/assets/icons/436ef0e7-59c2-41d6-b4a2-3e204feb4bc9.png create mode 100644 parsers/src/main/assets/icons/45a863b0-b4ce-492f-85d7-64205a270bc9.png create mode 100644 parsers/src/main/assets/icons/5208e264-1687-4367-8162-f6610992a795.png create mode 100644 parsers/src/main/assets/icons/55d8f571-983a-482c-961a-e9c6cb4fab86.png create mode 100644 parsers/src/main/assets/icons/575fb3f0-38a9-4552-b629-722a528311b3.png create mode 100644 parsers/src/main/assets/icons/63e83753-5153-4376-89be-6c100f42d0eb.png create mode 100644 parsers/src/main/assets/icons/6a1ad343-5fdd-4171-9a83-c1870d869179.png create mode 100644 parsers/src/main/assets/icons/6b3b59f4-b9c3-41f3-a5a7-5d136f6976e7.png create mode 100644 parsers/src/main/assets/icons/7ab0a499-5c82-495e-83ef-facd57c4280d.png create mode 100644 parsers/src/main/assets/icons/8bfe9d0a-c6bb-4cb6-98a0-c6fb291a106b.png create mode 100644 parsers/src/main/assets/icons/91007f8f-205f-4913-aa0a-a2a8022a5d0d.png create mode 100644 parsers/src/main/assets/icons/93497b32-1eaa-4ceb-bf26-6d54359bb1d2.png create mode 100644 parsers/src/main/assets/icons/99a1311f-d7dc-4772-872f-1fd6d8d6a5d4.png create mode 100644 parsers/src/main/assets/icons/9b5336b6-8284-4d4e-a8dc-d8dd3659756b.png create mode 100644 parsers/src/main/assets/icons/9bb5615f-7402-40a9-ae26-33aa43a57faa.png create mode 100644 parsers/src/main/assets/icons/9be04765-4a71-448d-8c60-3c19cdfeec6b.png create mode 100644 parsers/src/main/assets/icons/9daeaa08-fd78-4ded-ad73-0c6711f40e16.png create mode 100644 parsers/src/main/assets/icons/9de136f4-469a-426b-8fc6-383426cb8746.png create mode 100644 parsers/src/main/assets/icons/a24626fa-41d3-42f3-b32b-2e7c040164d7.png create mode 100644 parsers/src/main/assets/icons/a3da9df5-872a-4118-b552-0ea5efb0b413.png create mode 100644 parsers/src/main/assets/icons/a94eb94e-fff8-4a31-9e7b-0c972ebe3c5d.png create mode 100644 parsers/src/main/assets/icons/b4f3b3e6-e0d7-43ba-9f6b-94c61e17b2f6.png create mode 100644 parsers/src/main/assets/icons/b55e8769-85a1-4531-bda5-6e6f18cef590.png create mode 100644 parsers/src/main/assets/icons/babb34f8-7295-439e-bdda-92a685c020b1.png create mode 100644 parsers/src/main/assets/icons/bb2ecb26-c1f4-4b45-aa9d-b978c6439196.png create mode 100644 parsers/src/main/assets/icons/c18dac50-f1d0-4fcc-9949-6e6377899389.png create mode 100644 parsers/src/main/assets/icons/c1e6c669-25e0-416e-9fdb-27e04f65486d.png create mode 100644 parsers/src/main/assets/icons/c267f480-7a6e-4982-9be0-32c5289bf9d0.png create mode 100644 parsers/src/main/assets/icons/c7f88473-c76c-474f-8585-f0d2d8c864a3.png create mode 100644 parsers/src/main/assets/icons/d4614125-b7c5-4d38-8709-7b1e9d935ff3.png create mode 100644 parsers/src/main/assets/icons/d5af35b9-8b0d-4beb-bb3c-eb860a4646ae.png create mode 100644 parsers/src/main/assets/icons/e55941f4-689a-4a39-9a23-3d7c0a6c4a5e.png create mode 100644 parsers/src/main/assets/icons/ecfaacd8-891a-46d2-a1ce-05970065c68c.png create mode 100644 parsers/src/main/assets/icons/f32d0413-9244-4bc1-a30a-15c4641fd86d.png create mode 100644 parsers/src/main/assets/icons/f4902c21-bf98-4235-bc6d-b1158c6b0674.png create mode 100644 parsers/src/main/assets/icons/f724c440-095b-4f88-b592-e3d9ac2aed76.png diff --git a/parsers/src/main/assets/icons/06f9f455-dd28-4d3d-b9fc-1d387766b633.png b/parsers/src/main/assets/icons/06f9f455-dd28-4d3d-b9fc-1d387766b633.png new file mode 100644 index 0000000000000000000000000000000000000000..7a6158903bc4aa2966c851e0f99989ff462a4b7d GIT binary patch literal 6148 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 OAOpCmPQ`7fnEwG0PSmUb literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/188da94f-0915-47a9-8eb6-50700370982f.png b/parsers/src/main/assets/icons/188da94f-0915-47a9-8eb6-50700370982f.png new file mode 100644 index 0000000000000000000000000000000000000000..9e57178169cd9d586adcdcc6c29b4a541908039a GIT binary patch literal 3163 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 UsoV+0hyMf!uyVAlIENzq58wF?$^ZZW literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/2297cf29-8469-4c9e-8288-5a7a714e4737.png b/parsers/src/main/assets/icons/2297cf29-8469-4c9e-8288-5a7a714e4737.png new file mode 100644 index 0000000000000000000000000000000000000000..600cb21a5c4088714ca21bef348b9f3ed1f1b7fb GIT binary patch literal 5471 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 V5*mR~wqpPQ002ovPDHLkV1hnboFD)I literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/234b9ec4-c4e8-4eff-b202-7d1317c54a15.png b/parsers/src/main/assets/icons/234b9ec4-c4e8-4eff-b202-7d1317c54a15.png new file mode 100644 index 0000000000000000000000000000000000000000..941ae9965267d11d62683705a77d388e693d2794 GIT binary patch literal 5449 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 literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/29d5d1cc-0d53-47ad-b54f-718bd27c6e28.png b/parsers/src/main/assets/icons/29d5d1cc-0d53-47ad-b54f-718bd27c6e28.png new file mode 100644 index 0000000000000000000000000000000000000000..6c6205d316beb052dfbf0e3a49ab6a0e4f3697e8 GIT binary patch literal 4296 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 literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/2a466bc4-0870-44ae-a0db-204113bdc726.png b/parsers/src/main/assets/icons/2a466bc4-0870-44ae-a0db-204113bdc726.png new file mode 100644 index 0000000000000000000000000000000000000000..14738fdff71b41faffefefea2d789b00602e2236 GIT binary patch literal 18697 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 literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/338ed941-d30c-4e97-8af1-36d065dd9727.png b/parsers/src/main/assets/icons/338ed941-d30c-4e97-8af1-36d065dd9727.png new file mode 100644 index 0000000000000000000000000000000000000000..923ecaa5fe47ad5b55094d9a9fecee91d34d4d0d GIT binary patch literal 1941 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 u|+3Askf5Ja-vM`_k literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/436ef0e7-59c2-41d6-b4a2-3e204feb4bc9.png b/parsers/src/main/assets/icons/436ef0e7-59c2-41d6-b4a2-3e204feb4bc9.png new file mode 100644 index 0000000000000000000000000000000000000000..dcdc722c3b69eacef50f996d53837a9576739e78 GIT binary patch literal 5252 zcmd6r2R9oI!^IUfi`uHKR#B^B6tT6a9bzW-9;KqKN~pc5U7MP*BeD0Y+MCvlS$oH( zM!f&$TfFDodw<{Ho_lTtSWAV9f|Y`RfPhL(RY~_hdi>91B>$zPt@!W%K>ktH$c=!2 zlKy|bN09!5g@AxTTute%zQ>RKOwYup2ATftUe2B-f;ji4Yj=dgIinJsu!EL3FvtJR zo0me$U?V%m2OW0$Z}bmy0{h-7F?|ZS$5loBfTEa(m_3e#t}lyPjk~qI*4$u0+D{+R zMF0I%qes%MP|IgiA72b{--Vnlc(Xu{`b_6jOFEV?5LRYX9cww*qpD%*i#XVM zh_)st-T_Z_8-e~=3PqYvi23WpTmz}bpT;$g7HK7gV>W`>Z}3qCu5E=!a>~vsODEo+@#rl zrDe1|Sf{bVG5NsrLl)%gnXN^AtQIKhkIx0kVmm5!;!Oi#A5ra{)J4gy?=30;VQ{c( zl7&BAYG%9pwX?FqL17L-BO`f43mI&GBYEYf=Ec5hG=1rjY&}oBjb!m@JHQEtB zP8+$v0sD@`t-(N+e{sNHCz>`T+(1V%&|OiLO&U17s@Cia5;#@obXy_G(; z+Rqa|+waAWse4-2oGikkS9>8J{${x$!=yRw;f^tce8oo(Hmt2+IXY66C__^axKXHArdCqnTxGhplXHm^v1JM_xq z8QGWjiLdYS?%%ktH_DuCDyGVrBfZ7;O2~srg7Yfh=Dhn3S^5T&#_tW6x89gY`us{g z^_rZwa92y7a%AV(w75g1L#(plPxqEQchSi%j3)j?q6xh}(5t6_8wK1eVxZEaC7M~<}^pEXjU1( z^qKi-FZfVH+CpM?u{OmIRRWh0Q)Vh?rFl~Ql<-SOaHxn2_Zf15Zgoym{KLrS;bHP0 zft)%(-CL}Y5=q;1L`v$0(Xd5}_2>wODWIpfh8R}{kA1Rd7Yv5qZ7>x+x#5P%Y{Ibh zfxqVas~NxfF{6wtC46=Agv#h50MfT8!tf5ff1jj{zqmXlGe`hRnK_Ovtf~!- z+*s&V3lp@PRF0^$v6hpuzZbgAu6o!D8TwNiVW-qV_|a|DN8v)wCou~2&N()B;{A1` zULUfzX8oq*8UQTvb8Hm0X=m(-x;0EqC@KpFE#avAH^mp-SFetB<7<_XM{?j1%$RDi zzk`Hm7B(a*CGLJ~C0dxx2a|kWAZ-08U}}=f$e8bo9f$Jq%*AS&o3D^Z(vCIlb7BR` zz#2E9eoD5Y2Qg%MOmdCi184=^20k1-W_VSzMf9#wkSIb6)_lt3q`3u{>06i&G>i++ z`10l7YH5Uf7pDdhY!sQ2p^%#&F!N5HN0b4A$vbZ;zsujo4l?brAn$n$RNi6Fy13jc zm21w4-W$m22auE$e-P{2v&h>AF%QDTLsAZo;y^j|OGg(S+UKAQyzlTv!GiZXYDAD45AMvfdS_5W z@R-O!k>ij2u?*$LZJ;ym>VZ2w6$|_LiGh1(2(3xQF6_xV^P+_L42Yv`E!YtH`&BBj zLYOPTVAGxVRpH99(g3V$DbgyshuCg8(X5L5jCRzi#XPo&H4?HI^B3OKwJNu@FgX`+ z&%l#jw8}0N<#QY1 z1t%Y;3*)MWqSB7eUQg=mug4@jUY+%kLeSCbI)3v3arUCuu2X!&Y|7gry~kfL@*`QY zcFDZi!M*`TuO}%dgQbrpX7=Y*c*?)U=&yK!_4u3XX#B_~XWnDE5GVoVrJW;QPLonqN7|aZZ=1O4l^kvLlfQ&M8=@f@{qswOEP&6o+p%#)j$dwjp%l<) z#{1DfcLhq#BK-wfN8X_6jr&xl0Jd`*6}sMc@Re+~HT@ggbTGJ-ak!t+?nJ;d$|?h* z3}FgXzh9p1GBfzgp~563cXrehRvLj&>QGqkA=`HW z4pyB!hH(BC$6?~ClMxW6-VaN3jxR|P3Et2sPyLQQvl^k#S-BBbIS6UJHG1c2 zPy5_-w@Kjok1O#IhPMxl=Pv2w=Hob>>#GbLglahJAN6ESc25u;pSmXP`989avn(7W z_@Na$q@pp=zE|HyPZ$Z*W^+Y98SoG@CXJX_KIZn);b*Wcw)~){;&6WE#ny7{ zYJnP^8`-Ftulvp*bH6|r3X5MWvH1J1`XbwH>~wsTri3CiW%3MeKvrjc-Mad+uuQ+Z zJE78ew%HvLpbv)A^wiD?@qhsnHV%VbJ?AS)=XLsH1Np$|j!K7-E1P6YS%O7#`S&oQM4TTSG;7y7J6h6@pRzmj^dSM+3cCZlkVCEE(y7Y0vMAeR}IGUVl8X>PBPk z`*u&I-=j+YkZ)#isx7)B+{u4_g^Lt3qMgD-R}xz2LuC2|ps0fndXKKp@_Q)n>s!oV z6Pw3UX(3usv7^;GeRdUOGT}8j6&I?#nD%B|p5V_`!FT$JXA|15D4RIX)rE}nLKF-1 zm&1L0Jzly%d~^3cP>=u=XgR@zxyK&);lR3*6fuNl9>x*7xZ)Kh9eIDf1ftAEdIrX>YUQ*@&wU&~wy>V(^c8|M*;Z^$3 z9Argkr*h`uxh<+OVHgjY_i7$@T-9G&%_Jx%l4yNoi3Okr~H-8(%-X-tVm zE#3X(w5j@LJKrnPQ6odA7B*F8eMdxB=Hd#I#cSSmx3^_o&s3le-sR6_qwmRQeN^ju zntPj>%qyBI^|sY)^uPIXZPfT%uNpXwQm+toIyM{xZZyKkbC2ijjZxgt^C~Kk>rzKc z>jA@#mS@7m>qf;KiT13cPv||bvgzQb!&tA<~G+S&c1);b;>~UUEukr zU%mJ|u0q4+16oG8N6jHr2hGPoXV=T&Mbqk?iAk;O)6{sg!`JmUfKWitOhOq133{f& zYxoKwaor-g=-DI5jfZtN*elNO zpk2R+|6R1={_vSke^TJaz&_$)p=$403HCjG2O`Yxdxe`R&C7ibXmg$U{BgpKi%`XZ z0NkPjafaf}Axyn~^3P)1Px?+Ji7Mkm2?BUZT)^nkAJH=QX^DGj|LgXtWqBbs_Hk(q zL(Q!IpgVJ4;qHN;^lrzTh>%)6YL0deFA7Rnge4?txS7IrM$2JMa-U{@T#=4SbfunP zo93;*ow9dZ9t%wr!he5a54P0sqzX}pp)8t53=i!+x*+ZhwNj}SXm~@bXgFoXN$s_S zX(hqwvLE~iK^D9h^n1Y;0idzqq$O z))7Lt2bKW%TpZ8k1ZSM<@05CvT>;Yi--A!<8>W|z_Iun&NvOQH<5cXkCaQ+J6P2SUuoycIC&BakQIjkc-CFTwX0bX{!^^du99c zCw}F@6v6wE^6gWy*U^l5g@wwxd>R8xhFW3UPx zl67lO#n*kGE&1=6_$OyCc?C#1FV$*|&V@lVNztO;C@2ujCL!Md-z!zB2Ru2Bwwhe= zO;Qf`yvBgkp|8SY(-C1hUZ?b07eo-lui5EE{QFd3k_C{TYXE+-;)O+*h}iX>UWuts zrPtlN6YF~Ij6{5IOtq#12;b998Y8tWZ;ri*985Wty(kgDJH272A_|BolC7EQO6pFX zSQ99+XTCWN7G_>>dQ^$eA&#EMWRW11SV!88AoKby=UpKL&cH+m56KYe0i|%+>lPJ` zqo!uh&CCh*-eD&X^X3J$^|KsX!j7L;4b=7nrlW=R^(`*PdPJddU86F$M!cOsqJ5Igy6w3}>;U$KIy2(vBOn~`^<&$QV|78My0 zZkd2K*~o#aPHVBjBAKJTy&=J@e+_ag4{^8z?uxxQnn;Lp{e;T{<5cD$t?&+*7JF#_ zY`RI~Qu@kDr_>LFYXlRP=40zOO)lrJ)e*dYgV@)}L#m_Rv!bgZR`GkBNSbs0r-@I3 zxBpa5zBjMe0Y&u|uzHXul9@*^b?7f(s-Lnel`QuQqc@ty(Ul+=J}D>>U>~e1N#-X+ zAfOomusLhNLL3;pM}>mRt?NXJhM-AV60oz1hud)RS`7ayNg)`NsJt;3!YWNH!jj5B z;xqD+-=*$c(?w!Odos%Y9Qv{APB5>%iSF}@4t8$3C;yLue>|uJ;Y6Ho#r$_G5~#h? KQo<-$2L2xvrZ+19 literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/45a863b0-b4ce-492f-85d7-64205a270bc9.png b/parsers/src/main/assets/icons/45a863b0-b4ce-492f-85d7-64205a270bc9.png new file mode 100644 index 0000000000000000000000000000000000000000..a34f682e22aaa57b41c1c8c12048b18820a98e01 GIT binary patch literal 2189 zcmb_e`8yMi9~bj+wK*o`C`Zm5tFS&IB0`H&?p&E;43Tn7=|MT?7`5e$uer@J=DuRI zXbQPy6E$-m&E)E<|KamIuh;wiexBF!ykD>9dH?cGxNB(&gm}72ZJP`T2>4&nmuYZfY zWQr7Zxugm4pT4=1ml^#On9&P)#ekW~PkDJ0HWtm&Wm*VOQzPhd&C;(B5j?gCxs?Sv|1& z0GV-B|LpEep#HGiocy~ED+A}qwQ#n#Jl>Ka?XJ6DP!?lAG`~3D<@wQZ{O!YLU~B5Q zcSr4dclIBr)=T}Hbrygi0Fca@SiSICc(gcQTZP+@R%} zgga0z2;*@Qfm$k$NitXJ4l}gp6J={W_*CQYIj?oT?6+RUA3S*>IQ9GVIjQD=0pg_* z*?^IvzMXtBb+KtEQ_!`}FHzMmT_ZYmOpDqPRzz6&)r;Ml+CzdPTW7A03D<&$tmBmt z@lrgGB(eL?ne<45WNA!j7&$+uZa#7U9VZ!U{K}N4fA%qbxMI}w4+`4pDiibtM0+6g z-elwRSseK3$o3vy=*+z9kE0CWo$H?-2y0)_QJ=THV~X6TRwfG6O&k9T2PZ)-B(Bi~ z(A7`#L{Z8dG_io0h)A61$0bPv4dcLA{4-uBgl6JA`(I(-CNX+mOz9gXWcK!@S|(A^ zU6IqukJrrZNkUsf5m!pWM4ggoB!A6i-JRz$6*Gsw;=EJ4LcH3JbT}K0=+R+^8>>yW ziG4&5^5LW04jB;7>m&DuZ>xIoE3r1giFP*@oj37jyG|{>rqoo*MXveHN#Q0SCu2It zgy(V-d8n>R03UY!H(`KKQczTgI9!`rdbOTcX1Zg)G7h@;T%D|9Xxh9KBGC!e;=Bc; zgP225L34s!!}%wp{b#jJ(@-UQn<#HI+#Y?Y1UkBKH2_V(K#F zRmZH4JQ+2q7-C~qB06FGH!u~QoW7aSgq8>$B(jKiqQcq&mH^Co2LzEq+dZ?1ZV@m*7@JVcmWcpE>c!Tlf zz6G{LPA`5rm9!1Rh8fq|U`TQ*3V^;H4?B7IcajLK)brRuuL^p5RPm>XMxjFBt!o$L z<=}iIa3i!NTj)b>)xLXWDq*|9rGQJh2q5;(Q+2!7nE|4wj3XeJATS=NYj=kmK0_SoT|nXFHnE-8R1CG68odn~(Ao_Q97||E^F{=%XWKb2C};=ntn9TD4n=rb}wA(jqMtO;hjlr5tv!1oVi>>_7 z96lT?g`iNwibe6wvD@%V{yY%>_w%I2Fy|!YS^CUeKX5sG&0ZhDx6&)m{M=gStEYR| zfU64-g(Hau{r%$)E6+M|mOKL_8Hv2vk8C1#FZc)szSZK zIw)HCO$YHy2?dEK3HPRQduUwLJPv7-7&6)wa38dT_68JNa>UjHKwYc_Ol;m-YvOy&_6~bDRB-A2cBNI5KTFCHt<_>F-qT z&*UHnWgLP}>J~ixed(uSOtBJtTp1#MP|zh?D&w=aeLq<+&TXpETs>;!s!0-m81SnT z&G%(s6t+uNOCkJrOQS}{`}2RrXwT-Ck4!w^&DNFbL~Pg8DyThjQmOB;kIUkzaO>+) zH>^44H!6jwl9^*7{}S%k!_KWwwGEiP5)$y?lXA~U@2S6CUvuu95=49Sml=#+pX!#0 zm{aMO(u>iqyux2O>4khcP^kA7QI^uho7F0TQzZzd#l#az?QDhI1#9pbCTw;uZ>LP6QEhtZC;&1f;;{VOCU+eNz^%t$ej4^5apq;0l86$ WF1Ii$?>c@nILu8fjjN2@qW=%4I0=XV literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/5208e264-1687-4367-8162-f6610992a795.png b/parsers/src/main/assets/icons/5208e264-1687-4367-8162-f6610992a795.png new file mode 100644 index 0000000000000000000000000000000000000000..43b66a608ff22ef1611e866a11d9a6f3bf30efb2 GIT binary patch literal 2642 zcmc&$`#%$G8{aU>u{lmok;Bs*rcus^*f3=g7IVm%w?-q4lD0jXB=nS|7#>OvMNAJH zvQZw4j2e$aSdx`P>xcXExv%?s-PiYfe{XrC-Q}bYN&^4@Ig|(D zj3}r6ihYuz)h6orJ5kz?_XxZM0LUo)3Lv0}3IPD5B~XYHeyP-DYI=jJzgCZvnhX_= zXuj9=4rkD`uSM;YF0HF&I=14C=O`A@qMu!D!o^#nPPw8|pv~b;k4%bsQL)ZXNqS8h ztzORfcw>DH@R&rrvIJu%QE&xY$ajRravbeTY|5AdY7>8H#c`&M|9QhMc3V

gbpL zhQslsa%>K(C{kin^KipFgnX=L-*X$cu(wCWF64m&F8yz}_@M5bj*gDQ;qC@c@*Ff9 z$ce1Duqez+wNx<(K+za2ucHhG&o!V1Aq zg^#f^&nhcfg#*HYC|>2g%j5qp><&ju;)P>@q)5s&`oHv!(JTkT3@qHQ1g#Gr#TDx#R~EwImOd4%xrbp z@UynLJ8jvW^l$c~n#eNX2l;j+ZA#CVbfhM7L%i&-*(lfYYesk@a|~_g0vY7R=8Mhz zf!ogLmL17|4yxxfgA-l#;^CvOq)G3{?+mC8N+P8$n8Sf`78y|>0mV;kXI`C;8_a__WsxzC5Ewd%; zdz(FBD{-p-x;NlVkE2{Fz1LYtErVw`f4zl1y)iN)zX%GE>R2lH2JxJ zm0lC6Q`oa;R9lKkZxLWAoJW)m>1BKr2Qm%%YS_uV|iQKR5yY{2-v#8nk&L zM#%@VDa>4T9D&Gdd+Lw#R~JW`zJY4ZbzCtv>t;$!G1jpV0SEB<2G5%(>_fhzP_*x?Df-Q ze)>Y;%BYzLr+9Gfw0`sew7om!Wzg`tP=+L+Jrxa7|&7b9Nk0QfYlg-i-k%H_hx32eP9W#Gsp*xfH6OjM@TKZv-}mGfBM7}~ zzsZg!pD8aEyW>U|6n*#pcJ(}^x!TaFCpE6OO`>d`sG(r{Q9UfQs-X2%bk&G;yG@Ei zqo=FqsucpD&rxSAVnXXanzC<3geyx<+SPGSrqKv$F`2YTzXI7qE)*hcj#*E*duugk zmY*QrVc^?XC^7BpQI;%$i*s{|XzATPFkESGr21|TBV1zmKsW(NEENpZM9M=e&3@IG7j3#Q zQV6T(>mV=OMB4?cQ%-y(u9aTRXbPbm^Stb(l?0%xLkg8rpbe#?v%d#8j#xh$EnW^9 zRxmLhm;4jM+qpkOB4EF@z8@-<&0w7-eaBD-nr5S5&I@Cg4n!ujg~SuT{gji&6-`0^ zm@$KbrpaR%-^_ORFQK)?aaw@uvhBm!`Cl{E`#5BayDRkyddHuJfT#)GeMdwc zq0L6cE@v*)y#gf~qGHm96)vcWR0*hw3IeJ|G0Wk#50Nm*7(Idxfo*=nw_JOud3NqZ z*sro=1>M%~iCN-F?$Ip{a!W4Mb3ct6z~GVbux`}r1jk7g8}Wb}Ld=JBdm@|*#g68f zS_T#$J=|=w{~cHz*D|-`yuq!ad&m zY%o#u9(9Nr0u3}ohT|31COwSkrB2972k(_^n3T5LsRnlTwmwHEZ_w3ItXagO5rgIb zcogL2!4CZ{fOF`;hry#HZlinj@l)cCqz|3-<#cv-eoy(XfIa9S0G{)U@h7u2wZ?U0 z$B#zeTim)?ayedflb)w}JEh#li@k#zPgzMk7jAZ&;wIWGU3bkrKn)r0J$@EcOYjf9 z9YA>bNe)VTvo8G02f}@wRTFvI)mpfrE1{A55Lc2tHnvgwPPJto%!@EaO9F#AEuVi1o9Fuabn#TrbweyL)dCfdp|rHj!pms5WGOU^wRr zjVvU5&4k$^sLJ=lGZ(kk>zXiB9B2?J0c!O!y|#%reZ4LWWVstm1}RZGlMEglD^DUn zHn*0zR*z7cNpWEAhN~E(Bi>-?#hqDREPZ42@lkj%r;Pn?&qs7>UJ?^EnQTyWKV6+~ z*0*q&lorf+v0YD%UJP<+Y3n|Z*c6lJtI8kmY}RRkDd(DVkW29 zb~PqC&bpe`?f&VSh2lZq6n;D2OlMXN@A_t55q*4;i5)en)N0UbnM-nkIE$oW6zxKF oK%OMaT^$ywo2*LM|HlO}Wpi?S8Lz73MJ5q|LZT7%E@8j_7cR%?6951J literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/55d8f571-983a-482c-961a-e9c6cb4fab86.png b/parsers/src/main/assets/icons/55d8f571-983a-482c-961a-e9c6cb4fab86.png new file mode 100644 index 0000000000000000000000000000000000000000..6706657b26326de59bc53164868bf09199de8726 GIT binary patch literal 2326 zcmb`J={wYo0)}TXV;fn^TG^MVF!quqV@ndUPbsn$#*#HMh{!TyNilZHI@z0H=tp77 zl5C9*nKWb@WP6(^udeI-1LwNVhv#`d++Uv$cZ!X*84s5j7YGF6u`oBWJ=}=D;ea2u zuBX=M;c#NiokKt%Zo$6+gYpR?AP@)D!o|4X`45!x_NLO1+{*An*6)v_-IgV9bBli!SkZ5Z@T1Y%lB*?Z) zkZkzQhSgX2-;v6Z$YpO}~OiTGT|Y zsN<`Lxxuxe{rmB!WQv*5^f0>rOj@Npda6NU11ue&Jj$~;YC)^JysgwiBn5sXJ#D;nJBia_6<>m_9^NfY7I0MI0G$qGz;-7VK~paY-z+3&4Vq4QlW?<1H@41|Ozu z#gakw2Cf6ufW(+_erpQxw$Mi6ilx&6gnmmLHo@fv$zW?UOp=m+pLgnkFsRseTG)Uq zg3=e;yeWwhRek4xy@q86XM%qFA9eeRqTA5J2j)#1p&Rl;N}K%v8MxHOeMYI$0rp(V z(f>q?OuaFG3;5(Q&jENLpbOl4GQdpOrYJ#$vx-Te0;t)Y3h~E}ko-C`Ba>!;4W0MR zK57#*dh4@5ILaL{_q8DPexAQ#rJnsC3NfdwTTNd2gGr_R%f$OZ{SKDZ!_yZoYjrtT zGAjo!I8Fy8+WL7V*6(K7J`6240Jo*HyAozlZG+z56(#N7Z+%8@!RoHnl>b_-jp zx&oLsDq-|h)fe^&>Ko;99_c=zH>PuZf{gMTuEg;m?#6N=z+R$^)*(9pM7LZ`iH3~6 zP7xG#j};|NWObWb`CtM%5-GoNQh63;Oa*uG3c;m#3xLB@M0?8i85H+q$y&B%{E_o* zx)?p=QeXMgxKP5}qdV<)mY|fE&)SNXfJvd1jv`(+2m*e+*=fy(Q8R-={@$*s4OX1{ z)tmz9lN!!8tt)rF9(ZggYiv__)YeLqTJU5K?>fLbHXxC>5A@>$2(wq$Yb4U9Uqwkm za-B8Kl|BicuXb$HwdQZc*9uavGmZ3@g zN4r6Pw8wK^%TvhRby_(tocc#*6?1wcUvz6WJ#oxRB;zOXas-sdqw@?=O5q4IPRj9i zJr$UA2ixq{eXY;q%;s>#%KR`q!zilprP$}RZ`xUs1jOrt7f>ta5xvH)bKq+QzbX_}%9t ztet#y9`f>mFV5@YCQs-zR3guV<*Um^!mrA(qj%v&nH}u2IgK0l;>H9<5mXkZyg5wYNE`HzoW=#*##FJ~EJ z=pEol9eIB=yY|3@bNXT0P*WCzk4BA8*JzO{Dx)lBT19ul$U|htz_LM5VI7jHmB(^r zBxv>Y=Bcv%*y+2>uRgDG_{N!F^7DOz`G_g|_p0%zab^N*gawDL6fT9() z-pt0@=leQ>4`Sk8phbut0;6}e{rs0ju_m#1e|_{<7j`;6HTK52;bw_U$Ie|;JLc;I zpsdn47oUbbsPDqaZS-ZVnyMip53UM)2%g7 za;vrg+shW#dgTdIwUp;GF4ARP+6Xs+)kix}alP_t?R+HRUb50<5eMD;+_Qc+Dvm}V zD?T}+1N3+!ib9D)T>zI76TZ!=*?mX^^l>=H@nNkH{9evl=rc`?G1#DLJNs+H{ivrG zfJ&-UFu~M0LDL^T+8if#_SoW1nOW&8+LGAz7OIp4uXtE6B$VrwyxR-cHt7| zMQQxcN_EnD^_{PjzV4WY=PyB)mP!H;h$VDxX12d^QT;?BRxX9m>k>-B_@+YlOrysO zP}~yxBP@P0EC>(D^PNfd73xl_(ta#NI>{m?``;sQPvZQAGJ0Z%lRR^+7?@hQrx&C4g?%N6L!4m#Y0`OmL aH~{C^&^(S0fQk-92V{Y=HX$0j$NvlcWm^&e literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/575fb3f0-38a9-4552-b629-722a528311b3.png b/parsers/src/main/assets/icons/575fb3f0-38a9-4552-b629-722a528311b3.png new file mode 100644 index 0000000000000000000000000000000000000000..65611663b1d0c1e8e55da43175d40183c0f0c2d2 GIT binary patch literal 3108 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 literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/6b3b59f4-b9c3-41f3-a5a7-5d136f6976e7.png b/parsers/src/main/assets/icons/6b3b59f4-b9c3-41f3-a5a7-5d136f6976e7.png new file mode 100644 index 0000000000000000000000000000000000000000..5c23ebd8ff1d9c6824d2110fd3492379bbc15eb3 GIT binary patch literal 1344 zcmeAS@N?(olHy`uVBq!ia0vp^6(G#P3?%t>9eV(zmInBQxVjhkD9bAVQK5+ngaIeN z6l;F#Q2$z?@iAQIQ=~Rf{8NMuTo#$}DF!SXsr@Mms_av^&gX0`pn9N2py20ZEui|3 zVLIQs)j{I1+FxrmKIdtDt!= zU`_v1KnI(b1o;IsNb<41xTE?bQS{2y&-Uk!mu>8wXJ>R!BWzQYcQg03TX{3z{Ko_g zlcKm}7#LWDJzX3_GVUFn^|EZSg+S{~*2@i%XZQ>y(k@-Te6Gam@%Q?z6L~x%Sj#kC z%KiH}=hwN=sa~x;AD%n>zxRdvwfe>KMe;8H?|k|8?VJ3y`w{hbOYG*)pU3Apb$M8d z$RXQVP4&6#`yV`i+BE<4Q5$>J&`j5(j~`SXw@*9hBEIPU^!w+}|FD!_RU-W-yU+e$ z#QBKz=hv@)?wluiMn<@xyKZmXdbKohA6a1o#dv9BPu{S;>IZEv0;J*#|NIp^?z{T3 z(X4krp0oexllgw&Myb~4f}YecLGj}$d((ZJt<{zlH+LtmQF-)e#+8UI`yWr|?JHcg z_O9&yoI)Gb%|$kmxoLfdHy=FSk-6&8I_D(wAE?)PecSwx&zCF0ay#D@-kGtN z$#~x)jZJGzbU$lZ&N(M7(|_sD2D|8jM3=Cru#+!+*v+RhDBbM1WMet=bi!q!h6^ou zQziB}_;E1?Nz9Xfc5@|zcBIC$o7PvwV_QS#syzuxShPas_B);I)04_J%~fOGax*P5 zGHlQNF8&KAbN^pIeW~21tV-g2s#(IFS*I_5Sd+ji_C#anx6|BgIxmlBW{SOEmY>c0 zK`6_ysxdHE`NZR3HU3hqQ}<&ufB??yR`PQT7NbAk8f+}QyS zB=)v%eEiTlI_q8)he$-Q-6I8iiOK$K5)qrKCx*nztuym8ieUcud*KB86D57K#YG~@ z+72H2S0oa9x>rw5^BlP6-deri(={X1FuId^L;TVhV%%{2r!b zo@sSD+a`Oky@*)eD0^-3`Sj9*mftcG=D&@(tDU_pUnu9mEGOpM1qo6A8CWlu39HPA zyV79!F7Jkze~Q?3-yCTVpS5dmG42masr6X1B!bae?B#BW0)YkVP3)8#4$Sgme;tsp zJkHyYr{b)^6^H$o^d80~8dZ62-!90IaCTjIwiJ`jF722S7Dn%XT-$fQx+T5moU7!K zr`_AOoqHR1OIqjnH?8fvb8iXjr0PXI-Da-;yD?R>;1KVPTVmG__U&+-C6==5@y=~Q z`GQ^MG1A(vX61y2inP3X`{@a90>jQp2Uv5mnZ!Rl=vQyM^H5xO&kiPiJ>w4#&W9)+ zSuwBwaoq9^H}~IKazopr0F2Ok#{d8T literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/7ab0a499-5c82-495e-83ef-facd57c4280d.png b/parsers/src/main/assets/icons/7ab0a499-5c82-495e-83ef-facd57c4280d.png new file mode 100644 index 0000000000000000000000000000000000000000..c1aa0ba20461d49ef8d3b3c9057eaaa3e0d299a1 GIT binary patch literal 5027 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 literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/8bfe9d0a-c6bb-4cb6-98a0-c6fb291a106b.png b/parsers/src/main/assets/icons/8bfe9d0a-c6bb-4cb6-98a0-c6fb291a106b.png new file mode 100644 index 0000000000000000000000000000000000000000..3fc2d960d9faeb11543015e69f4d588517c27cf0 GIT binary patch literal 3302 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 literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/91007f8f-205f-4913-aa0a-a2a8022a5d0d.png b/parsers/src/main/assets/icons/91007f8f-205f-4913-aa0a-a2a8022a5d0d.png new file mode 100644 index 0000000000000000000000000000000000000000..740394c246936184a0df0172176d49b5ac5347c9 GIT binary patch literal 8585 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 P00000NkvXXu0mjfDU8+Z literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/93497b32-1eaa-4ceb-bf26-6d54359bb1d2.png b/parsers/src/main/assets/icons/93497b32-1eaa-4ceb-bf26-6d54359bb1d2.png new file mode 100644 index 0000000000000000000000000000000000000000..acfe4da26619700195d039057f43800487baebfa GIT binary patch literal 2694 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 literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/9b5336b6-8284-4d4e-a8dc-d8dd3659756b.png b/parsers/src/main/assets/icons/9b5336b6-8284-4d4e-a8dc-d8dd3659756b.png new file mode 100644 index 0000000000000000000000000000000000000000..7e9c73b70af7b3812e4d0e1a0fb7cad14f04415f GIT binary patch literal 2314 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 HHYn-e7MD;T literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/9bb5615f-7402-40a9-ae26-33aa43a57faa.png b/parsers/src/main/assets/icons/9bb5615f-7402-40a9-ae26-33aa43a57faa.png new file mode 100644 index 0000000000000000000000000000000000000000..cac608c12dbc001ff938d81a032b877f1eabb9d7 GIT binary patch literal 2975 zcmbW3XEYm(8pksbyDAmLh!|C?wW&Q~Z>_7;R!Ys3*WNW!TWh7XRaCh~jFwof5lz%; zY0Z{MtyYQE2&!)1bKcMQ+;czt$2tFVp7VVC-M6(i;b4Wc0ssIGGgFlPpN#rj%uIj$ z>MhmDKfw}e>J$b5utEP85b&s+?@zHaL+M|SD&Kk>-(2V*MAYqeamR~@SoUm;p_VgI zNx7AkD zU=oi8-OPo~-YxGd{>soUDA~NKo-9XX3A}3UG4kIh>zeVSB``ZKjGqY413cZV8+i1+ z{A{Ri^SjI27ULF4wlJ%g|MRhbUbsg6NsieUZDyGT{esRi_ArD4CBcTtZOJX9`GdL~ zg*LQc7KjQ=0Dfi*1mvPDOBlx?zQ7sK?TRXR@BLR%_LxsfxCn;3l-Zil2p})B&(1cN*Sj`l%26X&D}wRz@@!DT;L!=#g>_52q47{{x(1sY40 zcT+qg4CU@{wQGFIQA@SjM$5zi+gU#oxqLTobFAWjy(dEL)+!~zAxz`oanLa`YwryB z1oRujzIZ0kGCDF6%{a%}fGN!|fyxVA%?jXX^*f(dhtb@+NWL$PUdo6@u6UBo4C&FN z+w83Z^iJxT-1WpO>M81o9_B!>u*v6?fQ#T!eTM8-gGrXpK=!QsNVnlC?V6l>$-4AO z1ZdIib;o#q;_Emn@pbcMvXa9)sY|qR2g-yaC6a-%S{UUygCwi?vz@fQ7xp9~K~3RsS;T6#J^!VrCK3h;sqb$xexKcN&E~!6t@yJ=D?HwnWHB61 zQuDJZ8hDebeBb}>`5paLH{Lxf_AtRq05w2H(McrW^dWpk?%A# zG(FIfb~ZW@+H1@nQItk#m|Cbv=qG6R-z5vY>s{^>xR>m70O{bRn-fyhz)O&JfuF?YzS_}^GDMvP7EF&1C z_y%b3frR?P=dX)spiGh<5jC_SnxzvQCoXYs(hGz9K`rf0H!^kq-XcK9A{U?R^@?b> zRJFi_uMK1{fgimun^?D3k`y}TAD~I0J3#BAjZ=2FrcDHN{(=uo&fapfQ4W$$kMcAu zef@3r0o+J>Vz#!nMTZ8i7hMT>XSn$_hV4->kKr5H)~$imx`_bsnxaYtzH}x9zKl-B z1%KvED?g|`kDN2iDMbFdeO&2AgJfwH0JAowG{)(WvRsNAyXfhJRQiE>--5pCa%_;35^RX4e-*@cVl!vuCFI-q1Gls40ebMOK1u9{T8rct!Ww}y zvbM&Ig_E%ijF%1FM-E7mq>hS}zr++{A07aOE*`Uh$4sXXl4nmV@=C%~W?l7ii))8* zy)3&2wbT7nW4D@=kP-M%D#FxTR#D5;{zMY>a&AJFz^f%o{fU{e;OoRh2%~&=r-2=y zDftd&i8B1_#Tr4LKh?tp|GJndtbvnn&cLsS`% zQ*8X4fWqh{6;=V8y*zcL{I^OEmA`z+9rT3oA4nM!TZkhJGz*_lt75A_lgNs2 zbwSPyZNFUqoP+S@$F&nZEK9O8Ci&P(8?N~8Bbtc{BniTTgSs&Gr&GocZ|8fKH&C8T z6zxtpmiq^$H2Bh8)(Iuj9wmk%gwg@gC3YMMVQugiq85paD{4rs8YImfTJ-}`Ti(r= zs->A1DdId1USw6&bP!z(^_Si=7ygB=%aCV77;B1hkz8m?Ue$7wz5j|!$PN$tMr$t3 zj{D8#RXqXiHPAnNxq?mJ5&g8jt!-^E-GgIIy+Zz!@K=z}NicZ66?L{MuUl2X14|r3 zu zwo#b+X)>LRFjfs$@fslB#NQv_t7dZn#=)Xnx-x@J7;&p{@VS~W-sYIZv+(VP59#YdxqNnP|Dqo zG1!RE%UCyRQQ(c`6sdP?sej*OfD&Y8W2n{I&ivkz-NYNMlpgm{y<9Imbl3bbufi#6C1_zmxC`)2v{(E3 x&3rq;^Zrz<{cxkoY_?|oF54nhZQr{sV!Qjrsrp literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/9be04765-4a71-448d-8c60-3c19cdfeec6b.png b/parsers/src/main/assets/icons/9be04765-4a71-448d-8c60-3c19cdfeec6b.png new file mode 100644 index 0000000000000000000000000000000000000000..65e09cc06a58ad7f71b084d364704fb8109ef444 GIT binary patch literal 17346 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 Q^&0}*HnTNtGx1FRKSaQA<^TWy literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/9de136f4-469a-426b-8fc6-383426cb8746.png b/parsers/src/main/assets/icons/9de136f4-469a-426b-8fc6-383426cb8746.png new file mode 100644 index 0000000000000000000000000000000000000000..2939a70a1cd01f703e1c5d3f8307e19e84d7a7b0 GIT binary patch literal 3769 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 literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/a24626fa-41d3-42f3-b32b-2e7c040164d7.png b/parsers/src/main/assets/icons/a24626fa-41d3-42f3-b32b-2e7c040164d7.png new file mode 100644 index 0000000000000000000000000000000000000000..4926c3eb260ac828b723efe03010f5854a1c1ca2 GIT binary patch literal 5604 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 aP4L}ur`<6+(tFzo1wcDvoLU@0FaHfk_k#`q literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/b55e8769-85a1-4531-bda5-6e6f18cef590.png b/parsers/src/main/assets/icons/b55e8769-85a1-4531-bda5-6e6f18cef590.png new file mode 100644 index 0000000000000000000000000000000000000000..26b456c71d190f7603218afe687e49e7f4da7b3e GIT binary patch literal 1816 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 literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/bb2ecb26-c1f4-4b45-aa9d-b978c6439196.png b/parsers/src/main/assets/icons/bb2ecb26-c1f4-4b45-aa9d-b978c6439196.png new file mode 100644 index 0000000000000000000000000000000000000000..10a4d4e26c63bddc9372bdb62c12b8691048c811 GIT binary patch literal 4670 zcmbtYXD}Q9x7B-DL~m=Y8ZDx&AWK$QganHyYY8Hv_udJX=vj3`5GB!t=-m=6L3B|Q zz4!k4-oN+vy&w19xie?x+?hM){5a9iwbiI8*eLMu@TlSHFx|W9{of)Zx$6)snGrlZ zdSWGGEZAPAe=w`HLVU?K*58ldbYl|v^sVehs#)eu#8Kjtiy-+DTQ!*5fayRuo zSWPfbj!}EG5xu?@DbFWRdnpl#Rq`{d7YWa%BC{Sg)%xBvP0Z~&?NYCsAEOstk}puFw@dTo7dFK>=11ND9Fu_3bpN4bQxtc$?6optyXnEf&D-p+xDs z$jAO6{21dN`XE_tuPoLJf_cg5sYDs!lprydJn0M|GVHh#UND=s#x7L@ds1PO$rA_w zbfo3OaT+LkbyG_Ou(G;pLJi0%%?l{-6=Q^hILai2Lsy5*$Imy*TO00KA7sli6ZEa9 zFy4NcZCyRPcXj)&_vA$@<%YS~M7e(PL5T11Mo@p%@y7VvPf*@|nGuuWqtQo_p3xH+3fy4VZDoSUNFi#Kmxi$1A8`1`)rVZsHM zYKZ(+Wh>0 zbl}K0GAZ?Q&PQGaPJfazhX@28(S@&u?5U=kH4F^>Xt;T7!9VI?uRMtwR;m{eGy8l5 zr%EZAD4i{@O|@41V+t*kxhnifV*qhk^2Voe^f-rHh#Nuumv{96fi63(uG|A$Qnrv< zZ@1ikGmHXBVL+pGJf5FC_SH!!;@*;zI0C^?|8!@K>y6=-@3~H`jY{GA<*H3rWlK=^ zH8M{qFZ`EphcK-|i45_gN(0Yt(WkK-5Ni5n+qvmM=}s+o0FmDk&lGBrQ7w#9aVxx8 zU8W#in1g;!=*!!Q-2{C0tO}Y}_HtyQihNpK1&Ukc>-q?K4(5XhShB5#w4$H-p@RCM zlNM?ESJzySoJwe3cUv;b``0BbZ>xWMyHKwZC^X0&R3-TZ$L(lBDzGL0*a6&Ne@8m4 z3=dtWQneOG951Lc!+yNyR5Vyx2q7$UlJkj(lI00r=I^tuV{3MhLj^qB;LFnjT%v|m z`QR0ab({DJs~u3hmFy3qCINiE??;6@%(s+U{JEgUILy>a2MlAI;}&7R|9NU`r58l3 z_C;3=UU`j;4mVLGXpW_O{Qbn-5nH%uCOY zGKeXeJ{ABV3%5JM(u*9DC9y;kU-dpf)>Zv?=dRs; zY@OQtk-k2j;3oMcDy;w22%4kusoM+eGcZ}Hhf1y^V#TNYLQP|7s;XX&tlnZRntH=s zYLv9!)th(?-Qk(uiApHhv~>BAb-Gd{U>@ORrYMNuqySnEkDou{7lN@rC}5xK#rsu0 zlyPow__oZk`e(RRZW+&cTx2}UjgF=SAVJ?;gvc+c(QT$uIN`Ie_e4h{$!TfeNm<3> z{Gjh6*~3NBTlp01_Z_~bxAwX6q>NPL9VC8BpyHNrK-MES4Q?X79!t%`ht03mMuvg4 zP1LM;=jwE2$}!GLQM08Wr@aMIY#8Q>m!p_t+W0pbJnE_AZM|eG^4YYeS+7oF={%r_ zOlImmix!rCi?7=<$V__&U1^<9W>Vph;6n1En6`?P%AaEBmu~q@PSrZpp`*pC_`Q{w zsbgbK$!*9<71cjL9q3LbI_pv{NGhA1M^iw{er+s-Soj-Z)l*IAk)^sBXSq@(o)XK= zT7^9w$G)&Y@rIU2%n6BGlu06x?1ZBUj6j0Z<#mvMO;_))MndEgX`f2wzBOEqnfySy6C$$d^I0f`g^lPJ zUMj!2AMEqGe%9jp$DC=~f0^N2lbtq>PA0-Fg*4J2s&cb|edXU7L%o{ng65Utxs}}2 zg}U8)Tab-q0ac;g|0ATiv6|=&8F^|@A;mMM93X3wKdrrMtqEt*#wxq4-BFxI%#=8j za`EZv(E6(pr?1v3sudwbxCj))Opt(ypQ~wd6x4G?53UGdKdWexD z;v3EnG&*gs%xZdGKzSRNf6If{dF>3pdlawgr0?7X_4-lhvm|m;GC>nIzv(x&c~8K- z>hKns<8SMo6)eJE$j%nqLZ*$t%qri4oK*B{?x-aMa>?1!G%D_M;XR}^-!oey&S8II zeM0hpSMb*?vtRMc+>*)&yWvdwNlNh)_B_$ZY^-u&?2KrgXO^n#O-#JOY*d4(Ah{oL z?k5kN4P@%>ycRq{p-hX%x9_b~MjJfrg39j%63LpbGIVz8$hnwsHFIYAB_c=J_=3&$ zUPKsh(k+cnW)fyRH?12XoC*k8i*p+CE{CZ9DVQ16%^o(9XywjtePNaNeL016U9rfu zmgOke$CiosbxTQj42s|rdXsHH%r11wGyCE%jdpsLn<6gvFwz1&nq%{j7YA#c1~pIF zMM}&eKbdjS9wZM+ruij;?#$rRr{=NDX#MIkI7Fuj`t!4+tS7>^^ONMTYrV97Yhb5B ziHrDd7A4txgAUq3QsoL)9u0a9QTVU%`%-22*O!l32cCA95C}Ouhdk2 z|JS(3jKAu#JnVCCGPbEPT1*v68nZX!00WpOJhE;sni=*4qZzW9Sq)=8q3*z7Bk(eB zp_PiMmWnWCo4#zs5})bI?xJ z&^+g>qH_511N|O%rZufD-~P>R{3n-u*z}j`*Yjn*i44KhGxnAf6(03nRtF`LlOGLW zu@}N~fh-PLZGY;?+WD{D#Ilm%Q?~u!?1f#=-Qogvkuh^2S?T`51)z454x@l4NUK@- zd4SpDl3lvC@5CXo8pul{mxT9)59X%ZL5=#qTNuV5(U8)3>#T+bxB$y#r$>o0WQNpG zx*w_pg55{Fo6Uj-{ua_JRO$+(;Z#_kiJofMx1}iiLN&S_Hl_6MFnz{9=g&j;X_8le z7wsGdjMYAET;?-SrPib}O!#1s^v)icGH8U1sg>U!tn_9e_#dhMS5u9*b-eh#-fMG* zXEmIN_mh3pAA2Ahr=U%zfk#;}5>`(FcT%4%fx0cP@1aj79`#oO))BJjL=&Zr)ONMK zPkyZ6yW%g{n5)$(^Uli?CKXVvpwmt!_m|C2E}dQejNvM$v=Bdj?vHB%0aabw5aZ0c z08e5jb>4EEvE<-L#@*h72G8Uf_j6~Hf`ia&$%XxK$!4T{r z;H!E>Xv%Dk@gf)iJ#JfIR@26-qrno=&F$BZw^Y%B=eePFyEK4o&F3!U{?apD2A|14 zW*_(cNX>S65<)tnhe+y|PeFdB_t9diV@G-sVoqZaHc@Pm^Jo`vl9ebldM&H)(!~u` zywOFd3`2S{98_aa>>Z7;2qbXxB|x?dHrrz`!sdcJ$rbX2&%;D-HTGBvQ(& z-NfsAoW<;9;k!?9;?K0rdsj2F1ttsjgglpi#7u5xB=lFCDEb|-Y(EvlLAWzi{wku) z2x<)}=|dc>GD85d=-;^WHXXD4cTkJQ16ixLrnvLTJ=_jH1P6~@FIG>7-IVeo@c!Ai z7Gy*oCac+c!x<`HC%s8+7 zP8$tZsT>N|;s?%Q?TEYzGm)M};hFnmmrf?;CoLF~C>#G0`4Dvp(r|LI9vJi5kkX3+ zR~^bmvz4fl(IK^pcN0sy%lsSDw82Zx3cn@6USjVLOi9I&S6k5B&kGE(A@F*mzj9Tf z%K@twtZE|GguH2Ck+KR;F;0xa_v#K@b4tv3Z;eFm1N*WUQc8JP{nLx=8J$(8C;x0W zJ95WmUYj-dM%djjFy{_cE)nE2*#e@|on>2UjVVM>J3=Bsx5wob#HqpJEX_KX5)M|rJa@r2Kh@^RgVO+L3mVwui>pmpy;HfKkE%_KMBcvQ=;@ zIHL(appgrv)%9{6qkj$b)@6$qpQY*hT88$2;cJm(W3iP)y^Z`I2g@5v36;X7 ztAqhhWvKM5(Rad-Sg|PT2{m^SLKsu}!(K>a*EN&($zg)R838_3X&Ivgx6 z`7#T5CgC5U{Zs18Qd_1ALoP6lxgJRFgO?k-V_Ksnxw~>fJ|31*3w@f#ml!S=mNF+B zI2|(B%wXpu$)pKkaOHe-L#2P6*E7&nj1naCw0|i8t7A%6f6&h$B_}d(DL%`rTdAP! zZJU`}NA+$)Nu+B8r1B2|m$Q3*-oFsyg#*d6YiKUre=eYj6{vgWoY1q5_23C*FeQ5) zPmOBDK>ET@L2%sWyP2#Q7b{&^_VzZP%hLOVMHR$OCq6H&@EBOY!5>Wz|Q zs}Go01A;+RvRi7izWs9y>@q^-K^p0cc6gPTr9{dgHP>Z+&tkp4PcLyP9O2AZ>P&1( zQR+;JikbxW#Q0(yIcIP1i$SWx?mOeQ(|(?@AB6!uT-ORr+_uetH-)t@Ohe6OwqA<^9ctQ7I6s2W<)QyE-V7n&d*+Vox6ly!?Avogd)R zmDOVC`%){BBP9L7i#~(aB-aJ=_FTDit)BnXl0ac>u4W`ME28P9<2u|O%nOz(e)Be` zyQlUnV8aC#WAYEtkr)MRB{I;)4&x#GtgidlZ_IY7o16ut*?RK&He>wR(|Su~iI4^H zc#x}9^sxE+ry0xSpA$S6CwZ_~bWVRxPOVBwJtKQ4ggncz>}I5^@F_H7mvMw6E;}~D z-sdez{Pm$yvtMhl!%z0gn)Kd=?idt4Q30#pXzpZ(`(9&2G^3X9+E1XLQ|~}Vq~?;2 zUjg9NwgB=N&DT!FYfhM=t>VWV!)ttkfL?iCMhfJjA8bo}AO zN~v9^`Nh+i3I^TqIF|D9Y&N>%?0Gf$I7P`k3v{+Q{wnVcdV9F#qaKkO1>+8xS@2sh zYn1N3${DMYH&tQ@znu3i_07kQ%hoeL!t$CWx_6}BPBF49*ZDN)XyA;6@&6+{`Cq}y d*<-bZpdrpoJ|zBf_FXQ72UpdGm8qaY{{v?j*Hr)j literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/c18dac50-f1d0-4fcc-9949-6e6377899389.png b/parsers/src/main/assets/icons/c18dac50-f1d0-4fcc-9949-6e6377899389.png new file mode 100644 index 0000000000000000000000000000000000000000..a3713c963c3b5085afd04f18fae69b763aaeac36 GIT binary patch literal 17474 zcmV)nK%KvdP)3v6on)5j3`t*u`kCZg*zpPy<-vfUO-KWlPl+R-h5TNd4`#Tr-IE&lc9-&|t=?Zs;`v1kprTli|6q(J6d z`Or9Q>ibwzS)((*x*V@{#^)})I&i30o=f0`#k$90UqN1_7*O$L{_sKbofSi?cBb)N zxfUI5Z(dh7e#`QjLmTS+qqW-LSYB7ZR`kaUJ72Z0qrc6cwGDP$qc!Aa8`tu79i7L| zc}@De+|j-bS*86d2My0&RI$JJ9ot}AQ)g}H6yVkmue)7T&Yc&@6*4VNEl2V%xd>6(NuwOSsLYM{5u{co;t!jjaVGyVJtJa4$IJstgSC`o>R$V=EoIF;_l^r^Nm z#!t$FzR^F5TB10TqSewY-w)oy)trAw@Vx^rA8Z3S>7(fpIklDa4O)7(kP zMfY52^RLnYwY5pt6nM&#XuBofrzz`{umb_?wJYCUb#_u~%FSxh zLG{Kt1CjOcyU8{{;z>0tfz@Jd?Y80h6h$%ct)_O%eu(Jzi{s!`TD6}-zG<{U3<_~@whEMJk;Z?7Rl0>T@S6b}+ zg*FaM#l!Nmlrtsb7OQZ?@qI$w3g<=jpGw8s8lQ^iwST~fK7tj+5_+d8aQSzFjWThz z)22zT4hye{;P+i&bOJiYYjDfj!oeGMKY8MH#gnJJ)KOzQ`)t+hB{QmCS$u0=Lp&#F za|mbB235l*9GX`+EOrSlDP$hqnhpdxnPleXxB+S=H%F~jkpO^k6R27uB~lo?io&Us z@K`J&g+7R4u(%9K=rSRevazEhV!fkQj6OU0>QQ%$J_mDlJ6$DxdP+;#wYoK0%d)#A zxc!_Vh!0J~V-{ftkn-VU*&^PUC2X!F0LBPH|EKI2gT_5oyETHH%EI~jXg^WEQU8%VOP282qtKEt&p0tJn+A*&)ezA@ zT?ZBeUgN08+#$&t5;kyy64UL(Grl%+Z!o1{p2rPcQQU*`fmd=Yhng#)_jDNVD5gbD zL`1`JQ5Me@g)y6>>dnPhEM6BmAW`2q1t9yk2QozRfF(~oKP$AL_OQLf14S4EJ8TTh zP&R%W94rSxh6LqjPUAfJ9Y9W5HF<6#y%0c~Fg*#$X=pxxu>q6_B!k?Z8*_?+l!3!7rImW)$FUU)jiY3oio+QNbIZzDG0Lb!TEb(~qB%8J6 zwbsSY2>ZgB!izaY!$o#STv$>VMWR%!s&tB4bdxVKK;)F_cXa1&!nskAp9e+G#KGiV zOSHX0#Zj2ay{a9W;u7@IR^pi_nM8C_;|h&JNdeqmxv@jSIMEw+Tobh5IS(HC@zAr+ zJ^>&HO#PPr6W~@XxbNTZ7p&hhDl4FKSpZUkgy9S6)wV*3VDu&o#mH^wALM9qGdY>! zT#4yevi)e_e9U=R5rH;yaz|V&K_x&|W4<#kj-U@Lz$itKp`681I^((Bl_EPuu>DA|gDi`+% z8IzU6jVTPX523YU{3J2Q5?nI{Fpv}}B`XF6ODR_E&&C)El4V+TRQXK3+ z`-D>yZp9=fWi0}I$ElPpfK1JrK+C=Xw-X@Do?`y9YcECno^)2YH(Ookw7}w*Z%jri zh28GL-0Hy()(8zCCGAeJYC}rYHx7|Esm8sULN4L2v4{wkD*hnmWGsI|v3zKO+42Yj zF?GZ&PQgRNT0P=v)DLi$#SxR*bIcZ(hmv)6yDs8v#;A2WFnYm_ZiA5st^{5xeVje? z^9e2~FRFJ_qbn|tT<~Gjrz?;C`N2opDP3IK0^B(e%ZC%(Fm(nDUMf}=Es8$Sxh7(b zi?G42F=v~GOl40V;95I6*bXHV0vZD_Dvt#EH024&R~~j3rVxOf#CPhjxLVLJn$Vm< zd8BY~&JCw9Mc{}yTG3ZADYf3tc=$psiy)u={jBHj zP+$Et=i@s7?lEOT=R}VoeQYV68x+}6*}{U+O3|DZbP8fkk?b_uARG}1v~Yrx+yOZU z^Ke>Y=_M1nng_+QI#SU*!NY;|vpix{NVBjMg+dF^co6J3fYbn33{#*#m6YpX9uW(q z4CZo@Gh+$ObNfd|h}EyvpOjdaD6;!ke0Z5FT#scy5@LdLrym*`UZ}hn7*qxt#lY+W zp@ZxYWf<)itwbaOVLWt`$aROIS%V7_6z{kQ9HARQ@SX}al@7U#(m5j$$9<$oED#ja z!j=@V3@w^s+KGEmk0A$>H@&eOXtGgsv@Wu#WGRX{aT4yKN!hA@nroqSK&ukjqHf;e z>B}Gakl$Kr|NZ$@#qxapypS>Px|3K6;UH-icY2BB6E+vnhofG$hWAypol|Y}_ zf^z;fYth*;U;5ejhX?JAL=2sQ*KC7g7?7j{EWH{AbBrPx)0+#gYKatuR!&akGKm^B zy8(+GV_rd%@xK1&f|9C*q2JnJdOXC-shP@=JBUW0cTCpL5?!xJ6G5(Q7TQ2xQ)sZK zFubX*G!+_>pXbR6Lkk%Ybfv0+8cqjOM#E(^C1P00PxuIYg%%{WB(|2lX$?1fg7}2r z^BY?t;G?ONpE&Rd&vPcjIq?>o@OZGcPGLQ!mPkn`gPNgL6J!h6-Gh$t81r_kq0twI zvim1K`0&R1fG1S|R?z^I<_JScq2vh*M-=lLI46pyAh;y8{^j2US4+jkW~g{1w?|*c zH){>T?a=>@291%0R@G+LQx%h@MrTvDu63!^l67l<1IiB9eiemLfhC(INB9#-k(=_# z+o(0MhSg3gUL?VFg5#wz#F)%^?#9JiPO-aczSuoxabXbxE{y2NhCKR6v&Lg$*ua?B zXJC`~rcy+}#r*lu)CV-sdSe63+Y-ACI81K?F*&7MhW1C~pJVut(c%g^lq< zJ)c~SL1lmCEtKur5^J(}qf382v1;Y=W5Tr?hZdlno(@c-yoh6zBsFRLvq5aSjCmTI zE5Rk{;NpCMn=;m#1UH5yj0Y+*5hAFXBP2H3{K@=1bAB8$w&GLkz(I@iJXnZ&ea$#U zwJ~#YOSwJKU?l9y!fObx90mFS*W0d$*Ao^V{7H2`YplvKz*(VfjJ3oImcPCEte2j9 z_cVO(DTWf9mnxKJmfLi#nndds|8^QWOw(ss!|mQ^HH0!7k|pdEu~4#NF=)5Y1EeXccG>)!L<3TzTuB7o7JO(*y3xKfjDst-iPAhcBjWczxm3;GcYI(JpMf zq@amQF>O$o3Yy7M6vF)Gg|$eL0+&iw!r=B6D0~S>2P#h_S9TEEb*tEtEv&2JP3jM+e89Ughaq-T4$5#72Sc96Cd9(C?rLoYe^ z_>j%FMTut%MlaXEBsmXf5V<&F*u(ji6N(BCk_}6v7zczwv5KlB+}utXPsTS1WL-Svz42u_jZx4Zxagg=n@5%^QVn z7t$hxQ4H;p(##g|i(l?hCr;nb4}EOKUfn{ZmrnNWz5fD$d=hq*8l%>&RsUp$@jd}< zH3@AulOmXhMhDhdBTG&;$Qp4Ehj^=%Z(Up{OKS!=*H~-P7ENB}4$;`r(Y(f=-ufLj<}*~U zZars@oeYrY4>;rGO9688ww6g9{g}hjw&dgY8m$8c6+pw!PDaGfSuLAKU3bp$rAO}m zVUIoVPTUAfp4_Dm)IBjSd8kj_Mgh(FIAw2@%9d2X45N~Bk6@EEmR(k*VRu83phiP$%&Kh!JPZ_E_(b< zf9AcJ%b%Sg)TZ4*=c_FPwRJIh+>SbT`(wY9R=gjEz>2}cx0QrHzCrx;uGcKkjN=vnEQcygn z9Ow`n5tur?$Ncia(N`Qca~C~!r$4jkmZkS>dM$iTd2BCf?Q&yjSC}jiWr-4zkIjWF zYyc5-3mg)RU0r$4gv~F8O?Lg&nlozOw_O7!EC|{lyS?ocGX*sEHdou`k`m86(GLlh>w+=*{|K#mxO&F2$70tM z07$o%E26R7w3#wjI#6KE4&w|#r`D{f-d-aLCI`PNJ*eQnR(Lu_Jp&K=B%aEZt}X;n zZJv;8>8(NWt=SDx&D{-X*cMkp`xYvZ{eDs$RcihsMh$i=%IoJ-%55Xn(l6DK__1pN|TaVVvTYKdH zsy!>-Sar&qmn?V@;L1*qa%+(G3GTZ~4H;XQR_-WadNH;O)w8zZ{k~HNemUs4qBqh2 zgNqyTCeFCI$uoMnXeq!RFAV1}o|9|UK`^E76*X*I09#-I$?Yy@mMHemo7nQjLr)}I zmh85xJEiX9kIt%lf8Mn|Mh{#kZ=CqWP2tCiVtc2(26T@~>?+ZV1H>I8+H{mnnsYBXx88y+ z-jQpoCSKb=ErHU4+fi}cM>!MjxM*{~((hAp!yb*sup#HlIhZ%ct_;b%|DD3_2f?@1 zE*!bxKTrJyAP?GAof2C5)4m&DdhNm7aJ(Sl4Pnbp=fXIg1hz%)a7mhj;~4D(m+r7$ zFHE)Aduug>SV<(SXwgISW;K0Xv*)gAkN=y+MbfxZ{6%`R{-4-;yk%iL%b*UPCc0 zHyRA0nUZ#B9yD^0gInz>QME<4_~gJ$n`3afALsJm)?tx9R`J=N-gpzPJ#CKAz0@%L zM)^B``1)1Hx{0N53Ko6`wrvf|6y0_>@5+OmOE(=Zg)l&4+$6#L+~`>?4u87r9Ej$( z%#WC{U5xp7DHKsumtg7P*&Nvoep|25#iw^#qkDC}fAyMw`@bz5oojN@Y4eRHH?{MIl_FW0 zB-dDL#38rm+%V|OoEI{maVvnWw(>;Ye%Cynx8L>GHN{|Z?$_cLpd!4XaAgWD@ z7>yrlDJB12_0owAAH6U$9%$}yLkPevUiQ~#{_UyVxL39vE-?_zv_(Tqr#Bl^BhA}{ z+)YxO4FtC-(k!ec`J&JVpJRjB>7qlg4%(tAs)J!TH^d7?=EJv0lO$RQx^Sze=$W~0Tqd2DmNh_>WuWp*-II1*S4#|U!4{TY|T}P6cYYqD{ zy*Q{Tlh!-di}9DnUpn~a(iz)&hHXA9I62yH;w87lhn?{}#5LprG-|`?Ep63;HkV#A zD;tS)*9nUpuV1u$_438Ac3lo&cDhq=4|~-+|9HIqhlNuKt|Iti$UiBnd6UYycOh(>dM&wzW$G2%OINaNJk+z<0_P zakhT+vvd{lfb`OYML4A%EPN_N;!k_PRw6RbO6_90h3s6EUWna1>jbU?z%Qy5qDF zELB+g(VLRA2{9ZaP7wb+^nv~-!@<41r(niIb;?-)xw7EMdr#C#Mt_DmxlM~s$0DI~ z=&MYpGjy;7mp>9s3LiY~iY)`uV)eN^oN;bMp2S%^2;< zFIw#hXIiqVQV9WY=kI&%=~FG)Rt-mdzZuhh?LDyMooc9u^r+-v4|?Qo5?yvUR+U#r z%A-pKI=Ooxt}2293G$_|cKv=w+q2>A%_o0z@1{Gsc|cO&@^59OVz`PIJ9*MK&~TTf zd6FKL*&`a)Vy$}#91t2hdxlN{<_!Sy#sNoMe5F5U{3juLKhhC^{!kcc&RBmqxX~*B z_Fb=TckP@-6Gj{flS*6V|T%JA0ta@9W>2eR=&`_dhkvQQx0Yg$yH2 z6GpxA=un?=iKMuf;EFxRzCYoLQ%|*L`;>3F;HV#e(Rt^_h7MZD4Sz*+lMP}C!h?I} z^vmL*sL_~{hct|HuDEB#L$ElV)!p_0+!H>#=BwG>i0(E^a5+$w%dEcMZH7q_9-?ra zQV|YZ9<|cRZs?Y^=e;@RK=WF6d(Y4%fO!KLLY4sJYnt-Q*Hht=4gnEF`=y}uwGU`( z_j@*YLDDDMvw2G)Oq%zHHhkG-LkPHjYW*wk-BQsnS6I9*IF0MvL=Q(vvSZ*MEra1X zXTm2NEs{|U05?@p{KNQ*rkvAJd=f|h&WBf*0X9JX8itT7VbWYp4kpNSa&M2QJ_#~xMX`(>;yfSk@~Xd` zSoitgZ|{n;0Kwh#*o)7W+5P#>V4K-7>HwgS7-|kyj_(R&^(+K;pX<*&3O-!=x}yUE z$c_75bmX*Vo1>m{F!zHgni-dr?q~q2lr1{G$L%2*K5C6RDXu-VcG0}pSy#hKHTwGt zmo6x+9-T|>HB(x&m_8)9+ycx^_@v#rDR+$qE7cX?+;2PkE%W!?0+<(Ok2&vkfP5{i zUEp7EHpDfTMrrdU6)?lyhe2m?!#gAauL*)|U;n|`4X@lpLrB{w&Uj*Q`PiC|=ib-P zfdD8_6r(s5LZqLe#jDd@=JlEJVJkdRYm2n?drd#(9Duv2v(A9O)v^PwKI2?}cB-CX zD_kPc;6bxxN5nW`QaBzLu1G(TRa08L=+1xr3jhw^)^EYxCjW!mKmKRTZ$wfcs=p&j zhmaay=E92ThQ$itio+inc^Rx!uXWa*%vx58&=m`Ra53^sHGof?*+1r2Am#3XhJ6j_-01*x;3dlQtu8 z0nT`5dG{LiT~|8;t~u|)x$gWXn?FTk2MLKVf_};S=T*Lb-*x5( zgq12E;JyHG$1w0L;e=JmaBgStcSl4ei{O%AqKuC?_3*pkjQ3?{4bS`@Apd8;`BP`q zx`Xj(zFWG?s_;>)_O`km2cL}e2iQf(G2;9oz6boK76QCG0a3bO8A%XSE0^%FUJoifWe z`l7#J`Gk-jbOJUf;@B_dt0D!mdLK3h`G{FxT>u$tQz+yuO9rg{*S+t%SJmz1 zakoi&_$H>w>nkhn_a>(UHgh;;E)^0~9XZ zyVMO3IrplVV9vn|IwLVISjHw1AZw0rtZW|j#bfhkE0ZSNZSHS*bIY*=Hwt&Cj)+=x zT33NcX5g6(p`$flHCQ~qo1wWA&#d4|Qo92q-KI}NY|xn;?a#(CE~=c)PZAZ{%o8D+RWmJr?v2hJ(JA~favU(9*5|gl`JZ{m{+LV3@0!^Z#rLyeE_bN{o z0Hy*5Zi90n1n|}b-uJzviZo7bPKN|LsnT3bz-;moWTD;pf zd80AO3M|=63@Ywo?CcfkmnpsaFKi^=^s@3>9F6Oc79KTD}S?} z)el3+390e*#+>Pn z=c`moPDJ@zQ}xm$S!&n4GnzH5gVCYPs-qMvg56kAu>jzn1VaXs%JeFs!`JP7^YKS+ zDGb+y5G}y@pD7$-#>TtMu7mlP;3{HX4ie{HnMTP7_)Z6TJsiA}bWbwf@)5j!bE<-KE7O^?B1zf9dLUaBNIjhA1&x}3=;C|N|ZRr(&4Uj+0opSN*o3sHzBLm>} zpWn#Q!3;YDIV&$LN^_;9QYJa0$ZoI|u7;KBL>Mxb^+soG@1BSfSTOGTqb_2kKcge4 zV3D{i+8!}|5{V!yQB9B=aw|ncR)g5*y5YC(hzYW*?e8^!CCK|-^DscZWpiwJbypvV zT&zIupVtaSC0}wfQWRE~pM2F>0C#Cu@72@ijr`TH+528P>3S}eNG(X{k!Ni)%8-jQ zIa%eYWQLvm-261iOPZ?1;OWkX;7fILPd}&me!U7Xe+a%^_q)a(zm>P2dWd%ElrmZx zjv$j>u3QgmFhSl9bK>IO?2NA58`iFeMo$0bGd!10h)P8BJ+tg&rWQ`ZO@vD$QoPv$ zO}s$QtpPLdvn$sE59!LbEz^pf|=wNz3ZYzCS0@ov^3qGe9&S*u^Dy|y>o(`x|3UG^$%;Xf{AHrfPpOB=MU zWm0F2qy=k;h!EuGn!j6kP-o}&^!M<;I{WL#KfkR!sn0fME0+2#=Bp%SaxgV%ifKho zgwA+k`o_aIcdxt|almp%tv9Gw07g*w1#p+WsQ@}yy)-*(e~$tTx7ec)@qceWWa_bHA*dQVK(s~Y zh1!e(J1U~NUD#{{z2!nFL-@)_#3=m-AP?@WkvsZ5BL4P7bm7a68dnMLL4Pc2&zY17 za_09kUo@N(&6>2lp9*z?xE>T4=>F)gb$52ffv-F5=`nx_ZrwXGXJ!{isqcG zTDX~Fv%%yf-yIHC?mD_S!zMpWV$3#6V)zPjRubfQk-A^c3f4o^nryKk;%^|L3jdDi z!g5wzQJenU3nr11l{Jg+&9>;w$KV`H4mMX_k>JvC9}rfU(EDxskmsvIq&q`)}cf)6yhj2H+p{`j^3?AN1zl)H09sy|+*E}=(4HOsI z=}1PbOS2a}`0H$#ymCjwN^RSld7uiu*vcm83e=3OxCEDE_iVwM-z%2CU_AvU%_m_d-65=Y=pz5JM{h-%hEti7gZ@`c zf5;RLGL3_|_L|WMS&$>DNpM-IB{pu-+=?kv9_3C-9~;de_>nQcrD1UPhxVauu z2vZ1sqU%_%VGsL~{r)id!j58fAzmBs-DS@GLklRP1+F2`ip(5reqK%w7I&-UW z&zpZw?cJzO*KH@sZUc-Gvom80AG(pL3}t8#0F}vDj6)`mFgd=<(P%7_YTUV6)3^z5 zflDs|klS>(p|{4sQ_erTZujBK$;n=D*)k9&0T zVcUz<#dl5clsv&QB>H0{r&5aRZE>*roXQqsm6)=jFkUJa-`8~U>L+Uc*wsO+&g&My zuu`4Zvgoec^BkD--EbHKa4G|ytg6CW#bwdI28{0E!!b-I-zgvNN3D^+_n}g3ZWE5asLPq*KaTFwdIdf+=-vn#dX`TI+`TH&djG(abuu|Q@qLng# zB|}sUGN(OE=hMP>j8CGP-UzqXy2AY#UwjGX*=@U6W;{7SUODuXgJw3_nW{dLE=-x( zKt?x^RCGU6C^4oMAP)w}FT)VBRZtkLRD+h>@xtrCLuVz$}1uT6*GXNrqiq!NX6 zx2~U9JER151iPP9o zNWkKdwNkJ}h=V0&Tgt{QDVZ|!On6)_>gt23^WeZYFaM+&$E?x{>#5S1NrkRRaE)v` z%#lTkqYgtptVelO&BGQy^2+M~Ijz}X>5;SS;YVHpxC5Bdkg>tcSLtekFEcW}o8yC7 z`HYH|vScwfsVb|oan#KdPllh?=iO}&{IA~r#hoL5=eIUW=Q{;5RZ zv!-xzoojc1{AZXn$8`1#+ttbd?tuXJDXw*ys!-*QmdX`U8fMlGW(HaZIhWw#*c=^K z>zjJ{?-4Zqa%T_HmG4oW?#9H2|G8~9CoDoVbQoM~4eJ^~6 zIoJoj=G{LpWil399Boh;c9<%ODU>LlO_hS=?NrVVrglKSj^#+{a4JOq@@@UrHUWkS zaxh|z-X^%rUZ;|v$yazR$hnq@SLEo@wP-z$B}%g4|GMy?7(6QfqzoCIHMXnYqtN8j zi60hD^T7^nVG&3?3j^4wWI0hIk;Eu}5&>qOEE02NkyNf|=By;Z1eYRORz5T8C$YpV z6S0sA4QG^9$iZB8)}#kuytuNf&)Svq5Mp}wx~F5;dRqsIAeLUT+Be!Iv+F>bjjv#-Jq%4PT%i7hUh^CbaNkt!m334P ze`eS*S6pE-G;*++643su?e(H?^4@RsG`Rd7cvfDQH`OzT>t3cwaw7?;o&b%BzYPNx zrbY)OC=;{Dfs4V{%6)QZ*_PG)_x$kMnmN!bq_UVvTLDaP;Y)QFDuEx*eO(D6cZN_i zmk0AyO0%RX%botKNZ$a_MsPjDPJW}`l<7Ajby2Ux4I$v{LWGPyUyl*b^6n~)gK8XW zCXsuY=`L!dc;I(P%+{{`OiGH}93qaKl(KdMEKDphOXAXq*>--42ZZ;RBi@FU>h$gm z#O|DX#I>U?$vr#xLcmoim`0dO%XW#-VA>63CcD88Fxy>`RxGODwjKtMUtmP!b^(T? zoCDzA8vSwhMg3x^NXnaXJ}^buXXdHo4Hb7Ior4bUp*LKBps*f^)$MRpx=T`nPd(-e zL>DfqwnJ)gO>Cr6l6kT+yfi7E)xrCji*n=yEV3XLMYPJzA=?C%wK>u%P_J+yz-30c zUKyX~3Hi5zj?kaNWNO`mbz&52<<*p!S^WqX(B8@p?H$kR=LTcP)lj13ek z{!xGC{QK+fG`BMiFsxK(!H{uJS#(u8QJKuQkzrd_3Kc<>1`hzf5nF1BlKp=`%EMnV z_2JHf*VXF*a>J<8esdlwpVhWP0WsGuG$#b-{j!p6_Fq-`Ow}$l|6UFDrX-X1J@ zHXQ!o=!=7cmi$Q0)XU}QN|qv7!cLacY1{VJ6W+T8xf*Na+pyj*lg!TlPzC&47%~o_ zM}`DXy4YliL<%`G;xN;;Aj>;kROA6SoK&zs+;B=nL((S@(cc6UccJh2!yIvoA z%!FB8y^Z2v)^1SM&v@~fx^%WHEZ9LD_M(iVUj zaEZERr)X%&r8kDCZ5h0_==5tZLe{%EOpMmq1MiCOn;ToCSn3KX4pxT#ATqnM0!#h; zRmXPa`dx7jYB0QU$o;m9zq5Uxmd{LWNMf~bRc2C_cn70%9wxDdVc_S2inVj=9=3)n z=O61to+rh*G-6OYCYYOpHY^ni1)SkT-R1%jsUIL;E7!O;^*ip=2eA?GF2LO(|EHer zAXvEOL>K;iW_Rw(b+F8A1F8?`j_51j`Si@?k9>Grcka`h=fW)d()jaoXRUMpEGwHu zpg}V+I6)+^Bxgo;Tyk`7$|u%-p8SQ?;$J_SCy{IQ3Zwdxrxso~O(B<9+uAH&)$wD4 ztETYivmZkh?#FtwVcofR-Sf}i3vkcMZC@O_OSd2guWv*)SJZKcI&;LRe&qtLJ2%3G z=khMyU>BTp^pksBJo@b9Eat7Gotk!Nb0JDTf?6Z1$B_eIjjPC-SNqdGbW~?*ernLP zQrWTx%JZr*xHAs_FQ!a=W6ulDyL%V3t4lwDZ16Ky{de9)#i*9DBUIn4S76C^`{dCBCQlCRfLPusN-Ecm#5% zD26#mYS5XNJ4S!~G3+sJ$@ zxf=QQkmVdAI0t^sOa+WuBqBS!LW~;&1AD=mcFzH@gGo~=+)Qg0zvC7mId^?+HH-pY zQQ<8WJ~z@K8*IR=$lUN(oBsU*wi1B+G!(CU;N~-+C)%*1_jqsNr&FsPKZd{8K2L4| z$XpLo;HqL-yss=&$*oS-SpvwGEiWJTO>Wg!c8rGb`$QtvugT_Y$mgr^xjM&uu4+3q z^JJvSlW^yUEqLYU_U5HO9_#;U#bjGxONGyYDa9yg!7sVt5W!9i!DaPP5&>2l{(R5v z!a8iSuB+8Ic`2I9y~WZ+ho$Y{awWK2k{t!3huZXyKm+B5f4B&%htY$UmF!jWNp`Vs zy}6w+E!*vM1Y&s2!fP0>+?;0H&4+B4>0tkv-^;!-u1SXDGB1hj-_O4O_K;T}`r^Ve zZA^N{XdiL3tOia%bba!fP$Ow-yg zt?BrlG}8CdqmrBb%z#JNS%MpPp<-AdKMgR!rSqK~1{)VFaPSUYB!0wq7}gO=%7CqLr0ketqCqXB&Kj6MT1*!soUcD=_F|KoDRZx zVuo{q>H|g_n!{Kco%JauPOFN>l=jHYVJk#*y4!|Z$B6R8p3?9^fSp)A$=Zj&YYT=& z$w@VtPgL;NA zjz~v4gEWpgrto7LT{yjSRM9t@S>GA9LJFhA7_-bOqN^E+F-Z(QV-j})t%&uwl*4-p zt~wTTc^%##epz%WqGu(GT}2J&JAz9>SX#~4i^l(MVAYiTx9*+wq|c|h@*?oTLhVCU z{hPZ<`kruGTa>e1kk0i0&c}8#jj$omAoNfHw0(#d_Z7`KI@%SPG;W=a4VG<&?LqY& zE2Lt3vnW;wZEv6`wuZcZZ1lIFicBQYj5!A0GA59Dne@IiO3bSFEhxeTP(W4h#+r z^8#apWhf{cM`wK_jgm^=kOmfcq7~TzwjbsiH@HDMzk_QPsl8wo+(9KP6tM`e8(fUF zJ&g7mY}J>*ocSiN!Sct8D&LPmBwJ|c2p6UV_k}Sknluaixxfq>JS`H8s*p}^ z2KO5Kv?`sjFeM;GQ3iPrl}bqle=|N9ujcsR1fBMcDMk(tBk;^a=l%!=zOlI=o$t1j z@ZD_i&r6#%o3Gs?v*bIunQP^t zCl|hntvKxY9<+BE3zO5BnMyBcA+Zq zPA-Ng<a`5KzI*V~OwK#Wpa0W&2o;VsC8DwQzb$3t1NzL$C4Wh#FaH_17QN|h>z<-=&DKNcrL zE|Zj3C1-LfSWQ?7cu$ycKdf$78O_=11;r|7@WbkVe|~wHEgMpie$lYz8L9d`hIghK z-MR}c3P~HYL(GV%AeUe=(C?3P80oKnhOnBLUD%0LTOf#_g5}1*U_f}A7NTFS!dF<< zPGZ1U3E5RX9+CBmy1bqG zm$TQocLCr7AN*VVjU^4spSqa!Aner85s;OhhgC8a7N>+5iyM=_s+pwXk~lDAbsZ=O zX=%V1VIxjhMDpRGpo2r7W=Ry$l+ec9#AOq~bvV#iW68ukSJ7x z>b?qC3VGIQAaTw$b0(@T!q?d&B2=CXQpK^<(um+nV8O9ExN7*cd4kgMj&VwiZlF`V zv|<@+;4LT?jSY!^pq}vMG;6Bg*~;-9o|PVCsk_F%bj~!m@RZZ&!Fjcv0%ass;ruH* z*tBFJ$a0xvkX$EYsiZ}bXdQ!=1a zERh_kSdkh=j{9iOQx3iwZam+%Jwez1LbTxlKm7CC+e4rJJegM&!w?b;=<9PPKx1K$ zqzg{zCI?Gu)-24SpQMXtm9K*zk&83e!Bn`Ucs9}~nL*|?j7>6^b#Gf{>0XtR05G=? z>HOYkZ59)*&c6$lz;DQG?N$J*6A-p?EW%dqf%E&A5+vwmkaxONV8%$6UYF3gIR_JL zvxt`W!qh5im%FD8z15^Gdvik=ug*mG$rW|p1|FPp< zMWxZ5sx!pjVnF!n_g72<(8usSGwsNZhr+{*JF0%6(&kk#xN1kUF@Ksnn_}8bD%*~^ z#E$x&nRmEsVu374hM`GzCAwN3SobzKE5+a`kx%wHW7xBB4w#b(F5hnxV15Z_yixGi zIvp-OCq|m<^IhTkQWV$#)+pj=a>Qo6U{)L57Ex5Ino06`m4anTBW%{7Q!=qhd!i+) z(a4kpP+I}&M#qrR^9GI|F&92rpKbHUcj5~GeL~aEYY(scV9hD^W=k=h0=O{|gGY-Z z1_NXgEmcrJ19USecL1ni?!MF-x7w$7GF(*uxxOgP9c4sECnFsGzB+$m8-5F5G+i<99dr zaPE1m@7inaeGc63%x~t-oxRukt@S;7?X}nM)l?`HXliPr!Lc*2KQJ2D9T)`+2ZjMd zfq_7ul6zKm$@^XM2Jkwt0C*XA1=x^*?orXyfCRS!hX6+bp9IDM+ehf99hd{m1fBt& z29`wVCoT$wLf$I4Ur|TXmWP&y7FofZ*MM zd$D(1-UNk`e*>okoFjkaNbq3bW*Ym6ttHQ5yZro+1Hnz$j`&^jCm;*y1n$7T$FoPq z1djk7BmYUyLl%?AvYjEpUk2L9f1>l2`>>O>OpwJ%)^#F&MZBa}uZ@k^>QZ zHR%S`23&-lay2@}V4pu}=HmtI2a_HF2)>APgPDPShi*=20lr7Nr}=N#@}CYV37&xe zZn*>Vj>z(JCuh5}FFPx7^?diNxFFm@d1 zqwoUkglkJe3-C+)Nj}NDXAgp#fQLL4jq|P7IPl$!F2l~sb$AebiKmh?3AHn9Y+Q`r z{5^-yNuEgX-oS?*%Ke>KM{$jbZ;;jdSRl9szwf&_^gg-ea25JoZa{Sb5(u8?q0l1C z-r9@u_&NHVK990gI}$tsSS2d55;LCnqB2_Wb77k3+=C;*zxPn$RA(i&Y;22ppD1(N zh6UHvh6BNei=7uRducD+F%CUE=MJZq9SEK&cKj01*KuII=*DEUdG5f)R$hbP3#3|q8STQRp$G5HCwGgu9nKrz;%LtZCKoKqu^|`hwFzGTdF|t6tROtQx8eQ38H=l z;FgSaOoL{$fPuwWMueUyLvSlvbp4Z|M&*d1SXLaB;N`^etKJ6N&^?M}>UkSGv%dv6 zFh#p(ppEb3vaOUM_(ZYcPo)@y5AG86E0)6p>d^#T04%N1=RNoZn>C}Ia6MeMl`;h1 zD>OQnY&{{55Ogaimju#dYwT0ZwclCTldj@Yp^tTx`z$OWxG!3oqOW@>?TZ%d2bG54 zsR8sDj9-k>Z#?=M1gsJIIJ-v+B?K#*mo;R2kZ`%6TP3M|@>3oCFy{r|{*UqK^B$r7 zX+7>PA=u@+GSp-#7y+ynbgLwPO{s@6+2!PMk3NqT+FwrTMzVz9`9fn~@KDwl4-0x# zlNl*=xFC=Ys*`^o;60)Jqc*v_h~Qm>Mpk1dE?MAYL9bW@?+vUCq{G)d`d3_TuP(l^ zIAPZjLWfUb&Udjf0DEoZiDqnr6v_nZ^Qor1S~lUanBc>NMjjKcO@nL5KW^zl;1dDc z+sEUcr*Kbgd?>}d7A?_=Ei#L2tNUR=;GvdhpCx)YanexuV3yFw#>kQ4CwPowM{U?S zX-qT$zaamV4L>FPr{Dn3`(_H)j!phZ2p)m^KxSi>rkFSnZBGyb#{y?YXxEqES;Dm& zAJ&9mB^c}_;aVRI!_pV!iN3&XIqOi0xx%%hlRpxIM@H(%2UCFUgzGyZ=x{k&?ya?$ zg)1iJV|x-8Y)s_lL-4D@wJMIn5|t_lZRgzsxKg}lGG-=>i4DL)$7@F>eY%Nc?NI0@*fp2&QsN9|Bqc{|4wwS`C!h`k(IYbMMBCk_g;LgM7<3ct zx^-VFspF2RXlL866W#~=I{<8$ znB%;HD~R`luY|S2wS%CW;H|>z;)HF`jR_B8$vZ=#8Qa_`>6~U_6=Jf6LNK70e`!}c zsDW$I{FPT>eo7(nRWxHl2jMq&u22Xb06M`TpY*ZlWL=H6ldOduupFBTZpG44)H_H-$3tH)BR@Wm%kqO>Rg`!2;J@@eXFf%nP#dB_Y^#=?zs(;(WAdhyv!p8M55# zc&t!}f{B(>|vqp(!J3U0(If>*-|p}jrC{=rs0SAyH<@*GJBULe*9mpb_o{6Q48~hHct?B zXhF%11^?LiSC`Y>INTk&?iZBuQ!nP}041*}eFH;M>W;$2U19PmKwXi-t{4~}go7%8^z zBJ=T!WSHd9*WL7VdK`;wE`4<0)cv`LU?tO<>u&faQMr}q$x?=heYl8k)`IQPQxYb! z7G^uRLeQ#hJ6Y9gL9QBWwj}Z4}M%|@cJr)yiioGlXR(= zri=Ym5}y^M9DEXer;)i-@&qj*SlJ|0I=UN6l9I`$^qg2Z z%}L~(stUT}Igh>*Q4JujI0@~LLXl;-yw=JPe7(@gI=T-%`l99dC}75fPogJlR-m%AhprdlSZo$%GYl_YKj>^nV+L~eUv27t80Zop!(+^u01 zl94LW{>y=b(36x@&XDSl{#ZVXT79pjwgEphnz7fBl4LZIPAt>VzH+Y>2tHR-K&?Xh zI`Jx@^})z1mr%7Gcz}G1V>V&S_U%+JJ==~YUAqR@&AYQgp+Hkpk5#HamN|8pZ^Jck zBJh_;Z6|2Kc9>(k{$2z;OZ+%q6+^JEm+dg8h!3&3Ur31PjVc-6Zy^0UqntdLTIpW6 zqYA-0;#Y{W)>6J}oRRdRENWC;xtXv8Pl_;vUQ|O3f_Ea^Q#^Zfw{HzA}V>vJ-V*ZaVG93g6|XZDNaFfD|#$W@$Pyu*_Or21AVY`73%!xhW$!N zK`>Y<2GtL%SpLN3dkC^KR#(|)Udnl^`XMF3VBQ95fLXD;g&ve$?>Gxfi{U#b;Y_Ll z2nJhH(gaNvFo(I}A(Y7xyOF+1+w7nk1tJ*i6Cf?gE3i}rdF9UZ#Q@B!G_9k12XJ&y z%>oh(VMs1u{!`~tscd=upg(4ad5834?m#bRP#b{>20NBqK>7g}uoIq3=}L`TM;M0X ziZ185=_BpLD)t$HV6bQhHGH(1tj280N0Q&CRWlZvb1&fvRTi+|vGLKgjzlon@}))^ zxX3~*BH?J_zpMLUNlpk--z3U=WryHr5l-2=XFX8(T6YIKgpLkIC5_Wi3{|Ap7t890&$m zBCjKSVwz>bw+T4?J%Q58e4M~vK%X_rKH-=7IjK+F%ANLLjCN# zS7BKKPDd+4n-3a*;9`u$3UoYyO>|bIzKk7@P9R+Es7#R6NmdNBU`yjTV1JDKJxS*R qv>rPJn}_X!XJh4jmZj1(NBkdyg4NRy|8u$k0000`{yjZC_xJbu`}_R- z{8Us_@bU5Y`uadXKuJkSPEJn#|NlfpMD+Fb{RanNU|@!ZhM%9He}8}d2?_1(?da+0 zrKP13pU=n0$XZ%jHLTRb!^D`Fm~wJ*{RIWAtgMjI=pCcbjEs!GzrS3(-D_)W<>uzr z*4O3q`FD4CW@cuzw6x;l;wY!m{Sy+JXY{#{+b+bLU006Mk-ICP0eEuh#+*Ov+?P~9~yvR0QWo)nw1`BK>76C$nARb~KKs-g!X#UcB zs=C_?VKT`iM7q+gmmwagU!U#!PW#ra|DXTe^Wf2wZ^jz$q8_|_{_N?aZxrI=r?2iA zKY#x#(ir;n!MDJ^e6Aq$Tu0q|hN`iZt=Erlo(m!Jqlu93{es$lN^|JP8|OlZS~VGK zqaXM~JX2PKM560A4jzB}0#X~K)Rp-8)~!c>Qwm-zN%#=maH_|Dc*qKV3M{qy^wxt{ zN>b%qU-RMjH_dgfI{*dX)BikqiVk_a68#tZ>B-IJ8Ms)MbnvSmm3B}(grkjK-fUmJ z&~lQ_mAuu556}F9OaA%qUv5-DU~~#9*12-9ff8Y=|9ps^j^E_`K1bQ0!Ifm+mJ-pq zB<#Ma)*2a`xHI*SpHS6B1PT*bQjZ^U4p~+m zI+xT!FTQrbV^c!|lfzbi>`NQUy2vwD*Awm%mSiJdbrJpiRVzF;Jv%yVwdh#;_A+XF zIg0vMZA>}!8qF=y7<={=TYBWq?5NHJsNGsW-bGt32v{byQ-#^IYR~{A~9V^GBQe ztzBV)r~t}=gGna?u1z^`@M3#q?5dzmcs#3pbm;DvMmuU!7cMuDaS{a|mWaQt39bNR z-+9VM^NO;wxv;apu$h@0`huuOre`byTi@KaR@J$l#a+S5Yftw@wa@e2&KtPC_FWkM=!1+(sVjZiLk&V;_JUE^f{;#i~lE z%(JqH_91JQ*-uaR$j~r!)Y~^3Jy>PYWkiJ4sKI5ud}pNuv#qWirm}?X5w#t@eorCIJ3nF_8mHvxjDs|O%pEM+GU-SXFg3$ z#%^2f^*6|QR>-YKR~t^z%@Nr!eG)8iu4b!7^J$kW96L$qXzetJgY7wwI7%~2B-xun zmzhr{kKBf~+C=V{O5xyO{=|){Wopn0IWRk73AD!nZkV$)ni&e#suX0^mLavx$#<41c-wU``U9jy%l~t0Cdpt|^ z-yzjDV9#Y$D6;Mtyw1aeAJa*$S9PIQ$~x^Ld7Htk=zgTMK^w6*>Qop%T3`#@!Fv*= zWhYzCygLioJkC8Qh;EM`lt)-UD;|^o&ujn#xSp@RTAC`HL`@({$8E1ZCye1qd3aG`} z;(Go-vnl7WZ;+C$!(~iqx-cj-rlrt!{ryFA?LF@>ca2DnbK|m|dANG$4_xx@q*z=# zYL)frR^+cRp^u8))#BfuJ2AP!L-(z`6T723T|EMRw#9w6|S<_pW#hN&=~dhctxHr+_gIKk_;!>x~h8g=;of`|8`X-DN6LUe5=3T<6uIucP z0Y1SSec%IC*QQvgV?%6(N_2%Aljr{Y?;_XyA>uqdOt2$XRhC;^H|J9PSx7i!+$Ef9 z^qT&fhJcNZHV@NZQ^4AjCYbRAk{o1OTdrrC9PDZF{wh(NPQrph{n5B$3JCnE_rSO; z02}vpA&Y>Q=6bo6lB4s6&@{*j->l?S4!$gIH+Z~zN6Q)uoXe2ac!aM$wG;>lYeJ^M z(rB*Z=$qGue1`|T*SqKx(nL1iL#g*vR9Rz{0wmCpHNY2c*tQmmEe+nEf;1{@8(7|) zTk%Ao-5g;DsX5IXMaa`v!C*@E?Vf-S%Ch17vMXFJI7PTy5kF6Y4sO*m7pK4dR(;38 zTE)*z5b-bAAnKJf{=Q7gpz6M6C*=FrG&UDY>wb69DFjX3BDG40@plHsVEfUFzR0J^ zvosGQdvS4;fmCa87tM3+MyLEM2@-TbqSY+QQK{Xzbq`cz_=<2&TfiK;>(05iYY`{< z6f5zZx&6q8`WVj(v6x@-z(3qBTDFP5UCTp>Wc{5LK?OQRMjJ;E^3aFkvDx{JP`K;H zu7s{z2Q_Ry42g0u^K8!7x3`PMJuy!mFp9^-mryYNQ1mivUY&avxMKI^dJHmc>CRG| zzy0bMx~}Qr2D@$rp@{k2J+50U86jU<(`Tfb_hp2WNl9oB?MyO4Z=k(~?_NEA7Y7c!RWhAU!;8_Mx!fB%j6F_2RA=F)f45|HH}-#@aF%iW*rzES?}$`HrP zBzDffU;qYFDkZP^mH@sib5#f!BK`WcZWMteq0ydgn3G934i)$LD&5bI0epM>N{Rbq zy3%$YimXNy=Sf=MF){3%wNf5jk(PQ)Q59`z+4=9?ohb<{*M9`(uaA5aOR>e^cq>f_{K=^gg+JMf@64^4==yEAnJdkte{3 zi^glAyA*Ud9IC%8{6@|DAY7Rc-^yx5Z_icUI1yWa%n?FYSf9|Zr9s1>zhdfX_rqN< zN6S>7UfMH;F(nCX6S9m=y#&{xYAxC9TpNcQWp6vsgAJs-@_*a6_NTV3EDYh{I1j=m zDbsYfO}pEfPCNUf3x&+0o+HFMTPtz*vfjEdd}#496lQhY5`^uK z#6z`rjG?c2H_woR`B4_E&;SfR$%t!IbYQXOj~)6Das`cAb%wmkcYwu{3Wf$@7lhiX z5$=f3#*V%TdNi8(1lScFGvHFlO6YkiR%_K1W~l3WZ_?tH+AO2F@Zi)`BKfysVouTwrN#&RgCRk$!I@Wmo1zwyXQ#Xzm_EySvkMlxf)w954Q@E2 zv(6WKV5nWH?j#JNuRw;|@r!3l%D=4|Sw0Y`287{wbZROZAGWdvYzQzG7T2M7Ck!CZ z)c~?iauUSdnPlLjYr4~7MB7E*s59xKKDA~^^Ce>1dEucxfRK<$(y?}EMe<6%s-)hb zusElo^-a@ELihx3+)F~tjOl|_Lqf(RF@k0BEFr_#y~yhVQYQ7wwX$a+dU71!=tQIjHqrSjE89_I~TVQ>#YNUfnJ1n+@^TN zFitVKR?pp*%q^Ik&C5dX!p{7gkH$O{8>OB8$P?2|7Wx^2%+X>xu7?)V&Vlr}yPn|@ zO*a`@wyh(Rt3iX_*27L`AZol%Uy@dVIS1>Xp2*jH?nz|zEJ?pGCmM@3Oi;fpty=lU zj@f{?>H;1*0Xi^i^u|H3YsY9h>E%?}@f4Y5kruPz z#rgs-TX$d3m8)!^mh3p$h*9LY-{A;shI}&<{byQ7YjdRY^>-M{7rhhLh@AS(`1P4l zr})-PTsi-E$ma{i`x%FZ%CO?x{5h6II&7_0{qkF+qxiG&f^omoYm{SLbkKu7-|xQA z1mjncnLuRxygV%+_pofRHQ1X_7b~VqVh(3gl_Yn#y+MBIf{M)l07Ul9MArj|%y`$% zPtvcki(02muXd|n8ZYU}(rgyDd8?3d?N)fgFaiu6UIbuYC^QIe?J#YJm7<&Lo%dmL zuV>ll%)Rai%K`1=4-{EeGN(oSW0c|OGwPiYpA7tz2lL9^L&afKJSi}f4j4cCx~*d~L<3q8>(cX3~lcDMHm zl2q8jh#dyx(FX_&n)a`q3ryPN=Nt`amOb*T`H?-;p-awe2Zh{`>-|2O*sK?j{gK(< zv!L~9_qm3Z`qW{FcKnliZN3-;RtiO)=Zlr{`_cw!;UT39%ndly6M(&wqb*C^XPA_1 zP4){Mc%{rT?`5RSo(F(=&$foVkajQ}LpwlVaJR$V_wNh5mAvF&^Loogj`(^~E5?03 zA_C(--UAq=EtOEx=u22JY?me2i#-!;km$Ly@#;kmQ*oas^|qZWNv>^ySC{9o{GpH| z0W}&HA%AuCRsh%Kl1`1d-7BdJA0eyAogI%1ntr#%^HrI*%gRx&%DCg%NWOTQL0p$y z=rv@dCEI5lU0=OT<`SOQw#_TDQUJ&<9)1wH;>uJGkJSK5Z4_KG;<}_#PKWz)nat{3 z_{hAai41_GCeMyWP88`>s0xffCkh0UcZVQhuJTS%ab2JlotlYR*{)xFNWiYnfOIZD z(`=02S6qi=i;2{H(X&+oG^t!TJ}S8s$)y4B)&ReJNYvci^f_Y@WE=y9UV5t8mO`8f zU_oa1&kGflQdT4d9-wrPkqyABld8Bk+COvpZsX@qIoYd&O=FX*Rp6>wqj?=w^$U^oNHZ>31zufw-iffCH`@Nt zoYA%0s?a?T9|JI|y2z_`&3lTKjC=-MQmV$4qlBlEV=Anz@zx)lakbxUBtvAjXT^O< zt_Wv-yit%{aur!B6|~=!{o>;nzYrxu7W}MX8|#U#73x5No2t9Z3tPv#QsMAG(wtY3 z%G!P_2h?vPDr{@pe>u5#wY{+!h<-%|jS`WC9B6j8QlxSRE=86UxwN18=uXF^OzE_> zUdGg3%gyT@!Hr!BXh6}!Z*A|(<&zC6*i98HrSk56CC8s?`wdAV2pp%m@yaF5DcZmI znmUzbDYJic09JOe*GoNJdI%9Ux3Pf?j6YSa8g^rKto8QImWE4P{{+QCuz3IBLm6Sa zUys>rDdOReUrw$(=8w?QWY;$JL;JOc%Ut)qp>oHia{1i}z=F6b+X$?&j-`&}l+E^{ zyLbYY1_}G}-&45zEm3R^V88tF-#3~^$g8@F8$36``vGlVpG(& zKi&QN)jPLtwqI#$Yiet2yV8E^&b2RoptcSQ8`PI~|AevXd-uQp$4}pXRei(8ZXEOO z?WH{5{Yj(bcKf+6h)}p9)GI00000NkvXX Hu0mjfv)nE# literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/c7f88473-c76c-474f-8585-f0d2d8c864a3.png b/parsers/src/main/assets/icons/c7f88473-c76c-474f-8585-f0d2d8c864a3.png new file mode 100644 index 0000000000000000000000000000000000000000..74e440e99fc308d2bd16b95090899d5f529b8bab GIT binary patch literal 4785 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 literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/e55941f4-689a-4a39-9a23-3d7c0a6c4a5e.png b/parsers/src/main/assets/icons/e55941f4-689a-4a39-9a23-3d7c0a6c4a5e.png new file mode 100644 index 0000000000000000000000000000000000000000..ea577b1ccd39e3023b4377524f21899a2fb031ed GIT binary patch literal 1365 zcmeAS@N?(olHy`uVBq!ia0vp^6(G#P3?%t>9eV(zRtNZmxVjhk{Qv*|`~1#t?dm`V z9DFI$M6gRh>`zhJAH#GYf}bL_KSgW9*&x{n9iSjoBp${9DvJPVfk=H$)q?2y*sTQ= z1e*4(Tm5sc*0&DzuZdVU6zk=^y1w+l% zmnFZpcBdb#%d9%}`GLEPu-dX`R`bsn?kKc9a^U033ibJ&_s+k6U%10)>O$H7ORel` zoAgiVoN@D!jX!y_dRk=T>V|b6C;qSvm5Dcvu3B&L?{3sp^;wUlB^OV9F0;S1(O>1d zZ(paA_(2Q1N0+k7dQ#uoavVRdcU$b7tSu5a_EH{r++0p`%c|gxo1ups#Vv>JTCpVKsLRkV4J(`0r`Fly`1ITR@oO;G5ou0Iy3%4?!^g@X8z#kNZWnQ_1vaj z2Bjr4-f7KfGjk$PZp%MqrjoFgyr?1b^U%jpP zbkgQ8jXAp=Idfxmz0Y>Bt^REEE9yq(=3~rxhURPDrJ5zo`H&i8rybE)7|;1mxsi$O z+Ht?VCKu0sQN8Za_xx2-T>9*X&jT4*%C?wXUG_Mzbm{l+G0cr$H9Hshz2TBtyT;~v zz){ol%~vjXJH;JpRQ@WKCOFmK>H4lO0va0>?>=6^zS!%Sv6)Cjyol1t+z4`7C&>I^j!=-SF~jXGGbSPM)CphO`2v<;8Icl}9*hI?u4yILtXP=>+E*Hyf+) zxa()CzrO8x#5~RQ+3}=(C+t2uKB&_&maDZ}&CRzbk6Hf4xvQ<4(yAtFWH45gPqJvd zEhWCs?O@~WGT{}EuPtKJS@)V-y8Z2yxaf)*mAZPA3Szj?=a^Thx_;RPU^KWx<{2SQ#|l!$>9%T&t_S9S?yTG z%yezL>>ck+UjA#lxw^k(GHkdp_4(|Fi3h7pUOsuY-q*RQ)IQL9=k@8+A0F^9f0N0d zVIdXP57C R8(@LM;OXk;vd$@?2>>zcxE25a literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/ecfaacd8-891a-46d2-a1ce-05970065c68c.png b/parsers/src/main/assets/icons/ecfaacd8-891a-46d2-a1ce-05970065c68c.png new file mode 100644 index 0000000000000000000000000000000000000000..008f87ac9a5af1c00ca3c10bae8918fa1572e9af GIT binary patch literal 5377 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 literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/f32d0413-9244-4bc1-a30a-15c4641fd86d.png b/parsers/src/main/assets/icons/f32d0413-9244-4bc1-a30a-15c4641fd86d.png new file mode 100644 index 0000000000000000000000000000000000000000..77b09df9863c5295f504246fef5ae561914d264a GIT binary patch literal 3641 zcmV-94#x3`P)q$gGRCt{2oqKdt)xF0*GkL!!2_X+KggoRC2ndM0s${Sz4(h!Y zuNADKRvuPXZGmMeEmrLU6>2Ghx84>nm8<1eM6NQ`%f$hq2obm;i2->fBqTiY4tYOj zrhkk<$m~fnlbLhQ4Ck{})?)TPXU=c&owLtx|Mu^aW5Bvkr+(%T@AK7*r@l%HWgCwZj!Kh*4OA7qJIdaNp6mcCs^`rU<&vy7QNWj zZ>w$Wq`s-M-&U#I$Ut2Hp+SDGoEi))0$v8tSa)S710~LW%V)=GcGikm4cZKCM1OE=P8U=w((vu8$zxb$pLagorV?%|3)F%E13 zr#gG)#9@(4$WT`erQps?9f>hPuADj)Y+iJfvuFBgHT>TzV|jIZ38uU{+B+?-7$6BX z4INylvR^vYYBY>a36sI1z7Z6lWqOv56%P+_^($haA1OP!aDQH%ul%X=mOYnwa{WoW z_Fw*6GOzr|>A}mJ(1Cp{`leyV*ciD@kc697;F|?iU>`>n*vC-?_Hk5!eH>L_A4e6~ z$MI=_ODkJBUEVCW8M5Mf@tMMCX}9o2K^^-FYB^9?PhL?2O>K@tsPonqGB!1W%pqai zmKsiWRx}CGff8CQ4PGs<*+nSF6#u#g3vYE!_8;d>(zR z(5tdY742lzHFfgn>nHf^Sat6QW6MOm|BeAXu1{dnut?&f0=Q7wM*1^{?T-EC?K_AJ z@#kb&6MsKa&HGrU(2vm(6ma99R9e}_kSD*iJE!4;I|=WWTUJ`x#`>KX`1eoCX>IS>BM%GqEZ2KN-=BE+p z@A&(gTFu=5QUM?5RQ2nco8}OpSART!-1hoYjRl%%zovq6BX5wD8dC0#5Z1UQCG(ru^M0JabQ?+Z-rI zM1}dYeZ?p~UNzd`=+Gtdv9k>xwZ&BwCGfA_EoNVSox}cn$Hj8$k9Uw5?NS=4%iKS4 z0L7apIlOL5yO{@nTR?R~hopA(1;q&bd0s8+J}PzC|Im~;j4zEQu%FLaS4oTs;_RO% zk&zTC>@TlsW8s^pCAO+}6d`bHyM-TbIOVVg=U*ld;DZ&J9v_l>BQ!`$-p1QWi5G9^ z_u-cnyua^?#8&l;A_QKy;{xZeh@Gm@DPe41F-mrEy9f!?lKY3-2@4jN?<{@iELWSA z69|!A;Hs+~yt-Xny&B-J;lS(T@zW|p+%9zC{^YzdUf6fJrk$6!otM_29*|w&4WE=b ztW^ADRTfd9$}DutOb%n!qbb6^O`nwaDJmufvI^YXW@gi_GGSkKmQKl0A^={To5H{- z`y_$Z4hyeuckD1qiL3(eJXA$ZgZO#1b*b_$=KaqjaPUwD+nTn$2w6Um=4wN)omo`lepkE)}u}Y_&pR zi8%e{mN@TluDX*oRGi)M)v2ozTXG|^2wYm(N~2&3k(nH-xTsZMiH!&lw)eF3DFw0! ze6dFSK8YzKbkZ8)Ml>22KG=SxskX6G*4VTx0$;8bdzRji#MTpIQ^i|Ll?itFkqTJ^ zu6OW@j)_!sl4q}^CW@C4+dAaiW=b9}T9J92{U=@!mj%}i@*&n;yc*iOC7A< zkkfILMc~L#@lf29g*zAP?fO^T7Puv`{_hYt=F=2)2u>ZCWujhOQ7_U? z-Oax{LD;@*^I3^4=^rm_IVWuY;hpgkTVju_0?(cpD_mmRdAL$BiQ~QTO<6O$1%5+Z zQ~;0M>A1F7Dr6N{tI_bn9B~fTymf^VTjM-dE6iPcLfH2c!(c)J<*&++y>#WV?07~E zv48u?-uycD_E0OV1paf+C34T%=axl>`?KVMK{8lmkL&{b`)OFeAVb)9&#L2!s?@ul zvg$S#ym?C4_nUb`i3t~nW2HuRfx+f&&b`atA?fI}GJVBy%ob%uw_4iGjQ{CTpfR^``kHp_k zIqTYr5m*=I&(>ulgo_X#9javR+CnTctK8mUVcHA194`{*bieWAbTX5b^)@xd2n?Xl zisse%;pew z-MKXkefp5(3lgThT9O_=NQr~%-ZL(Sjf=&OqTDD>V1P}FGnhMF90j^m)6USR4zc=g zC73~6Ey zvp2tv$JU*2Sn_f`@zH@iIU|wp-xf_;VhF`oTFG9KYj@n&Z%rh?Ps7Oz&Fnl}#kT!d zdfj0bY}+WUUy#w`=%Nt3YsdGxrcRc>bC%7!FUdA19-kh;e=Qp+Tp&>(%H2*_gf7gV zKP?%~k>5{{yoNY7B7ip+WpMa+!OwDe(Ub%of702bXh zh-DAmf-X$4?usM4YlwD4V~d#&zpUhge^juqpswFr7ilywZKRIJ_3_M`oyq z@eP5mr_*fZ=$Qug7uNB0NfU)7O`Ixk?p5^k#1N*AjAB}56!%St6~@H9kP-~06t5e1 zdcxmN!=&MnOu8`NfqfiRU>`>dDD$OzD*dGeYyvC$ z{iyxK&%qd_q~vrD(Fity&&z9vXA$k=tkK|guMKd460iw;OlCto%9x?yEdAG8ZfN_- z?7=Q4=Xnu@U|UT(2rQG=7SFQo>2&5!k0wMWIx?7(2U=0yX%C8IGa?q^fiKWqXUO#6T@Wim#^ zz3jzc%IW%W{VZ{*492Lq7Yp#S>l?lk*kC%0I#hc*YcZJeu5aib=UEQqOJ|RY8#w~3 z>fWfab}#fX>W5-`9*ei3Q&A#iz(fqDOWix{Bee!oF)$M!k5T&&%j)o8DJvtk^AjZaRYzBCT>Yj2iZS^MHuySfwh3*tDbKH z&H>M3FzxEg!F>}Lz^D%go&%l-B z-#6FyXu&pR{T$ed!F0rxFL7RA5k~z$z`IJ{l}#sb5re7UmF@ooq$WiLi+V;E00000 LNkvXXu0mjf^zRH0 literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/f4902c21-bf98-4235-bc6d-b1158c6b0674.png b/parsers/src/main/assets/icons/f4902c21-bf98-4235-bc6d-b1158c6b0674.png new file mode 100644 index 0000000000000000000000000000000000000000..395bd5b1d5857a137cfae54ecdaea29b29ec9db3 GIT binary patch literal 18828 zcmV)EK)}C=P)HZo z?C9v2eawz&d`6wo#~B^dm@(%tW-(zv1j(p`2D<6o)m{0f6ZT%;KhC{X)lk(LWPZO7 zud>U!=bU@?S!eIP!e^}|stUkUk6gq4qFgR>4@*|BXKzyIxBJnYO9 z7}~X&qmJk$kc9-L5RoSBk%&^wP|qgVxz%vYu>(v@G}yR)oXN3_dGjY(cU#7ZCm%~Q zsk3N#Oiyo_Pk!t>JmTDQSh#RLVN_v!d^>%EaMLwA%9UC?e{7_2($Zz~f~Cs`%X!{p zXvemT;wUPWDkVyBB*utQB}=m)cTTfPZ@S$|v{l58=ecWb-!@tggLqS|vS=&X9v0K$ zs^8zn6_-!&>NlK&m^P(&fNQVWz`2iE#*QrwvJ|Y1xbenytX+FFrK%$eBYOKR?RreL zFC}R@Y%s~tj+ih46qc<~uD^PeQXFu{Z98ey9mgKOoPl`*49+i+q!ax9H|tq{*AU+C zw^*j|;VZ8tIPlXS7^s3EgwqtgfP7Ti)%QK;1Q}{*I%Lndbw$WLU&~QoW3zLhkgh z_ACwr4@vzAfN%L#cR;{29FqD{4RlLS!A@djuhK z4ii`e!B0JK0~!|>B?UZ44&vy}*3RXtByywpE42=7{G1MSb+ zV9Y#RFb;UEu?S#P5MwdMAP9;_gktI&k7|mlV64G=UkF`56huttZL*zn3?2_62*q*U zbtUFeZ$M(4GiV;hc#ecvPp?*K)#dW* z=0xQys+AwUtdW6wbK7$WMqVn$9ic8F6ELPkp4Yq(-)lqw7U4df5}mFM#VFJQG;t2L9iUcGcp@ONHEjuUC4zS=~?KV)g}>-uE2$t9Ir zeb#ex6!tcM_M=~M^Nm}%=;BjYwPq16Ra6DEn3)2F3_AO2p0hqp{Pl5EX8m3Fuw==A z-Ei0Bk!PKE^!!F+$KhyrLR9j9XTxNn(nqAmds>K&T5(L6xK)95lP$sZrkRJCCdli7MA>xm7e)ea=!jZlebS2&3i>GMzs(e-EBm0 z>gi5xHQ)>T4edxxR1pJ+0kx?5z{$`*Misf(O3$aQH6O87w&l5dARqYyCty|Ile6>V zL2v8nnGf$88;<@f&+MPtE%UYEp?qTL;sDeE8A687TXwF%0Dn4rS);~$0du=M!9p;oHkde6kp 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 TzK&PO00000NkvXXu0mjfW8S5- literal 0 HcmV?d00001 diff --git a/parsers/src/main/assets/icons/f724c440-095b-4f88-b592-e3d9ac2aed76.png b/parsers/src/main/assets/icons/f724c440-095b-4f88-b592-e3d9ac2aed76.png new file mode 100644 index 0000000000000000000000000000000000000000..d9560176ce580c2baa142c2192b07227b2b1e8ba GIT binary patch literal 12972 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 i+(_s7+;9D6(EkVJ^oW0Tgd$b|0000 Date: Sun, 26 Nov 2023 16:41:49 +0100 Subject: [PATCH 06/15] Fix password dialog message --- .../twofasapp/designsystem/dialog/Dialog.kt | 17 ++++++----- .../designsystem/dialog/PasswordDialog.kt | 5 ++++ .../main/java/com/twofasapp/locale/Strings.kt | 3 +- .../src/main/res/values-de-rDE/strings.xml | 4 ++- .../src/main/res/values-es-rES/strings.xml | 4 ++- .../src/main/res/values-fr-rFR/strings.xml | 4 ++- .../locale/src/main/res/values-in/strings.xml | 20 +++++++------ .../src/main/res/values-it-rIT/strings.xml | 4 ++- .../src/main/res/values-nl-rNL/strings.xml | 4 ++- .../src/main/res/values-pl-rPL/strings.xml | 4 ++- .../src/main/res/values-pt-rBR/strings.xml | 4 ++- .../src/main/res/values-pt-rPT/strings.xml | 4 ++- .../src/main/res/values-tr-rTR/strings.xml | 4 ++- .../src/main/res/values-uk-rUA/strings.xml | 4 ++- core/locale/src/main/res/values/strings.xml | 4 ++- .../feature/backup/ui/backup/BackupScreen.kt | 29 +++++++++++++++++-- 16 files changed, 88 insertions(+), 30 deletions(-) diff --git a/core/designsystem/src/main/java/com/twofasapp/designsystem/dialog/Dialog.kt b/core/designsystem/src/main/java/com/twofasapp/designsystem/dialog/Dialog.kt index da3144e2..7cb3dca2 100644 --- a/core/designsystem/src/main/java/com/twofasapp/designsystem/dialog/Dialog.kt +++ b/core/designsystem/src/main/java/com/twofasapp/designsystem/dialog/Dialog.kt @@ -3,16 +3,15 @@ package com.twofasapp.designsystem.dialog import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.ColumnScope -import androidx.compose.foundation.layout.IntrinsicSize import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.sizeIn import androidx.compose.foundation.layout.width import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.text.ClickableText import androidx.compose.foundation.verticalScroll import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface @@ -49,6 +48,7 @@ fun BaseDialog( bodyAnnotated: AnnotatedString? = null, positive: String? = null, negative: String? = null, + onBodyClick: ((Int) -> Unit)? = null, onPositiveClick: (() -> Unit)? = null, onNegativeClick: (() -> Unit)? = null, positiveEnabled: Boolean = true, @@ -90,6 +90,7 @@ fun BaseDialog( Body( text = body, textAnnotated = bodyAnnotated, + onBodyClick = onBodyClick, ) } @@ -138,6 +139,7 @@ private fun Title( private fun ColumnScope.Body( text: String?, textAnnotated: AnnotatedString?, + onBodyClick: ((Int) -> Unit)? = null, ) { if (text != null) { Text( @@ -151,14 +153,15 @@ private fun ColumnScope.Body( ) } else if (textAnnotated != null) { - Text( + ClickableText( text = textAnnotated, - style = MaterialTheme.typography.bodyMedium, - color = TwTheme.color.onSurfaceTertiary, + onClick = { onBodyClick?.invoke(it) }, + style = MaterialTheme.typography.bodyMedium.copy(color = TwTheme.color.onSurfaceTertiary), modifier = Modifier .padding(horizontal = DialogPadding) - .padding(TitlePadding) - ) + .padding(TitlePadding), + + ) } } diff --git a/core/designsystem/src/main/java/com/twofasapp/designsystem/dialog/PasswordDialog.kt b/core/designsystem/src/main/java/com/twofasapp/designsystem/dialog/PasswordDialog.kt index 462e6a18..10bbe39d 100644 --- a/core/designsystem/src/main/java/com/twofasapp/designsystem/dialog/PasswordDialog.kt +++ b/core/designsystem/src/main/java/com/twofasapp/designsystem/dialog/PasswordDialog.kt @@ -14,6 +14,7 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester +import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.window.DialogProperties @@ -26,10 +27,12 @@ fun PasswordDialog( onDismissRequest: () -> Unit, title: String? = null, body: String? = null, + bodyAnnotated: AnnotatedString? = null, error: String? = null, enabled: Boolean = true, positive: String? = TwLocale.strings.commonSave, negative: String? = TwLocale.strings.commonCancel, + onBodyClick: ((Int) -> Unit)? = null, onPositive: ((String) -> Unit)? = null, onNegative: (() -> Unit)? = null, validation: ((String) -> Boolean)? = null, @@ -57,8 +60,10 @@ fun PasswordDialog( onDismissRequest = onDismissRequest, title = title, body = body, + bodyAnnotated = bodyAnnotated, positive = positive, negative = negative, + onBodyClick = onBodyClick, onPositiveClick = { onPositive?.invoke(password.trim()) }, onNegativeClick = onNegative, positiveEnabled = positiveEnabledState, diff --git a/core/locale/src/main/java/com/twofasapp/locale/Strings.kt b/core/locale/src/main/java/com/twofasapp/locale/Strings.kt index 20d05a1b..8d359161 100644 --- a/core/locale/src/main/java/com/twofasapp/locale/Strings.kt +++ b/core/locale/src/main/java/com/twofasapp/locale/Strings.kt @@ -317,7 +317,8 @@ class Strings(c: Context) { val backupRemoveCloudPasswordTitle = c.getString(R.string.backup__enter_password_dialog_title) val backupRemoveCloudPasswordMsg = c.getString(R.string.backup__remove_password_msg) val backupEnterCloudPasswordTitle = c.getString(R.string.backup__enter_password_dialog_title) - val backupEnterCloudPasswordMsg = c.getString(R.string.backup__enter_password_title) + val backupEnterCloudPasswordMsg1 = c.getString(R.string.backup__enter_password_google_drive_msg1) + val backupEnterCloudPasswordMsg2 = c.getString(R.string.backup__enter_password_google_drive_msg2) val backupIncorrectPassword = c.getString(R.string.backup__incorrect_password) val backupExportShareCta = c.getString(R.string.export_backup_share_cta) diff --git a/core/locale/src/main/res/values-de-rDE/strings.xml b/core/locale/src/main/res/values-de-rDE/strings.xml index bc1ceb05..37f6d765 100644 --- a/core/locale/src/main/res/values-de-rDE/strings.xml +++ b/core/locale/src/main/res/values-de-rDE/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: de-DE, German (Germany) Exported by: rafakob - Exported at: Sat, 25 Nov 2023 08:22:33 -0800 + Exported at: Sun, 26 Nov 2023 03:22:29 -0800 --> 2FAS uses iCloud for secure backup and sync of your 2FA tokens. The **encrypted** backup data is stored in iCloud, accessible **only by the 2FAS app**. Additionally, this feature aids with token **recovery and syncing** across iOS devices.\n\nIt\'s enabled by default and can disabled at any time in the app\'s backup settings. Learn more about backup + It looks like your Google Drive backup file is password-protected. Type in the correct password to proceed. If you’d like to wipe your Google Drive backup file, + tap here to see how diff --git a/core/locale/src/main/res/values-es-rES/strings.xml b/core/locale/src/main/res/values-es-rES/strings.xml index 0c84e350..3938d906 100644 --- a/core/locale/src/main/res/values-es-rES/strings.xml +++ b/core/locale/src/main/res/values-es-rES/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: es-ES, Spanish (Spain) Exported by: rafakob - Exported at: Sat, 25 Nov 2023 08:22:33 -0800 + Exported at: Sun, 26 Nov 2023 03:22:29 -0800 --> 2FAS uses iCloud for secure backup and sync of your 2FA tokens. The **encrypted** backup data is stored in iCloud, accessible **only by the 2FAS app**. Additionally, this feature aids with token **recovery and syncing** across iOS devices.\n\nIt\'s enabled by default and can disabled at any time in the app\'s backup settings. Learn more about backup + It looks like your Google Drive backup file is password-protected. Type in the correct password to proceed. If you’d like to wipe your Google Drive backup file, + tap here to see how diff --git a/core/locale/src/main/res/values-fr-rFR/strings.xml b/core/locale/src/main/res/values-fr-rFR/strings.xml index 7422857b..26cae94a 100644 --- a/core/locale/src/main/res/values-fr-rFR/strings.xml +++ b/core/locale/src/main/res/values-fr-rFR/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: fr-FR, French (France) Exported by: rafakob - Exported at: Sat, 25 Nov 2023 08:22:33 -0800 + Exported at: Sun, 26 Nov 2023 03:22:29 -0800 --> 2FAS uses iCloud for secure backup and sync of your 2FA tokens. The **encrypted** backup data is stored in iCloud, accessible **only by the 2FAS app**. Additionally, this feature aids with token **recovery and syncing** across iOS devices.\n\nIt\'s enabled by default and can disabled at any time in the app\'s backup settings. Learn more about backup + It looks like your Google Drive backup file is password-protected. Type in the correct password to proceed. If you’d like to wipe your Google Drive backup file, + tap here to see how diff --git a/core/locale/src/main/res/values-in/strings.xml b/core/locale/src/main/res/values-in/strings.xml index 549ad264..7dcef95b 100644 --- a/core/locale/src/main/res/values-in/strings.xml +++ b/core/locale/src/main/res/values-in/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: id-ID, Indonesian (Indonesia) Exported by: rafakob - Exported at: Sat, 25 Nov 2023 08:22:33 -0800 + Exported at: Sun, 26 Nov 2023 03:22:29 -0800 --> - 2FAS uses iCloud for secure backup and sync of your 2FA tokens. The **encrypted** backup data is stored in iCloud, accessible **only by the 2FAS app**. Additionally, this feature aids with token **recovery and syncing** across iOS devices.\n\nIt\'s enabled by default and can disabled at any time in the app\'s backup settings. - Learn more about backup + 2FAS menggunakan iCloud untuk pencadangan aman dan sinkronisasi token 2FA anda. Data cadangan **terenkripsi** disimpan di iCloud, dapat diakses **hanya melalui aplikasi 2FAS**. Selain itu, fitur ini membantu **pemulihan dan sinkronisasi** token di seluruh perangkat iOS. Ini diaktifkan secara default dan dapat dinonaktifkan kapan saja di pengaturan cadangan aplikasi. + Pelajari lebih lanjut tentang pencadangan + It looks like your Google Drive backup file is password-protected. Type in the correct password to proceed. If you’d like to wipe your Google Drive backup file, + tap here to see how diff --git a/core/locale/src/main/res/values-it-rIT/strings.xml b/core/locale/src/main/res/values-it-rIT/strings.xml index 958eaf09..4c034106 100644 --- a/core/locale/src/main/res/values-it-rIT/strings.xml +++ b/core/locale/src/main/res/values-it-rIT/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: it-IT, Italian (Italy) Exported by: rafakob - Exported at: Sat, 25 Nov 2023 08:22:33 -0800 + Exported at: Sun, 26 Nov 2023 03:22:29 -0800 --> 2FAS uses iCloud for secure backup and sync of your 2FA tokens. The **encrypted** backup data is stored in iCloud, accessible **only by the 2FAS app**. Additionally, this feature aids with token **recovery and syncing** across iOS devices.\n\nIt\'s enabled by default and can disabled at any time in the app\'s backup settings. Learn more about backup + It looks like your Google Drive backup file is password-protected. Type in the correct password to proceed. If you’d like to wipe your Google Drive backup file, + tap here to see how diff --git a/core/locale/src/main/res/values-nl-rNL/strings.xml b/core/locale/src/main/res/values-nl-rNL/strings.xml index 19beeeb7..1ce899d3 100644 --- a/core/locale/src/main/res/values-nl-rNL/strings.xml +++ b/core/locale/src/main/res/values-nl-rNL/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: nl-NL, Dutch (Netherlands) Exported by: rafakob - Exported at: Sat, 25 Nov 2023 08:22:33 -0800 + Exported at: Sun, 26 Nov 2023 03:22:30 -0800 --> 2FAS uses iCloud for secure backup and sync of your 2FA tokens. The **encrypted** backup data is stored in iCloud, accessible **only by the 2FAS app**. Additionally, this feature aids with token **recovery and syncing** across iOS devices.\n\nIt\'s enabled by default and can disabled at any time in the app\'s backup settings. Learn more about backup + It looks like your Google Drive backup file is password-protected. Type in the correct password to proceed. If you’d like to wipe your Google Drive backup file, + tap here to see how diff --git a/core/locale/src/main/res/values-pl-rPL/strings.xml b/core/locale/src/main/res/values-pl-rPL/strings.xml index 6bd6d14a..766d0db0 100644 --- a/core/locale/src/main/res/values-pl-rPL/strings.xml +++ b/core/locale/src/main/res/values-pl-rPL/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: pl-PL, Polish (Poland) Exported by: rafakob - Exported at: Sat, 25 Nov 2023 08:22:33 -0800 + Exported at: Sun, 26 Nov 2023 03:22:29 -0800 --> 2FAS uses iCloud for secure backup and sync of your 2FA tokens. The **encrypted** backup data is stored in iCloud, accessible **only by the 2FAS app**. Additionally, this feature aids with token **recovery and syncing** across iOS devices.\n\nIt\'s enabled by default and can disabled at any time in the app\'s backup settings. Learn more about backup + It looks like your Google Drive backup file is password-protected. Type in the correct password to proceed. If you’d like to wipe your Google Drive backup file, + tap here to see how diff --git a/core/locale/src/main/res/values-pt-rBR/strings.xml b/core/locale/src/main/res/values-pt-rBR/strings.xml index f55bdd4d..7a2066bf 100644 --- a/core/locale/src/main/res/values-pt-rBR/strings.xml +++ b/core/locale/src/main/res/values-pt-rBR/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: pt-BR, Brazilian Portuguese Exported by: rafakob - Exported at: Sat, 25 Nov 2023 08:22:33 -0800 + Exported at: Sun, 26 Nov 2023 03:22:29 -0800 --> \"**2Fas**\" usa o icloud para backup seguro Leia mais sobre a cópia de segurança\u0020 + It looks like your Google Drive backup file is password-protected. Type in the correct password to proceed. If you’d like to wipe your Google Drive backup file, + tap here to see how diff --git a/core/locale/src/main/res/values-pt-rPT/strings.xml b/core/locale/src/main/res/values-pt-rPT/strings.xml index b58c5bca..ccce7490 100644 --- a/core/locale/src/main/res/values-pt-rPT/strings.xml +++ b/core/locale/src/main/res/values-pt-rPT/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: pt-PT, Portuguese (Portugal) Exported by: rafakob - Exported at: Sat, 25 Nov 2023 08:22:33 -0800 + Exported at: Sun, 26 Nov 2023 03:22:29 -0800 --> 2FAS uses iCloud for secure backup and sync of your 2FA tokens. The **encrypted** backup data is stored in iCloud, accessible **only by the 2FAS app**. Additionally, this feature aids with token **recovery and syncing** across iOS devices.\n\nIt\'s enabled by default and can disabled at any time in the app\'s backup settings. Learn more about backup + It looks like your Google Drive backup file is password-protected. Type in the correct password to proceed. If you’d like to wipe your Google Drive backup file, + tap here to see how diff --git a/core/locale/src/main/res/values-tr-rTR/strings.xml b/core/locale/src/main/res/values-tr-rTR/strings.xml index 1742d2e3..945ea043 100644 --- a/core/locale/src/main/res/values-tr-rTR/strings.xml +++ b/core/locale/src/main/res/values-tr-rTR/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: tr-TR, Turkish (Turkey) Exported by: rafakob - Exported at: Sat, 25 Nov 2023 08:22:33 -0800 + Exported at: Sun, 26 Nov 2023 03:22:30 -0800 --> 2FAS uses iCloud for secure backup and sync of your 2FA tokens. The **encrypted** backup data is stored in iCloud, accessible **only by the 2FAS app**. Additionally, this feature aids with token **recovery and syncing** across iOS devices.\n\nIt\'s enabled by default and can disabled at any time in the app\'s backup settings. Learn more about backup + It looks like your Google Drive backup file is password-protected. Type in the correct password to proceed. If you’d like to wipe your Google Drive backup file, + tap here to see how diff --git a/core/locale/src/main/res/values-uk-rUA/strings.xml b/core/locale/src/main/res/values-uk-rUA/strings.xml index 565cdad4..676c94f4 100644 --- a/core/locale/src/main/res/values-uk-rUA/strings.xml +++ b/core/locale/src/main/res/values-uk-rUA/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: uk-UA, Ukrainian (Ukraine) Exported by: rafakob - Exported at: Sat, 25 Nov 2023 08:22:33 -0800 + Exported at: Sun, 26 Nov 2023 03:22:29 -0800 --> 2FAS використовує iCloud для безпечного резервного копіювання та синхронізації ваших 2FA токенів. *Зашифровані* дані резервної копії зберігаються в iCloud, доступні *тільки за допомогою програми 2FAS*. Крім того, ця функція допомагає *відновлювати та синхронізувати* токени на пристроях iOS.\\n\\nЇЇ увімкнено за умовчанням і можна будь-коли вимкнути в налаштуваннях резервного копіювання програми. Дізнайтеся більше про резервне копіювання + It looks like your Google Drive backup file is password-protected. Type in the correct password to proceed. If you’d like to wipe your Google Drive backup file, + tap here to see how diff --git a/core/locale/src/main/res/values/strings.xml b/core/locale/src/main/res/values/strings.xml index 0f513fb9..da77c69a 100644 --- a/core/locale/src/main/res/values/strings.xml +++ b/core/locale/src/main/res/values/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: en, English Exported by: rafakob - Exported at: Sat, 25 Nov 2023 08:22:33 -0800 + Exported at: Sun, 26 Nov 2023 03:22:29 -0800 --> 2FAS uses iCloud for secure backup and sync of your 2FA tokens. The **encrypted** backup data is stored in iCloud, accessible **only by the 2FAS app**. Additionally, this feature aids with token **recovery and syncing** across iOS devices.\n\nIt\'s enabled by default and can disabled at any time in the app\'s backup settings. Learn more about backup + It looks like your Google Drive backup file is password-protected. Type in the correct password to proceed. If you’d like to wipe your Google Drive backup file, + tap here to see how diff --git a/feature/backup/src/main/java/com/twofasapp/feature/backup/ui/backup/BackupScreen.kt b/feature/backup/src/main/java/com/twofasapp/feature/backup/ui/backup/BackupScreen.kt index 615f2c56..4d2d29e1 100644 --- a/feature/backup/src/main/java/com/twofasapp/feature/backup/ui/backup/BackupScreen.kt +++ b/feature/backup/src/main/java/com/twofasapp/feature/backup/ui/backup/BackupScreen.kt @@ -20,13 +20,16 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.platform.LocalUriHandler import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.SpanStyle +import androidx.compose.ui.text.buildAnnotatedString +import androidx.compose.ui.text.withStyle import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.window.DialogProperties import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.twofasapp.data.services.domain.CloudSyncError -import com.twofasapp.data.services.domain.CloudSyncStatus import com.twofasapp.designsystem.TwIcons import com.twofasapp.designsystem.TwTheme import com.twofasapp.designsystem.common.TwSwitch @@ -34,6 +37,7 @@ import com.twofasapp.designsystem.common.TwTopAppBar import com.twofasapp.designsystem.dialog.InfoDialog import com.twofasapp.designsystem.dialog.PasswordDialog import com.twofasapp.designsystem.ktx.currentActivity +import com.twofasapp.designsystem.ktx.openSafely import com.twofasapp.designsystem.ktx.strings import com.twofasapp.designsystem.ktx.toastLong import com.twofasapp.designsystem.settings.SettingsDivider @@ -81,6 +85,7 @@ private fun ScreenContent( ) { val context = LocalContext.currentActivity val strings = LocalContext.strings + val uriHandler = LocalUriHandler.current var showPasswordDialog by remember { mutableStateOf(false) } var showPasswordError by remember { mutableStateOf(false) } var showErrorDialog by remember { mutableStateOf(false) } @@ -239,6 +244,20 @@ private fun ScreenContent( } if (showPasswordDialog) { + val passText = buildAnnotatedString { + append("${strings.backupEnterCloudPasswordMsg1} ") + + pushStringAnnotation( + tag = "link", + annotation = "https://2fas.com/support/2fas-mobile-app/how-to-wipe-remove-a-google-drive-backup-file/" + ) + withStyle(style = SpanStyle(TwTheme.color.primary)) { + append(strings.backupEnterCloudPasswordMsg2) + } + pop() + append(".") + } + PasswordDialog( onDismissRequest = { showPasswordDialog = false @@ -246,7 +265,13 @@ private fun ScreenContent( }, confirmRequired = false, title = strings.backupEnterCloudPasswordTitle, - body = strings.backupEnterCloudPasswordMsg, + bodyAnnotated = passText, + onBodyClick = { offset -> + passText.getStringAnnotations(tag = "link", start = offset, end = offset).firstOrNull()?.let { + uriHandler.openSafely(it.item) + showPasswordDialog = false + } + }, error = if (showPasswordError) strings.backupIncorrectPassword else null, positive = strings.commonContinue, onPositive = { onEnterPassword(it) }, From 0ae8e2b9c5cc6afc9e10f3b0804a95127a6b6f4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=C2=A0Koby=C5=82ko?= Date: Mon, 27 Nov 2023 23:14:03 +0100 Subject: [PATCH 07/15] Add new guides --- .../src/main/res/values-de-rDE/strings.xml | 2 +- .../src/main/res/values-es-rES/strings.xml | 2 +- .../src/main/res/values-fr-rFR/strings.xml | 14 +-- .../locale/src/main/res/values-in/strings.xml | 2 +- .../src/main/res/values-it-rIT/strings.xml | 2 +- .../src/main/res/values-nl-rNL/strings.xml | 2 +- .../src/main/res/values-pl-rPL/strings.xml | 16 +-- .../src/main/res/values-pt-rBR/strings.xml | 6 +- .../src/main/res/values-pt-rPT/strings.xml | 2 +- .../src/main/res/values-tr-rTR/strings.xml | 48 ++++----- .../src/main/res/values-uk-rUA/strings.xml | 2 +- core/locale/src/main/res/values/strings.xml | 2 +- .../home/src/main/assets/guides/google.json | 102 ++++++++++++++++++ .../src/main/assets/guides/instagram.json | 92 ++++++++++++++++ .../home/src/main/assets/guides/paypal.json | 99 +++++++++++++++++ .../home/src/main/assets/guides/reddit.json | 70 ++++++++++++ .../home/src/main/assets/guides/twitter.json | 2 +- .../twofasapp/feature/home/ui/guides/Guide.kt | 20 +++- .../feature/home/ui/guides/GuidesScreen.kt | 4 + 19 files changed, 434 insertions(+), 55 deletions(-) create mode 100644 feature/home/src/main/assets/guides/google.json create mode 100644 feature/home/src/main/assets/guides/instagram.json create mode 100644 feature/home/src/main/assets/guides/paypal.json create mode 100644 feature/home/src/main/assets/guides/reddit.json diff --git a/core/locale/src/main/res/values-de-rDE/strings.xml b/core/locale/src/main/res/values-de-rDE/strings.xml index 37f6d765..b6a92964 100644 --- a/core/locale/src/main/res/values-de-rDE/strings.xml +++ b/core/locale/src/main/res/values-de-rDE/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: de-DE, German (Germany) Exported by: rafakob - Exported at: Sun, 26 Nov 2023 03:22:29 -0800 + Exported at: Mon, 27 Nov 2023 14:14:13 -0800 --> - 2FAS uses iCloud for secure backup and sync of your 2FA tokens. The **encrypted** backup data is stored in iCloud, accessible **only by the 2FAS app**. Additionally, this feature aids with token **recovery and syncing** across iOS devices.\n\nIt\'s enabled by default and can disabled at any time in the app\'s backup settings. - Learn more about backup - It looks like your Google Drive backup file is password-protected. Type in the correct password to proceed. If you’d like to wipe your Google Drive backup file, - tap here to see how + 2FAS utilise iCloud pour sécuriser la sauvegarde et synchroniser vos jetons 2FA. Les données de sauvegardes **cryptées** sont enregistrées dans iCloud, accessibles **uniquement par l\'application 2FA**. De plus, cette fonction facilite l\'utilisation des jetons **de récupération et de synchronisation** entre les périphériques iOS. + En apprendre plus sur la sauvegarde + On dirait que votre fichier de sauvegarde Google Drive est protégé par un mot de passe. Renseignez correctement le mot de passe pour poursuivre. Si vous souhaitez effacer votre fichier de sauvegarde Google Drive, + appuyez ici pour voir la manoeuvre diff --git a/core/locale/src/main/res/values-in/strings.xml b/core/locale/src/main/res/values-in/strings.xml index 7dcef95b..450cca70 100644 --- a/core/locale/src/main/res/values-in/strings.xml +++ b/core/locale/src/main/res/values-in/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: id-ID, Indonesian (Indonesia) Exported by: rafakob - Exported at: Sun, 26 Nov 2023 03:22:29 -0800 + Exported at: Mon, 27 Nov 2023 14:14:13 -0800 --> - 2FAS uses iCloud for secure backup and sync of your 2FA tokens. The **encrypted** backup data is stored in iCloud, accessible **only by the 2FAS app**. Additionally, this feature aids with token **recovery and syncing** across iOS devices.\n\nIt\'s enabled by default and can disabled at any time in the app\'s backup settings. - Learn more about backup - It looks like your Google Drive backup file is password-protected. Type in the correct password to proceed. If you’d like to wipe your Google Drive backup file, - tap here to see how + 2FAS używa iCloud do bezpiecznego tworzenia kopii zapasowych i synchronizacji tokenów 2FA. **Zaszyfrowane** dane kopii zapasowej są przechowywane w iCloud, dostępne **wyłącznie za pośrednictwem aplikacji 2FAS**. Dodatkowo funkcja ta pomaga **odzyskać i zsynchronizować** tokeny na urządzeniach z systemem iOS.\n\nJest ona domyślnie włączona i można ją wyłączyć w dowolnym momencie w ustawieniach kopii zapasowej w aplikacji. + Dowiedz się więcej na temat kopii zapasowej + Wygląda na to, że plik kopii zapasowej na Dysku Google jest chroniony hasłem. Wprowadź prawidłowe hasło, aby kontynuować. Jeśli chcesz wyczyścić plik kopii zapasowej Dysku Google, + dotknij tutaj aby zobaczyć jak diff --git a/core/locale/src/main/res/values-pt-rBR/strings.xml b/core/locale/src/main/res/values-pt-rBR/strings.xml index 7a2066bf..7323b624 100644 --- a/core/locale/src/main/res/values-pt-rBR/strings.xml +++ b/core/locale/src/main/res/values-pt-rBR/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: pt-BR, Brazilian Portuguese Exported by: rafakob - Exported at: Sun, 26 Nov 2023 03:22:29 -0800 + Exported at: Mon, 27 Nov 2023 14:14:13 -0800 --> \"**2Fas**\" usa o icloud para backup seguro Leia mais sobre a cópia de segurança\u0020 - It looks like your Google Drive backup file is password-protected. Type in the correct password to proceed. If you’d like to wipe your Google Drive backup file, - tap here to see how + Parece que o arquivo de backup do seu Google Drive está protegido por senha. Digite a senha correta para prosseguir. Se desejar apagar o arquivo de backup do Google Drive, + toque aqui para ver como diff --git a/core/locale/src/main/res/values-pt-rPT/strings.xml b/core/locale/src/main/res/values-pt-rPT/strings.xml index ccce7490..be01d49e 100644 --- a/core/locale/src/main/res/values-pt-rPT/strings.xml +++ b/core/locale/src/main/res/values-pt-rPT/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: pt-PT, Portuguese (Portugal) Exported by: rafakob - Exported at: Sun, 26 Nov 2023 03:22:29 -0800 + Exported at: Mon, 27 Nov 2023 14:14:13 -0800 --> 2FAS Authenticator - 2AD Doğrulayıcısı (2FAS Uygulaması) + 2FA Doğrulayıcısı (2FAS Uygulaması) Tamam Ekle @@ -225,7 +225,7 @@ Bu jetonun kilidini aç ve tekrar yaz Grup Grup seç - 2AD jetonları Google Authenticator uygulamasından içeri aktarılıyor + 2FA jetonları Google Authenticator uygulamasından içeri aktarılıyor Bu QR kodu, jetonların Google Authenticator\'dan içeri aktarılmasına izin verir %1$d üzerinden %2$d @@ -240,7 +240,7 @@ Uyarı - Gelişmiş ayarların değiştirilmesi önerilmez. Bunu yalnızca 2AD sağlayıcınız gerek duyduğunda ve açık talimatlara sahip olduğunuzda yapın. + Gelişmiş ayarların değiştirilmesi önerilmez. Bunu yalnızca 2FA sağlayıcınız gerek duyduğunda ve açık talimatlara sahip olduğunuzda yapın. Jeton ayarları OTP Doğrulaması Algoritma @@ -252,13 +252,13 @@ %d sn HOTP TOTP - Gelişmiş ayarların değiştirilmesi önerilmez. Bunu yalnızca 2AD sağlayıcınız gerek duyduğunda ve açık talimatlara sahip olduğunuzda yapın. + Gelişmiş ayarların değiştirilmesi önerilmez. Bunu yalnızca 2FA sağlayıcınız gerek duyduğunda ve açık talimatlara sahip olduğunuzda yapın. En iyi yöntem Hizmet başarıyla eklendi. Şunu şiddetle öneriyoruz ki\u0020 QR ekran görüntüsünü galerinizden silin. - Birisi bu QR kodunun ekran görüntüsünü ele geçirirse, bu hizmetin 2AD kodlarını alabilecektir. + Birisi bu QR kodunun ekran görüntüsünü ele geçirirse, bu hizmetin 2FA kodlarını alabilecektir. Bir simge talep edin Discord\'da bize ulaşın Discord sunucumuza giriş yapın @@ -266,7 +266,7 @@ veya Hizmet sağlayıcıyı bilgilendirin Sosyal Medyayı veya e-postayı kullanabilir ve bu metni onlarla paylaşabilirsiniz: - Merhaba! Hizmetinize 2AD ile giriş yapmak için 2FAS uygulamasını kullanıyorum, ancak uygulamada simgeniz yok! Simgenizi şuraya gönderebilirsiniz: https://2fas.com/yb + Merhaba! Hizmetinize 2FA ile giriş yapmak için 2FAS uygulamasını kullanıyorum, ancak uygulamada simgeniz yok! Simgenizi şuraya gönderebilirsiniz: https://2fas.com/yb https://2fas.com/yb Şirketin resmi hesabını etiketlemeyi unutmayın! 2FAS uygulamasında marka simgesini bulamıyor musunuz? @@ -321,7 +321,7 @@ Eğer PIN\'inizi unuttuysanız veya 2FAS uygulamasını sıfırlamak istiyorsanız, uygulamayı yeniden yüklemeniz gerekiyor. - Bir yedeğiniz yoksa ve uygulamayı sıfırlarsanız, tüm kodlarınıza erişiminizi ve dolayısıyla 2AD ile korunan tüm hesaplarınıza erişiminizi kaybedeceğinizi unutmayın. + Bir yedeğiniz yoksa ve uygulamayı sıfırlarsanız, tüm kodlarınıza erişiminizi ve dolayısıyla 2FA ile korunan tüm hesaplarınıza erişiminizi kaybedeceğinizi unutmayın. Eğer bir yedeğiniz varsa içiniz rahat olsun, bütün kodlarınızı geri yükleyebileceksiniz. Bulut Yedeklemesi @@ -447,7 +447,7 @@ Bu takma ad, 2FAS tarayıcı uzantısıyla eşleşen diğer cihazlar arasında bu cihazı belirlemenize yardımcı olur Tarayıcı Uzantıları ayarları <BİLİNMEYEN_AD> - %1$s, %2$s için 2AD jetonu talep etti. Onaylamak ve bu alan adıyla kaydetmek için hizmeti seçin. + %1$s, %2$s için 2FA\u0020\u0020jetonu talep etti. Onaylamak ve bu alan adıyla kaydetmek için hizmeti seçin. Tarayıcı isteği Jeton başarıyla gönderildi! @@ -463,8 +463,8 @@ Anlık Bildirimler Tarayıcı Uzantısı gibi işlevselliklere erişebilmek için uygulamanın Anlık Bildirimlere erişmesi gerekiyor. Bu ayarı istediğiniz zaman Sistem Ayarlarında değiştirebilirsiniz. İsteğin süresi doldu - 2AD Jetonu İsteği - Şunun için 2AD jetonunu paylaşmak ister misiniz: + 2FA Jetonu İsteği + Şunun için 2FA jetonunu paylaşmak ister misiniz\u0020 Bildirim yok 2 F A S 2FAS @@ -513,8 +513,8 @@ Eklenmiş hizmet yok ÖNERİLEN: Google Drive Eşitlemesi, cihazını kaybetme veya bozma olasılığına karşı jetonlarınızı Google Drive\'da güvende tutar. Google Drive Eşitlemesini açık bırakın. Google Drive Eşitlemesi kapatılsın mı? - 2AD jetonları bu cihazda ve Google Drive\'ınızda kalacak, ancak senkronize edilmeyecektir. Ayrıca Google Hesabınızdan çıkış yapmış olacaksınız. - Bu cihazın kaybolması veya hasar görmesi ya da uygulamanın kaldırılması durumunda jetonlarınızı kurtaramayabileceğinizi ve 2AD ile güvence altına alınan çevrimiçi hesaplara erişiminizi kaybedeceğinizi unutmayın. + 2FA jetonları bu cihazda ve Google Drive\'ınızda kalacak, ancak senkronize edilmeyecektir. Ayrıca Google Hesabınızdan çıkış yapmış olacaksınız. + Bu cihazın kaybolması veya hasar görmesi ya da uygulamanın kaldırılması durumunda jetonlarınızı kurtaramayabileceğinizi ve 2FA ile güvence altına alınan çevrimiçi hesaplara erişiminizi kaybedeceğinizi unutmayın. Google Drive yedek dosyasını özel bir parola ile koruyun. Şifreyi kaldır Google Drive yedek dosyanız için parolayı kaldırın. @@ -551,7 +551,7 @@ Açık Jeton panoya kopyalandı! Sonraki jeton panoya kopyalandı! - Bu 2AD hizmetini kalıcı olarak silmek istiyor musunuz? + Bu 2FA hizmetini kalıcı olarak silmek istiyor musunuz? Elle ekle Bu QR Kodu çalışmıyor! @@ -692,9 +692,9 @@ Ancak içeri aktarılabilecek hiçbir hizmet yok. Tekrar dene İlerle - 2AD jetonları Google Authenticator uygulamasından içeri aktarılıyor - 2AD jetonları Aegis uygulamasından içeri aktarılıyor - 2AD jetonları Raivo uygulamasından içeri aktarılıyor + 2FA jetonları Google Authenticator uygulamasından içeri aktarılıyor + 2FA\u0020\u0020jetonları Aegis uygulamasından içeri aktarılıyor + 2FA jetonları Raivo uygulamasından içeri aktarılıyor Bu QR kodu, jetonların Google Authenticator\'dan içeri aktarılmasına izin verir. Bu JSON dosyası, jetonların Aegis\'ten içeri aktarılmasına izin verir. Bu JSON dosyası, jetonların Raivo\'dan içeri aktarılmasına izin verir. @@ -734,7 +734,7 @@ LastPass Hesaplarınızı LastPass\'ten şifrelenmemiş bir JSON dosyasına aktarın ve \"JSON dosyası seç\" düğmesini kullanarak yükleyin. Başarılı bir içeri aktarma işleminden sonra dosyayı kaldırmayı unutmayın. Çökme Raporları - 2AD jetonları LastPass uygulamasından içeri aktarılıyor + 2FA jetonları LastPass uygulamasından içeri aktarılıyor Bu JSON dosyası, jetonların LastPass\'ten içeri aktarılmasına izin verir. Jetonları LastPass uygulamasından içeri aktar Jetonları Aegis\'ten içeri aktar @@ -759,7 +759,7 @@ Ne yapacağınızı bilmiyor musunuz? Yardım için basın Gelişmiş jeton ayarları Ek bilgi - Varsayılan jeton ayarlarının değiştirilmesi önerilmez. Bunu yalnızca 2AD sağlayıcınız gerek duyduğunda ve açık talimatlara sahip olduğunuzda yapın. + Varsayılan jeton ayarlarının değiştirilmesi önerilmez. Bunu yalnızca 2FA sağlayıcınız gerek duyduğunda ve açık talimatlara sahip olduğunuzda yapın. Uygulamada ekran görüntülerine 5 dakika için izin ver. Ekran görüntülerine izin ver Uygulamada ekran görüntülerine izin verilsin mi? @@ -778,17 +778,17 @@ Eşleştirme kodu Jetonları Authenticator Pro\'dan içeri aktar Bu metin dosyası, jetonların Authenticator Pro\'dan içeri aktarılmasına izin verir. - 2AD jetonları Authenticator Pro uygulamasından içeri aktarılıyor + 2FA jetonları Authenticator Pro uygulamasından içeri aktarılıyor Hesaplarınızı Authenticator Pro\'dan şifrelenmemiş bir metin dosyasına aktarın ve \"Metin dosyası seç\" düğmesini kullanarak yükleyin. Başarılı bir içeri aktarma işleminden sonra dosyayı kaldırmayı unutmayın. Authenticator Pro Metin belgesi seçin Biyometrik giriş, sistemdeki parmak izi ayarları değişikliklerinden dolayı devre dışı bırakıldı - 2AD jetonları LastPass uygulamasından içeri aktarılıyor + 2FA jetonları LastPass uygulamasından içeri aktarılıyor Bu QR kodu, jetonların LastPass\'ten içeri aktarılmasına izin verir Bana yol göster Hizmetleri gözden geçir 2FAS uygulaması ile eşleştirilecek uygulamayı seçin - Hizmetiniz için 2AD kılavuzları sağlamak ister misiniz? + Hizmetiniz için 2FA kılavuzları sağlamak ister misiniz? Şimdi uygula Pembe Kahverengi @@ -801,10 +801,10 @@ önerilmez 2FAS kılavuzu %s için 2FAS - Evrensel 2AD Kılavuzu + Evrensel 2FA Kılavuzu Seçimimi kaydet andOTP - 2AD jetonları andOTP uygulamasından içeri aktarılıyor + 2FA jetonları andOTP uygulamasından içeri aktarılıyor Bu JSON dosyası, jetonların andOTP\'den içeri aktarılmasına izin verir. Jetonları andOTP\'den içeri aktar Hesaplarınızı andOTP\'den şifrelenmemiş bir JSON dosyasına aktarın ve \"JSON dosyası seç\" düğmesini kullanarak yükleyin. Başarılı bir içeri aktarma işleminden sonra dosyayı kaldırmayı unutmayın. diff --git a/core/locale/src/main/res/values-uk-rUA/strings.xml b/core/locale/src/main/res/values-uk-rUA/strings.xml index 676c94f4..8e723cec 100644 --- a/core/locale/src/main/res/values-uk-rUA/strings.xml +++ b/core/locale/src/main/res/values-uk-rUA/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: uk-UA, Ukrainian (Ukraine) Exported by: rafakob - Exported at: Sun, 26 Nov 2023 03:22:29 -0800 + Exported at: Mon, 27 Nov 2023 14:14:13 -0800 --> - 2FAS uses iCloud for secure backup and sync of your 2FA tokens. The **encrypted** backup data is stored in iCloud, accessible **only by the 2FAS app**. Additionally, this feature aids with token **recovery and syncing** across iOS devices.\n\nIt\'s enabled by default and can disabled at any time in the app\'s backup settings. - Learn more about backup - It looks like your Google Drive backup file is password-protected. Type in the correct password to proceed. If you’d like to wipe your Google Drive backup file, - tap here to see how + 2FAS verwendet iCloud für die sichere Sicherung und Synchronisierung deiner 2FA-Token. Die **verschlüsselten** Backup-Daten werden in iCloud gespeichert und sind nur über die 2FAS-App zugänglich. Darüber hinaus unterstützt diese Funktion die Wiederherstellung und Synchronisierung von Tokens auf iOS-Geräten.\n\nStandardmäßig ist dies aktiviert und kann in den Backup-Einstellungen der App jederzeit deaktiviert werden. + Lerne mehr über die Datensicherung + Es scheint, als wäre deine Google Drive-Backup-Datei passwortgeschützt. Gib das richtige Passwort ein, um fortzufahren. Wenn du deine Google Drive-Backup-Datei löschen möchtest, ... + Tippe hier, um zu sehen, wie es funktioniert + Einstellungen + Es zählt + Token verwalten + Deine Unterstützung ermöglicht uns die Entwicklung neuer Funktionen und Verbesserungen. Danke dir! + Wiederherstellen aus dem Papierkorb diff --git a/core/locale/src/main/res/values-es-rES/strings.xml b/core/locale/src/main/res/values-es-rES/strings.xml index ab2b8d85..643485c4 100644 --- a/core/locale/src/main/res/values-es-rES/strings.xml +++ b/core/locale/src/main/res/values-es-rES/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: es-ES, Spanish (Spain) Exported by: rafakob - Exported at: Mon, 27 Nov 2023 14:14:13 -0800 + Exported at: Thu, 21 Dec 2023 12:34:52 -0800 --> - 2FAS uses iCloud for secure backup and sync of your 2FA tokens. The **encrypted** backup data is stored in iCloud, accessible **only by the 2FAS app**. Additionally, this feature aids with token **recovery and syncing** across iOS devices.\n\nIt\'s enabled by default and can disabled at any time in the app\'s backup settings. - Learn more about backup - It looks like your Google Drive backup file is password-protected. Type in the correct password to proceed. If you’d like to wipe your Google Drive backup file, - tap here to see how + 2FAS usa iCloud para realizar respaldo y sincronizar de forma segura sus tokens 2FA. Los datos de respaldo **cifrados** se almacenan en iCloud, accesibles **solo mediante la aplicación 2FAS**. Además, esta función ayuda con la **recuperación y sincronización** de tokens entre dispositivos iOS.\n\nEstá habilitado de forma predeterminada y puede desactivarse en cualquier momento en la configuración de respaldo de la aplicación. + Saber más sobre el respaldo + Parece que su archivo de respaldo de Google Drive está protegido con contraseña. Escriba la contraseña correcta para continuar. Si desea borrar su archivo de respaldo de Google Drive, + toca aquí para ver cómo + Preferencias + Eso importa + Gestionar tokens + Tu apoyo nos permite desarrollar nuevas características y mejoras. ¡Gracias! + Recuperar de la papelera diff --git a/core/locale/src/main/res/values-fr-rFR/strings.xml b/core/locale/src/main/res/values-fr-rFR/strings.xml index 4f7e275b..2be41401 100644 --- a/core/locale/src/main/res/values-fr-rFR/strings.xml +++ b/core/locale/src/main/res/values-fr-rFR/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: fr-FR, French (France) Exported by: rafakob - Exported at: Mon, 27 Nov 2023 14:14:13 -0800 + Exported at: Thu, 21 Dec 2023 12:34:52 -0800 --> 2FAS menggunakan iCloud untuk pencadangan aman dan sinkronisasi token 2FA anda. Data cadangan **terenkripsi** disimpan di iCloud, dapat diakses **hanya melalui aplikasi 2FAS**. Selain itu, fitur ini membantu **pemulihan dan sinkronisasi** token di seluruh perangkat iOS. Ini diaktifkan secara default dan dapat dinonaktifkan kapan saja di pengaturan cadangan aplikasi. Pelajari lebih lanjut tentang pencadangan - It looks like your Google Drive backup file is password-protected. Type in the correct password to proceed. If you’d like to wipe your Google Drive backup file, - tap here to see how + Sepertinya file cadangan Google Drive Anda dilindungi kata sandi. Ketik kata sandi yang benar untuk melanjutkan. Jika Anda ingin menghapus file cadangan Google Drive, + ketuk di sini untuk melihat bagaimana + Preferensi + Itu penting + Mengelola token + Dukungan Anda memungkinkan kami untuk mengembangkan fitur-fitur baru dan\nperbaikan. Terima kasih! + Ambil dari tempat sampah diff --git a/core/locale/src/main/res/values-it-rIT/strings.xml b/core/locale/src/main/res/values-it-rIT/strings.xml index 3211e44e..fc415f31 100644 --- a/core/locale/src/main/res/values-it-rIT/strings.xml +++ b/core/locale/src/main/res/values-it-rIT/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: it-IT, Italian (Italy) Exported by: rafakob - Exported at: Mon, 27 Nov 2023 14:14:13 -0800 + Exported at: Thu, 21 Dec 2023 12:34:52 -0800 --> - 2FAS uses iCloud for secure backup and sync of your 2FA tokens. The **encrypted** backup data is stored in iCloud, accessible **only by the 2FAS app**. Additionally, this feature aids with token **recovery and syncing** across iOS devices.\n\nIt\'s enabled by default and can disabled at any time in the app\'s backup settings. - Learn more about backup - It looks like your Google Drive backup file is password-protected. Type in the correct password to proceed. If you’d like to wipe your Google Drive backup file, - tap here to see how + 2FAS utilizza iCloud per il backup e la sincronizzazione sicura dei tuoi token 2FA. Il backup **criptato** è salvato su iCloud e accessibile **solo dall\'app 2FAS**.\nIn più, questa funzione aiuta il **recupero e la sincronizzazione** dei token tra i dispositivi iOS.\n\nÈ abilitata di default e può essere disattivata in ogni momento nelle impostazioni di backup dell\'app. + Scopri di più sul backup + Sembra che il tuo backup di Google Drive sia protetto da password. Inserisci la password corretta per procedere. Se vuoi eliminare il tuo backup di Google Drive, + clicca qui per sapere come + Preferenze + È importante + Gestisci i token + Il tuo supporto ci permette di sviluppare nuove funzionalità e miglioramenti. Grazie! + Ripristina dal cestino diff --git a/core/locale/src/main/res/values-nl-rNL/strings.xml b/core/locale/src/main/res/values-nl-rNL/strings.xml index 53a18e1d..cec2ff30 100644 --- a/core/locale/src/main/res/values-nl-rNL/strings.xml +++ b/core/locale/src/main/res/values-nl-rNL/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: nl-NL, Dutch (Netherlands) Exported by: rafakob - Exported at: Mon, 27 Nov 2023 14:14:13 -0800 + Exported at: Thu, 21 Dec 2023 12:34:52 -0800 --> - 2FAS uses iCloud for secure backup and sync of your 2FA tokens. The **encrypted** backup data is stored in iCloud, accessible **only by the 2FAS app**. Additionally, this feature aids with token **recovery and syncing** across iOS devices.\n\nIt\'s enabled by default and can disabled at any time in the app\'s backup settings. - Learn more about backup - It looks like your Google Drive backup file is password-protected. Type in the correct password to proceed. If you’d like to wipe your Google Drive backup file, - tap here to see how + 2FAS gebruikt iCloud voor een veilige back-up en synchronisatie van uw 2FA tokens. De **versleutelde** back-upgegevens worden opgeslagen in iCloud en zijn **alleen toegankelijk via de 2FAS-app**. Bovendien helpt deze functie bij het **herstellen en synchroniseren** van tokens op iOS-apparaten.\n\nDeze functie is standaard ingeschakeld en kan op elk moment worden uitgeschakeld in de back-upinstellingen van de app. + Meer informatie over back-up + Het lijkt erop dat je Google Drive back-upbestand is beveiligd met een wachtwoord. Typ het juiste wachtwoord in om verder te gaan. Als je je Google Drive-back-upbestand wilt wissen, + tik hier om te zien hoe + Voorkeuren + Het is belangrijk + Tokens beheren + Dankzij uw steun kunnen we nieuwe functies en\nverbeteringen. Hartelijk dank! + Ophalen uit prullenbak diff --git a/core/locale/src/main/res/values-pl-rPL/strings.xml b/core/locale/src/main/res/values-pl-rPL/strings.xml index 5a943e94..9da87117 100644 --- a/core/locale/src/main/res/values-pl-rPL/strings.xml +++ b/core/locale/src/main/res/values-pl-rPL/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: pl-PL, Polish (Poland) Exported by: rafakob - Exported at: Mon, 27 Nov 2023 14:14:13 -0800 + Exported at: Thu, 21 Dec 2023 12:34:52 -0800 --> 2FAS używa iCloud do bezpiecznego tworzenia kopii zapasowych i synchronizacji tokenów 2FA. **Zaszyfrowane** dane kopii zapasowej są przechowywane w iCloud, dostępne **wyłącznie za pośrednictwem aplikacji 2FAS**. Dodatkowo funkcja ta pomaga **odzyskać i zsynchronizować** tokeny na urządzeniach z systemem iOS.\n\nJest ona domyślnie włączona i można ją wyłączyć w dowolnym momencie w ustawieniach kopii zapasowej w aplikacji. Dowiedz się więcej na temat kopii zapasowej Wygląda na to, że plik kopii zapasowej na Dysku Google jest chroniony hasłem. Wprowadź prawidłowe hasło, aby kontynuować. Jeśli chcesz wyczyścić plik kopii zapasowej Dysku Google, dotknij tutaj aby zobaczyć jak + Preferencje + To ważne + Zarządzaj tokenami + Twoje wsparcie pozwala nam rozwijać nowe funkcje i ulepszać aplikację. Dziękujemy! + Przywróć z kosza diff --git a/core/locale/src/main/res/values-pt-rBR/strings.xml b/core/locale/src/main/res/values-pt-rBR/strings.xml index 7323b624..546cc26c 100644 --- a/core/locale/src/main/res/values-pt-rBR/strings.xml +++ b/core/locale/src/main/res/values-pt-rBR/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: pt-BR, Brazilian Portuguese Exported by: rafakob - Exported at: Mon, 27 Nov 2023 14:14:13 -0800 + Exported at: Thu, 21 Dec 2023 12:34:52 -0800 --> \nConfigurações de Sistema O texto fornecido é muito curto (min. %d chars) - Não é recomendado + não é recomendado Guia 2FAS 2FAS para %s Guia Universal 2FAS @@ -815,8 +815,13 @@ Parear Sincronização segura e copia de segurança - \"**2Fas**\" usa o icloud para backup seguro + O 2FAS utiliza o iCloud para o backup seguro e sincronização de seus tokens 2FA. Os dados de backup **criptografados** são armazenados no iCloud, acessíveis **apenas pelo aplicativo 2FAS**. Além disso, essa funcionalidade auxilia na **recuperação e sincronização de tokens** entre dispositivos iOS.\n\nEssa opção é habilitada por padrão e pode ser desativada a qualquer momento nas configurações de backup do aplicativo. Leia mais sobre a cópia de segurança\u0020 Parece que o arquivo de backup do seu Google Drive está protegido por senha. Digite a senha correta para prosseguir. Se desejar apagar o arquivo de backup do Google Drive, toque aqui para ver como + Preferências + Isso importa + Gerenciar tokens + O seu apoio nos permite desenvolver novas funcionalidades e melhorias. Obrigado!\n\n\n\n\n\n + Recuperar da lixeira diff --git a/core/locale/src/main/res/values-pt-rPT/strings.xml b/core/locale/src/main/res/values-pt-rPT/strings.xml index be01d49e..e566a3fc 100644 --- a/core/locale/src/main/res/values-pt-rPT/strings.xml +++ b/core/locale/src/main/res/values-pt-rPT/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: pt-PT, Portuguese (Portugal) Exported by: rafakob - Exported at: Mon, 27 Nov 2023 14:14:13 -0800 + Exported at: Thu, 21 Dec 2023 12:34:52 -0800 --> - 2FAS uses iCloud for secure backup and sync of your 2FA tokens. The **encrypted** backup data is stored in iCloud, accessible **only by the 2FAS app**. Additionally, this feature aids with token **recovery and syncing** across iOS devices.\n\nIt\'s enabled by default and can disabled at any time in the app\'s backup settings. - Learn more about backup - It looks like your Google Drive backup file is password-protected. Type in the correct password to proceed. If you’d like to wipe your Google Drive backup file, - tap here to see how + 2FAS usa iCloud para backup seguro e sincronização de seus tokens 2FA. Os dados de backup **encriptados** são armazenados no iCloud, acessíveis **apenas pela aplicação 2FAS**. Além disso, este recurso ajuda na **recuperação e sincronização** de tokens em dispositivos iOS.\n\nEstá activada por predefinição e pode ser desactivada a qualquer momento nas definições de cópia de segurança da aplicação. + Saiba mais sobre a cópia de segurança + Parece que o seu ficheiro de cópia de segurança do Google Drive está protegido por palavra-passe. Digite a senha correta para continuar. Se pretender limpar o ficheiro de cópia de segurança do Google Drive, + toque aqui para ver como + Preferences + It matters + Manage tokens + Your support allows us to develop new features and\nimprovements. Thank you! + Retrieve from trash diff --git a/core/locale/src/main/res/values-tr-rTR/strings.xml b/core/locale/src/main/res/values-tr-rTR/strings.xml index d57b936f..ea72e64c 100644 --- a/core/locale/src/main/res/values-tr-rTR/strings.xml +++ b/core/locale/src/main/res/values-tr-rTR/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: tr-TR, Turkish (Turkey) Exported by: rafakob - Exported at: Mon, 27 Nov 2023 14:14:13 -0800 + Exported at: Thu, 21 Dec 2023 12:34:52 -0800 --> - Seçilen resmin içinde QR kodu yok. Lütfen başka bir resim deneyin. + Seçilen resmin içinde doğru QR kodu yok. Lütfen başka bir resim deneyin. Hizmet seç Ne hizmeti eklemek istiyorsunuz? Bu jetonu tekrar girin @@ -257,7 +257,7 @@ Hizmet başarıyla eklendi. Şunu şiddetle öneriyoruz ki\u0020 - QR ekran görüntüsünü galerinizden silin. + QR ekran görüntüsünü galerinizden silin.\u0020 Birisi bu QR kodunun ekran görüntüsünü ele geçirirse, bu hizmetin 2FA kodlarını alabilecektir. Bir simge talep edin Discord\'da bize ulaşın @@ -812,11 +812,16 @@ Bu riski alacağım, yedekleme yok Google Drive eşitlemesi başarıyla açıldı! İçeri aktarmaya çalıştığınız yedek dosyası bu uygulama sürümünde desteklenmiyor. Uygulama yalnızca %d sürümüne kadar olan yedek biçimi sürümlerini desteklerken, içeri aktarmaya çalıştığınız dosya %d sürümündedir. - Pair - Secure sync and backup + Eşleştir + Güvenli eşitleme ve yedekleme - 2FAS uses iCloud for secure backup and sync of your 2FA tokens. The **encrypted** backup data is stored in iCloud, accessible **only by the 2FAS app**. Additionally, this feature aids with token **recovery and syncing** across iOS devices.\n\nIt\'s enabled by default and can disabled at any time in the app\'s backup settings. - Learn more about backup - It looks like your Google Drive backup file is password-protected. Type in the correct password to proceed. If you’d like to wipe your Google Drive backup file, - tap here to see how + 2FAS, 2AD jetonlarınızın güvenli bir şekilde eşitlenmesi ve yedeklenmesi için iCloud\'u kullanır. **Şifrelenmiş** yedek verisi iCloud\'da saklanır ve bu veriye **sadece 2FAS uygulaması** erişebilir. Ek olarak, bu özellik iOS cihazları arasında jetonların **kurtarılmasına ve eşitlenmesine** yardımcı olur.\n\nBu özellik varsayılan olarak etkindir ve uygulamanın yedekleme ayarlarından her an devre dışı bırakılabilir. + Yedekleme hakkında daha fazla bilgi edinin + Google Drive yedek dosyanız parola korumalı gibi görünüyor. Devam etmek için doğru parolayı girin. Eğer Google Drive yedek dosyanızı silmek isterseniz, + nasıl olduğunu görmek için buraya basın + Tercihler + Önemli olan + Jetonları yönetin + Desteğiniz yeni özellikler geliştirmemize ve\niyileştirmeler. Teşekkür ederim! + Çöp kutusundan al diff --git a/core/locale/src/main/res/values-uk-rUA/strings.xml b/core/locale/src/main/res/values-uk-rUA/strings.xml index 8e723cec..4ad4ab2c 100644 --- a/core/locale/src/main/res/values-uk-rUA/strings.xml +++ b/core/locale/src/main/res/values-uk-rUA/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: uk-UA, Ukrainian (Ukraine) Exported by: rafakob - Exported at: Mon, 27 Nov 2023 14:14:13 -0800 + Exported at: Thu, 21 Dec 2023 12:34:52 -0800 --> 2FAS використовує iCloud для безпечного резервного копіювання та синхронізації ваших 2FA токенів. *Зашифровані* дані резервної копії зберігаються в iCloud, доступні *тільки за допомогою програми 2FAS*. Крім того, ця функція допомагає *відновлювати та синхронізувати* токени на пристроях iOS.\\n\\nЇЇ увімкнено за умовчанням і можна будь-коли вимкнути в налаштуваннях резервного копіювання програми. Дізнайтеся більше про резервне копіювання - It looks like your Google Drive backup file is password-protected. Type in the correct password to proceed. If you’d like to wipe your Google Drive backup file, - tap here to see how + Схоже, ваш файл резервної копії Google Drive захищено паролем. Щоб продовжити, введіть правильний пароль. Якщо ви хочете стерти файл резервної копії Google Диска, + натисніть тут, щоб побачити як + Preferences + It matters + Manage tokens + Your support allows us to develop new features and\nimprovements. Thank you! + Retrieve from trash diff --git a/core/locale/src/main/res/values/strings.xml b/core/locale/src/main/res/values/strings.xml index 09a606ae..6b86ce06 100644 --- a/core/locale/src/main/res/values/strings.xml +++ b/core/locale/src/main/res/values/strings.xml @@ -5,7 +5,7 @@ Release: Working copy Locale: en, English Exported by: rafakob - Exported at: Mon, 27 Nov 2023 14:14:13 -0800 + Exported at: Thu, 21 Dec 2023 12:34:52 -0800 -->