Use more Liquid Glass in the room/space screen toolbars (#4965)
* Add a glass style to the Room/Space header view on iOS 26. * Update snapshots and fix the join call button.
This commit is contained in:
@@ -755,10 +755,6 @@ extension AccessibilityTests {
|
||||
try await performAccessibilityAudit(named: "TimelineThreadSummaryView_Previews")
|
||||
}
|
||||
|
||||
func testTimelineView() async throws {
|
||||
try await performAccessibilityAudit(named: "TimelineView_Previews")
|
||||
}
|
||||
|
||||
func testTombstonedAvatarImage() async throws {
|
||||
try await performAccessibilityAudit(named: "TombstonedAvatarImage_Previews")
|
||||
}
|
||||
|
||||
@@ -616,7 +616,6 @@
|
||||
6B3AB95A6993646A5081BFF9 /* TestablePreview.swift in Sources */ = {isa = PBXBuildFile; fileRef = E43F773904F87FF5ADFE4DD1 /* TestablePreview.swift */; };
|
||||
6B61F5B27412ED4BC2F9769C /* test_audio.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 66B96842BF5F8ACA1AC84C55 /* test_audio.mp3 */; };
|
||||
6B80C24A52411EAF10E06E96 /* SecurityAndPrivacyScreenModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BBADF8010C813D905C172CE /* SecurityAndPrivacyScreenModels.swift */; };
|
||||
6BAD956B909A6E29F6CC6E7C /* ButtonStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CC23C63849452BC86EA2852 /* ButtonStyle.swift */; };
|
||||
6BAE34CFA9821709CFE61E50 /* DeveloperOptionsScreenHook.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F60FDB3AEFC60830BD289FE /* DeveloperOptionsScreenHook.swift */; };
|
||||
6C34237AFB808E38FC8776B9 /* RoomStateEventStringBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D55702474F279D910D2D162 /* RoomStateEventStringBuilder.swift */; };
|
||||
6C8BAF1E91618D69E7D652B2 /* NotificationServiceExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27A1AD6389A4659AF0CEAE62 /* NotificationServiceExtension.swift */; };
|
||||
@@ -743,6 +742,7 @@
|
||||
80DEA2A4B20F9E279EAE6B2B /* UserProfile+Mock.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAD01F7FC2BBAC7351948595 /* UserProfile+Mock.swift */; };
|
||||
80F6C8EFCA4564B67F0D34B0 /* DeactivateAccountScreenViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D77F75B3E9F99864048A422A /* DeactivateAccountScreenViewModelTests.swift */; };
|
||||
81A7C020CB5F6232242A8414 /* UserSessionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F36C0A6D59717193F49EA986 /* UserSessionTests.swift */; };
|
||||
81CFE6FE42DF26BBCEDC7FF2 /* JoinCallButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98ABC939BC8F08CA3E967D6C /* JoinCallButton.swift */; };
|
||||
81D4E550668B230A63B26CFB /* SpacesScreenViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB98BFD8E93C7FCCEDEC46F9 /* SpacesScreenViewModel.swift */; };
|
||||
8285FF4B2C2331758C437FF7 /* ReportContentScreenViewModelProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 713B48DBF65DE4B0DD445D66 /* ReportContentScreenViewModelProtocol.swift */; };
|
||||
828EA5009557C2B9DCD4CA0F /* UserDiscoverySection.swift in Sources */ = {isa = PBXBuildFile; fileRef = D071F86CD47582B9196C9D16 /* UserDiscoverySection.swift */; };
|
||||
@@ -2310,7 +2310,6 @@
|
||||
8C0D5AE752AF87DA0A920812 /* TimelineControllerFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelineControllerFactory.swift; sourceTree = "<group>"; };
|
||||
8C44BBC892499BE45B074F89 /* AppLockScreenCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppLockScreenCoordinator.swift; sourceTree = "<group>"; };
|
||||
8C8616254EE40CA8BA5E9BC2 /* VideoRoomTimelineItemContent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VideoRoomTimelineItemContent.swift; sourceTree = "<group>"; };
|
||||
8CC23C63849452BC86EA2852 /* ButtonStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ButtonStyle.swift; sourceTree = "<group>"; };
|
||||
8D152423EE6CF0ECCC84091A /* BloomModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BloomModifier.swift; sourceTree = "<group>"; };
|
||||
8D1FA20DAB853C1156054912 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
8D55702474F279D910D2D162 /* RoomStateEventStringBuilder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomStateEventStringBuilder.swift; sourceTree = "<group>"; };
|
||||
@@ -2377,6 +2376,7 @@
|
||||
98784280D98C852727BE0111 /* AuthenticationStartLogo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthenticationStartLogo.swift; sourceTree = "<group>"; };
|
||||
989D7380D9C86B3A10D30B13 /* AppLockSetupPINScreenViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppLockSetupPINScreenViewModelTests.swift; sourceTree = "<group>"; };
|
||||
989FC684408B31A677F5538B /* CompletionSuggestionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CompletionSuggestionView.swift; sourceTree = "<group>"; };
|
||||
98ABC939BC8F08CA3E967D6C /* JoinCallButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JoinCallButton.swift; sourceTree = "<group>"; };
|
||||
98C6A082F2B2A15E1B9BE280 /* TimelineItemThreadSummary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelineItemThreadSummary.swift; sourceTree = "<group>"; };
|
||||
997BF045585AF6DB2EBC5755 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
9A008E57D52B07B78DFAD1BB /* RoomFlowCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomFlowCoordinator.swift; sourceTree = "<group>"; };
|
||||
@@ -3692,11 +3692,11 @@
|
||||
9A028783CFFF861C5E44FFB1 /* BadgeLabel.swift */,
|
||||
C1FA515B3B0D61EF1E907D2D /* BadgeView.swift */,
|
||||
07934EF08BB39353E4A94272 /* BlurEffectView.swift */,
|
||||
8CC23C63849452BC86EA2852 /* ButtonStyle.swift */,
|
||||
FEC4B431B0117BDEE697DB4A /* ComposerDisabledView.swift */,
|
||||
B682FE2C44C5E163E7023B05 /* CopyTextButton.swift */,
|
||||
E2776E63E02719B20758EB78 /* EditRoomAddressListRow.swift */,
|
||||
8F4F0AB250EFA7B71FB2BDB2 /* HorizontalHighlightGradient.swift */,
|
||||
98ABC939BC8F08CA3E967D6C /* JoinCallButton.swift */,
|
||||
F320003F490B11F808ECC5E9 /* JoinedMembersBadgeView.swift */,
|
||||
9C6B6FFCE5B28AA03DD46F46 /* LinkPreviewView.swift */,
|
||||
B590BD4507D4F0A377FDE01A /* LoadableAvatarImage.swift */,
|
||||
@@ -7916,7 +7916,6 @@
|
||||
9A8E6FCD86B89970EC72EFD8 /* BugReportServiceMock.swift in Sources */,
|
||||
172E6E9A612ADCF10A62CF13 /* BugReportServiceProtocol.swift in Sources */,
|
||||
E1DF24D085572A55C9758A2D /* Bundle.swift in Sources */,
|
||||
6BAD956B909A6E29F6CC6E7C /* ButtonStyle.swift in Sources */,
|
||||
5470E62F65AE1803BBF3D528 /* CXProviderMock.swift in Sources */,
|
||||
3D0DAED550E967AB49F1758C /* CXProviderProtocol.swift in Sources */,
|
||||
01B63F1A04A276B39AC17014 /* CallInviteRoomTimelineItem.swift in Sources */,
|
||||
@@ -8112,6 +8111,7 @@
|
||||
A17FAD2EBC53E17B5FD384DB /* InviteUsersScreenViewModelProtocol.swift in Sources */,
|
||||
89B909AC66B96FA054EF3C14 /* InvitedRoomProxy.swift in Sources */,
|
||||
07376A5274822EB45CC320C7 /* InvitedRoomProxyMock.swift in Sources */,
|
||||
81CFE6FE42DF26BBCEDC7FF2 /* JoinCallButton.swift in Sources */,
|
||||
B8D9960F77B213FD1B0B0FD3 /* JoinRoomByAddressView.swift in Sources */,
|
||||
6A54F52443EC52AC5CD772C0 /* JoinRoomScreen.swift in Sources */,
|
||||
AFE2AB612A1460E49578D746 /* JoinRoomScreenCoordinator.swift in Sources */,
|
||||
|
||||
@@ -52,7 +52,7 @@ extension View {
|
||||
if #available(iOS 26, *) {
|
||||
// `.glassProminent` breaks our preview tests so we need to disable it when running tests.
|
||||
// https://github.com/pointfreeco/swift-snapshot-testing/issues/1029#issuecomment-3366942138
|
||||
if ProcessInfo.isRunningTests {
|
||||
if ProcessInfo.isRunningUnitTests {
|
||||
self
|
||||
} else {
|
||||
buttonStyle(.glassProminent)
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
//
|
||||
// Copyright 2025 Element Creations Ltd.
|
||||
// Copyright 2023-2025 New Vector Ltd.
|
||||
//
|
||||
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
|
||||
// Please see LICENSE files in the repository root for full details.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct ElementCallButtonStyle: ButtonStyle {
|
||||
func makeBody(configuration: Configuration) -> some View {
|
||||
configuration.label
|
||||
.padding(.horizontal, 16.0)
|
||||
.padding(.vertical, 4.0)
|
||||
.foregroundColor(.compound.bgCanvasDefault)
|
||||
.background(Color.compound.iconAccentTertiary)
|
||||
.clipShape(Capsule())
|
||||
}
|
||||
}
|
||||
67
ElementX/Sources/Other/SwiftUI/Views/JoinCallButton.swift
Normal file
67
ElementX/Sources/Other/SwiftUI/Views/JoinCallButton.swift
Normal file
@@ -0,0 +1,67 @@
|
||||
//
|
||||
// Copyright 2025 Element Creations Ltd.
|
||||
// Copyright 2023-2025 New Vector Ltd.
|
||||
//
|
||||
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
|
||||
// Please see LICENSE files in the repository root for full details.
|
||||
//
|
||||
|
||||
import Compound
|
||||
import SwiftUI
|
||||
|
||||
struct JoinCallButton: View {
|
||||
let action: () -> Void
|
||||
|
||||
var body: some View {
|
||||
if #available(iOS 26, *) {
|
||||
glassButton
|
||||
} else {
|
||||
customButton
|
||||
}
|
||||
}
|
||||
|
||||
var glassButton: some View {
|
||||
Button(action: action) {
|
||||
Text(L10n.a11yJoinCall)
|
||||
.font(.compound.bodyLG.weight(.medium))
|
||||
.foregroundStyle(.compound.textOnSolidPrimary)
|
||||
}
|
||||
.tint(.compound.bgAccentRest)
|
||||
.backportButtonStyleGlassProminent()
|
||||
}
|
||||
|
||||
var customButton: some View {
|
||||
Button(action: action) {
|
||||
Label(L10n.actionJoin, icon: \.videoCallSolid)
|
||||
.labelStyle(.titleAndIcon)
|
||||
}
|
||||
.buttonStyle(CustomStyle())
|
||||
.accessibilityLabel(L10n.a11yJoinCall)
|
||||
}
|
||||
|
||||
struct CustomStyle: ButtonStyle {
|
||||
func makeBody(configuration: Configuration) -> some View {
|
||||
configuration.label
|
||||
.padding(.horizontal, 16.0)
|
||||
.padding(.vertical, 4.0)
|
||||
.foregroundColor(.compound.bgCanvasDefault)
|
||||
.background(Color.compound.iconAccentTertiary)
|
||||
.clipShape(Capsule())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct JoinCallButton_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
NavigationStack {
|
||||
Color.clear
|
||||
.toolbar {
|
||||
ToolbarItem(placement: .confirmationAction) {
|
||||
JoinCallButton { }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -18,16 +18,24 @@ struct RoomHeaderView: View {
|
||||
|
||||
let mediaProvider: MediaProviderProtocol?
|
||||
|
||||
let action: () -> Void
|
||||
|
||||
var body: some View {
|
||||
if #available(iOS 26.0, *) {
|
||||
// On iOS 26+ we use the toolbarRole(.editor) to leading align.
|
||||
content
|
||||
Button(action: action) {
|
||||
// On iOS 26+ we use the toolbarRole(.editor) to leading align.
|
||||
content
|
||||
}
|
||||
.backportButtonStyleGlass()
|
||||
} else {
|
||||
// On iOS 18 and lower, the editor role causes an animation glitch with the back button whenever
|
||||
// you push a screen whilst the large title is visible on the room screen.
|
||||
content
|
||||
// So take up as much space as possible, with a leading alignment for use in the default principal toolbar position
|
||||
.frame(idealWidth: .greatestFiniteMagnitude, maxWidth: .infinity, alignment: .leading)
|
||||
// Using a button stops it from getting truncated in the navigation bar
|
||||
.contentShape(.rect)
|
||||
.onTapGesture(perform: action)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -98,7 +106,7 @@ struct RoomHeaderView_Previews: PreviewProvider, TestablePreview {
|
||||
name: "Some Room Name",
|
||||
avatarURL: avatarURL),
|
||||
dmRecipientVerificationState: verificationState,
|
||||
mediaProvider: MediaProviderMock(configuration: .init()))
|
||||
mediaProvider: MediaProviderMock(configuration: .init())) { }
|
||||
.padding()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -196,7 +196,6 @@ enum TestablePreviewsDictionary {
|
||||
"TimelineReplyView_Previews" : TimelineReplyView_Previews.self,
|
||||
"TimelineStartRoomTimelineView_Previews" : TimelineStartRoomTimelineView_Previews.self,
|
||||
"TimelineThreadSummaryView_Previews" : TimelineThreadSummaryView_Previews.self,
|
||||
"TimelineView_Previews" : TimelineView_Previews.self,
|
||||
"TombstonedAvatarImage_Previews" : TombstonedAvatarImage_Previews.self,
|
||||
"ToolbarButton_Previews" : ToolbarButton_Previews.self,
|
||||
"TypingIndicatorView_Previews" : TypingIndicatorView_Previews.self,
|
||||
|
||||
@@ -320,7 +320,9 @@ struct JoinRoomScreen: View {
|
||||
if let avatar = context.viewState.avatar {
|
||||
RoomHeaderView(roomName: context.viewState.title,
|
||||
roomAvatar: avatar,
|
||||
mediaProvider: context.mediaProvider)
|
||||
mediaProvider: context.mediaProvider) {
|
||||
// There is no action but the iOS 26 designs have it looking like a button.
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -159,12 +159,9 @@ struct RoomScreen: View {
|
||||
RoomHeaderView(roomName: context.viewState.roomTitle,
|
||||
roomAvatar: context.viewState.roomAvatar,
|
||||
dmRecipientVerificationState: context.viewState.dmRecipientVerificationState,
|
||||
mediaProvider: context.mediaProvider)
|
||||
// Using a button stops it from getting truncated in the navigation bar
|
||||
.contentShape(.rect)
|
||||
.onTapGesture {
|
||||
context.send(viewAction: .displayRoomDetails)
|
||||
}
|
||||
mediaProvider: context.mediaProvider) {
|
||||
context.send(viewAction: .displayRoomDetails)
|
||||
}
|
||||
}
|
||||
|
||||
if !ProcessInfo.processInfo.isiOSAppOnMac {
|
||||
@@ -180,14 +177,9 @@ struct RoomScreen: View {
|
||||
@ViewBuilder
|
||||
private var callButton: some View {
|
||||
if context.viewState.hasOngoingCall {
|
||||
Button {
|
||||
JoinCallButton {
|
||||
context.send(viewAction: .displayCall)
|
||||
} label: {
|
||||
Label(L10n.actionJoin, icon: \.videoCallSolid)
|
||||
.labelStyle(.titleAndIcon)
|
||||
}
|
||||
.buttonStyle(ElementCallButtonStyle())
|
||||
.accessibilityLabel(L10n.a11yJoinCall)
|
||||
.accessibilityIdentifier(A11yIdentifiers.roomScreen.joinCall)
|
||||
} else {
|
||||
Button {
|
||||
|
||||
@@ -72,14 +72,12 @@ struct SpaceScreen: View {
|
||||
ToolbarItem(placement: .principal) {
|
||||
RoomHeaderView(roomName: context.viewState.space.name,
|
||||
roomAvatar: context.viewState.space.avatar,
|
||||
mediaProvider: context.mediaProvider)
|
||||
.contentShape(.rect)
|
||||
.onTapGesture {
|
||||
if context.viewState.isSpaceManagementEnabled,
|
||||
let roomProxy = context.viewState.roomProxy {
|
||||
context.send(viewAction: .spaceSettings(roomProxy: roomProxy))
|
||||
}
|
||||
mediaProvider: context.mediaProvider) {
|
||||
if context.viewState.isSpaceManagementEnabled,
|
||||
let roomProxy = context.viewState.roomProxy {
|
||||
context.send(viewAction: .spaceSettings(roomProxy: roomProxy))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// This should really use a ToolbarItemGroup(placement: .secondaryAction), however it
|
||||
|
||||
@@ -65,9 +65,9 @@ struct ThreadTimelineScreen: View {
|
||||
roomSubtitle: context.viewState.roomTitle,
|
||||
roomAvatar: context.viewState.roomAvatar,
|
||||
dmRecipientVerificationState: context.viewState.dmRecipientVerificationState,
|
||||
mediaProvider: context.mediaProvider)
|
||||
// Using a button stops it from getting truncated in the navigation bar
|
||||
.contentShape(.rect)
|
||||
mediaProvider: context.mediaProvider) {
|
||||
// There is no action but the iOS 26 designs have it looking like a button.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -140,7 +140,7 @@ struct TimelineViewRepresentable: UIViewControllerRepresentable {
|
||||
|
||||
// MARK: - Previews
|
||||
|
||||
struct TimelineView_Previews: PreviewProvider, TestablePreview {
|
||||
struct TimelineView_Previews: PreviewProvider { // Not testable as this preview is built the same way as RoomScreen.
|
||||
static let roomProxyMock = JoinedRoomProxyMock(.init(id: "stable_id",
|
||||
name: "Preview room"))
|
||||
static let roomViewModel = RoomScreenViewModel.mock(roomProxyMock: roomProxyMock)
|
||||
|
||||
Submodule Enterprise updated: b86237ec96...5cbdb50481
@@ -1133,12 +1133,6 @@ extension PreviewTests {
|
||||
}
|
||||
}
|
||||
|
||||
func testTimelineView() async throws {
|
||||
for (index, preview) in TimelineView_Previews._allPreviews.enumerated() {
|
||||
try await assertSnapshots(matching: preview, step: index)
|
||||
}
|
||||
}
|
||||
|
||||
func testTombstonedAvatarImage() async throws {
|
||||
for (index, preview) in TombstonedAvatarImage_Previews._allPreviews.enumerated() {
|
||||
try await assertSnapshots(matching: preview, step: index)
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c18357c16f3afece9df58112166a65ec86fa674cd164e1e6db00ed9b73a4e1e2
|
||||
size 110106
|
||||
oid sha256:c1578c032a8c560adb4dd0c2bb8b32ef35feb912381a5fc0abe53802f8fda976
|
||||
size 110363
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a62fed1de5274df83eecffb8a33e581ad345b03c06e37d4270ce8f02575ffaa4
|
||||
size 120026
|
||||
oid sha256:3b6587b60c89ed00ecd48213c2beed3050860681611f8485195aec7c2b6ddedb
|
||||
size 120284
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d1c0f7a846e4a8be3454f96cad5e6fca46d32af8e334d0579179077523ee705c
|
||||
size 68096
|
||||
oid sha256:3e6740e7f00ea5e86745b1c71a9c082e1c4b7da36bd8d2d7b916a6bfdc6fbd70
|
||||
size 68105
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c41b17966d40b230613e8f1ac0632a5e597f3d9ac3cccbffe226e72d5308f0f9
|
||||
size 82739
|
||||
oid sha256:1ffc73e83fe6f1d9bf26d19606625d47d13e6ad2d8ce55a6e7fa38c5e7064565
|
||||
size 82706
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a2df3c053fc7476be99d6121e23c1fcca743a1ba4ed37cc1c545a28502ae63ca
|
||||
size 109413
|
||||
oid sha256:28bec0e68ac41fb46f038b6830cee8edf28e05e63a98243700f487734315bcb8
|
||||
size 109530
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:61432ef0fc35f38d0eb41c422fb18f5f45af51b68f20d9ebe15f14ddd2d46beb
|
||||
size 119120
|
||||
oid sha256:a8dff67afc0e515b8135de6039382108da8b2c203880bc4a062889ab81222442
|
||||
size 119247
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f470276995af0c846587e4c06af7159b9f57824b208592fcc580e9356d18ae19
|
||||
size 67332
|
||||
oid sha256:674a55cb5630c74e5b3116d669daac99ebcf4ed8678e6ea721bf20175d6a4045
|
||||
size 67424
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d79f6c9c32e9e878024572de6fb6b16807989f16468bb0fc7fc38c6a19ea38c4
|
||||
size 81912
|
||||
oid sha256:ca724dfa1bf3e45fc03404e99f93150c5ae2e9fbc09a6e2e899abe7c1baa24bb
|
||||
size 82002
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:06bdbba08a5d7d53d356b4a02eb94b090588b90683cf574239c868252ab8ee14
|
||||
size 97107
|
||||
oid sha256:14531e3aa2e437ffe3933101855f754a00c0d8bc5d11c863d957565b1db0f0a8
|
||||
size 103318
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:06bdbba08a5d7d53d356b4a02eb94b090588b90683cf574239c868252ab8ee14
|
||||
size 97107
|
||||
oid sha256:14531e3aa2e437ffe3933101855f754a00c0d8bc5d11c863d957565b1db0f0a8
|
||||
size 103318
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e57968b4e8159f7bae287d25c095f0f50592876e8d53b0f74016a184d1fd6a0c
|
||||
size 74497
|
||||
oid sha256:f046fdd258143d4f4057b92ae35688bcdcee6074963075b919206423e34939a1
|
||||
size 77421
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e57968b4e8159f7bae287d25c095f0f50592876e8d53b0f74016a184d1fd6a0c
|
||||
size 74497
|
||||
oid sha256:f046fdd258143d4f4057b92ae35688bcdcee6074963075b919206423e34939a1
|
||||
size 77421
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bedaadf64cf9e66555a899f906790ead9e608badb78e0e8747eba9e0e7a28c18
|
||||
size 291861
|
||||
oid sha256:cf0da5bda9d27f7d7cf2b2271b04e276201e0fa140a51ca908deb9e96f417158
|
||||
size 291848
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fd72df4ab273557d1341a1dfa2821496e94e26f29e11139549aac751ae94b0e5
|
||||
size 299743
|
||||
oid sha256:23646aee9acabf91c79417697bb82389dae389cc664b7d22c21fa2675fa77f34
|
||||
size 299713
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6b25156145dd6a5487b6ab573232afc9e51177a259349d9658b833dad0a100e1
|
||||
size 176510
|
||||
oid sha256:6df7252ed49dde0158656937ad7e7387e83d348e991a7f9915296c4b305c7b56
|
||||
size 176484
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c0a4a8242ede74f4dd53bba37fbac35ad5fa916bcf2a01ca03770f9c0878a06d
|
||||
size 177246
|
||||
oid sha256:eebe0e7bad3cd57e101a3abdc7be2074ba9643a0a5834ae9c21cd6fccdbedd1d
|
||||
size 177051
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5a17c447082a8186286c0125e43e8080f983570ab1d35b7589e77e6c79f9328e
|
||||
size 291155
|
||||
oid sha256:e5aed6b2923658c2d877e8369d950b483a96e80fe0f91ae24590ab9a5ed87e76
|
||||
size 291144
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:42b627c1fa0b72c01896684c6bae8c6bb1eaf913c614b8fd553ed03a2e98ca20
|
||||
size 301392
|
||||
oid sha256:3141d45d1711e8062e5800e09b057b21263cc77ab9fbe758150157ecbcbf587d
|
||||
size 301372
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:aca34d117c94aaec9c1942303be87f4cc77b776beaa13e2bf0bc334cc733e796
|
||||
size 177129
|
||||
oid sha256:c5d88d2cb74c64c716ff4d71f5b2eef74a93f0e4dad99c2a1778fc623ef475b9
|
||||
size 177105
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:322d9699ee9ecc426ed4d6a9183c6919d55618dd3d8e9300205470a372bd8205
|
||||
size 181234
|
||||
oid sha256:01eff2ecad6a604ff75596fb50c169ca39d65897182f8eb3a7ef1cef0ab3e8f1
|
||||
size 181048
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ecc1be0c859feb311e0fdb82cc2f63d1017ed784726bc3578a708a68a4039eb1
|
||||
size 352447
|
||||
oid sha256:52aee6afa595e8198c5158e382beb58e9e8c9b0cb56a66ce06dfffd9c6886270
|
||||
size 352433
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3095f26ed7303e5e61fafca5e8b95c331f5db8fbd47bbc9ac19bccfe3a00fc68
|
||||
size 367439
|
||||
oid sha256:136adf80ff29e294740776739ae25159a18f776b1673817171084022e192bb08
|
||||
size 367422
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:21996a992db589e07c5fd8f1a339ab8a8533a1c88b2c61f94a38f97d36b39157
|
||||
size 205753
|
||||
oid sha256:d56e6b9c7b411315ce5ec5013848b0555a59a8f1dda3b62bbfc7359a32b46901
|
||||
size 205732
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ba56dc588ef7f3fe7c77d97db9dcd4619b87f042f055878a994de759c254bb6b
|
||||
size 210914
|
||||
oid sha256:967dd1cd8f8ae15fc3562019197cba161760b4c2aa9400d2a082693635852669
|
||||
size 210717
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:96f0a0f4dd66edce3a75e51a16d059bdfbe32ef61dc8e78ccbb22868205c36ea
|
||||
size 233953
|
||||
oid sha256:2535af1f92348a7e8444ec23854723b3ca7cec4e8e94cebe66c1288e926f6a56
|
||||
size 233948
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c4c8eb821de73289ae5c220b9c1fa9f2e58c33e3617634ae0cacb5d9043e587f
|
||||
size 263913
|
||||
oid sha256:eeba42dd41edfbed665204aa8410183824332902a7f74d9b96ee33f93c4dd455
|
||||
size 263908
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8891be05350788529385e39d9edf71e52c7d2536a471773b831358278b316973
|
||||
size 175952
|
||||
oid sha256:d07f137ab8f2cdfbd6bc83d0afd1eaa535d50b9c986cae2ea70de331927823c2
|
||||
size 175938
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a46b3ab9af6aeca9bc98ffd6efe3669a03361c8efc6cba99e303d04f11fdbc07
|
||||
size 197703
|
||||
oid sha256:07a0d2907a61e9bf2fad2f5a331ec72d5658f6c82fe2d38771dcf7c5bb6fb2db
|
||||
size 197690
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bedaadf64cf9e66555a899f906790ead9e608badb78e0e8747eba9e0e7a28c18
|
||||
size 291861
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fd72df4ab273557d1341a1dfa2821496e94e26f29e11139549aac751ae94b0e5
|
||||
size 299743
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6b25156145dd6a5487b6ab573232afc9e51177a259349d9658b833dad0a100e1
|
||||
size 176510
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c0a4a8242ede74f4dd53bba37fbac35ad5fa916bcf2a01ca03770f9c0878a06d
|
||||
size 177246
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:90ff215e922d136536bdaafe1bd5f4e6b7423e459ae2d108b87bf1c49e1dba26
|
||||
size 281725
|
||||
oid sha256:7b542ca0d2dafe900bd42767ed018614b8565e0fcca698dcb6e4bb4246c88ab8
|
||||
size 290032
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:74b4111806b22e31f8019cdfd3038b0834cff6375d8df2fd2bdbef3172b8ec3b
|
||||
size 306772
|
||||
oid sha256:b237fe47e1a7c69e836cbe2c013461be20ec13b443ea09a1ca8cbc7dec711bc8
|
||||
size 321522
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:114e60c6c333bf0d07207986716d831b257fb3635fa9949ac5318e09202826d0
|
||||
size 100616
|
||||
oid sha256:c588d5397b8d55d5039c02ffeeddb5dff829433739db67e1f34bd54342d283a6
|
||||
size 108495
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7023cbf5cbaeeb321a1636a16a3998bcb3b18bf75626cfe2ab40827135d8dcda
|
||||
size 127012
|
||||
oid sha256:dbea33f03d238e0f2e98d0a91f8c974271416e6d578f7f6ae9554593eebb3352
|
||||
size 138649
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1d649aca5c6448ca846b0a8f57fee8737b6e9bee6c00908ec3eae6088f46e1c3
|
||||
size 121330
|
||||
oid sha256:7bdfe9c9972cffa76393c303d54a46ae48cd895d4340d059a1e08ff77dec55ef
|
||||
size 129474
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:36fb6ee71469823726f1d50db6e541370ffb43e702f9bfe70e416ccafded7fbb
|
||||
size 158589
|
||||
oid sha256:665998498da735bf12996259c1b368b4282b513a520f45eb0ed1368768cf7474
|
||||
size 170535
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3fd1920b5cd0b1660a5c807527f5784146bc1dfc918b0d0fccd79674201b6057
|
||||
size 305456
|
||||
oid sha256:b87c79dcb0aa5a45c923584fccea8496f32c7dddfe7ffc0f35a9cdf378424934
|
||||
size 317204
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e767cefede1e133a7f8e4e43494c6f77508b718e3360e7e42e73496cd3e1bc30
|
||||
size 277001
|
||||
oid sha256:665db90e833ff912c1e5b8c71bfef555ada08a15579a9d6186e7e4174b49d0e4
|
||||
size 289670
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:18e67024a891abceb54fa6fd58af1aece9fc969f5c3bb9799a02a7990f892a44
|
||||
size 168151
|
||||
oid sha256:4e4957b0fe235064ccb2974da410690dc7e31ae3f02c053b1d024bd194492980
|
||||
size 177329
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d2abb8886eeb8e99dae4ae2121858604311124913a3fe1f0a589a6d6b5b60771
|
||||
size 230319
|
||||
oid sha256:d9c51ae1762e37f3f98b0e2e387b77eef118d09cf62d2aaaf1223633c1c18d3b
|
||||
size 242444
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bec460d4e5e9d9e17ec407fa673872c0719328fc5ddb0542416938dece1132bd
|
||||
size 300996
|
||||
oid sha256:73134fc46e76fa2ddfd1b76d34206a0a85a4d95529d154b4e1184b07b04192dd
|
||||
size 309751
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e45948dee63c7beee785798db38c3e3686a53ab8b313f32f658285fe9483a16c
|
||||
size 270079
|
||||
oid sha256:58d0552b00af797afd98924b53144b95ec4a6ee052ff9be07b7f16520c756a01
|
||||
size 282931
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d3a96bb012944a67b9a6dfeea412b9f533f4c908601601585e938d513d37fae9
|
||||
size 247150
|
||||
oid sha256:a838936d35fc2d5b2620e927367eccc03e4b47c2edc382c03eeedf52a859b999
|
||||
size 257872
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:177e9575a3cee1a80b6d96ee8d4a2eb5d460c641d214fe9db5f542c57535cfdc
|
||||
size 304594
|
||||
oid sha256:286f917e18992aeadbfa4a736e07eebf2f2ccf7e09aa9fd929ffa7bdf5a07326
|
||||
size 313388
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1f704fbd490de7f91810fd1515ba01ae9af2d2234f21b9fe0ec190062795a3e1
|
||||
size 293590
|
||||
oid sha256:2694a69e26eccf5d2dcd20ff3d4148fa211da591b77d746f423611bd8244411b
|
||||
size 306543
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:247928025d608831ab33d5a81d02132b35b177db7c1fa8443ce4b95733284147
|
||||
size 210365
|
||||
oid sha256:1f897988afe298b6800b40f66b1caa6e23a05af881e3906ee4ce4ffb080bc451
|
||||
size 218429
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0ae865856dfa0e7121389d8e6fe9028bc5cfe17bea2d6f87f938b9a9a5a1012b
|
||||
size 256137
|
||||
oid sha256:192b834c8001adb9af53be4517d4b156bf38a7f26b026f84a748042b0e048d83
|
||||
size 269927
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f6613a0196b25898e5536db232a7db43d7b70a0d3d4cdf5ea9bff485b1f7f105
|
||||
size 133295
|
||||
oid sha256:e8bafd20584f7eab23caec8b0569813815806ee1b3b280513e16f471df5db1e1
|
||||
size 141987
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8ab72f10cfa941dcae3b7ae7c0d9ef4ea0b3183db61d9ab1b7667f1017091278
|
||||
size 173811
|
||||
oid sha256:fdbf805a02d643b4ae9e873d2be35d02db7728f46bf3634afdc40b85e19e0c6b
|
||||
size 184756
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:75713c741f3c72b66e5f13a9cb8122162c91b12558e1e25ee12728fc5775762b
|
||||
size 121609
|
||||
oid sha256:b9dc1949a9d40505840b831dbba9b9cd21cdf707a1dda18adb5d10c2cb9441df
|
||||
size 129488
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2679835132f4f901a7461f8fd599af2fc2f370bc3ab6f25cbaa2a1ba3af3d1cb
|
||||
size 157053
|
||||
oid sha256:f475f0c9701102812d12f40b579fcb73988b4650cdf1a3afccfaac524628dddb
|
||||
size 169328
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:280560894d0adb095c090b20a9111f822118d28d15ca3227d2d2bbdc26ca25f4
|
||||
size 164891
|
||||
oid sha256:c6513eb82dbc7f93b77c53f601d9ea449d268ebcdb4be8c4f6b5f6fefce622b4
|
||||
size 174069
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:30dc3c404b5544960cb5471f553c562394d66f79ce6f69f5c7405b7afcfbaa9f
|
||||
size 224664
|
||||
oid sha256:fb3e4c61141d5c2225d2b2f280ee0fc8f564d63156fedb963430b8c4f109da93
|
||||
size 236627
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6badffb7b672f254741c1d925ac2baa31b93130d246b24be1d61d54d8621e987
|
||||
size 368799
|
||||
oid sha256:9f742c59a602cfd30d221cd8168d1f671373cd3fce3bbf264bc68af1d9256320
|
||||
size 375472
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3a27ec389a180c33f2b757caf980524f02ee1ae40955a0305c03e35ebf8e7117
|
||||
size 275088
|
||||
oid sha256:b3685906677212ada90e3d399a24812288a039e183dc9b7b811409e36b0d2cd2
|
||||
size 281654
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e03501c88b6128ce34e543f3b28a95558be09d36305d9e3392e4d931fc8cdf68
|
||||
size 436291
|
||||
oid sha256:3d2b1d4ac11959afaa4aa67d0aad5d876c2ad737a9cdaacc830e4a2bd0d0bd20
|
||||
size 443832
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f4d7e2dca189f97c53525eb24e927ad6338d4831376fd7d9995998b2c242cfe9
|
||||
size 273168
|
||||
oid sha256:bf3c6dc6ca6aee6e1f2a1ffaf72d473cc094d16294fd41f7eb3155a7abc3a6fb
|
||||
size 288514
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:28e5085968ceb5f458022ae4784a4af1ba3bc6496711b1e55a8bf0d062dd6e6e
|
||||
size 507456
|
||||
oid sha256:68d87838eb665aaacc1b9cd3f0d6604937bcf4e893e946f89d3dbc687ef67847
|
||||
size 518581
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:652b34b5201aa2ed3a22fd7947409575df77a321ecd5888a986b2c671b0fc0be
|
||||
size 578314
|
||||
oid sha256:fab5e994513d1aea8447ec44fd7441708c132157e50c9739fa3dc0ac9eda39a9
|
||||
size 589439
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a8be69bc70e32f43f792472e9d69e5f1dc4483d0168d549458d4d1595bdc0c67
|
||||
size 290529
|
||||
oid sha256:1ca6315094dc8d6aa08c30a75292639d6824c01152abe4d9b137cdb3177501a3
|
||||
size 291044
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d801408ee8bccc415c2ab5549d55c9483fd1ac57ddb3fb9d801a532cf4a92981
|
||||
size 434663
|
||||
oid sha256:8487fd014b978bbaf2cd610e8bff42225392f656d529fc5a0ac56a4d93470da2
|
||||
size 435235
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:35ac85086431c58ebb1a5b710027c21a44b28f7437f07198c0bfc74260c638d9
|
||||
size 498091
|
||||
oid sha256:1c028686f7d490caff569cd0a900cdd58b6cdf2434fb7ae40ae8b7bd7933e7e4
|
||||
size 507349
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d3eeb52986d461aa8e2a12f1e07b0ffdacb9e6c30faaf9b0c2c32a98d25bfb06
|
||||
size 263600
|
||||
oid sha256:0733586813bf6a6e5314d23313ce57646b99abf0f7da1a4d1efa01b3e1a11259
|
||||
size 263360
|
||||
|
||||
Reference in New Issue
Block a user