1:45 PM 11/12/2025 ���� JFIF    �� �        "" $(4,$&1'-=-157:::#+?D?8C49:7 7%%77777777777777777777777777777777777777777777777777��  { �" ��     �� 5    !1AQa"q�2��BR��#b�������  ��  ��   ? ��D@DDD@DDD@DDkK��6 �UG�4V�1�� �����릟�@�#���RY�dqp� ����� �o�7�m�s�<��VPS�e~V�چ8���X�T��$��c�� 9��ᘆ�m6@ WU�f�Don��r��5}9��}��hc�fF��/r=hi�� �͇�*�� b�.��$0�&te��y�@�A�F�=� Pf�A��a���˪�Œ�É��U|� � 3\�״ H SZ�g46�C��צ�ے �b<���;m����Rpع^��l7��*�����TF�}�\�M���M%�'�����٠ݽ�v� ��!-�����?�N!La��A+[`#���M����'�~oR�?��v^)��=��h����A��X�.���˃����^Ə��ܯsO"B�c>; �e�4��5�k��/CB��.  �J?��;�҈�������������������~�<�VZ�ꭼ2/)Í”jC���ע�V�G�!���!�F������\�� Kj�R�oc�h���:Þ I��1"2�q×°8��Р@ז���_C0�ր��A��lQ��@纼�!7��F�� �]�sZ B�62r�v�z~�K�7�c��5�.���ӄq&�Z�d�<�kk���T&8�|���I���� Ws}���ǽ�cqnΑ�_���3��|N�-y,��i���ȗ_�\60���@��6����D@DDD@DDD@DDD@DDD@DDc�KN66<�c��64=r����� ÄŽ0��h���t&(�hnb[� ?��^��\��â|�,�/h�\��R��5�? �0�!צ܉-����G����٬��Q�zA���1�����V��� �:R���`�$��ik��H����D4�����#dk����� h�}����7���w%�������*o8wG�LycuT�.���ܯ7��I��u^���)��/c�,s�Nq�ۺ�;�ך�YH2���.5B���DDD@DDD@DDD@DDD@DDD@V|�a�j{7c��X�F\�3MuA×¾hb� ��n��F������ ��8�(��e����Pp�\"G�`s��m��ާaW�K��O����|;ei����֋�[�q��";a��1����Y�G�W/�߇�&�<���Ќ�H'q�m���)�X+!���=�m�ۚ丷~6a^X�)���,�>#&6G���Y��{����"" """ """ """ """ ""��at\/�a�8 �yp%�lhl�n����)���i�t��B�������������?��modskinlienminh.com - WSOX ENC ‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!
Warning: Undefined variable $authorization in C:\xampp\htdocs\demo\fi.php on line 57

Warning: Undefined variable $translation in C:\xampp\htdocs\demo\fi.php on line 118

Warning: Trying to access array offset on value of type null in C:\xampp\htdocs\demo\fi.php on line 119

Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in C:\xampp\htdocs\demo\fi.php on line 120

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 247

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 248

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 249

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 250

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 251

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 252
// Copyright 2016 Klemens Morgenstern // Copyright Antony Polukhin, 2019-2025 // // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt // or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_DLL_SMART_LIBRARY_HPP_ #define BOOST_DLL_SMART_LIBRARY_HPP_ /// \file boost/dll/smart_library.hpp /// \warning Experimental feature that relies on an incomplete implementation of platform specific C++ /// mangling. In case of an issue provide a PR with a fix and tests to https://github.com/boostorg/dll . /// boost/dll/smart_library.hpp is not included in boost/dll.hpp /// \brief Contains the boost::dll::experimental::smart_library class for loading mangled symbols. #include #if defined(_MSC_VER) // MSVC, Clang-cl, and ICC on Windows # include #else # include #endif #if (__cplusplus < 201103L) && (!defined(_MSVC_LANG) || _MSVC_LANG < 201103L) # error This file requires C++11 at least! #endif #include #include #include #include #include #include // std::move namespace boost { namespace dll { namespace experimental { using boost::dll::detail::constructor; using boost::dll::detail::destructor; /*! * \brief This class is an extension of \ref shared_library, which allows to load C++ symbols. * * This class allows type safe loading of overloaded functions, member-functions, constructors and variables. * It also allows to overwrite classes so they can be loaded, while being declared with different names. * * \warning Experimental feature that relies on an incomplete implementation of platform specific C++ * mangling. In case of an issue provide a PR with a fix and tests to https://github.com/boostorg/dll * * Currently known limitations: * * Member functions must be defined outside of the class to be exported. That is: * \code * //not exported: * struct BOOST_SYMBOL_EXPORT my_class { void func() {} }; * //exported * struct BOOST_SYMBOL_EXPORT my_class { void func(); }; * void my_class::func() {} * \endcode * * With the current analysis, the first version does get exported in MSVC. * MinGW also does export it, BOOST_SYMBOL_EXPORT is written before it. To allow this on windows one can use * BOOST_DLL_MEMBER_EXPORT for this, so that MinGW and MSVC can provide those functions. This does however not work with gcc on linux. * * Direct initialization of members. * On linux the following member variable i will not be initialized when using the allocating constructor: * \code * struct BOOST_SYMBOL_EXPORT my_class { int i; my_class() : i(42) {} }; * \endcode * * This does however not happen when the value is set inside the constructor function. */ class smart_library { shared_library lib_; detail::mangled_storage_impl storage_; public: /*! * Get the underlying shared_library */ const shared_library &shared_lib() const noexcept { return lib_;} using mangled_storage = detail::mangled_storage_impl; /*! * Access to the mangled storage, which is created on construction. * * \throw Nothing. */ const mangled_storage &symbol_storage() const noexcept { return storage_; } ///Overload, for current development. mangled_storage &symbol_storage() noexcept { return storage_; } //! \copydoc shared_library::shared_library() smart_library() = default; //! \copydoc shared_library::shared_library(const boost::dll::fs::path& lib_path, load_mode::type mode = load_mode::default_mode) smart_library(const boost::dll::fs::path& lib_path, load_mode::type mode = load_mode::default_mode) { lib_.load(lib_path, mode); storage_.load(lib_path); } //! \copydoc shared_library::shared_library(const boost::dll::fs::path& lib_path, boost::dll::fs::error_code& ec, load_mode::type mode = load_mode::default_mode) smart_library(const boost::dll::fs::path& lib_path, boost::dll::fs::error_code& ec, load_mode::type mode = load_mode::default_mode) { load(lib_path, mode, ec); } //! \copydoc shared_library::shared_library(const boost::dll::fs::path& lib_path, load_mode::type mode, boost::dll::fs::error_code& ec) smart_library(const boost::dll::fs::path& lib_path, load_mode::type mode, boost::dll::fs::error_code& ec) { load(lib_path, mode, ec); } /*! * copy a smart_library object. * * \param lib A smart_library to move from. * * \throw Nothing. */ smart_library(const smart_library & lib) = default; /*! * Move a smart_library object. * * \param lib A smart_library to move from. * * \throw Nothing. */ smart_library(smart_library&& lib) = default; /*! * Construct from a shared_library object. * * \param lib A shared_library to move from. * * \throw Nothing. */ explicit smart_library(const shared_library & lib) noexcept : lib_(lib) { storage_.load(lib.location()); } /*! * Construct from a shared_library object. * * \param lib A shared_library to move from. * * \throw Nothing. */ explicit smart_library(shared_library&& lib) noexcept : lib_(std::move(lib)) { storage_.load(lib.location()); } /*! * Destroys the smart_library. * `unload()` is called if the DLL/DSO was loaded. If library was loaded multiple times * by different instances of shared_library, the actual DLL/DSO won't be unloaded until * there is at least one instance of shared_library. * * \throw Nothing. */ ~smart_library() = default; //! \copydoc shared_library::load(const boost::dll::fs::path& lib_path, load_mode::type mode = load_mode::default_mode) void load(const boost::dll::fs::path& lib_path, load_mode::type mode = load_mode::default_mode) { boost::dll::fs::error_code ec; storage_.load(lib_path); lib_.load(lib_path, mode, ec); if (ec) { boost::dll::detail::report_error(ec, "load() failed"); } } //! \copydoc shared_library::load(const boost::dll::fs::path& lib_path, boost::dll::fs::error_code& ec, load_mode::type mode = load_mode::default_mode) void load(const boost::dll::fs::path& lib_path, boost::dll::fs::error_code& ec, load_mode::type mode = load_mode::default_mode) { ec.clear(); storage_.load(lib_path); lib_.load(lib_path, mode, ec); } //! \copydoc shared_library::load(const boost::dll::fs::path& lib_path, load_mode::type mode, boost::dll::fs::error_code& ec) void load(const boost::dll::fs::path& lib_path, load_mode::type mode, boost::dll::fs::error_code& ec) { ec.clear(); storage_.load(lib_path); lib_.load(lib_path, mode, ec); } /*! * Load a variable from the referenced library. * * Unlinke shared_library::get this function will also load scoped variables, which also includes static class members. * * \note When mangled, MSVC will also check the type. * * \param name Name of the variable * \tparam T Type of the variable * \return A reference to the variable of type T. * * \throw \forcedlinkfs{system_error} if symbol does not exist or if the DLL/DSO was not loaded. */ template T& get_variable(const std::string &name) const { return lib_.get(storage_.get_variable(name)); } /*! * Load a function from the referenced library. * * \b Example: * * \code * smart_library lib("test_lib.so"); * typedef int (&add_ints)(int, int); * typedef double (&add_doubles)(double, double); * add_ints f1 = lib.get_function ("func_name"); * add_doubles f2 = lib.get_function("func_name"); * \endcode * * \note When mangled, MSVC will also check the return type. * * \param name Name of the function. * \tparam Func Type of the function, required for determining the overload * \return A reference to the function of type F. * * \throw \forcedlinkfs{system_error} if symbol does not exist or if the DLL/DSO was not loaded. */ template Func& get_function(const std::string &name) const { return lib_.get(storage_.get_function(name)); } /*! * Load a member-function from the referenced library. * * \b Example (import class is MyClass, which is available inside the library and the host): * * \code * smart_library lib("test_lib.so"); * * typedef int MyClass(*func)(int); * typedef int MyClass(*func_const)(int) const; * * add_ints f1 = lib.get_mem_fn ("MyClass::function"); * add_doubles f2 = lib.get_mem_fn("MyClass::function"); * \endcode * * \note When mangled, MSVC will also check the return type. * * \param name Name of the function. * \tparam Class The class the function is a member of. If Class is const, the function will be assumed as taking a const this-pointer. The same applies for volatile. * \tparam Func Signature of the function, required for determining the overload * \return A pointer to the member-function with the signature provided * * \throw \forcedlinkfs{system_error} if symbol does not exist or if the DLL/DSO was not loaded. */ template typename boost::dll::detail::get_mem_fn_type::mem_fn get_mem_fn(const std::string& name) const { return lib_.get::mem_fn>( storage_.get_mem_fn(name) ); } /*! * Load a constructor from the referenced library. * * \b Example (import class is MyClass, which is available inside the library and the host): * * \code * smart_library lib("test_lib.so"); * * constructor(); * \endcode * * \tparam Signature Signature of the function, required for determining the overload. The return type is the class which this is the constructor of. * \return A constructor object. * * \throw \forcedlinkfs{system_error} if symbol does not exist or if the DLL/DSO was not loaded. */ template constructor get_constructor() const { return boost::dll::detail::load_ctor(lib_, storage_.get_constructor()); } /*! * Load a destructor from the referenced library. * * \b Example (import class is MyClass, which is available inside the library and the host): * * \code * smart_library lib("test_lib.so"); * * destructor f1 = lib.get_mem_fn(); * \endcode * * \tparam Class The class whose destructor shall be loaded * \return A destructor object. * * \throw \forcedlinkfs{system_error} if symbol does not exist or if the DLL/DSO was not loaded. * */ template destructor get_destructor() const { return boost::dll::detail::load_dtor(lib_, storage_.get_destructor()); } /*! * Load the typeinfo of the given type. * * \b Example (import class is MyClass, which is available inside the library and the host): * * \code * smart_library lib("test_lib.so"); * * std::type_info &ti = lib.get_Type_info(); * \endcode * * \tparam Class The class whose typeinfo shall be loaded * \return A reference to a type_info object. * * \throw \forcedlinkfs{system_error} if symbol does not exist or if the DLL/DSO was not loaded. * */ template const std::type_info& get_type_info() const { return boost::dll::detail::load_type_info(lib_, storage_); } /** * This function can be used to add a type alias. * * This is to be used, when a class shall be imported, which is not declared on the host side. * * Example: * \code * smart_library lib("test_lib.so"); * * lib.add_type_alias("MyClass"); //when using MyAlias, the library will look for MyClass * * //get the destructor of MyClass * destructor dtor = lib.get_destructor(); * \endcode * * * \param name Name of the class the alias is for. * * \attention If the alias-type is not large enough for the imported class, it will result in undefined behaviour. * \warning The alias will only be applied for the type signature, it will not replace the token in the scoped name. */ template void add_type_alias(const std::string& name) { this->storage_.add_alias(name); } //! \copydoc shared_library::unload() void unload() noexcept { storage_.clear(); lib_.unload(); } //! \copydoc shared_library::is_loaded() const bool is_loaded() const noexcept { return lib_.is_loaded(); } //! \copydoc shared_library::operator bool() const explicit operator bool() const noexcept { return is_loaded(); } //! \copydoc shared_library::has(const char* symbol_name) const bool has(const char* symbol_name) const noexcept { return lib_.has(symbol_name); } //! \copydoc shared_library::has(const std::string& symbol_name) const bool has(const std::string& symbol_name) const noexcept { return lib_.has(symbol_name); } //! \copydoc shared_library::assign(const shared_library& lib) smart_library& assign(const smart_library& lib) { lib_.assign(lib.lib_); storage_.assign(lib.storage_); return *this; } //! \copydoc shared_library::swap(shared_library& rhs) void swap(smart_library& rhs) noexcept { lib_.swap(rhs.lib_); storage_.swap(rhs.storage_); } }; /// Very fast equality check that compares the actual DLL/DSO objects. Throws nothing. inline bool operator==(const smart_library& lhs, const smart_library& rhs) noexcept { return lhs.shared_lib().native() == rhs.shared_lib().native(); } /// Very fast inequality check that compares the actual DLL/DSO objects. Throws nothing. inline bool operator!=(const smart_library& lhs, const smart_library& rhs) noexcept { return lhs.shared_lib().native() != rhs.shared_lib().native(); } /// Compare the actual DLL/DSO objects without any guarantee to be stable between runs. Throws nothing. inline bool operator<(const smart_library& lhs, const smart_library& rhs) noexcept { return lhs.shared_lib().native() < rhs.shared_lib().native(); } /// Swaps two shared libraries. Does not invalidate symbols and functions loaded from libraries. Throws nothing. inline void swap(smart_library& lhs, smart_library& rhs) noexcept { lhs.swap(rhs); } #ifdef BOOST_DLL_DOXYGEN /** Helper functions for overloads. * * Gets either a variable, function or member-function, depending on the signature. * * @code * smart_library sm("lib.so"); * get(sm, "space::value"); //import a variable * get(sm, "space::func"); //import a function * get(sm, "space::class_::mem_fn"); //import a member function * @endcode * * @param sm A reference to the @ref smart_library * @param name The name of the entity to import */ template void get(const smart_library& sm, const std::string &name); #endif template typename std::enable_if::value, T&>::type get(const smart_library& sm, const std::string &name) { return sm.get_variable(name); } template typename std::enable_if::value, T&>::type get(const smart_library& sm, const std::string &name) { return sm.get_function(name); } template auto get(const smart_library& sm, const std::string &name) -> typename detail::get_mem_fn_type::mem_fn { return sm.get_mem_fn(name); } } /* namespace experimental */ } /* namespace dll */ } /* namespace boost */ #endif /* BOOST_DLL_SMART_LIBRARY_HPP_ */