Add screenshot tests for all of regV5.

This commit is contained in:
Greyson Parrelli
2026-07-06 13:39:28 -03:00
committed by Alex Hart
parent 6664716930
commit 9814c520e2
296 changed files with 1462 additions and 1 deletions
+8
View File
@@ -33,6 +33,14 @@ screenshotTests {
imageDifferenceThreshold = 0.0001f
}
// The screenshot validation task compares every reference image in a single forked JVM, which
// exhausts the default heap once a module has many previews. Give it more room.
tasks.withType<Test>().configureEach {
if (name.contains("ScreenshotTest")) {
maxHeapSize = "4g"
}
}
wire {
kotlin {
javaInterop = true
@@ -68,7 +68,7 @@ fun DeviceTransferSetupScreen(
}
@Composable
private fun DeviceTransferSetupScreen(
internal fun DeviceTransferSetupScreen(
state: DeviceTransferSetupState,
permissionState: PermissionState,
onEvent: (DeviceTransferSetupScreenEvents) -> Unit,
@@ -0,0 +1,27 @@
/*
* Copyright 2026 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.signal.registration.screens.accountlocked
import androidx.compose.runtime.Composable
import com.android.tools.screenshot.PreviewTest
import org.signal.core.ui.compose.AllDevicePreviews
import org.signal.core.ui.compose.Previews
import org.signal.core.ui.compose.RtlPreview
class AccountLockedScreenScreenshotTests {
@PreviewTest
@AllDevicePreviews
@RtlPreview
@Composable
fun AccountLockedScreenPreview() {
Previews.Preview {
AccountLockedScreen(
state = AccountLockedState(daysRemaining = 7),
onEvent = {}
)
}
}
}
@@ -0,0 +1,27 @@
/*
* Copyright 2026 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.signal.registration.screens.aepentry
import androidx.compose.runtime.Composable
import com.android.tools.screenshot.PreviewTest
import org.signal.core.ui.compose.AllDevicePreviews
import org.signal.core.ui.compose.Previews
import org.signal.core.ui.compose.RtlPreview
class EnterAepScreenScreenshotTests {
@PreviewTest
@AllDevicePreviews
@RtlPreview
@Composable
fun EnterAepScreenPreview() {
Previews.Preview {
EnterAepScreen(
state = EnterAepState(isPasswordManagerAvailable = true),
onEvent = {}
)
}
}
}
@@ -0,0 +1,32 @@
/*
* Copyright 2026 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
@file:OptIn(ExperimentalPermissionsApi::class)
package org.signal.registration.screens.allownotifications
import android.Manifest
import androidx.compose.runtime.Composable
import com.android.tools.screenshot.PreviewTest
import com.google.accompanist.permissions.ExperimentalPermissionsApi
import org.signal.core.ui.compose.AllDevicePreviews
import org.signal.core.ui.compose.Previews
import org.signal.core.ui.compose.RtlPreview
import org.signal.registration.screens.util.MockPermissionsState
class AllowNotificationsScreenScreenshotTests {
@PreviewTest
@AllDevicePreviews
@RtlPreview
@Composable
fun AllowNotificationsScreenPreview() {
Previews.Preview {
AllowNotificationsScreen(
permissionState = MockPermissionsState(permission = Manifest.permission.POST_NOTIFICATIONS),
onProceed = {}
)
}
}
}
@@ -0,0 +1,37 @@
/*
* Copyright 2026 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.signal.registration.screens.countrycode
import androidx.compose.runtime.Composable
import com.android.tools.screenshot.PreviewTest
import org.signal.core.ui.compose.AllDevicePreviews
import org.signal.core.ui.compose.Previews
import org.signal.core.ui.compose.RtlPreview
class CountryCodePickerScreenScreenshotTests {
@PreviewTest
@AllDevicePreviews
@RtlPreview
@Composable
fun CountryCodePickerScreenPreview() {
Previews.Preview {
CountryCodePickerScreen(
state = CountryCodeState(
countryList = mutableListOf(
Country("🇺🇸", "United States", 1, "US"),
Country("🇨🇦", "Canada", 2, "CA"),
Country("🇲🇽", "Mexico", 3, "MX")
),
commonCountryList = mutableListOf(
Country("🇺🇸", "United States", 4, "US"),
Country("🇨🇦", "Canada", 5, "CA")
)
),
onEvent = {}
)
}
}
}
@@ -0,0 +1,31 @@
/*
* Copyright 2026 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.signal.registration.screens.createprofile
import androidx.compose.runtime.Composable
import com.android.tools.screenshot.PreviewTest
import org.signal.core.ui.compose.AllDevicePreviews
import org.signal.core.ui.compose.Previews
import org.signal.core.ui.compose.RtlPreview
class CreateProfileScreenScreenshotTests {
@PreviewTest
@AllDevicePreviews
@RtlPreview
@Composable
fun CreateProfileScreenPreview() {
Previews.Preview {
CreateProfileScreen(
state = CreateProfileState(
givenName = "Alice",
familyName = "Anderson",
isLoading = false
),
onEvent = {}
)
}
}
}
@@ -0,0 +1,27 @@
/*
* Copyright 2026 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.signal.registration.screens.devicetransfer.complete
import androidx.compose.runtime.Composable
import com.android.tools.screenshot.PreviewTest
import org.signal.core.ui.compose.AllDevicePreviews
import org.signal.core.ui.compose.Previews
import org.signal.core.ui.compose.RtlPreview
class DeviceTransferCompleteScreenScreenshotTests {
@PreviewTest
@AllDevicePreviews
@RtlPreview
@Composable
fun DeviceTransferCompleteScreenPreview() {
Previews.Preview {
DeviceTransferCompleteScreen(
state = DeviceTransferCompleteState(),
onEvent = {}
)
}
}
}
@@ -0,0 +1,27 @@
/*
* Copyright 2026 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.signal.registration.screens.devicetransfer.instructions
import androidx.compose.runtime.Composable
import com.android.tools.screenshot.PreviewTest
import org.signal.core.ui.compose.AllDevicePreviews
import org.signal.core.ui.compose.Previews
import org.signal.core.ui.compose.RtlPreview
class DeviceTransferInstructionsScreenScreenshotTests {
@PreviewTest
@AllDevicePreviews
@RtlPreview
@Composable
fun DeviceTransferInstructionsScreenPreview() {
Previews.Preview {
DeviceTransferInstructionsScreen(
state = DeviceTransferInstructionsState(),
onEvent = {}
)
}
}
}
@@ -0,0 +1,28 @@
/*
* Copyright 2026 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.signal.registration.screens.devicetransfer.progress
import androidx.compose.runtime.Composable
import com.android.tools.screenshot.PreviewTest
import org.signal.core.ui.compose.AllDevicePreviews
import org.signal.core.ui.compose.Previews
import org.signal.core.ui.compose.RtlPreview
class DeviceTransferProgressScreenScreenshotTests {
@PreviewTest
@AllDevicePreviews
@RtlPreview
@Composable
fun DeviceTransferProgressScreenPreview() {
Previews.Preview {
DeviceTransferProgressScreen(
state = DeviceTransferProgressState(messageCount = 1234),
showCancelDialog = false,
onEvent = {}
)
}
}
}
@@ -0,0 +1,33 @@
/*
* Copyright 2026 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
@file:OptIn(ExperimentalPermissionsApi::class)
package org.signal.registration.screens.devicetransfer.setup
import android.Manifest
import androidx.compose.runtime.Composable
import com.android.tools.screenshot.PreviewTest
import com.google.accompanist.permissions.ExperimentalPermissionsApi
import org.signal.core.ui.compose.AllDevicePreviews
import org.signal.core.ui.compose.Previews
import org.signal.core.ui.compose.RtlPreview
import org.signal.registration.screens.util.MockPermissionsState
class DeviceTransferSetupScreenScreenshotTests {
@PreviewTest
@AllDevicePreviews
@RtlPreview
@Composable
fun DeviceTransferSetupScreenPreview() {
Previews.Preview {
DeviceTransferSetupScreen(
state = DeviceTransferSetupState(),
permissionState = MockPermissionsState(permission = Manifest.permission.ACCESS_FINE_LOCATION),
onEvent = {}
)
}
}
}
@@ -0,0 +1,27 @@
/*
* Copyright 2026 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.signal.registration.screens.discoverability
import androidx.compose.runtime.Composable
import com.android.tools.screenshot.PreviewTest
import org.signal.core.ui.compose.AllDevicePreviews
import org.signal.core.ui.compose.Previews
import org.signal.core.ui.compose.RtlPreview
class PhoneNumberDiscoverabilityScreenScreenshotTests {
@PreviewTest
@AllDevicePreviews
@RtlPreview
@Composable
fun PhoneNumberDiscoverabilityScreenPreview() {
Previews.Preview {
PhoneNumberDiscoverabilityScreen(
state = PhoneNumberDiscoverabilityState(discoverable = true),
onEvent = {}
)
}
}
}
@@ -0,0 +1,32 @@
/*
* Copyright 2026 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.signal.registration.screens.linkaccount
import androidx.compose.runtime.Composable
import com.android.tools.screenshot.PreviewTest
import org.signal.core.ui.compose.AllDevicePreviews
import org.signal.core.ui.compose.Previews
import org.signal.core.ui.compose.QrCodeData
import org.signal.core.ui.compose.RtlPreview
import org.signal.registration.screens.quickrestore.QrState
class LinkAccountScreenScreenshotTests {
@PreviewTest
@AllDevicePreviews
@RtlPreview
@Composable
fun LinkAccountScreenPreview() {
Previews.Preview {
LinkAccountScreen(
state = LinkAccountScreenState(
qrCodeState = QrState.Loaded(qrCodeData = QrCodeData.forData("sgnl://rereg?uuid=test&pub_key=test", true)),
displayQrOverlay = false
),
onEvent = {}
)
}
}
}
@@ -0,0 +1,27 @@
/*
* Copyright 2026 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.signal.registration.screens.localbackuprestore
import androidx.compose.runtime.Composable
import com.android.tools.screenshot.PreviewTest
import org.signal.core.ui.compose.AllDevicePreviews
import org.signal.core.ui.compose.Previews
import org.signal.core.ui.compose.RtlPreview
class LocalBackupRestoreScreenScreenshotTests {
@PreviewTest
@AllDevicePreviews
@RtlPreview
@Composable
fun LocalBackupRestoreScreenPreview() {
Previews.Preview {
LocalBackupRestoreScreen(
state = LocalBackupRestoreState(restorePhase = LocalBackupRestoreState.RestorePhase.SelectFolder),
onEvent = {}
)
}
}
}
@@ -0,0 +1,32 @@
/*
* Copyright 2026 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.signal.registration.screens.messagesync
import androidx.compose.runtime.Composable
import com.android.tools.screenshot.PreviewTest
import org.signal.core.ui.compose.AllDevicePreviews
import org.signal.core.ui.compose.Previews
import org.signal.core.ui.compose.RtlPreview
import org.signal.core.util.kibiBytes
import org.signal.core.util.mebiBytes
class MessageSyncScreenScreenshotTests {
@PreviewTest
@AllDevicePreviews
@RtlPreview
@Composable
fun MessageSyncScreenPreview() {
Previews.Preview {
MessageSyncScreen(
state = MessageSyncScreenState(
downloadedBytes = 1.mebiBytes,
totalBytes = 3300.kibiBytes
),
onEvent = {}
)
}
}
}
@@ -0,0 +1,42 @@
/*
* Copyright 2026 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
@file:OptIn(ExperimentalPermissionsApi::class)
package org.signal.registration.screens.permissions
import android.Manifest
import androidx.compose.runtime.Composable
import com.android.tools.screenshot.PreviewTest
import com.google.accompanist.permissions.ExperimentalPermissionsApi
import org.signal.core.ui.compose.AllDevicePreviews
import org.signal.core.ui.compose.Previews
import org.signal.core.ui.compose.RtlPreview
import org.signal.registration.screens.util.MockMultiplePermissionsState
import org.signal.registration.screens.util.MockPermissionsState
class PermissionsScreenScreenshotTests {
@PreviewTest
@AllDevicePreviews
@RtlPreview
@Composable
fun PermissionsScreenPreview() {
Previews.Preview {
PermissionsScreen(
permissionsState = MockMultiplePermissionsState(
permissions = listOf(
Manifest.permission.POST_NOTIFICATIONS,
Manifest.permission.READ_CONTACTS,
Manifest.permission.WRITE_CONTACTS,
Manifest.permission.READ_PHONE_STATE,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE
).map { MockPermissionsState(it) }
),
onProceed = {}
)
}
}
}
@@ -0,0 +1,27 @@
/*
* Copyright 2026 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.signal.registration.screens.phonenumber
import androidx.compose.runtime.Composable
import com.android.tools.screenshot.PreviewTest
import org.signal.core.ui.compose.AllDevicePreviews
import org.signal.core.ui.compose.Previews
import org.signal.core.ui.compose.RtlPreview
class PhoneNumberScreenScreenshotTests {
@PreviewTest
@AllDevicePreviews
@RtlPreview
@Composable
fun PhoneNumberScreenPreview() {
Previews.Preview {
PhoneNumberScreen(
state = PhoneNumberEntryState(),
onEvent = {}
)
}
}
}
@@ -0,0 +1,27 @@
/*
* Copyright 2026 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.signal.registration.screens.pincreation
import androidx.compose.runtime.Composable
import com.android.tools.screenshot.PreviewTest
import org.signal.core.ui.compose.AllDevicePreviews
import org.signal.core.ui.compose.Previews
import org.signal.core.ui.compose.RtlPreview
class PinCreationScreenScreenshotTests {
@PreviewTest
@AllDevicePreviews
@RtlPreview
@Composable
fun PinCreationScreenPreview() {
Previews.Preview {
PinCreationScreen(
state = PinCreationState(isAlphanumericKeyboard = false),
onEvent = {}
)
}
}
}
@@ -0,0 +1,27 @@
/*
* Copyright 2026 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.signal.registration.screens.pinentry
import androidx.compose.runtime.Composable
import com.android.tools.screenshot.PreviewTest
import org.signal.core.ui.compose.AllDevicePreviews
import org.signal.core.ui.compose.Previews
import org.signal.core.ui.compose.RtlPreview
class PinEntryScreenScreenshotTests {
@PreviewTest
@AllDevicePreviews
@RtlPreview
@Composable
fun PinEntryScreenPreview() {
Previews.Preview {
PinEntryScreen(
state = PinEntryState(),
onEvent = {}
)
}
}
}
@@ -0,0 +1,30 @@
/*
* Copyright 2026 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.signal.registration.screens.quickrestore
import androidx.compose.runtime.Composable
import com.android.tools.screenshot.PreviewTest
import org.signal.core.ui.compose.AllDevicePreviews
import org.signal.core.ui.compose.Previews
import org.signal.core.ui.compose.QrCodeData
import org.signal.core.ui.compose.RtlPreview
class QuickRestoreQrScreenScreenshotTests {
@PreviewTest
@AllDevicePreviews
@RtlPreview
@Composable
fun QuickRestoreQrScreenPreview() {
Previews.Preview {
QuickRestoreQrScreen(
state = QuickRestoreQrState(
qrState = QrState.Loaded(QrCodeData.forData("sgnl://rereg?uuid=test&pub_key=test", false))
),
onEvent = {}
)
}
}
}
@@ -0,0 +1,33 @@
/*
* Copyright 2026 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.signal.registration.screens.remotebackuprestore
import androidx.compose.runtime.Composable
import com.android.tools.screenshot.PreviewTest
import org.signal.core.models.AccountEntropyPool
import org.signal.core.ui.compose.AllDevicePreviews
import org.signal.core.ui.compose.Previews
import org.signal.core.ui.compose.RtlPreview
class RemoteRestoreScreenScreenshotTests {
@PreviewTest
@AllDevicePreviews
@RtlPreview
@Composable
fun RemoteRestoreScreenPreview() {
Previews.Preview {
RemoteRestoreScreen(
state = RemoteBackupRestoreState(
aep = AccountEntropyPool("0000000000000000000000000000000000000000000000000000000000000000"),
loadState = RemoteBackupRestoreState.LoadState.Loaded,
backupTime = 1700000000000L,
backupSize = 1234567
),
onEvent = {}
)
}
}
}
@@ -0,0 +1,34 @@
/*
* Copyright 2026 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.signal.registration.screens.restoreselection
import androidx.compose.runtime.Composable
import com.android.tools.screenshot.PreviewTest
import org.signal.core.ui.compose.AllDevicePreviews
import org.signal.core.ui.compose.Previews
import org.signal.core.ui.compose.RtlPreview
class ArchiveRestoreSelectionScreenScreenshotTests {
@PreviewTest
@AllDevicePreviews
@RtlPreview
@Composable
fun ArchiveRestoreSelectionScreenPreview() {
Previews.Preview {
ArchiveRestoreSelectionScreen(
state = ArchiveRestoreSelectionState(
restoreOptions = listOf(
ArchiveRestoreOption.SignalSecureBackup,
ArchiveRestoreOption.LocalBackup,
ArchiveRestoreOption.DeviceTransfer,
ArchiveRestoreOption.None
)
),
onEvent = {}
)
}
}
}
@@ -0,0 +1,27 @@
/*
* Copyright 2026 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.signal.registration.screens.verificationcode
import androidx.compose.runtime.Composable
import com.android.tools.screenshot.PreviewTest
import org.signal.core.ui.compose.AllDevicePreviews
import org.signal.core.ui.compose.Previews
import org.signal.core.ui.compose.RtlPreview
class VerificationCodeScreenScreenshotTests {
@PreviewTest
@AllDevicePreviews
@RtlPreview
@Composable
fun VerificationCodeScreenPreview() {
Previews.Preview {
VerificationCodeScreen(
state = VerificationCodeState(e164 = "+1 555-123-4567"),
onEvent = {}
)
}
}
}
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d66781c5420b5c7c4073651cdf42068f5bf12583a3c4e7e985725558b6244098
size 77081
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:23e9b5632c182c3817a43a4df5b68492c1c802363832da8f4b7e0afbc347830c
size 76972
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:32402b558277d3147d8d326fa2700b0411c03489038daff1140eab3be580b2c5
size 78283
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:228ecf13a8f8f0f681fee90ef78b3e8dfc6db7f9c826483b3e049553256a15cb
size 54855
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3e2db697a4b0d3d999f65a17405c956a97314fddad82b9b8e5763bd00aed7237
size 54734
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5e0870d38fdfaceb065ed00de06a9a73ad3ef1ad648510a2742010cf45e7db2e
size 61165
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fc0745299f55b5cbb6d17ebd82f7da358d7ec74c4618a45b1a638f99f724384b
size 68916
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:166e1d450935fb8263628d446e8779d3ddfb6aeb3964d9c7959dc0b9d83382d0
size 69586
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1e80652eff7f2c19981fe492b45c67f46592381e9e734e15b40ed9c286240635
size 69472
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1c955fac850d9c2ba47febc9c8a21296cde54401da7f6744478b82a944b797a7
size 72232
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:82be652cd10b83d49074e1ee1e14fba1cb7fd1f55042a493a880f65feabbe2bc
size 83311
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:441ca1510af846ef037b90664366d946777e0f2ae046140156e432e948367b46
size 83287
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0234f410be6b350282e725b4d81dceccbd38958b020edeb195c556dc4f6ecbed
size 83278
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:baced4c1ebf3ea0a4ff3d310845706ace098d90b48852847a8c0112b71da2f01
size 73821
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5eaf6d2c09503281f06a0b093a4047abb29f4245bfe17a14e0429f2d75677048
size 74065
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e1bd8ac25cf1e0862d792d4b8bd6dbbe43d074a414c21012f2a1d482fa4eae0b
size 74258
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:edcb2fdb301345119716494de7056f76b166c52bd9b4b72b3a0bfed5ed20123f
size 42180
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:02588d1a706171fe5f842278dd5cdd0cff2283c0bce88ee2007e4ffc322f023a
size 42184
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dd4919531958f487d4eaa02a3fbb03aeb708cf4cca281cba8b77d6042213c0e5
size 52747
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dd201517658ecba0961311aae782d9c99cbc543cd80099b9b55846e2cc1793bb
size 72095
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:34f77124679126f9e78a8cb9a7885e3e75645402a521544d0a877c4aeed31551
size 63305
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:97ff0615feee05ea9bded4f8300435106560be33f0a1d38ac1226d35e42dd9b9
size 63593
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0ceba3dd8afabe1a7242fbf92f96ca18233f08129f255ad8d1fa58e95ff50d4e
size 66765
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e8213bf4de8972e3c2cb35ad50812bacb5b1cae3bab1fac5d949886161922a51
size 81022
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:50fd58540256617719777246966d2fb7e5f809ca55edef73b081d65a2ffaab0a
size 81239
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:134ba13efc258c9863a7c7464209e194cb24529e0c2604277be34da5e679b4ad
size 81687
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2e1a49095a8f3d1983e54de14e493e69429ea3f45a84326fb85f9db1dfe45fbb
size 127594
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:58a5cb3ae0d20092cce30892d486f2905f61087c0c387026b79b4408e0af746c
size 123136
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:eb285b2c87cf062cd9de3fcfdd918c1c9b8feeea64ae4f69f46eda11fc1db6b9
size 128831
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b0e79089d2328ab8de0b5d2dd2b506ad08b01c3fafa45fbdf7c59e0601a6fd2c
size 58318
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9338ca7b89284739aa0d705451c195b082776768a21e0e136b9d510175ac888e
size 57006
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:208bc63fdff848332c7ccdfb5059034cbb678157e0fd17db2283e961593ffc33
size 171158
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a22b3dcceaa4b88be8288cb6c1cef40ea998f47e36fcd6e24e118e3249bfac78
size 108836
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d78f8fb723e8a8b867922794fd622b6d9b07c4d6c0cebc6bcd8def7493670511
size 187303
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cb168e2ae340449062b55ade04419fb47bacaf642a20681038fada63e5249692
size 176827
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:83e71a315c96b6389bf50c4f8def1c152c424b9a5d6e1bfc9ea2766f095daa80
size 159740
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:eb491f348fb2f1367c2200ed334d055a3f621baf51ee99b05c15244480665aa5
size 135222
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b97307ef0bf3439ee66aa358c66ca6a7f3d5406ab313d24455a139ef6e6729a9
size 130557
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0726923f92d4197867cabc390e5e31cf2e9f309389354b43f8dabd7784c879d1
size 136099
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:baae4a5d70aaf319323250b6bfca1808d1bbb9eeac4d927086a4cf720ceef936
size 83400
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bf6119a78d4b5bee717f4b7559c2a2719b9afd4b307ba3ff114214ec10b1f03c
size 83708
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c6bc0f181264f3e6f8f5747da71d4013907c2cea4bd232377a981aa6820951f4
size 83659
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:163f5ec137fde709e60e5404276179c08acaeda2ee71521438322c2c6e184802
size 41309
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:53e1ea5064d0e6a311f44ecb9692aca4d0f5ce41c3b2d812f2a1ae3a986bbb95
size 41475
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5868f1caea0e0f96f85abcf30bd52178c536eea98686ea7bf2258eb0dcc1014b
size 64483
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bf803bdd50fa32065734aa15c845f0dca30f6c5f7f105a70fad8da820f98c4ad
size 69809
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f23da2e7baa4347deeb8bd6f15c3dc8e1ba9459dfb92c428686fa4105ec8dfcd
size 73006
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:309c52c63f71a1391d7c6dfd40d433a59a5c16836d40af219722aa9e4118c0cd
size 73285
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:014d160d3c7bfeeba7aea786740562cd555960b589348a9bf6d86c0c80760f05
size 73302
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4eaf10876ab9760040493868db2ed440c23c7a1a02616d78da7d4c20487ce6ee
size 90991
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fd93e417bf7b4973f305dd968f9f843e89116d7d77d972ea02472eea110d7478
size 91256
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4d9e4ad1ae9b275aed59310a037d1315db32f668e908ead971198687401ad725
size 93948
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c67570faf8de0bf4634811367d30b12c5919cdefd09e35a5224d027ef9a5c2ac
size 91434
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ece183a9c7d961f805e2ecd6ea8d24b5e4b703a24e78a5ae40b16d856f299376
size 91974
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4bfd31b5e03766f6ec3fe5cd0af59b40c3c85fd14fea3ed86542879c764bc5b2
size 91712
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c192157bb6a5aef1ced97ae071865a59c587c711314900a4ab9104bb549f13df
size 43393
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f4be4e46f13ca43c87cc5f3a94b327b80abaac27ccd6cf8422ae3e5e5a8ece48
size 44050
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:edbeba4d75ba915e9ed55e9f4779f4306339f581291e8a65dd10b76bde7db631
size 74169
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a59b571b630b101c1ac5f4be6f544dbbfe76d03c46ebfb5e00aa74cfa523c876
size 89478
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2aa90070eacb59a79f7da76cfe5734ccc6e1602bcfec66a14e7c9feac77a3d0b
size 79768
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:262e10d8fcd4c766b6b034918b38d9c7f73bd5f410eb35ba1551974004d85e49
size 80521
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:94a80f83d4a0220f41f02fce2d23a3ba02e362f68c4fea6999092dff30683dc9
size 80324
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:af7214e968694c29110bea3bd195f4ca2694c3cee162799f4dd032da0ca80616
size 99133
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9825b368b11ad65909d825e9b9ad498c619b8cb7736e4e93132562e616c71d93
size 99749
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:025c4fdb984843fe514727bf213bb521c95c4a053e41d34bb6189abb2a9800e6
size 101480
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:48a971cf7f7e0e15847bbb757d932018ac230109abbdde3e3f9cd71816da7a4a
size 47900
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7c4fb9208a6c2c76ca9c222130c1967a26793c72e64b0052c2cf9f3c13c88889
size 48293
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:65de0cda927627c3188fee10ede29402a2d44609ef3ade128aae0f25e62aead8
size 48336
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cb74183238f9a3b78ebe2cf7138a3de9ce3ac168541919a400bc3c35c8e07cc0
size 30479
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:41a5f7e0b1a1c11cf603b3c04d7208e84f0694c37ad9c9c1d90f2f4832f36dea
size 30843
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c6fd38cd8ed50741e43d7361a36388923d4d90d2fb8e6c112f67849b4c6b1994
size 31146
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:935460cdae5380cd43862a6fce0a45ca400ef40f233abe1bc65baeeedd4e1ecf
size 36796
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ebe0fb81f277707cb308838e26388da92cc686461216b5eaa1ace61ba630d332
size 37726
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dae2731abe88db71b03c345de0b029f79d5d7ce6eea3a6be7c902a9243624ce1
size 38135
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8d82e581f5c8adc0017b7968426a6d85aa1664110f506c5ee3a5b950c51e09c0
size 38356
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:752d025c045da2ed5a944770580b2f50f2b8f8c50ef1820ba468c81a3eafdcdc
size 55182
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e2fcc36797d9d4a353186c05c5e8858509d5900ca3232c0e0060020d23a78e5f
size 55502

Some files were not shown because too many files have changed in this diff Show More