//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//
//       LottieGen version:
//           8.1.240821.1+077322fa26
//       
//       Command:
//           LottieGen -Language CSharp -Public -WinUIVersion 3.0 -InputFile GitHub.json
//       
//       Input file:
//           GitHub.json (146836 bytes created 17:26+02:00 Nov 17 2024)
//       
//       LottieGen source:
//           http://aka.ms/Lottie
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
// ____________________________________
// |       Object stats       | Count |
// |__________________________|_______|
// | All CompositionObjects   |    64 |
// |--------------------------+-------|
// | Expression animators     |     1 |
// | KeyFrame animators       |     3 |
// | Reference parameters     |     1 |
// | Expression operations    |     0 |
// |--------------------------+-------|
// | Animated brushes         |     - |
// | Animated gradient stops  |     - |
// | ExpressionAnimations     |     1 |
// | PathKeyFrameAnimations   |     2 |
// |--------------------------+-------|
// | ContainerVisuals         |     1 |
// | ShapeVisuals             |     1 |
// |--------------------------+-------|
// | ContainerShapes          |     1 |
// | CompositionSpriteShapes  |     9 |
// |--------------------------+-------|
// | Brushes                  |     3 |
// | Gradient stops           |     - |
// | CompositionVisualSurface |     - |
// ------------------------------------
using Microsoft.Graphics;
using Microsoft.Graphics.Canvas.Geometry;
using Microsoft.UI.Composition;
using System;
using System.Collections.Generic;
using System.Numerics;
using Windows.UI;

namespace AnimatedVisuals
{
    // Name:        Comp 1
    // Frame rate:  24 fps
    // Frame count: 28
    // Duration:    1166.7 mS
    // _____________________________________________________________________________________________
    // |           Marker           |           Constant           | Frame |   mS   |   Progress   |
    // |____________________________|______________________________|_______|________|______________|
    // | NormalToPressed_Start      | M_NormalToPressed_Start      |     0 |    0.0 | 0F           |
    // | NormalToPressed_End        | M_NormalToPressed_End        |     9 |  375.0 | 0.323214293F |
    // | PointerOverToPressed_Start | M_PointerOverToPressed_Start |     9 |  375.0 | 0.323214293F |
    // | PointerOverToPressed_End   | M_PointerOverToPressed_End   |    19 |  791.7 | 0.680357158F |
    // | PressedToNormal_Start      | M_PressedToNormal_Start      |    20 |  833.3 | 0.716071427F |
    // | PressedToNormal_End        | M_PressedToNormal_End        |    28 | 1166.7 | 1F           |
    // | PressedToPointerOver_Start | M_PressedToPointerOver_Start |    28 | 1166.7 | 1F           |
    // | PressedToPointerOver_End   | M_PressedToPointerOver_End   |    28 | 1166.7 | 1F           |
    // ---------------------------------------------------------------------------------------------
    sealed partial class GitHub
        : Microsoft.UI.Xaml.Controls.IAnimatedVisualSource
        , Microsoft.UI.Xaml.Controls.IAnimatedVisualSource2
    {
        // Animation duration: 1.167 seconds.
        internal const long c_durationTicks = 11666666;

        // Marker: NormalToPressed_Start.
        internal const float M_NormalToPressed_Start = 0F;

        // Marker: NormalToPressed_End.
        internal const float M_NormalToPressed_End = 0.323214293F;

        // Marker: PointerOverToPressed_Start.
        internal const float M_PointerOverToPressed_Start = 0.323214293F;

        // Marker: PointerOverToPressed_End.
        internal const float M_PointerOverToPressed_End = 0.680357158F;

        // Marker: PressedToNormal_Start.
        internal const float M_PressedToNormal_Start = 0.716071427F;

        // Marker: PressedToNormal_End.
        internal const float M_PressedToNormal_End = 1F;

        // Marker: PressedToPointerOver_Start.
        internal const float M_PressedToPointerOver_Start = 1F;

        // Marker: PressedToPointerOver_End.
        internal const float M_PressedToPointerOver_End = 1F;

        public Microsoft.UI.Xaml.Controls.IAnimatedVisual TryCreateAnimatedVisual(Compositor compositor)
        {
            object ignored = null;
            return TryCreateAnimatedVisual(compositor, out ignored);
        }

        public Microsoft.UI.Xaml.Controls.IAnimatedVisual TryCreateAnimatedVisual(Compositor compositor, out object diagnostics)
        {
            diagnostics = null;

            var res = 
                new GitHub_AnimatedVisual(
                    compositor
                    );
                res.CreateAnimations();
                return res;
        }

        /// <summary>
        /// Gets the number of frames in the animation.
        /// </summary>
        public double FrameCount => 28d;

        /// <summary>
        /// Gets the frame rate of the animation.
        /// </summary>
        public double Framerate => 24d;

        /// <summary>
        /// Gets the duration of the animation.
        /// </summary>
        public TimeSpan Duration => TimeSpan.FromTicks(11666666);

        /// <summary>
        /// Converts a zero-based frame number to the corresponding progress value denoting the
        /// start of the frame.
        /// </summary>
        public double FrameToProgress(double frameNumber)
        {
            return frameNumber / 28d;
        }

        /// <summary>
        /// Returns a map from marker names to corresponding progress values.
        /// </summary>
        public IReadOnlyDictionary<string, double> Markers =>
            new Dictionary<string, double>
            {
                { "NormalToPressed_Start", 0d },
                { "NormalToPressed_End", 0.323214285714286 },
                { "PointerOverToPressed_Start", 0.323214285714286 },
                { "PointerOverToPressed_End", 0.680357142857143 },
                { "PressedToNormal_Start", 0.716071428571429 },
                { "PressedToNormal_End", 1d },
                { "PressedToPointerOver_Start", 1d },
                { "PressedToPointerOver_End", 1d },
            };

        /// <summary>
        /// Sets the color property with the given name, or does nothing if no such property
        /// exists.
        /// </summary>
        public void SetColorProperty(string propertyName, Color value)
        {
        }

        /// <summary>
        /// Sets the scalar property with the given name, or does nothing if no such property
        /// exists.
        /// </summary>
        public void SetScalarProperty(string propertyName, double value)
        {
        }

        sealed partial class GitHub_AnimatedVisual
            : Microsoft.UI.Xaml.Controls.IAnimatedVisual
            , Microsoft.UI.Xaml.Controls.IAnimatedVisual2
        {
            const long c_durationTicks = 11666666;
            readonly Compositor _c;
            readonly ExpressionAnimation _reusableExpressionAnimation;
            AnimationController _animationController_0;
            CanvasGeometry _geometry_09;
            CanvasGeometry _geometry_10;
            CompositionColorBrush _colorBrush_AlmostDarkSlateGray_FF455A64;
            CompositionColorBrush _colorBrush_White;
            CompositionContainerShape _containerShape;
            CompositionPath _path_0;
            CompositionPath _path_1;
            CompositionPath _path_2;
            CompositionPathGeometry _pathGeometry_3;
            CompositionPathGeometry _pathGeometry_5;
            CompositionPathGeometry _pathGeometry_6;
            ContainerVisual _root;
            CubicBezierEasingFunction _cubicBezierEasingFunction_0;
            StepEasingFunction _holdThenStepEasingFunction;

            void BindProperty(
                CompositionObject target,
                string animatedPropertyName,
                string expression,
                string referenceParameterName,
                CompositionObject referencedObject)
            {
                _reusableExpressionAnimation.ClearAllParameters();
                _reusableExpressionAnimation.Expression = expression;
                _reusableExpressionAnimation.SetReferenceParameter(referenceParameterName, referencedObject);
                target.StartAnimation(animatedPropertyName, _reusableExpressionAnimation);
            }

            PathKeyFrameAnimation CreatePathKeyFrameAnimation(float initialProgress, CompositionPath initialValue, CompositionEasingFunction initialEasingFunction)
            {
                var result = _c.CreatePathKeyFrameAnimation();
                result.Duration = TimeSpan.FromTicks(c_durationTicks);
                result.InsertKeyFrame(initialProgress, initialValue, initialEasingFunction);
                return result;
            }

            Vector2KeyFrameAnimation CreateVector2KeyFrameAnimation(float initialProgress, Vector2 initialValue, CompositionEasingFunction initialEasingFunction)
            {
                var result = _c.CreateVector2KeyFrameAnimation();
                result.Duration = TimeSpan.FromTicks(c_durationTicks);
                result.InsertKeyFrame(initialProgress, initialValue, initialEasingFunction);
                return result;
            }

            CompositionSpriteShape CreateSpriteShape(CompositionGeometry geometry, Matrix3x2 transformMatrix, CompositionBrush fillBrush)
            {
                var result = _c.CreateSpriteShape(geometry);
                result.TransformMatrix = transformMatrix;
                result.FillBrush = fillBrush;
                return result;
            }

            AnimationController AnimationController_0()
            {
                if (_animationController_0 != null) { return _animationController_0; }
                var result = _animationController_0 = _c.CreateAnimationController();
                result.Pause();
                BindProperty(_animationController_0, "Progress", "_.Progress", "_", _root);
                return result;
            }

            // - - - Layer aggregator
            // - - ShapeGroup: Group 5 Offset:<24, 24>
            CanvasGeometry Geometry_00()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(17F, 0F));
                    builder.AddCubicBezier(new Vector2(17F, 9.39999962F), new Vector2(9.39999962F, 17F), new Vector2(0F, 17F));
                    builder.AddCubicBezier(new Vector2(-9.39999962F, 17F), new Vector2(-17F, 9.39999962F), new Vector2(-17F, 0F));
                    builder.AddCubicBezier(new Vector2(-17F, -9.39999962F), new Vector2(-9.39999962F, -17F), new Vector2(0F, -17F));
                    builder.AddCubicBezier(new Vector2(9.39999962F, -17F), new Vector2(17F, -9.39999962F), new Vector2(17F, 0F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            // - - - Layer aggregator
            // - - ShapeGroup: Group 4 Offset:<24.05, 33.3>
            // - Path 5+Path 4+Path 3+Path 2+Path 1.PathGeometry
            CanvasGeometry Geometry_01()
            {
                var result = CanvasGeometry.CreateGroup(
                    null,
                    new CanvasGeometry[] { Geometry_02(), Geometry_03(), Geometry_04(), Geometry_05(), Geometry_06() },
                    CanvasFilledRegionDetermination.Winding);
                return result;
            }

            // - - - - Layer aggregator
            // - - - ShapeGroup: Group 4 Offset:<24.05, 33.3>
            // - - Path 5+Path 4+Path 3+Path 2+Path 1.PathGeometry
            CanvasGeometry Geometry_02()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(-3.04999995F, 7.69999981F));
                    builder.AddLine(new Vector2(-3.04999995F, 2.20000005F));
                    builder.AddCubicBezier(new Vector2(-3.04999995F, 1.89999998F), new Vector2(-2.8499999F, 1.70000005F), new Vector2(-2.54999995F, 1.70000005F));
                    builder.AddCubicBezier(new Vector2(-2.25F, 1.70000005F), new Vector2(-2.04999995F, 1.89999998F), new Vector2(-2.04999995F, 2.20000005F));
                    builder.AddLine(new Vector2(-2.04999995F, 7.69999981F));
                    builder.AddLine(new Vector2(-0.0500000007F, 7.69999981F));
                    builder.AddLine(new Vector2(-0.0500000007F, 1.20000005F));
                    builder.AddCubicBezier(new Vector2(-0.0500000007F, 0.899999976F), new Vector2(0.150000006F, 0.699999988F), new Vector2(0.449999988F, 0.699999988F));
                    builder.AddCubicBezier(new Vector2(0.75F, 0.699999988F), new Vector2(0.949999988F, 0.899999976F), new Vector2(0.949999988F, 1.20000005F));
                    builder.AddLine(new Vector2(0.949999988F, 7.69999981F));
                    builder.AddLine(new Vector2(2.95000005F, 7.69999981F));
                    builder.AddLine(new Vector2(2.95000005F, 2.20000005F));
                    builder.AddCubicBezier(new Vector2(2.95000005F, 1.89999998F), new Vector2(3.1500001F, 1.70000005F), new Vector2(3.45000005F, 1.70000005F));
                    builder.AddCubicBezier(new Vector2(3.75F, 1.70000005F), new Vector2(3.95000005F, 1.89999998F), new Vector2(3.95000005F, 2.20000005F));
                    builder.AddLine(new Vector2(3.95000005F, 7.69999981F));
                    builder.AddLine(new Vector2(5.75F, 7.69999981F));
                    builder.AddCubicBezier(new Vector2(5.94999981F, 7.4000001F), new Vector2(5.94999981F, 7.0999999F), new Vector2(5.94999981F, 6.5999999F));
                    builder.AddLine(new Vector2(5.94999981F, 2.70000005F));
                    builder.AddCubicBezier(new Vector2(5.94999981F, 0.5F), new Vector2(4.05000019F, -2.5F), new Vector2(1.64999998F, -2.5F));
                    builder.AddLine(new Vector2(-0.850000024F, -2.5F));
                    builder.AddCubicBezier(new Vector2(-3.1500001F, -2.5F), new Vector2(-5.1500001F, 0.600000024F), new Vector2(-5.1500001F, 2.70000005F));
                    builder.AddLine(new Vector2(-5.1500001F, 6.5999999F));
                    builder.AddCubicBezier(new Vector2(-5.1500001F, 7F), new Vector2(-5.05000019F, 7.4000001F), new Vector2(-4.94999981F, 7.69999981F));
                    builder.AddLine(new Vector2(-3.04999995F, 7.69999981F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            // - - - - Layer aggregator
            // - - - ShapeGroup: Group 4 Offset:<24.05, 33.3>
            // - - Path 5+Path 4+Path 3+Path 2+Path 1.PathGeometry
            CanvasGeometry Geometry_03()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(16.0499992F, -6.9000001F));
                    builder.AddCubicBezier(new Vector2(16.0499992F, -6.9000001F), new Vector2(14.75F, -7.30000019F), new Vector2(13.6499996F, -7.30000019F));
                    builder.AddLine(new Vector2(13.5500002F, -7.30000019F));
                    builder.AddCubicBezier(new Vector2(12.4499998F, -7.30000019F), new Vector2(10.6499996F, -7F), new Vector2(10.6499996F, -7F));
                    builder.AddCubicBezier(new Vector2(10.5500002F, -7F), new Vector2(10.5500002F, -7F), new Vector2(10.5500002F, -7.0999999F));
                    builder.AddCubicBezier(new Vector2(10.5500002F, -7.19999981F), new Vector2(10.5500002F, -7.19999981F), new Vector2(10.6499996F, -7.19999981F));
                    builder.AddCubicBezier(new Vector2(10.75F, -7.19999981F), new Vector2(12.6499996F, -7.5F), new Vector2(13.75F, -7.5F));
                    builder.AddCubicBezier(new Vector2(14.8500004F, -7.5F), new Vector2(16.1499996F, -7.0999999F), new Vector2(16.25F, -7.0999999F));
                    builder.AddCubicBezier(new Vector2(16.3500004F, -7.0999999F), new Vector2(16.3500004F, -7F), new Vector2(16.3500004F, -6.9000001F));
                    builder.AddCubicBezier(new Vector2(16.1499996F, -7F), new Vector2(16.1499996F, -6.9000001F), new Vector2(16.0499992F, -6.9000001F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            // - - - - Layer aggregator
            // - - - ShapeGroup: Group 4 Offset:<24.05, 33.3>
            // - - Path 5+Path 4+Path 3+Path 2+Path 1.PathGeometry
            CanvasGeometry Geometry_04()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(15.75F, -6.0999999F));
                    builder.AddCubicBezier(new Vector2(15.75F, -6.0999999F), new Vector2(14.3500004F, -6.5F), new Vector2(13.1499996F, -6.5F));
                    builder.AddCubicBezier(new Vector2(12.25F, -6.5F), new Vector2(10.1499996F, -6.30000019F), new Vector2(10.0500002F, -6.30000019F));
                    builder.AddCubicBezier(new Vector2(9.94999981F, -6.30000019F), new Vector2(9.94999981F, -6.30000019F), new Vector2(9.94999981F, -6.4000001F));
                    builder.AddCubicBezier(new Vector2(9.94999981F, -6.5F), new Vector2(9.94999981F, -6.5F), new Vector2(10.0500002F, -6.5F));
                    builder.AddCubicBezier(new Vector2(10.1499996F, -6.5F), new Vector2(12.25F, -6.69999981F), new Vector2(13.1499996F, -6.69999981F));
                    builder.AddCubicBezier(new Vector2(14.4499998F, -6.69999981F), new Vector2(15.75F, -6.30000019F), new Vector2(15.75F, -6.30000019F));
                    builder.AddCubicBezier(new Vector2(15.8500004F, -6.30000019F), new Vector2(15.8500004F, -6.19999981F), new Vector2(15.8500004F, -6.0999999F));
                    builder.AddCubicBezier(new Vector2(15.8500004F, -6.19999981F), new Vector2(15.8500004F, -6.0999999F), new Vector2(15.75F, -6.0999999F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            // - - - - Layer aggregator
            // - - - ShapeGroup: Group 4 Offset:<24.05, 33.3>
            // - - Path 5+Path 4+Path 3+Path 2+Path 1.PathGeometry
            CanvasGeometry Geometry_05()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(-16.25F, -6.9000001F));
                    builder.AddCubicBezier(new Vector2(-16.3500004F, -6.9000001F), new Vector2(-16.3500004F, -6.9000001F), new Vector2(-16.3500004F, -7F));
                    builder.AddCubicBezier(new Vector2(-16.3500004F, -7.0999999F), new Vector2(-16.3500004F, -7.0999999F), new Vector2(-16.25F, -7.19999981F));
                    builder.AddCubicBezier(new Vector2(-15.4499998F, -7.4000001F), new Vector2(-13.8500004F, -7.69999981F), new Vector2(-12.9499998F, -7.69999981F));
                    builder.AddCubicBezier(new Vector2(-12.1499996F, -7.69999981F), new Vector2(-9.44999981F, -7.5F), new Vector2(-9.35000038F, -7.5F));
                    builder.AddCubicBezier(new Vector2(-9.25F, -7.5F), new Vector2(-9.25F, -7.4000001F), new Vector2(-9.25F, -7.4000001F));
                    builder.AddCubicBezier(new Vector2(-9.25F, -7.30000019F), new Vector2(-9.35000038F, -7.30000019F), new Vector2(-9.35000038F, -7.30000019F));
                    builder.AddCubicBezier(new Vector2(-9.35000038F, -7.30000019F), new Vector2(-12.0500002F, -7.5F), new Vector2(-12.8500004F, -7.5F));
                    builder.AddCubicBezier(new Vector2(-13.9499998F, -7.30000019F), new Vector2(-15.4499998F, -7.0999999F), new Vector2(-16.25F, -6.9000001F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            // - - - - Layer aggregator
            // - - - ShapeGroup: Group 4 Offset:<24.05, 33.3>
            // - - Path 5+Path 4+Path 3+Path 2+Path 1.PathGeometry
            CanvasGeometry Geometry_06()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(-15.8500004F, -5.4000001F));
                    builder.AddCubicBezier(new Vector2(-15.8500004F, -5.4000001F), new Vector2(-15.9499998F, -5.4000001F), new Vector2(-15.9499998F, -5.5F));
                    builder.AddLine(new Vector2(-15.9499998F, -5.69999981F));
                    builder.AddCubicBezier(new Vector2(-15.8500004F, -5.69999981F), new Vector2(-14.5500002F, -6.5F), new Vector2(-13.0500002F, -6.69999981F));
                    builder.AddCubicBezier(new Vector2(-11.75F, -6.9000001F), new Vector2(-9.05000019F, -6.5999999F), new Vector2(-8.85000038F, -6.5999999F));
                    builder.AddCubicBezier(new Vector2(-8.75F, -6.5999999F), new Vector2(-8.75F, -6.5F), new Vector2(-8.75F, -6.5F));
                    builder.AddCubicBezier(new Vector2(-8.75F, -6.4000001F), new Vector2(-8.85000038F, -6.4000001F), new Vector2(-8.85000038F, -6.4000001F));
                    builder.AddCubicBezier(new Vector2(-8.85000038F, -6.4000001F), new Vector2(-11.6499996F, -6.69999981F), new Vector2(-12.9499998F, -6.5F));
                    builder.AddCubicBezier(new Vector2(-14.4499998F, -6.19999981F), new Vector2(-15.8500004F, -5.4000001F), new Vector2(-15.8500004F, -5.4000001F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            // - - - Layer aggregator
            // - - ShapeGroup: Group 3 Offset:<24.5, 23>
            CanvasGeometry Geometry_07()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(-10.3000002F, 0.5F));
                    builder.AddCubicBezier(new Vector2(-10.3000002F, -3.9000001F), new Vector2(-5.69999981F, -8F), new Vector2(0F, -8F));
                    builder.AddCubicBezier(new Vector2(5.69999981F, -8F), new Vector2(10.3000002F, -4F), new Vector2(10.3000002F, 0.5F));
                    builder.AddCubicBezier(new Vector2(10.3000002F, 5F), new Vector2(7F, 8F), new Vector2(0F, 8F));
                    builder.AddCubicBezier(new Vector2(-7F, 8F), new Vector2(-10.3000002F, 4.9000001F), new Vector2(-10.3000002F, 0.5F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            CanvasGeometry Geometry_08()
            {
                var result = CanvasGeometry.CreateGroup(
                    null,
                    new CanvasGeometry[] { Geometry_09(), Geometry_10(), Geometry_11() },
                    CanvasFilledRegionDetermination.Winding);
                return result;
            }

            CanvasGeometry Geometry_09()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(5.704F, -8.64999962F));
                    builder.AddCubicBezier(new Vector2(5.704F, -8.64999962F), new Vector2(7.40399981F, -10.9499998F), new Vector2(10.5039997F, -10.9499998F));
                    builder.AddCubicBezier(new Vector2(11.7040005F, -9.75F), new Vector2(10.9040003F, -6.1500001F), new Vector2(10.5039997F, -5.1500001F));
                    builder.AddCubicBezier(new Vector2(10.5039997F, -5.1500001F), new Vector2(5.704F, -8.64999962F), new Vector2(5.704F, -8.64999962F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = _geometry_09 = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            CanvasGeometry Geometry_10()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(-2.49600005F, -8.64999962F));
                    builder.AddCubicBezier(new Vector2(-2.49600005F, -8.64999962F), new Vector2(-4.1960001F, -10.9499998F), new Vector2(-7.296F, -10.9499998F));
                    builder.AddCubicBezier(new Vector2(-8.49600029F, -9.75F), new Vector2(-7.6960001F, -6.1500001F), new Vector2(-7.296F, -5.1500001F));
                    builder.AddCubicBezier(new Vector2(-7.296F, -5.1500001F), new Vector2(-2.49600005F, -8.64999962F), new Vector2(-2.49600005F, -8.64999962F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = _geometry_10 = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            CanvasGeometry Geometry_11()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(-2.796F, 10.9499998F));
                    builder.AddCubicBezier(new Vector2(-2.796F, 10.9499998F), new Vector2(-5.09600019F, 10.9499998F), new Vector2(-5.59600019F, 10.9499998F));
                    builder.AddCubicBezier(new Vector2(-6.796F, 10.9499998F), new Vector2(-7.89599991F, 10.4499998F), new Vector2(-8.39599991F, 9.44999981F));
                    builder.AddCubicBezier(new Vector2(-8.99600029F, 8.35000038F), new Vector2(-9.49600029F, 7.1500001F), new Vector2(-10.9960003F, 6.1500001F));
                    builder.AddCubicBezier(new Vector2(-11.2959995F, 5.94999981F), new Vector2(-11.0959997F, 5.75F), new Vector2(-10.5959997F, 5.75F));
                    builder.AddCubicBezier(new Vector2(-10.0959997F, 5.8499999F), new Vector2(-9.1960001F, 5.94999981F), new Vector2(-8.49600029F, 6.8499999F));
                    builder.AddCubicBezier(new Vector2(-7.796F, 7.75F), new Vector2(-6.99599981F, 8.85000038F), new Vector2(-5.6960001F, 8.85000038F));
                    builder.AddCubicBezier(new Vector2(-4.39599991F, 8.85000038F), new Vector2(-2.99600005F, 8.85000038F), new Vector2(-2.1960001F, 7.94999981F));
                    builder.AddCubicBezier(new Vector2(-2.1960001F, 7.94999981F), new Vector2(-2.796F, 10.9499998F), new Vector2(-2.796F, 10.9499998F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            // - - - - Layer aggregator
            // - - - ShapeGroup: Group 2 Offset:<22.896, 24.95>
            // - - Path 3+Path 2+Path 1.PathGeometry
            // - Path
            CanvasGeometry Geometry_12()
            {
                var result = CanvasGeometry.CreateGroup(
                    null,
                    new CanvasGeometry[] { Geometry_09(), Geometry_10(), Geometry_13() },
                    CanvasFilledRegionDetermination.Winding);
                return result;
            }

            // - - - - - Layer aggregator
            // - - - - ShapeGroup: Group 2 Offset:<22.896, 24.95>
            // - - - Path 3+Path 2+Path 1.PathGeometry
            // - - Path
            CanvasGeometry Geometry_13()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(-2.796F, 10.9499998F));
                    builder.AddCubicBezier(new Vector2(-2.796F, 10.9499998F), new Vector2(-5.09600019F, 10.9499998F), new Vector2(-5.59600019F, 10.9499998F));
                    builder.AddCubicBezier(new Vector2(-6.796F, 10.9499998F), new Vector2(-8.06900024F, 10.2060003F), new Vector2(-8.80300045F, 9.51200008F));
                    builder.AddCubicBezier(new Vector2(-9.74100018F, 8.59599972F), new Vector2(-10.0059996F, 6.84700012F), new Vector2(-9.93799973F, 5.20900011F));
                    builder.AddCubicBezier(new Vector2(-9.92300034F, 4.84899998F), new Vector2(-9.45899963F, 4.64400005F), new Vector2(-9.29199982F, 5.11600018F));
                    builder.AddCubicBezier(new Vector2(-9.11100006F, 5.59299994F), new Vector2(-8.95899963F, 6.36199999F), new Vector2(-8.51500034F, 7.29899979F));
                    builder.AddCubicBezier(new Vector2(-8.02700043F, 8.32900047F), new Vector2(-6.99599981F, 8.85000038F), new Vector2(-5.6960001F, 8.85000038F));
                    builder.AddCubicBezier(new Vector2(-4.39599991F, 8.85000038F), new Vector2(-2.99600005F, 8.85000038F), new Vector2(-2.1960001F, 7.94999981F));
                    builder.AddCubicBezier(new Vector2(-2.1960001F, 7.94999981F), new Vector2(-2.796F, 10.9499998F), new Vector2(-2.796F, 10.9499998F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            // - - - Layer aggregator
            // - - ShapeGroup: Group 1 Offset:<24, 24>
            // - Path 2+Path 1.PathGeometry
            CanvasGeometry Geometry_14()
            {
                var result = CanvasGeometry.CreateGroup(
                    null,
                    new CanvasGeometry[] { Geometry_15(), Geometry_16() },
                    CanvasFilledRegionDetermination.Winding);
                return result;
            }

            // - - - - Layer aggregator
            // - - - ShapeGroup: Group 1 Offset:<24, 24>
            // - - Path 2+Path 1.PathGeometry
            CanvasGeometry Geometry_15()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(0F, -20F));
                    builder.AddCubicBezier(new Vector2(-11F, -20F), new Vector2(-20F, -11F), new Vector2(-20F, 0F));
                    builder.AddCubicBezier(new Vector2(-20F, 11F), new Vector2(-11F, 20F), new Vector2(0F, 20F));
                    builder.AddCubicBezier(new Vector2(11F, 20F), new Vector2(20F, 11F), new Vector2(20F, 0F));
                    builder.AddCubicBezier(new Vector2(20F, -11F), new Vector2(11F, -20F), new Vector2(0F, -20F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            // - - - - Layer aggregator
            // - - - ShapeGroup: Group 1 Offset:<24, 24>
            // - - Path 2+Path 1.PathGeometry
            CanvasGeometry Geometry_16()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(0F, 16F));
                    builder.AddCubicBezier(new Vector2(-8.80000019F, 16F), new Vector2(-16F, 8.80000019F), new Vector2(-16F, 0F));
                    builder.AddCubicBezier(new Vector2(-16F, -8.80000019F), new Vector2(-8.80000019F, -16F), new Vector2(0F, -16F));
                    builder.AddCubicBezier(new Vector2(8.80000019F, -16F), new Vector2(16F, -8.80000019F), new Vector2(16F, 0F));
                    builder.AddCubicBezier(new Vector2(16F, 8.80000019F), new Vector2(8.80000019F, 16F), new Vector2(0F, 16F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            CanvasGeometry Geometry_17()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(3.5F, 0F));
                    builder.AddCubicBezier(new Vector2(3.5F, 0.00300000003F), new Vector2(1.93299997F, 0.00600000005F), new Vector2(0F, 0.00600000005F));
                    builder.AddCubicBezier(new Vector2(-1.93299997F, 0.00600000005F), new Vector2(-3.5F, 0.00300000003F), new Vector2(-3.5F, 0F));
                    builder.AddCubicBezier(new Vector2(-3.5F, -0.00300000003F), new Vector2(-1.93299997F, -0.00600000005F), new Vector2(0F, -0.00600000005F));
                    builder.AddCubicBezier(new Vector2(1.93299997F, -0.00600000005F), new Vector2(3.5F, -0.00300000003F), new Vector2(3.5F, 0F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            CanvasGeometry Geometry_18()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(3.5F, 0F));
                    builder.AddCubicBezier(new Vector2(3.5F, 1.24300003F), new Vector2(1.93299997F, 2.25F), new Vector2(0F, 2.25F));
                    builder.AddCubicBezier(new Vector2(-1.93299997F, 2.25F), new Vector2(-3.5F, 1.24300003F), new Vector2(-3.5F, 0F));
                    builder.AddCubicBezier(new Vector2(-3.5F, -1.24300003F), new Vector2(-1.93299997F, -2.25F), new Vector2(0F, -2.25F));
                    builder.AddCubicBezier(new Vector2(1.93299997F, -2.25F), new Vector2(3.5F, -1.24300003F), new Vector2(3.5F, 0F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            CanvasGeometry Geometry_19()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(0.5F, 0F));
                    builder.AddCubicBezier(new Vector2(0.5F, 1.12199998F), new Vector2(0.275999993F, 2.03200006F), new Vector2(0F, 2.03200006F));
                    builder.AddCubicBezier(new Vector2(-0.275999993F, 2.03200006F), new Vector2(-0.5F, 1.12199998F), new Vector2(-0.5F, 0F));
                    builder.AddCubicBezier(new Vector2(-0.5F, -1.12199998F), new Vector2(-0.275999993F, -2.03200006F), new Vector2(0F, -2.03200006F));
                    builder.AddCubicBezier(new Vector2(0.275999993F, -2.03200006F), new Vector2(0.5F, -1.12199998F), new Vector2(0.5F, 0F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            CompositionColorBrush ColorBrush_AlmostDarkSlateGray_FF455A64()
            {
                return (_colorBrush_AlmostDarkSlateGray_FF455A64 == null)
                    ? _colorBrush_AlmostDarkSlateGray_FF455A64 = _c.CreateColorBrush(Color.FromArgb(0xFF, 0x45, 0x5A, 0x64))
                    : _colorBrush_AlmostDarkSlateGray_FF455A64;
            }

            // - Layer aggregator
            // ShapeGroup: Group 1 Offset:<24, 24>
            CompositionColorBrush ColorBrush_AlmostDarkTurquoise_FF00BCD4()
            {
                return _c.CreateColorBrush(Color.FromArgb(0xFF, 0x00, 0xBC, 0xD4));
            }

            CompositionColorBrush ColorBrush_White()
            {
                return (_colorBrush_White == null)
                    ? _colorBrush_White = _c.CreateColorBrush(Color.FromArgb(0xFF, 0xFF, 0xFF, 0xFF))
                    : _colorBrush_White;
            }

            // Layer aggregator
            // Layer: eyes
            CompositionContainerShape ContainerShape()
            {
                if (_containerShape != null) { return _containerShape; }
                var result = _containerShape = _c.CreateContainerShape();
                result.Scale = new Vector2(0F, 0F);
                var shapes = result.Shapes;
                // ShapeGroup: Group 2 Offset:<19.5, 23.287>
                shapes.Add(SpriteShape_5());
                // ShapeGroup: Group 1 Offset:<29.5, 23.287>
                shapes.Add(SpriteShape_6());
                return result;
            }

            CompositionPath Path_0()
            {
                if (_path_0 != null) { return _path_0; }
                var result = _path_0 = new CompositionPath(Geometry_08());
                return result;
            }

            CompositionPath Path_1()
            {
                if (_path_1 != null) { return _path_1; }
                var result = _path_1 = new CompositionPath(Geometry_17());
                return result;
            }

            CompositionPath Path_2()
            {
                if (_path_2 != null) { return _path_2; }
                var result = _path_2 = new CompositionPath(Geometry_18());
                return result;
            }

            // - Layer aggregator
            // ShapeGroup: Group 5 Offset:<24, 24>
            CompositionPathGeometry PathGeometry_0()
            {
                return _c.CreatePathGeometry(new CompositionPath(Geometry_00()));
            }

            // - Layer aggregator
            // ShapeGroup: Group 4 Offset:<24.05, 33.3>
            // Path 5+Path 4+Path 3+Path 2+Path 1.PathGeometry
            CompositionPathGeometry PathGeometry_1()
            {
                return _c.CreatePathGeometry(new CompositionPath(Geometry_01()));
            }

            // - Layer aggregator
            // ShapeGroup: Group 3 Offset:<24.5, 23>
            CompositionPathGeometry PathGeometry_2()
            {
                return _c.CreatePathGeometry(new CompositionPath(Geometry_07()));
            }

            // - Layer aggregator
            // ShapeGroup: Group 2 Offset:<22.896, 24.95>
            // Path 3+Path 2+Path 1.PathGeometry
            CompositionPathGeometry PathGeometry_3()
            {
                if (_pathGeometry_3 != null) { return _pathGeometry_3; }
                var result = _pathGeometry_3 = _c.CreatePathGeometry();
                return result;
            }

            // - Layer aggregator
            // ShapeGroup: Group 1 Offset:<24, 24>
            // Path 2+Path 1.PathGeometry
            CompositionPathGeometry PathGeometry_4()
            {
                return _c.CreatePathGeometry(new CompositionPath(Geometry_14()));
            }

            CompositionPathGeometry PathGeometry_5()
            {
                if (_pathGeometry_5 != null) { return _pathGeometry_5; }
                var result = _pathGeometry_5 = _c.CreatePathGeometry();
                return result;
            }

            CompositionPathGeometry PathGeometry_6()
            {
                return (_pathGeometry_6 == null)
                    ? _pathGeometry_6 = _c.CreatePathGeometry(new CompositionPath(Geometry_19()))
                    : _pathGeometry_6;
            }

            // Layer aggregator
            // Path 1
            CompositionSpriteShape SpriteShape_0()
            {
                // Offset:<24, 24>
                var geometry = PathGeometry_0();
                var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 24F, 24F), ColorBrush_White());;
                return result;
            }

            // Layer aggregator
            // Path 5+Path 4+Path 3+Path 2+Path 1
            CompositionSpriteShape SpriteShape_1()
            {
                // Offset:<24.05, 33.3>
                var geometry = PathGeometry_1();
                var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 24.0499992F, 33.2999992F), ColorBrush_AlmostDarkSlateGray_FF455A64());;
                return result;
            }

            // Layer aggregator
            // Path 1
            CompositionSpriteShape SpriteShape_2()
            {
                // Offset:<24.5, 23>
                var geometry = PathGeometry_2();
                var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 24.5F, 23F), ColorBrush_AlmostDarkSlateGray_FF455A64());;
                return result;
            }

            // Layer aggregator
            // Path 3+Path 2+Path 1
            CompositionSpriteShape SpriteShape_3()
            {
                // Offset:<22.896, 24.95>
                var geometry = PathGeometry_3();
                var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 22.8959999F, 24.9500008F), ColorBrush_AlmostDarkSlateGray_FF455A64());;
                return result;
            }

            // Layer aggregator
            // Path 2+Path 1
            CompositionSpriteShape SpriteShape_4()
            {
                // Offset:<24, 24>
                var geometry = PathGeometry_4();
                var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 24F, 24F), ColorBrush_AlmostDarkTurquoise_FF00BCD4());;
                return result;
            }

            // - Layer aggregator
            // Layer: eyes
            // Path 1
            CompositionSpriteShape SpriteShape_5()
            {
                // Offset:<19.5, 23.287>
                var geometry = PathGeometry_5();
                var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 19.5F, 23.2870007F), ColorBrush_White());;
                return result;
            }

            // - Layer aggregator
            // Layer: eyes
            // Path 1
            CompositionSpriteShape SpriteShape_6()
            {
                // Offset:<29.5, 23.287>
                var geometry = PathGeometry_5();
                var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 29.5F, 23.2870007F), ColorBrush_White());;
                return result;
            }

            // Layer aggregator
            // Path 1
            CompositionSpriteShape SpriteShape_7()
            {
                // Offset:<19.5, 21.968>
                var geometry = PathGeometry_6();
                var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 19.5F, 21.9680004F), ColorBrush_AlmostDarkSlateGray_FF455A64());;
                return result;
            }

            // Layer aggregator
            // Path 1
            CompositionSpriteShape SpriteShape_8()
            {
                // Offset:<29.5, 21.968>
                var geometry = PathGeometry_6();
                var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 29.5F, 21.9680004F), ColorBrush_AlmostDarkSlateGray_FF455A64());;
                return result;
            }

            // The root of the composition.
            ContainerVisual Root()
            {
                if (_root != null) { return _root; }
                var result = _root = _c.CreateContainerVisual();
                var propertySet = result.Properties;
                propertySet.InsertScalar("Progress", 0F);
                // Layer aggregator
                result.Children.InsertAtTop(ShapeVisual_0());
                return result;
            }

            CubicBezierEasingFunction CubicBezierEasingFunction_0()
            {
                return (_cubicBezierEasingFunction_0 == null)
                    ? _cubicBezierEasingFunction_0 = _c.CreateCubicBezierEasingFunction(new Vector2(0.333000004F, 0F), new Vector2(0.666999996F, 1F))
                    : _cubicBezierEasingFunction_0;
            }

            // - - Layer aggregator
            // - ShapeGroup: Group 2 Offset:<22.896, 24.95>
            // Path 3+Path 2+Path 1.PathGeometry
            // Path
            PathKeyFrameAnimation PathKeyFrameAnimation_0()
            {
                // Frame 0.
                var result = CreatePathKeyFrameAnimation(0F, Path_0(), HoldThenStepEasingFunction());
                // Frame 14.
                result.InsertKeyFrame(0.5F, new CompositionPath(Geometry_12()), CubicBezierEasingFunction_0());
                // Frame 28.
                result.InsertKeyFrame(1F, Path_0(), CubicBezierEasingFunction_0());
                return result;
            }

            // Path
            PathKeyFrameAnimation PathKeyFrameAnimation_1()
            {
                // Frame 0.
                var result = CreatePathKeyFrameAnimation(0F, Path_1(), StepThenHoldEasingFunction());
                // Frame 3.
                result.InsertKeyFrame(0.107142858F, Path_1(), HoldThenStepEasingFunction());
                // Frame 9.
                result.InsertKeyFrame(0.321428567F, Path_2(), _c.CreateCubicBezierEasingFunction(new Vector2(0.166999996F, 0.166999996F), new Vector2(0.666999996F, 1F)));
                // Frame 19.
                result.InsertKeyFrame(0.678571403F, Path_2(), CubicBezierEasingFunction_0());
                // Frame 25.
                result.InsertKeyFrame(0.892857134F, Path_1(), _c.CreateCubicBezierEasingFunction(new Vector2(0.333000004F, 0F), new Vector2(0.833000004F, 0.833000004F)));
                return result;
            }

            // Layer aggregator
            ShapeVisual ShapeVisual_0()
            {
                var result = _c.CreateShapeVisual();
                result.Size = new Vector2(48F, 48F);
                var shapes = result.Shapes;
                // ShapeGroup: Group 5 Offset:<24, 24>
                shapes.Add(SpriteShape_0());
                // ShapeGroup: Group 4 Offset:<24.05, 33.3>
                shapes.Add(SpriteShape_1());
                // ShapeGroup: Group 3 Offset:<24.5, 23>
                shapes.Add(SpriteShape_2());
                // ShapeGroup: Group 2 Offset:<22.896, 24.95>
                shapes.Add(SpriteShape_3());
                // ShapeGroup: Group 1 Offset:<24, 24>
                shapes.Add(SpriteShape_4());
                // Layer: eyes
                shapes.Add(ContainerShape());
                // ShapeGroup: Group 2 Offset:<19.5, 21.968>
                shapes.Add(SpriteShape_7());
                // ShapeGroup: Group 1 Offset:<29.5, 21.968>
                shapes.Add(SpriteShape_8());
                return result;
            }

            StepEasingFunction HoldThenStepEasingFunction()
            {
                if (_holdThenStepEasingFunction != null) { return _holdThenStepEasingFunction; }
                var result = _holdThenStepEasingFunction = _c.CreateStepEasingFunction();
                result.IsFinalStepSingleFrame = true;
                return result;
            }

            // Path
            StepEasingFunction StepThenHoldEasingFunction()
            {
                var result = _c.CreateStepEasingFunction();
                result.IsInitialStepSingleFrame = true;
                return result;
            }

            // - Layer aggregator
            // Layer: eyes
            Vector2KeyFrameAnimation ShapeVisibilityAnimation()
            {
                // Frame 0.
                var result = CreateVector2KeyFrameAnimation(0F, new Vector2(0F, 0F), HoldThenStepEasingFunction());
                // Frame 3.
                result.InsertKeyFrame(0.107142858F, new Vector2(1F, 1F), HoldThenStepEasingFunction());
                // Frame 25.
                result.InsertKeyFrame(0.892857134F, new Vector2(0F, 0F), HoldThenStepEasingFunction());
                return result;
            }

            internal GitHub_AnimatedVisual(
                Compositor compositor
                )
            {
                _c = compositor;
                _reusableExpressionAnimation = compositor.CreateExpressionAnimation();
                Root();
            }

            public Visual RootVisual => _root;
            public TimeSpan Duration => TimeSpan.FromTicks(c_durationTicks);
            public Vector2 Size => new Vector2(48F, 48F);
            void IDisposable.Dispose() => _root?.Dispose();

            public void CreateAnimations()
            {
                _containerShape.StartAnimation("Scale", ShapeVisibilityAnimation(), AnimationController_0());
                _pathGeometry_3.StartAnimation("Path", PathKeyFrameAnimation_0(), AnimationController_0());
                _pathGeometry_5.StartAnimation("Path", PathKeyFrameAnimation_1(), AnimationController_0());
            }

            public void DestroyAnimations()
            {
                _containerShape.StopAnimation("Scale");
                _pathGeometry_3.StopAnimation("Path");
                _pathGeometry_5.StopAnimation("Path");
            }

        }
    }
}
