// Copyright 2024 xensik. All rights reserved. // // Use of this source code is governed by a GNU GPLv3 license // that can be found in the LICENSE file. #pragma once #include <cstdio> #include <cstring> #include <ctime> #include <algorithm> #include <array> #include <deque> #include <filesystem> #include <format> #include <fstream> #include <functional> #include <iostream> #include <list> #include <map> #include <memory> #include <queue> #include <regex> #include <set> #include <sstream> #include <stack> #include <stdexcept> #include <string> #include <unordered_map> #include <unordered_set> #include <vector> #include <version> #ifdef _WINDOWS_ #undef ERROR #undef IN #undef TRUE #undef FALSE #undef far #endif using namespace std::literals; namespace xsk { using usize = std::size_t; using u8 = std::uint8_t; using u16 = std::uint16_t; using u32 = std::uint32_t; using u64 = std::uint64_t; using i8 = std::int8_t; using i16 = std::int16_t; using i32 = std::int32_t; using i64 = std::int64_t; using f32 = float; using f64 = double; } // namespace xsk