diff --git a/submodules/AvatarNode/Sources/AvatarNode.swift b/submodules/AvatarNode/Sources/AvatarNode.swift index abcc8a9e55..805c613410 100644 --- a/submodules/AvatarNode/Sources/AvatarNode.swift +++ b/submodules/AvatarNode/Sources/AvatarNode.swift @@ -294,8 +294,6 @@ public final class AvatarNode: ASDisplayNode { private var theme: PresentationTheme? private var overrideImage: AvatarNodeImageOverride? public let imageNode: ImageNode - private var animationBackgroundNode: ImageNode? - private var animationNode: AnimationNode? public var editOverlayNode: AvatarEditOverlayNode? private let imageReadyDisposable = MetaDisposable() @@ -438,6 +436,20 @@ public final class AvatarNode: ASDisplayNode { self.imageNode.isHidden = true } + public func playRepostAnimation() { + let animationNode = AnimationNode(animation: "anim_storyrepost", colors: [:], scale: 0.11) + animationNode.isUserInteractionEnabled = false + self.addSubnode(animationNode) + + if var size = animationNode.preferredSize() { + size = CGSize(width: ceil(size.width), height: ceil(size.height)) + animationNode.frame = CGRect(x: floor((self.bounds.width - size.width) / 2.0), y: floor((self.bounds.height - size.height) / 2.0) + 1.0, width: size.width, height: size.height) + Queue.mainQueue().after(0.15, { + animationNode.play() + }) + } + } + public func setPeer( accountPeerId: EnginePeer.Id, postbox: Postbox, @@ -852,13 +864,15 @@ public final class AvatarNode: ASDisplayNode { context.draw(savedMessagesIcon.cgImage!, in: CGRect(origin: CGPoint(x: floor((bounds.size.width - savedMessagesIcon.size.width) / 2.0), y: floor((bounds.size.height - savedMessagesIcon.size.height) / 2.0)), size: savedMessagesIcon.size)) } } else if case .repostIcon = parameters.icon { - let factor = bounds.size.width / 60.0 - context.translateBy(x: bounds.size.width / 2.0, y: bounds.size.height / 2.0) - context.scaleBy(x: factor, y: -factor) - context.translateBy(x: -bounds.size.width / 2.0, y: -bounds.size.height / 2.0) - - if let repostStoryIcon = repostStoryIcon { - context.draw(repostStoryIcon.cgImage!, in: CGRect(origin: CGPoint(x: floor((bounds.size.width - repostStoryIcon.size.width) / 2.0), y: floor((bounds.size.height - repostStoryIcon.size.height) / 2.0)), size: repostStoryIcon.size)) + if !"".isEmpty { + let factor = bounds.size.width / 60.0 + context.translateBy(x: bounds.size.width / 2.0, y: bounds.size.height / 2.0) + context.scaleBy(x: factor, y: -factor) + context.translateBy(x: -bounds.size.width / 2.0, y: -bounds.size.height / 2.0) + + if let repostStoryIcon = repostStoryIcon { + context.draw(repostStoryIcon.cgImage!, in: CGRect(origin: CGPoint(x: floor((bounds.size.width - repostStoryIcon.size.width) / 2.0), y: floor((bounds.size.height - repostStoryIcon.size.height) / 2.0)), size: repostStoryIcon.size)) + } } } else if case .repliesIcon = parameters.icon { let factor = bounds.size.width / 60.0 @@ -1031,6 +1045,10 @@ public final class AvatarNode: ASDisplayNode { self.contentNode.playArchiveAnimation() } + public func playRepostAnimation() { + self.contentNode.playRepostAnimation() + } + public func setPeer( accountPeerId: EnginePeer.Id, postbox: Postbox, diff --git a/submodules/Display/Source/TooltipController.swift b/submodules/Display/Source/TooltipController.swift index 25605bcd66..3cd74e0f20 100644 --- a/submodules/Display/Source/TooltipController.swift +++ b/submodules/Display/Source/TooltipController.swift @@ -101,6 +101,7 @@ open class TooltipController: ViewController, StandalonePresentableController { public private(set) var content: TooltipControllerContent private let baseFontSize: CGFloat private let balancedTextLayout: Bool + private let isBlurred: Bool open func updateContent(_ content: TooltipControllerContent, animated: Bool, extendTimer: Bool, arrowOnBottom: Bool = true) { if self.content != content { @@ -131,10 +132,11 @@ open class TooltipController: ViewController, StandalonePresentableController { public var dismissed: ((Bool) -> Void)? - public init(content: TooltipControllerContent, baseFontSize: CGFloat, balancedTextLayout: Bool = false, timeout: Double = 2.0, dismissByTapOutside: Bool = false, dismissByTapOutsideSource: Bool = false, dismissImmediatelyOnLayoutUpdate: Bool = false, arrowOnBottom: Bool = true, padding: CGFloat = 8.0, innerPadding: UIEdgeInsets = UIEdgeInsets()) { + public init(content: TooltipControllerContent, baseFontSize: CGFloat, balancedTextLayout: Bool = false, isBlurred: Bool = false, timeout: Double = 2.0, dismissByTapOutside: Bool = false, dismissByTapOutsideSource: Bool = false, dismissImmediatelyOnLayoutUpdate: Bool = false, arrowOnBottom: Bool = true, padding: CGFloat = 8.0, innerPadding: UIEdgeInsets = UIEdgeInsets()) { self.content = content self.baseFontSize = baseFontSize self.balancedTextLayout = balancedTextLayout + self.isBlurred = isBlurred self.timeout = timeout self.dismissByTapOutside = dismissByTapOutside self.dismissByTapOutsideSource = dismissByTapOutsideSource @@ -157,7 +159,7 @@ open class TooltipController: ViewController, StandalonePresentableController { } override open func loadDisplayNode() { - self.displayNode = TooltipControllerNode(content: self.content, baseFontSize: self.baseFontSize, balancedTextLayout: self.balancedTextLayout, dismiss: { [weak self] tappedInside in + self.displayNode = TooltipControllerNode(content: self.content, baseFontSize: self.baseFontSize, balancedTextLayout: self.balancedTextLayout, isBlurred: self.isBlurred, dismiss: { [weak self] tappedInside in self?.dismiss(tappedInside: tappedInside) }, dismissByTapOutside: self.dismissByTapOutside, dismissByTapOutsideSource: self.dismissByTapOutsideSource) self.controllerNode.padding = self.padding diff --git a/submodules/Display/Source/TooltipControllerNode.swift b/submodules/Display/Source/TooltipControllerNode.swift index 8740ca13d0..b190f3a0fe 100644 --- a/submodules/Display/Source/TooltipControllerNode.swift +++ b/submodules/Display/Source/TooltipControllerNode.swift @@ -26,15 +26,17 @@ final class TooltipControllerNode: ASDisplayNode { private var dismissedByTouchOutside = false private var dismissByTapOutsideSource = false - init(content: TooltipControllerContent, baseFontSize: CGFloat, balancedTextLayout: Bool, dismiss: @escaping (Bool) -> Void, dismissByTapOutside: Bool, dismissByTapOutsideSource: Bool) { + init(content: TooltipControllerContent, baseFontSize: CGFloat, balancedTextLayout: Bool, isBlurred: Bool, dismiss: @escaping (Bool) -> Void, dismissByTapOutside: Bool, dismissByTapOutsideSource: Bool) { self.baseFontSize = baseFontSize self.balancedTextLayout = balancedTextLayout self.dismissByTapOutside = dismissByTapOutside self.dismissByTapOutsideSource = dismissByTapOutsideSource - self.containerNode = ContextMenuContainerNode(isBlurred: false, isDark: true) - self.containerNode.containerNode.backgroundColor = UIColor(white: 0.0, alpha: 0.8) + self.containerNode = ContextMenuContainerNode(isBlurred: isBlurred, isDark: true) + if !isBlurred { + self.containerNode.containerNode.backgroundColor = UIColor(white: 0.0, alpha: 0.8) + } self.imageNode = ASImageNode() self.imageNode.image = content.image diff --git a/submodules/SelectablePeerNode/Sources/SelectablePeerNode.swift b/submodules/SelectablePeerNode/Sources/SelectablePeerNode.swift index a3d99a01ec..4d01e62b3d 100644 --- a/submodules/SelectablePeerNode/Sources/SelectablePeerNode.swift +++ b/submodules/SelectablePeerNode/Sources/SelectablePeerNode.swift @@ -119,7 +119,6 @@ public final class SelectablePeerNode: ASDisplayNode { self.avatarNode = AvatarNode(font: avatarFont) self.avatarNode.frame = CGRect(origin: CGPoint(), size: CGSize(width: 60.0, height: 60.0)) - self.avatarNode.isLayerBacked = !smartInvertColorsEnabled() self.textNode = ImmediateTextNode() self.textNode.isUserInteractionEnabled = false @@ -178,6 +177,7 @@ public final class SelectablePeerNode: ASDisplayNode { self.textNode.attributedText = NSAttributedString(string: strings.Share_RepostStory, font: textFont, textColor: self.theme.textColor, paragraphAlignment: .center) self.avatarNode.setPeer(accountPeerId: accountPeerId, postbox: postbox, network: network, contentSettings: ContentSettings.default, theme: theme, peer: nil, overrideImage: .repostIcon, emptyColor: self.theme.avatarPlaceholderColor, clipStyle: .round, synchronousLoad: synchronousLoad) + self.avatarNode.playRepostAnimation() } public func setup(accountPeerId: EnginePeer.Id, postbox: Postbox, network: Network, energyUsageSettings: EnergyUsageSettings, contentSettings: ContentSettings, animationCache: AnimationCache, animationRenderer: MultiAnimationRenderer, resolveInlineStickers: @escaping ([Int64]) -> Signal<[Int64: TelegramMediaFile], NoError>, theme: PresentationTheme, strings: PresentationStrings, peer: EngineRenderedPeer, customTitle: String? = nil, iconId: Int64? = nil, iconColor: Int32? = nil, online: Bool = false, numberOfLines: Int = 2, synchronousLoad: Bool) { diff --git a/submodules/SettingsUI/Sources/Themes/ThemeAccentColorControllerNode.swift b/submodules/SettingsUI/Sources/Themes/ThemeAccentColorControllerNode.swift index b68c75ec20..243bc64bc5 100644 --- a/submodules/SettingsUI/Sources/Themes/ThemeAccentColorControllerNode.swift +++ b/submodules/SettingsUI/Sources/Themes/ThemeAccentColorControllerNode.swift @@ -1182,7 +1182,7 @@ final class ThemeAccentColorControllerNode: ASDisplayNode, UIScrollViewDelegate if case .background = self.mode, toolbarBottomInset.isZero { toolbarBottomInset = 16.0 } - if case .peer = self.resultMode { + if case .peer = self.resultMode, !self.state.displayPatternPanel { toolbarBottomInset += 58.0 } let toolbarHeight = 49.0 + toolbarBottomInset diff --git a/submodules/SettingsUI/Sources/Themes/WallpaperGalleryToolbarNode.swift b/submodules/SettingsUI/Sources/Themes/WallpaperGalleryToolbarNode.swift index 0c61687451..0a0f2f4142 100644 --- a/submodules/SettingsUI/Sources/Themes/WallpaperGalleryToolbarNode.swift +++ b/submodules/SettingsUI/Sources/Themes/WallpaperGalleryToolbarNode.swift @@ -288,7 +288,9 @@ final class WallpaperGalleryToolbarNode: ASDisplayNode, WallpaperGalleryToolbar } self.applyButton.updateTitle(applyTitle, theme: theme) - self.applyForBothButton.updateTitle(applyForBothTitle ?? "", theme: theme) + if let applyForBothTitle { + self.applyForBothButton.updateTitle(applyForBothTitle, theme: theme) + } self.applyForBothButton.isLocked = applyForBothLocked } @@ -301,6 +303,12 @@ final class WallpaperGalleryToolbarNode: ASDisplayNode, WallpaperGalleryToolbar let applyFrame = CGRect(origin: CGPoint(x: inset, y: 2.0), size: CGSize(width: size.width - inset * 2.0, height: buttonHeight)) let applyForBothFrame = CGRect(origin: CGPoint(x: inset, y: applyFrame.maxY + spacing), size: CGSize(width: size.width - inset * 2.0, height: buttonHeight)) + var showApplyForBothButton = false + if case .setPeer = self.doneButtonType { + showApplyForBothButton = true + } + transition.updateAlpha(node: self.applyForBothButton, alpha: showApplyForBothButton ? 1.0 : 0.0) + self.applyButton.frame = applyFrame self.applyButton.updateSize(applyFrame.size) self.applyForBothButton.frame = applyForBothFrame diff --git a/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryContentCaptionComponent.swift b/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryContentCaptionComponent.swift index 8e108c77d6..5ebe263fe9 100644 --- a/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryContentCaptionComponent.swift +++ b/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryContentCaptionComponent.swift @@ -730,7 +730,7 @@ final class StoryContentCaptionComponent: Component { if let self, case let .known(peer, _, _) = forwardInfo, let story = self.forwardInfoStory { self.component?.openStory(peer, story) } else if let controller = self?.component?.controller() as? StoryContainerScreen { - let tooltipController = TooltipController(content: .text(component.strings.Story_ForwardAuthorHiddenTooltip), baseFontSize: 17.0, dismissByTapOutside: true, dismissImmediatelyOnLayoutUpdate: true) + let tooltipController = TooltipController(content: .text(component.strings.Story_ForwardAuthorHiddenTooltip), baseFontSize: 17.0, isBlurred: true, dismissByTapOutside: true, dismissImmediatelyOnLayoutUpdate: true) controller.present(tooltipController, in: .window(.root), with: TooltipControllerPresentationArguments(sourceNodeAndRect: { [weak self, weak controller] in if let self, let controller, let forwardInfoPanel = self.forwardInfoPanel?.view { return (controller.node, forwardInfoPanel.convert(forwardInfoPanel.bounds, to: controller.view)) diff --git a/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemContentComponent.swift b/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemContentComponent.swift index 33a5a51fc0..979bd22dc1 100644 --- a/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemContentComponent.swift +++ b/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemContentComponent.swift @@ -83,6 +83,7 @@ final class StoryItemContentComponent: Component { private let overlaysView: StoryItemOverlaysView private var videoNode: UniversalVideoNode? private var loadingEffectView: StoryItemLoadingEffectView? + private var loadingEffectAppearanceTimer: SwiftSignalKit.Timer? private var mediaAreasEffectView: StoryItemLoadingEffectView? @@ -826,11 +827,29 @@ final class StoryItemContentComponent: Component { loadingEffectView = current } else { loadingEffectView = StoryItemLoadingEffectView(effectAlpha: 0.1, borderAlpha: 0.2, duration: 1.0, hasCustomBorder: false, playOnce: false) + loadingEffectView.alpha = 0.0 self.loadingEffectView = loadingEffectView self.addSubview(loadingEffectView) + + if self.loadingEffectAppearanceTimer == nil { + let timer = SwiftSignalKit.Timer(timeout: 0.2, repeat: false, completion: { [weak self] in + guard let self else { + return + } + if let loadingEffectView = self.loadingEffectView { + loadingEffectView.alpha = 1.0 + loadingEffectView.layer.animateAlpha(from: 0.0, to: 1.0, duration: 0.18) + } + self.loadingEffectAppearanceTimer = nil + }, queue: Queue.mainQueue()) + timer.start() + self.loadingEffectAppearanceTimer = timer + } } loadingEffectView.update(size: availableSize, transition: transition) } else if let loadingEffectView = self.loadingEffectView { + self.loadingEffectAppearanceTimer?.invalidate() + self.loadingEffectAppearanceTimer = nil self.loadingEffectView = nil loadingEffectView.layer.animateAlpha(from: loadingEffectView.alpha, to: 0.0, duration: 0.18, removeOnCompletion: false, completion: { [weak loadingEffectView] _ in loadingEffectView?.removeFromSuperview() diff --git a/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemSetContainerComponent.swift b/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemSetContainerComponent.swift index 5bb708a09d..3b5de2e70b 100644 --- a/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemSetContainerComponent.swift +++ b/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemSetContainerComponent.swift @@ -2960,7 +2960,7 @@ public final class StoryItemSetContainerComponent: Component { let rect = view.convert(view.bounds, to: nil) let presentationData = component.context.sharedContext.currentPresentationData.with { $0 } let text = presentationData.strings.Conversation_VoiceMessagesRestricted(component.slice.peer.compactDisplayTitle).string - let controller = TooltipController(content: .text(text), baseFontSize: presentationData.listsFontSize.baseDisplaySize, padding: 2.0) + let controller = TooltipController(content: .text(text), baseFontSize: presentationData.listsFontSize.baseDisplaySize, isBlurred: true, padding: 2.0) controller.dismissed = { [weak self] _ in if let self { self.voiceMessagesRestrictedTooltipController = nil diff --git a/submodules/TelegramUI/Resources/Animations/anim_storyrepost.json b/submodules/TelegramUI/Resources/Animations/anim_storyrepost.json new file mode 100644 index 0000000000..4baa3e947b --- /dev/null +++ b/submodules/TelegramUI/Resources/Animations/anim_storyrepost.json @@ -0,0 +1 @@ +{"v":"5.12.1","fr":60,"ip":0,"op":60,"w":512,"h":512,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Arrows","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":1,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":2,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":3,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":4,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":5,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":6,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":7,"s":[0]},{"i":{"x":[0.833],"y":[0.86]},"o":{"x":[0.167],"y":[0]},"t":8,"s":[0]},{"i":{"x":[0.833],"y":[0.346]},"o":{"x":[0.167],"y":[0.083]},"t":9,"s":[0]},{"i":{"x":[0.833],"y":[0.854]},"o":{"x":[0.167],"y":[0.096]},"t":10,"s":[1.683]},{"i":{"x":[0.833],"y":[0.717]},"o":{"x":[0.167],"y":[0.194]},"t":11,"s":[13.202]},{"i":{"x":[0.833],"y":[0.825]},"o":{"x":[0.167],"y":[0.118]},"t":12,"s":[21.881]},{"i":{"x":[0.833],"y":[0.875]},"o":{"x":[0.167],"y":[0.159]},"t":13,"s":[42.689]},{"i":{"x":[0.833],"y":[0.756]},"o":{"x":[0.167],"y":[0.249]},"t":14,"s":[65.632]},{"i":{"x":[0.833],"y":[0.841]},"o":{"x":[0.167],"y":[0.127]},"t":15,"s":[77.183]},{"i":{"x":[0.833],"y":[0.879]},"o":{"x":[0.167],"y":[0.175]},"t":16,"s":[99.424]},{"i":{"x":[0.833],"y":[0.77]},"o":{"x":[0.167],"y":[0.268]},"t":17,"s":[119.61]},{"i":{"x":[0.833],"y":[0.849]},"o":{"x":[0.167],"y":[0.131]},"t":18,"s":[128.714]},{"i":{"x":[0.833],"y":[0.882]},"o":{"x":[0.167],"y":[0.186]},"t":19,"s":[144.735]},{"i":{"x":[0.833],"y":[0.781]},"o":{"x":[0.167],"y":[0.283]},"t":20,"s":[157.784]},{"i":{"x":[0.833],"y":[0.856]},"o":{"x":[0.167],"y":[0.134]},"t":21,"s":[163.227]},{"i":{"x":[0.833],"y":[0.885]},"o":{"x":[0.167],"y":[0.198]},"t":22,"s":[172.101]},{"i":{"x":[0.833],"y":[0.796]},"o":{"x":[0.167],"y":[0.304]},"t":23,"s":[178.567]},{"i":{"x":[0.833],"y":[0.868]},"o":{"x":[0.167],"y":[0.141]},"t":24,"s":[181.011]},{"i":{"x":[0.833],"y":[0.893]},"o":{"x":[0.167],"y":[0.225]},"t":25,"s":[184.564]},{"i":{"x":[0.833],"y":[0.845]},"o":{"x":[0.167],"y":[0.372]},"t":26,"s":[186.647]},{"i":{"x":[0.833],"y":[0.943]},"o":{"x":[0.167],"y":[0.18]},"t":27,"s":[187.247]},{"i":{"x":[0.833],"y":[0.782]},"o":{"x":[0.167],"y":[-0.184]},"t":28,"s":[187.765]},{"i":{"x":[0.833],"y":[0.675]},"o":{"x":[0.167],"y":[0.135]},"t":29,"s":[187.603]},{"i":{"x":[0.833],"y":[0.813]},"o":{"x":[0.167],"y":[0.112]},"t":30,"s":[187.343]},{"i":{"x":[0.833],"y":[0.872]},"o":{"x":[0.167],"y":[0.15]},"t":31,"s":[186.587]},{"i":{"x":[0.833],"y":[0.75]},"o":{"x":[0.167],"y":[0.24]},"t":32,"s":[185.649]},{"i":{"x":[0.833],"y":[0.838]},"o":{"x":[0.167],"y":[0.125]},"t":33,"s":[185.151]},{"i":{"x":[0.833],"y":[0.878]},"o":{"x":[0.167],"y":[0.172]},"t":34,"s":[184.156]},{"i":{"x":[0.833],"y":[0.767]},"o":{"x":[0.167],"y":[0.264]},"t":35,"s":[183.216]},{"i":{"x":[0.833],"y":[0.847]},"o":{"x":[0.167],"y":[0.13]},"t":36,"s":[182.782]},{"i":{"x":[0.833],"y":[0.881]},"o":{"x":[0.167],"y":[0.183]},"t":37,"s":[182.001]},{"i":{"x":[0.833],"y":[0.778]},"o":{"x":[0.167],"y":[0.279]},"t":38,"s":[181.346]},{"i":{"x":[0.833],"y":[0.854]},"o":{"x":[0.167],"y":[0.133]},"t":39,"s":[181.067]},{"i":{"x":[0.833],"y":[0.884]},"o":{"x":[0.167],"y":[0.194]},"t":40,"s":[180.601]},{"i":{"x":[0.833],"y":[0.79]},"o":{"x":[0.167],"y":[0.296]},"t":41,"s":[180.25]},{"i":{"x":[0.833],"y":[0.863]},"o":{"x":[0.167],"y":[0.138]},"t":42,"s":[180.112]},{"i":{"x":[0.833],"y":[0.889]},"o":{"x":[0.167],"y":[0.214]},"t":43,"s":[179.904]},{"i":{"x":[0.833],"y":[0.82]},"o":{"x":[0.167],"y":[0.338]},"t":44,"s":[179.771]},{"i":{"x":[0.833],"y":[0.896]},"o":{"x":[0.167],"y":[0.155]},"t":45,"s":[179.727]},{"i":{"x":[0.833],"y":[0.944]},"o":{"x":[0.167],"y":[0.416]},"t":46,"s":[179.677]},{"i":{"x":[0.833],"y":[0.456]},"o":{"x":[0.167],"y":[-0.17]},"t":47,"s":[179.664]},{"i":{"x":[0.833],"y":[0.787]},"o":{"x":[0.167],"y":[0.098]},"t":48,"s":[179.668]},{"i":{"x":[0.833],"y":[0.869]},"o":{"x":[0.167],"y":[0.137]},"t":49,"s":[179.691]},{"i":{"x":[0.833],"y":[0.742]},"o":{"x":[0.167],"y":[0.228]},"t":50,"s":[179.727]},{"i":{"x":[0.833],"y":[0.834]},"o":{"x":[0.167],"y":[0.123]},"t":51,"s":[179.747]},{"i":{"x":[0.833],"y":[0.877]},"o":{"x":[0.167],"y":[0.167]},"t":52,"s":[179.79]},{"i":{"x":[0.833],"y":[0.763]},"o":{"x":[0.167],"y":[0.258]},"t":53,"s":[179.833]},{"i":{"x":[0.833],"y":[0.845]},"o":{"x":[0.167],"y":[0.129]},"t":54,"s":[179.853]},{"i":{"x":[0.833],"y":[0.88]},"o":{"x":[0.167],"y":[0.18]},"t":55,"s":[179.89]},{"i":{"x":[0.833],"y":[0.775]},"o":{"x":[0.167],"y":[0.275]},"t":56,"s":[179.922]},{"i":{"x":[0.833],"y":[0.852]},"o":{"x":[0.167],"y":[0.132]},"t":57,"s":[179.936]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.19]},"t":58,"s":[179.96]},{"t":59,"s":[179.979]}],"ix":10},"p":{"a":0,"k":[256,256,0],"ix":2,"l":2},"a":{"a":0,"k":[30,30,0],"ix":1,"l":2},"s":{"a":0,"k":[853.333,853.333,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[2.75,-5.25],[-2.75,0],[2.75,5.25]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2.67,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.6,"y":0},"t":10,"s":[26.75,39.33],"to":[0,0.333],"ti":[0,0]},{"i":{"x":0.4,"y":1},"o":{"x":0.167,"y":0.167},"t":16,"s":[26.75,41.33],"to":[0,0],"ti":[0,0.333]},{"t":24,"s":[26.75,39.33]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-2.75,-5.25],[2.75,0],[-2.75,5.25]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2.67,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.6,"y":0},"t":10,"s":[33.25,20.67],"to":[0,-0.333],"ti":[0,0]},{"i":{"x":0.4,"y":1},"o":{"x":0.167,"y":0.167},"t":16,"s":[33.25,18.67],"to":[0,0],"ti":[0,-0.333]},{"t":24,"s":[33.25,20.67]}],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"aArtboard Copy Outlines 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[256,256,0],"ix":2,"l":2},"a":{"a":0,"k":[30,30,0],"ix":1,"l":2},"s":{"a":0,"k":[853.333,853.333,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.761,0],[0,0],[0,-2.761],[0,0],[2.761,0],[0,0],[0,2.761],[0,0]],"o":[[0,0],[2.761,0],[0,0],[0,2.761],[0,0],[-2.761,0],[0,0],[0,-2.761]],"v":[[-6,-9.33],[6,-9.33],[11,-4.33],[11,4.33],[6,9.33],[-6,9.33],[-11,4.33],[-11,-4.33]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2.67,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tm","s":{"a":0,"k":63.25,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":0,"s":[232]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":1,"s":[232]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":2,"s":[232]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":3,"s":[232]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":4,"s":[232]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":5,"s":[232]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":6,"s":[232]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":7,"s":[232]},{"i":{"x":[0.833],"y":[0.86]},"o":{"x":[0.167],"y":[0]},"t":8,"s":[232]},{"i":{"x":[0.833],"y":[0.346]},"o":{"x":[0.167],"y":[0.083]},"t":9,"s":[232]},{"i":{"x":[0.833],"y":[0.854]},"o":{"x":[0.167],"y":[0.096]},"t":10,"s":[233.683]},{"i":{"x":[0.833],"y":[0.717]},"o":{"x":[0.167],"y":[0.194]},"t":11,"s":[245.202]},{"i":{"x":[0.833],"y":[0.825]},"o":{"x":[0.167],"y":[0.118]},"t":12,"s":[253.881]},{"i":{"x":[0.833],"y":[0.875]},"o":{"x":[0.167],"y":[0.159]},"t":13,"s":[274.689]},{"i":{"x":[0.833],"y":[0.756]},"o":{"x":[0.167],"y":[0.249]},"t":14,"s":[297.632]},{"i":{"x":[0.833],"y":[0.841]},"o":{"x":[0.167],"y":[0.127]},"t":15,"s":[309.183]},{"i":{"x":[0.833],"y":[0.879]},"o":{"x":[0.167],"y":[0.175]},"t":16,"s":[331.424]},{"i":{"x":[0.833],"y":[0.77]},"o":{"x":[0.167],"y":[0.268]},"t":17,"s":[351.61]},{"i":{"x":[0.833],"y":[0.849]},"o":{"x":[0.167],"y":[0.131]},"t":18,"s":[360.714]},{"i":{"x":[0.833],"y":[0.882]},"o":{"x":[0.167],"y":[0.186]},"t":19,"s":[376.735]},{"i":{"x":[0.833],"y":[0.781]},"o":{"x":[0.167],"y":[0.283]},"t":20,"s":[389.784]},{"i":{"x":[0.833],"y":[0.856]},"o":{"x":[0.167],"y":[0.134]},"t":21,"s":[395.227]},{"i":{"x":[0.833],"y":[0.885]},"o":{"x":[0.167],"y":[0.198]},"t":22,"s":[404.101]},{"i":{"x":[0.833],"y":[0.796]},"o":{"x":[0.167],"y":[0.304]},"t":23,"s":[410.567]},{"i":{"x":[0.833],"y":[0.868]},"o":{"x":[0.167],"y":[0.141]},"t":24,"s":[413.011]},{"i":{"x":[0.833],"y":[0.893]},"o":{"x":[0.167],"y":[0.225]},"t":25,"s":[416.564]},{"i":{"x":[0.833],"y":[0.845]},"o":{"x":[0.167],"y":[0.372]},"t":26,"s":[418.647]},{"i":{"x":[0.833],"y":[0.943]},"o":{"x":[0.167],"y":[0.18]},"t":27,"s":[419.247]},{"i":{"x":[0.833],"y":[0.782]},"o":{"x":[0.167],"y":[-0.184]},"t":28,"s":[419.765]},{"i":{"x":[0.833],"y":[0.675]},"o":{"x":[0.167],"y":[0.135]},"t":29,"s":[419.603]},{"i":{"x":[0.833],"y":[0.813]},"o":{"x":[0.167],"y":[0.112]},"t":30,"s":[419.343]},{"i":{"x":[0.833],"y":[0.872]},"o":{"x":[0.167],"y":[0.15]},"t":31,"s":[418.587]},{"i":{"x":[0.833],"y":[0.75]},"o":{"x":[0.167],"y":[0.24]},"t":32,"s":[417.649]},{"i":{"x":[0.833],"y":[0.838]},"o":{"x":[0.167],"y":[0.125]},"t":33,"s":[417.151]},{"i":{"x":[0.833],"y":[0.878]},"o":{"x":[0.167],"y":[0.172]},"t":34,"s":[416.156]},{"i":{"x":[0.833],"y":[0.767]},"o":{"x":[0.167],"y":[0.264]},"t":35,"s":[415.216]},{"i":{"x":[0.833],"y":[0.847]},"o":{"x":[0.167],"y":[0.13]},"t":36,"s":[414.782]},{"i":{"x":[0.833],"y":[0.881]},"o":{"x":[0.167],"y":[0.183]},"t":37,"s":[414.001]},{"i":{"x":[0.833],"y":[0.778]},"o":{"x":[0.167],"y":[0.279]},"t":38,"s":[413.346]},{"i":{"x":[0.833],"y":[0.854]},"o":{"x":[0.167],"y":[0.133]},"t":39,"s":[413.067]},{"i":{"x":[0.833],"y":[0.884]},"o":{"x":[0.167],"y":[0.194]},"t":40,"s":[412.601]},{"i":{"x":[0.833],"y":[0.79]},"o":{"x":[0.167],"y":[0.296]},"t":41,"s":[412.25]},{"i":{"x":[0.833],"y":[0.863]},"o":{"x":[0.167],"y":[0.138]},"t":42,"s":[412.112]},{"i":{"x":[0.833],"y":[0.889]},"o":{"x":[0.167],"y":[0.214]},"t":43,"s":[411.904]},{"i":{"x":[0.833],"y":[0.82]},"o":{"x":[0.167],"y":[0.338]},"t":44,"s":[411.771]},{"i":{"x":[0.833],"y":[0.896]},"o":{"x":[0.167],"y":[0.155]},"t":45,"s":[411.727]},{"i":{"x":[0.833],"y":[0.944]},"o":{"x":[0.167],"y":[0.416]},"t":46,"s":[411.677]},{"i":{"x":[0.833],"y":[0.456]},"o":{"x":[0.167],"y":[-0.17]},"t":47,"s":[411.664]},{"i":{"x":[0.833],"y":[0.787]},"o":{"x":[0.167],"y":[0.098]},"t":48,"s":[411.668]},{"i":{"x":[0.833],"y":[0.869]},"o":{"x":[0.167],"y":[0.137]},"t":49,"s":[411.691]},{"i":{"x":[0.833],"y":[0.742]},"o":{"x":[0.167],"y":[0.228]},"t":50,"s":[411.727]},{"i":{"x":[0.833],"y":[0.834]},"o":{"x":[0.167],"y":[0.123]},"t":51,"s":[411.747]},{"i":{"x":[0.833],"y":[0.877]},"o":{"x":[0.167],"y":[0.167]},"t":52,"s":[411.79]},{"i":{"x":[0.833],"y":[0.763]},"o":{"x":[0.167],"y":[0.258]},"t":53,"s":[411.833]},{"i":{"x":[0.833],"y":[0.845]},"o":{"x":[0.167],"y":[0.129]},"t":54,"s":[411.853]},{"i":{"x":[0.833],"y":[0.88]},"o":{"x":[0.167],"y":[0.18]},"t":55,"s":[411.89]},{"i":{"x":[0.833],"y":[0.775]},"o":{"x":[0.167],"y":[0.275]},"t":56,"s":[411.922]},{"i":{"x":[0.833],"y":[0.852]},"o":{"x":[0.167],"y":[0.132]},"t":57,"s":[411.936]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.19]},"t":58,"s":[411.96]},{"t":59,"s":[411.979]}],"ix":3},"m":1,"ix":3,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tr","p":{"a":0,"k":[30,30],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 6","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.761,0],[0,0],[0,-2.761],[0,0],[2.761,0],[0,0],[0,2.761],[0,0]],"o":[[0,0],[2.761,0],[0,0],[0,2.761],[0,0],[-2.761,0],[0,0],[0,-2.761]],"v":[[-6,-9.33],[6,-9.33],[11,-4.33],[11,4.33],[6,9.33],[-6,9.33],[-11,4.33],[-11,-4.33]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":63.25,"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":0,"s":[52]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":1,"s":[52]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":2,"s":[52]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":3,"s":[52]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":4,"s":[52]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":5,"s":[52]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":6,"s":[52]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":7,"s":[52]},{"i":{"x":[0.833],"y":[0.86]},"o":{"x":[0.167],"y":[0]},"t":8,"s":[52]},{"i":{"x":[0.833],"y":[0.346]},"o":{"x":[0.167],"y":[0.083]},"t":9,"s":[52]},{"i":{"x":[0.833],"y":[0.854]},"o":{"x":[0.167],"y":[0.096]},"t":10,"s":[53.683]},{"i":{"x":[0.833],"y":[0.717]},"o":{"x":[0.167],"y":[0.194]},"t":11,"s":[65.202]},{"i":{"x":[0.833],"y":[0.825]},"o":{"x":[0.167],"y":[0.118]},"t":12,"s":[73.881]},{"i":{"x":[0.833],"y":[0.875]},"o":{"x":[0.167],"y":[0.159]},"t":13,"s":[94.689]},{"i":{"x":[0.833],"y":[0.756]},"o":{"x":[0.167],"y":[0.249]},"t":14,"s":[117.632]},{"i":{"x":[0.833],"y":[0.841]},"o":{"x":[0.167],"y":[0.127]},"t":15,"s":[129.183]},{"i":{"x":[0.833],"y":[0.879]},"o":{"x":[0.167],"y":[0.175]},"t":16,"s":[151.424]},{"i":{"x":[0.833],"y":[0.77]},"o":{"x":[0.167],"y":[0.268]},"t":17,"s":[171.61]},{"i":{"x":[0.833],"y":[0.849]},"o":{"x":[0.167],"y":[0.131]},"t":18,"s":[180.714]},{"i":{"x":[0.833],"y":[0.882]},"o":{"x":[0.167],"y":[0.186]},"t":19,"s":[196.735]},{"i":{"x":[0.833],"y":[0.781]},"o":{"x":[0.167],"y":[0.283]},"t":20,"s":[209.784]},{"i":{"x":[0.833],"y":[0.856]},"o":{"x":[0.167],"y":[0.134]},"t":21,"s":[215.227]},{"i":{"x":[0.833],"y":[0.885]},"o":{"x":[0.167],"y":[0.198]},"t":22,"s":[224.101]},{"i":{"x":[0.833],"y":[0.796]},"o":{"x":[0.167],"y":[0.304]},"t":23,"s":[230.567]},{"i":{"x":[0.833],"y":[0.868]},"o":{"x":[0.167],"y":[0.141]},"t":24,"s":[233.011]},{"i":{"x":[0.833],"y":[0.893]},"o":{"x":[0.167],"y":[0.225]},"t":25,"s":[236.564]},{"i":{"x":[0.833],"y":[0.845]},"o":{"x":[0.167],"y":[0.372]},"t":26,"s":[238.647]},{"i":{"x":[0.833],"y":[0.943]},"o":{"x":[0.167],"y":[0.18]},"t":27,"s":[239.247]},{"i":{"x":[0.833],"y":[0.782]},"o":{"x":[0.167],"y":[-0.184]},"t":28,"s":[239.765]},{"i":{"x":[0.833],"y":[0.675]},"o":{"x":[0.167],"y":[0.135]},"t":29,"s":[239.603]},{"i":{"x":[0.833],"y":[0.813]},"o":{"x":[0.167],"y":[0.112]},"t":30,"s":[239.343]},{"i":{"x":[0.833],"y":[0.872]},"o":{"x":[0.167],"y":[0.15]},"t":31,"s":[238.587]},{"i":{"x":[0.833],"y":[0.75]},"o":{"x":[0.167],"y":[0.24]},"t":32,"s":[237.649]},{"i":{"x":[0.833],"y":[0.838]},"o":{"x":[0.167],"y":[0.125]},"t":33,"s":[237.151]},{"i":{"x":[0.833],"y":[0.878]},"o":{"x":[0.167],"y":[0.172]},"t":34,"s":[236.156]},{"i":{"x":[0.833],"y":[0.767]},"o":{"x":[0.167],"y":[0.264]},"t":35,"s":[235.216]},{"i":{"x":[0.833],"y":[0.847]},"o":{"x":[0.167],"y":[0.13]},"t":36,"s":[234.782]},{"i":{"x":[0.833],"y":[0.881]},"o":{"x":[0.167],"y":[0.183]},"t":37,"s":[234.001]},{"i":{"x":[0.833],"y":[0.778]},"o":{"x":[0.167],"y":[0.279]},"t":38,"s":[233.346]},{"i":{"x":[0.833],"y":[0.854]},"o":{"x":[0.167],"y":[0.133]},"t":39,"s":[233.067]},{"i":{"x":[0.833],"y":[0.884]},"o":{"x":[0.167],"y":[0.194]},"t":40,"s":[232.601]},{"i":{"x":[0.833],"y":[0.79]},"o":{"x":[0.167],"y":[0.296]},"t":41,"s":[232.25]},{"i":{"x":[0.833],"y":[0.863]},"o":{"x":[0.167],"y":[0.138]},"t":42,"s":[232.112]},{"i":{"x":[0.833],"y":[0.889]},"o":{"x":[0.167],"y":[0.214]},"t":43,"s":[231.904]},{"i":{"x":[0.833],"y":[0.82]},"o":{"x":[0.167],"y":[0.338]},"t":44,"s":[231.771]},{"i":{"x":[0.833],"y":[0.896]},"o":{"x":[0.167],"y":[0.155]},"t":45,"s":[231.727]},{"i":{"x":[0.833],"y":[0.944]},"o":{"x":[0.167],"y":[0.416]},"t":46,"s":[231.677]},{"i":{"x":[0.833],"y":[0.456]},"o":{"x":[0.167],"y":[-0.17]},"t":47,"s":[231.664]},{"i":{"x":[0.833],"y":[0.787]},"o":{"x":[0.167],"y":[0.098]},"t":48,"s":[231.668]},{"i":{"x":[0.833],"y":[0.869]},"o":{"x":[0.167],"y":[0.137]},"t":49,"s":[231.691]},{"i":{"x":[0.833],"y":[0.742]},"o":{"x":[0.167],"y":[0.228]},"t":50,"s":[231.727]},{"i":{"x":[0.833],"y":[0.834]},"o":{"x":[0.167],"y":[0.123]},"t":51,"s":[231.747]},{"i":{"x":[0.833],"y":[0.877]},"o":{"x":[0.167],"y":[0.167]},"t":52,"s":[231.79]},{"i":{"x":[0.833],"y":[0.763]},"o":{"x":[0.167],"y":[0.258]},"t":53,"s":[231.833]},{"i":{"x":[0.833],"y":[0.845]},"o":{"x":[0.167],"y":[0.129]},"t":54,"s":[231.853]},{"i":{"x":[0.833],"y":[0.88]},"o":{"x":[0.167],"y":[0.18]},"t":55,"s":[231.89]},{"i":{"x":[0.833],"y":[0.775]},"o":{"x":[0.167],"y":[0.275]},"t":56,"s":[231.922]},{"i":{"x":[0.833],"y":[0.852]},"o":{"x":[0.167],"y":[0.132]},"t":57,"s":[231.936]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.19]},"t":58,"s":[231.96]},{"t":59,"s":[231.979]}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2.67,"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[30,30],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"ct":1,"bm":0}],"markers":[],"props":{}} \ No newline at end of file