//
// Copyright (c) Microsoft Corporation. All rights reserved.
// 
//
// File generated by WinMDIDL version 8.00.0021
//

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "windowscontracts.idl";
import "Windows.Foundation.idl";
import "Windows.Foundation.Numerics.idl";
import "Windows.Media.MediaProperties.idl";
import "Windows.Perception.Spatial.idl";

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        interface IClosable;
    }
}
namespace Windows
{
    namespace Foundation
    {
        namespace Numerics
        {
            typedef struct Matrix4x4 Matrix4x4;

            typedef struct Vector2 Vector2;

            typedef struct Vector3 Vector3;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        typedef struct Point Point;

        typedef struct TimeSpan TimeSpan;

        apicontract UniversalApiContract;
    }
}
namespace Windows
{
    namespace Media
    {
        namespace MediaProperties
        {
            interface IMediaEncodingProperties;

            runtimeclass MediaRatio;
        }
    }
}
namespace Windows
{
    namespace Perception
    {
        namespace Spatial
        {
            runtimeclass SpatialCoordinateSystem;
        }
    }
}
namespace Windows
{
    namespace Media
    {
        namespace Devices
        {
            namespace Core
            {
                typedef enum FrameFlashMode FrameFlashMode;

                interface ICameraIntrinsics;

                interface ICameraIntrinsics2;

                interface ICameraIntrinsicsFactory;

                interface IDepthCorrelatedCoordinateMapper;

                interface IFrameControlCapabilities;

                interface IFrameControlCapabilities2;

                interface IFrameController;

                interface IFrameController2;

                interface IFrameExposureCapabilities;

                interface IFrameExposureCompensationCapabilities;

                interface IFrameExposureCompensationControl;

                interface IFrameExposureControl;

                interface IFrameFlashCapabilities;

                interface IFrameFlashControl;

                interface IFrameFocusCapabilities;

                interface IFrameFocusControl;

                interface IFrameIsoSpeedCapabilities;

                interface IFrameIsoSpeedControl;

                interface IVariablePhotoSequenceController;

                runtimeclass CameraIntrinsics;

                runtimeclass DepthCorrelatedCoordinateMapper;

                runtimeclass FrameControlCapabilities;

                runtimeclass FrameController;

                runtimeclass FrameExposureCapabilities;

                runtimeclass FrameExposureCompensationCapabilities;

                runtimeclass FrameExposureCompensationControl;

                runtimeclass FrameExposureControl;

                runtimeclass FrameFlashCapabilities;

                runtimeclass FrameFlashControl;

                runtimeclass FrameFocusCapabilities;

                runtimeclass FrameFocusControl;

                runtimeclass FrameIsoSpeedCapabilities;

                runtimeclass FrameIsoSpeedControl;

                runtimeclass VariablePhotoSequenceController;
            }
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace Media
    {
        namespace Devices
        {
            namespace Core
            {
                declare
                {
                    interface Windows.Foundation.Collections.IIterable<Windows.Media.Devices.Core.FrameController*>;

                    interface Windows.Foundation.Collections.IIterator<Windows.Media.Devices.Core.FrameController*>;

                    interface Windows.Foundation.Collections.IVectorView<Windows.Media.Devices.Core.FrameController*>;

                    interface Windows.Foundation.Collections.IVector<Windows.Media.Devices.Core.FrameController*>;
                }
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace Media
    {
        namespace Devices
        {
            namespace Core
            {
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                enum FrameFlashMode
                {
                    Disable = 0,
                    Enable  = 1,
                    Global  = 2
                };

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Devices.Core.CameraIntrinsics)]
                [uuid(0AA6ED32-6589-49DA-AFDE-594270CA0AAC)]
                interface ICameraIntrinsics : IInspectable
                {
                    [propget] HRESULT FocalLength([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                    [propget] HRESULT PrincipalPoint([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                    [propget] HRESULT RadialDistortion([out] [retval] Windows.Foundation.Numerics.Vector3* value);
                    [propget] HRESULT TangentialDistortion([out] [retval] Windows.Foundation.Numerics.Vector2* value);
                    [propget] HRESULT ImageWidth([out] [retval] UINT32* value);
                    [propget] HRESULT ImageHeight([out] [retval] UINT32* value);
                    HRESULT ProjectOntoFrame([in] Windows.Foundation.Numerics.Vector3 coordinate, [out] [retval] Windows.Foundation.Point* result);
                    HRESULT UnprojectAtUnitDepth([in] Windows.Foundation.Point pixelCoordinate, [out] [retval] Windows.Foundation.Numerics.Vector2* result);
                    HRESULT ProjectManyOntoFrame([in] UINT32 __coordinatesSize, [in] [size_is(__coordinatesSize)] Windows.Foundation.Numerics.Vector3* coordinates, [in] UINT32 __resultsSize, [out] [size_is(__resultsSize)] Windows.Foundation.Point* results);
                    HRESULT UnprojectPixelsAtUnitDepth([in] UINT32 __pixelCoordinatesSize, [in] [size_is(__pixelCoordinatesSize)] Windows.Foundation.Point* pixelCoordinates, [in] UINT32 __resultsSize, [out] [size_is(__resultsSize)] Windows.Foundation.Numerics.Vector2* results);
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.Media.Devices.Core.CameraIntrinsics)]
                [uuid(0CDAA447-0798-4B4D-839F-C5EC414DB27A)]
                interface ICameraIntrinsics2 : IInspectable
                {
                    [propget] HRESULT UndistortedProjectionTransform([out] [retval] Windows.Foundation.Numerics.Matrix4x4* value);
                    HRESULT DistortPoint([in] Windows.Foundation.Point input, [out] [retval] Windows.Foundation.Point* result);
                    HRESULT DistortPoints([in] UINT32 __inputsSize, [in] [size_is(__inputsSize)] Windows.Foundation.Point* inputs, [in] UINT32 __resultsSize, [out] [size_is(__resultsSize)] Windows.Foundation.Point* results);
                    HRESULT UndistortPoint([in] Windows.Foundation.Point input, [out] [retval] Windows.Foundation.Point* result);
                    HRESULT UndistortPoints([in] UINT32 __inputsSize, [in] [size_is(__inputsSize)] Windows.Foundation.Point* inputs, [in] UINT32 __resultsSize, [out] [size_is(__resultsSize)] Windows.Foundation.Point* results);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Devices.Core.CameraIntrinsics)]
                [uuid(C0DDC486-2132-4A34-A659-9BFE2A055712)]
                interface ICameraIntrinsicsFactory : IInspectable
                {
                    HRESULT Create([in] Windows.Foundation.Numerics.Vector2 focalLength, [in] Windows.Foundation.Numerics.Vector2 principalPoint, [in] Windows.Foundation.Numerics.Vector3 radialDistortion, [in] Windows.Foundation.Numerics.Vector2 tangentialDistortion, [in] UINT32 imageWidth, [in] UINT32 imageHeight, [out] [retval] Windows.Media.Devices.Core.CameraIntrinsics** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.Media.Devices.Core.DepthCorrelatedCoordinateMapper)]
                [uuid(F95D89FB-8AF0-4CB0-926D-696866E5046A)]
                interface IDepthCorrelatedCoordinateMapper : IInspectable
                    requires
                        Windows.Foundation.IClosable
                {
                    HRESULT UnprojectPoint([in] Windows.Foundation.Point sourcePoint, [in] Windows.Perception.Spatial.SpatialCoordinateSystem* targetCoordinateSystem, [out] [retval] Windows.Foundation.Numerics.Vector3* result);
                    HRESULT UnprojectPoints([in] UINT32 __sourcePointsSize, [in] [size_is(__sourcePointsSize)] Windows.Foundation.Point* sourcePoints, [in] Windows.Perception.Spatial.SpatialCoordinateSystem* targetCoordinateSystem, [in] UINT32 __resultsSize, [out] [size_is(__resultsSize)] Windows.Foundation.Numerics.Vector3* results);
                    HRESULT MapPoint([in] Windows.Foundation.Point sourcePoint, [in] Windows.Perception.Spatial.SpatialCoordinateSystem* targetCoordinateSystem, [in] Windows.Media.Devices.Core.CameraIntrinsics* targetCameraIntrinsics, [out] [retval] Windows.Foundation.Point* result);
                    HRESULT MapPoints([in] UINT32 __sourcePointsSize, [in] [size_is(__sourcePointsSize)] Windows.Foundation.Point* sourcePoints, [in] Windows.Perception.Spatial.SpatialCoordinateSystem* targetCoordinateSystem, [in] Windows.Media.Devices.Core.CameraIntrinsics* targetCameraIntrinsics, [in] UINT32 __resultsSize, [out] [size_is(__resultsSize)] Windows.Foundation.Point* results);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Devices.Core.FrameControlCapabilities)]
                [uuid(A8FFAE60-4E9E-4377-A789-E24C4AE7E544)]
                interface IFrameControlCapabilities : IInspectable
                {
                    [propget] HRESULT Exposure([out] [retval] Windows.Media.Devices.Core.FrameExposureCapabilities** value);
                    [propget] HRESULT ExposureCompensation([out] [retval] Windows.Media.Devices.Core.FrameExposureCompensationCapabilities** value);
                    [propget] HRESULT IsoSpeed([out] [retval] Windows.Media.Devices.Core.FrameIsoSpeedCapabilities** value);
                    [propget] HRESULT Focus([out] [retval] Windows.Media.Devices.Core.FrameFocusCapabilities** value);
                    [propget] HRESULT PhotoConfirmationSupported([out] [retval] boolean* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Devices.Core.FrameControlCapabilities)]
                [uuid(CE9B0464-4730-440F-BD3E-EFE8A8F230A8)]
                interface IFrameControlCapabilities2 : IInspectable
                {
                    [propget] HRESULT Flash([out] [retval] Windows.Media.Devices.Core.FrameFlashCapabilities** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Devices.Core.FrameController)]
                [uuid(C16459D9-BAEF-4052-9177-48AFF2AF7522)]
                interface IFrameController : IInspectable
                {
                    [propget] HRESULT ExposureControl([out] [retval] Windows.Media.Devices.Core.FrameExposureControl** value);
                    [propget] HRESULT ExposureCompensationControl([out] [retval] Windows.Media.Devices.Core.FrameExposureCompensationControl** value);
                    [propget] HRESULT IsoSpeedControl([out] [retval] Windows.Media.Devices.Core.FrameIsoSpeedControl** value);
                    [propget] HRESULT FocusControl([out] [retval] Windows.Media.Devices.Core.FrameFocusControl** value);
                    [propget] HRESULT PhotoConfirmationEnabled([out] [retval] Windows.Foundation.IReference<boolean>** value);
                    [propput] HRESULT PhotoConfirmationEnabled([in] Windows.Foundation.IReference<boolean>* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Devices.Core.FrameController)]
                [uuid(00D3BC75-D87C-485B-8A09-5C358568B427)]
                interface IFrameController2 : IInspectable
                {
                    [propget] HRESULT FlashControl([out] [retval] Windows.Media.Devices.Core.FrameFlashControl** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Devices.Core.FrameExposureCapabilities)]
                [uuid(BDBE9CE3-3985-4E72-97C2-0590D61307A1)]
                interface IFrameExposureCapabilities : IInspectable
                {
                    [propget] HRESULT Supported([out] [retval] boolean* value);
                    [propget] HRESULT Min([out] [retval] Windows.Foundation.TimeSpan* value);
                    [propget] HRESULT Max([out] [retval] Windows.Foundation.TimeSpan* value);
                    [propget] HRESULT Step([out] [retval] Windows.Foundation.TimeSpan* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Devices.Core.FrameExposureCompensationCapabilities)]
                [uuid(B988A823-8065-41EE-B04F-722265954500)]
                interface IFrameExposureCompensationCapabilities : IInspectable
                {
                    [propget] HRESULT Supported([out] [retval] boolean* value);
                    [propget] HRESULT Min([out] [retval] FLOAT* value);
                    [propget] HRESULT Max([out] [retval] FLOAT* value);
                    [propget] HRESULT Step([out] [retval] FLOAT* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Devices.Core.FrameExposureCompensationControl)]
                [uuid(E95896C9-F7F9-48CA-8591-A26531CB1578)]
                interface IFrameExposureCompensationControl : IInspectable
                {
                    [propget] HRESULT Value([out] [retval] Windows.Foundation.IReference<FLOAT>** value);
                    [propput] HRESULT Value([in] Windows.Foundation.IReference<FLOAT>* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Devices.Core.FrameExposureControl)]
                [uuid(B1605A61-FFAF-4752-B621-F5B6F117F432)]
                interface IFrameExposureControl : IInspectable
                {
                    [propget] HRESULT Auto([out] [retval] boolean* value);
                    [propput] HRESULT Auto([in] boolean value);
                    [propget] HRESULT Value([out] [retval] Windows.Foundation.IReference<Windows.Foundation.TimeSpan>** value);
                    [propput] HRESULT Value([in] Windows.Foundation.IReference<Windows.Foundation.TimeSpan>* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Devices.Core.FrameFlashCapabilities)]
                [uuid(BB9341A2-5EBE-4F62-8223-0E2B05BFBBD0)]
                interface IFrameFlashCapabilities : IInspectable
                {
                    [propget] HRESULT Supported([out] [retval] boolean* value);
                    [propget] HRESULT RedEyeReductionSupported([out] [retval] boolean* value);
                    [propget] HRESULT PowerSupported([out] [retval] boolean* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Devices.Core.FrameFlashControl)]
                [uuid(75D5F6C7-BD45-4FAB-9375-45AC04B332C2)]
                interface IFrameFlashControl : IInspectable
                {
                    [propget] HRESULT Mode([out] [retval] Windows.Media.Devices.Core.FrameFlashMode* value);
                    [propput] HRESULT Mode([in] Windows.Media.Devices.Core.FrameFlashMode value);
                    [propget] HRESULT Auto([out] [retval] boolean* value);
                    [propput] HRESULT Auto([in] boolean value);
                    [propget] HRESULT RedEyeReduction([out] [retval] boolean* value);
                    [propput] HRESULT RedEyeReduction([in] boolean value);
                    [propget] HRESULT PowerPercent([out] [retval] FLOAT* value);
                    [propput] HRESULT PowerPercent([in] FLOAT value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Devices.Core.FrameFocusCapabilities)]
                [uuid(7B25CD58-01C0-4065-9C40-C1A721425C1A)]
                interface IFrameFocusCapabilities : IInspectable
                {
                    [propget] HRESULT Supported([out] [retval] boolean* value);
                    [propget] HRESULT Min([out] [retval] UINT32* value);
                    [propget] HRESULT Max([out] [retval] UINT32* value);
                    [propget] HRESULT Step([out] [retval] UINT32* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Devices.Core.FrameFocusControl)]
                [uuid(272DF1D0-D912-4214-A67B-E38A8D48D8C6)]
                interface IFrameFocusControl : IInspectable
                {
                    [propget] HRESULT Value([out] [retval] Windows.Foundation.IReference<UINT32>** value);
                    [propput] HRESULT Value([in] Windows.Foundation.IReference<UINT32>* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Devices.Core.FrameIsoSpeedCapabilities)]
                [uuid(16BDFF61-6DF6-4AC9-B92A-9F6ECD1AD2FA)]
                interface IFrameIsoSpeedCapabilities : IInspectable
                {
                    [propget] HRESULT Supported([out] [retval] boolean* value);
                    [propget] HRESULT Min([out] [retval] UINT32* value);
                    [propget] HRESULT Max([out] [retval] UINT32* value);
                    [propget] HRESULT Step([out] [retval] UINT32* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Devices.Core.FrameIsoSpeedControl)]
                [uuid(1A03EFED-786A-4C75-A557-7AB9A85F588C)]
                interface IFrameIsoSpeedControl : IInspectable
                {
                    [propget] HRESULT Auto([out] [retval] boolean* value);
                    [propput] HRESULT Auto([in] boolean value);
                    [propget] HRESULT Value([out] [retval] Windows.Foundation.IReference<UINT32>** value);
                    [propput] HRESULT Value([in] Windows.Foundation.IReference<UINT32>* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [exclusiveto(Windows.Media.Devices.Core.VariablePhotoSequenceController)]
                [uuid(7FBFF880-ED8C-43FD-A7C3-B35809E4229A)]
                interface IVariablePhotoSequenceController : IInspectable
                {
                    [propget] HRESULT Supported([out] [retval] boolean* value);
                    [propget] HRESULT MaxPhotosPerSecond([out] [retval] FLOAT* value);
                    [propget] HRESULT PhotosPerSecondLimit([out] [retval] FLOAT* value);
                    [propput] HRESULT PhotosPerSecondLimit([in] FLOAT value);
                    HRESULT GetHighestConcurrentFrameRate([in] Windows.Media.MediaProperties.IMediaEncodingProperties* captureProperties, [out] [retval] Windows.Media.MediaProperties.MediaRatio** value);
                    HRESULT GetCurrentFrameRate([out] [retval] Windows.Media.MediaProperties.MediaRatio** value);
                    [propget] HRESULT FrameCapabilities([out] [retval] Windows.Media.Devices.Core.FrameControlCapabilities** value);
                    [propget] HRESULT DesiredFrameControllers([out] [retval] Windows.Foundation.Collections.IVector<Windows.Media.Devices.Core.FrameController*>** items);
                }

                [activatable(Windows.Media.Devices.Core.ICameraIntrinsicsFactory, Windows.Foundation.UniversalApiContract, 7.0)]
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass CameraIntrinsics
                {
                    [default] interface Windows.Media.Devices.Core.ICameraIntrinsics;
                    [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Media.Devices.Core.ICameraIntrinsics2;
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass DepthCorrelatedCoordinateMapper
                {
                    [default] interface Windows.Media.Devices.Core.IDepthCorrelatedCoordinateMapper;
                    interface Windows.Foundation.IClosable;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(standard)]
                [threading(mta)]
                runtimeclass FrameControlCapabilities
                {
                    [default] interface Windows.Media.Devices.Core.IFrameControlCapabilities;
                    [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Media.Devices.Core.IFrameControlCapabilities2;
                }

                [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass FrameController
                {
                    [default] interface Windows.Media.Devices.Core.IFrameController;
                    [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Media.Devices.Core.IFrameController2;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(standard)]
                [threading(mta)]
                runtimeclass FrameExposureCapabilities
                {
                    [default] interface Windows.Media.Devices.Core.IFrameExposureCapabilities;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(standard)]
                [threading(mta)]
                runtimeclass FrameExposureCompensationCapabilities
                {
                    [default] interface Windows.Media.Devices.Core.IFrameExposureCompensationCapabilities;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(standard)]
                [threading(mta)]
                runtimeclass FrameExposureCompensationControl
                {
                    [default] interface Windows.Media.Devices.Core.IFrameExposureCompensationControl;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(standard)]
                [threading(mta)]
                runtimeclass FrameExposureControl
                {
                    [default] interface Windows.Media.Devices.Core.IFrameExposureControl;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(standard)]
                [threading(mta)]
                runtimeclass FrameFlashCapabilities
                {
                    [default] interface Windows.Media.Devices.Core.IFrameFlashCapabilities;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(standard)]
                [threading(mta)]
                runtimeclass FrameFlashControl
                {
                    [default] interface Windows.Media.Devices.Core.IFrameFlashControl;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(standard)]
                [threading(mta)]
                runtimeclass FrameFocusCapabilities
                {
                    [default] interface Windows.Media.Devices.Core.IFrameFocusCapabilities;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(standard)]
                [threading(mta)]
                runtimeclass FrameFocusControl
                {
                    [default] interface Windows.Media.Devices.Core.IFrameFocusControl;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(standard)]
                [threading(mta)]
                runtimeclass FrameIsoSpeedCapabilities
                {
                    [default] interface Windows.Media.Devices.Core.IFrameIsoSpeedCapabilities;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(standard)]
                [threading(mta)]
                runtimeclass FrameIsoSpeedControl
                {
                    [default] interface Windows.Media.Devices.Core.IFrameIsoSpeedControl;
                }

                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                [marshaling_behavior(standard)]
                [threading(mta)]
                runtimeclass VariablePhotoSequenceController
                {
                    [default] interface Windows.Media.Devices.Core.IVariablePhotoSequenceController;
                }
            }
        }
    }
}
