#pragma once
#if !defined(_MSC_VER)
# define _MSC_VER 1939
#endif
#if !defined(_MSC_FULL_VER)
# define _MSC_FULL_VER 193933519
#endif
#if !defined(_WIN32)
# define _WIN32
#endif
#if !defined(WIN32)
# define WIN32
#endif
#if defined(_M_IX86)
# if !defined(_M_IX86_FP)
# define _M_IX86_FP 0
# endif
# if !defined(_X86_)
# define _X86_
# endif
#endif
#if defined(_M_X64)
# if !defined(_M_AMD64)
# define _M_AMD64
# endif
# if !defined(_AMD64_)
# define _AMD64_
# endif
# if !defined(_WIN64)
# define _WIN64
# endif
#endif
#define WINVER 0x0A00
#define _WIN32_WINNT 0x0A00
#define _WCHAR_T_DEFINED 1
#define _NATIVE_WCHAR_T_DEFINED 1
#if !defined(__cplusplus)
typedef __wchar_t wchar_t;
#endif
#define _UCRT_DISABLE_CLANG_WARNINGS
#define _UCRT_RESTORE_CLANG_WARNINGS
#define __RPC_FAR
#undef DECLSPEC_UUID
#define DECLSPEC_UUID(x) __attribute__((annotate("__UUID|" x)))
#undef __OVERRIDE
#define __OVERRIDE __attribute__((annotate("__OVERRIDE")))
#define __SIGMD_VA_OPT_PROBE_IMPL(_1, _2, _3, ...) _3
#define __SIGMD_VA_OPT_PROBE(...) __SIGMD_VA_OPT_PROBE_IMPL(__VA_OPT__(,), 1, 0,)
#define __SIGMD_HAS_VA_OPT __SIGMD_VA_OPT_PROBE(?)
#if !__SIGMD_HAS_VA_OPT
# error "__VA_OPT__ is required for SAL annotation expansion."
#endif
#define __SPECSTRINGS_STRICT_LEVEL 0
#include <sal.h>
#include <rpcsal.h>
#define __SIGMD_SAL_STR(x) __SIGMD_SAL_STR_IMPL(x)
#define __SIGMD_SAL_STR_IMPL(x) #x
#define __SIGMD_SAL_STRIP(...) __VA_ARGS__
#define __SIGMD_SAL_OPEN(c, name) \
__attribute__((annotate("__SAL:" __SIGMD_SAL_STR(c) ":" #name)))
#define __SIGMD_SAL_ARG(c, i, value) \
__attribute__((annotate("__SAL:" __SIGMD_SAL_STR(c) ":" #i ":" #value)))
#define __SIGMD_SAL_NARG(...) __SIGMD_SAL_NARG_IMPL(__VA_ARGS__, 6, 5, 4, 3, 2, 1)
#define __SIGMD_SAL_NARG_IMPL(_1, _2, _3, _4, _5, _6, N, ...) N
#define __SIGMD_SAL_EMIT_1(c, x0) __SIGMD_SAL_ARG(c, 0, x0)
#define __SIGMD_SAL_EMIT_2(c, x0, x1) __SIGMD_SAL_EMIT_1(c, x0) __SIGMD_SAL_ARG(c, 1, x1)
#define __SIGMD_SAL_EMIT_3(c, x0, x1, x2) __SIGMD_SAL_EMIT_2(c, x0, x1) __SIGMD_SAL_ARG(c, 2, x2)
#define __SIGMD_SAL_EMIT_4(c, x0, x1, x2, x3) __SIGMD_SAL_EMIT_3(c, x0, x1, x2) __SIGMD_SAL_ARG(c, 3, x3)
#define __SIGMD_SAL_EMIT_5(c, x0, x1, x2, x3, x4) __SIGMD_SAL_EMIT_4(c, x0, x1, x2, x3) __SIGMD_SAL_ARG(c, 4, x4)
#define __SIGMD_SAL_EMIT_6(c, x0, x1, x2, x3, x4, x5) __SIGMD_SAL_EMIT_5(c, x0, x1, x2, x3, x4) __SIGMD_SAL_ARG(c, 5, x5)
#define __SIGMD_SAL_DISPATCH(c, ...) \
__VA_OPT__(__SIGMD_SAL_DISPATCH_EXPAND(c, __SIGMD_SAL_NARG(__VA_ARGS__), __VA_ARGS__))
#define __SIGMD_SAL_DISPATCH_EXPAND(c, n, ...) \
__SIGMD_SAL_DISPATCH_IMPL(c, n, __VA_ARGS__)
#define __SIGMD_SAL_DISPATCH_IMPL(c, n, ...) \
__SIGMD_SAL_EMIT_##n(c, __VA_ARGS__)
#define __SIGMD_SAL_BIND(c, name, args) \
__SIGMD_SAL_OPEN(c, name) __SIGMD_SAL_DISPATCH(c, __SIGMD_SAL_STRIP args)
#define __SIGMD_SAL(name, args) __SIGMD_SAL_BIND(__COUNTER__, name, args)
#undef _SAL1_Source_
#undef _SAL1_1_Source_
#undef _SAL1_2_Source_
#undef _SAL2_Source_
#undef _SAL_L_Source_
#define _SAL1_Source_(Name, args, annotes) annotes
#define _SAL1_1_Source_(Name, args, annotes) __SIGMD_SAL(Name, args)
#define _SAL1_2_Source_(Name, args, annotes) __SIGMD_SAL(Name, args)
#define _SAL2_Source_(Name, args, annotes) __SIGMD_SAL(Name, args)
#define _SAL_L_Source_(Name, args, annotes) __SIGMD_SAL(Name, args)
#undef _At_
#undef _When_
#define _At_(expr, annotes) annotes
#define _When_(expr, annotes) annotes
#undef IN
#undef OUT
#define IN __SIGMD_SAL_OPEN(__COUNTER__, _In_)
#define OUT __SIGMD_SAL_OPEN(__COUNTER__, _Out_)
#include <basetyps.h>
#include <windef.h>
#include <winbase.h>
#include <wingdi.h>
#include <clfsw32.h>