From 98493fcc7dd566992d5920469376b6c13ab61850 Mon Sep 17 00:00:00 2001 From: Diya Limbani Date: Thu, 8 Jan 2026 13:36:26 +0530 Subject: [PATCH 01/15] implemented getattr and mountable FUSE fs --- CMakeLists.txt | 13 +- build/CMakeCache.txt | 439 +++++++++ build/CMakeFiles/3.28.3/CMakeCCompiler.cmake | 74 ++ .../CMakeFiles/3.28.3/CMakeCXXCompiler.cmake | 85 ++ .../3.28.3/CMakeDetermineCompilerABI_C.bin | Bin 0 -> 15968 bytes .../3.28.3/CMakeDetermineCompilerABI_CXX.bin | Bin 0 -> 15992 bytes build/CMakeFiles/3.28.3/CMakeSystem.cmake | 15 + .../3.28.3/CompilerIdC/CMakeCCompilerId.c | 880 ++++++++++++++++++ .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 869 +++++++++++++++++ build/CMakeFiles/CMakeConfigureLog.yaml | 531 +++++++++++ .../CMakeDirectoryInformation.cmake | 16 + .../CMakeFiles/FastDevFS.dir/DependInfo.cmake | 24 + build/CMakeFiles/FastDevFS.dir/build.make | 126 +++ .../FastDevFS.dir/cmake_clean.cmake | 13 + .../FastDevFS.dir/compiler_depend.internal | 341 +++++++ .../FastDevFS.dir/compiler_depend.make | 813 ++++++++++++++++ .../FastDevFS.dir/compiler_depend.ts | 2 + build/CMakeFiles/FastDevFS.dir/depend.make | 2 + build/CMakeFiles/FastDevFS.dir/flags.make | 10 + build/CMakeFiles/FastDevFS.dir/link.txt | 1 + build/CMakeFiles/FastDevFS.dir/progress.make | 4 + build/CMakeFiles/Makefile.cmake | 51 + build/CMakeFiles/Makefile2 | 112 +++ build/CMakeFiles/TargetDirectories.txt | 3 + build/CMakeFiles/cmake.check_cache | 1 + build/CMakeFiles/progress.marks | 1 + build/FastDevFS | Bin 0 -> 17224 bytes build/Makefile | 208 +++++ build/cmake_install.cmake | 54 ++ main.cpp | 30 +- src/include/fuse_functions/.gitkeep | 0 src/include/fuse_functions/getattr.h | 9 + src/src/fuse_functions/.gitkeep | 0 src/src/fuse_functions/getattr.cpp | 22 + 34 files changed, 4735 insertions(+), 14 deletions(-) create mode 100644 build/CMakeCache.txt create mode 100644 build/CMakeFiles/3.28.3/CMakeCCompiler.cmake create mode 100644 build/CMakeFiles/3.28.3/CMakeCXXCompiler.cmake create mode 100755 build/CMakeFiles/3.28.3/CMakeDetermineCompilerABI_C.bin create mode 100755 build/CMakeFiles/3.28.3/CMakeDetermineCompilerABI_CXX.bin create mode 100644 build/CMakeFiles/3.28.3/CMakeSystem.cmake create mode 100644 build/CMakeFiles/3.28.3/CompilerIdC/CMakeCCompilerId.c create mode 100644 build/CMakeFiles/3.28.3/CompilerIdCXX/CMakeCXXCompilerId.cpp create mode 100644 build/CMakeFiles/CMakeConfigureLog.yaml create mode 100644 build/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 build/CMakeFiles/FastDevFS.dir/DependInfo.cmake create mode 100644 build/CMakeFiles/FastDevFS.dir/build.make create mode 100644 build/CMakeFiles/FastDevFS.dir/cmake_clean.cmake create mode 100644 build/CMakeFiles/FastDevFS.dir/compiler_depend.internal create mode 100644 build/CMakeFiles/FastDevFS.dir/compiler_depend.make create mode 100644 build/CMakeFiles/FastDevFS.dir/compiler_depend.ts create mode 100644 build/CMakeFiles/FastDevFS.dir/depend.make create mode 100644 build/CMakeFiles/FastDevFS.dir/flags.make create mode 100644 build/CMakeFiles/FastDevFS.dir/link.txt create mode 100644 build/CMakeFiles/FastDevFS.dir/progress.make create mode 100644 build/CMakeFiles/Makefile.cmake create mode 100644 build/CMakeFiles/Makefile2 create mode 100644 build/CMakeFiles/TargetDirectories.txt create mode 100644 build/CMakeFiles/cmake.check_cache create mode 100644 build/CMakeFiles/progress.marks create mode 100755 build/FastDevFS create mode 100644 build/Makefile create mode 100644 build/cmake_install.cmake create mode 100644 src/include/fuse_functions/.gitkeep create mode 100644 src/include/fuse_functions/getattr.h create mode 100644 src/src/fuse_functions/.gitkeep create mode 100644 src/src/fuse_functions/getattr.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 33e34a5..84c7957 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,16 @@ project(FastDevFS) find_package(PkgConfig REQUIRED) pkg_check_modules(FUSE3 REQUIRED fuse3) -add_executable(FastDevFS main.cpp) -target_include_directories(FastDevFS PRIVATE ${FUSE3_INCLUDE_DIRS}) + +add_executable(FastDevFS + main.cpp + src/src/fuse_functions/getattr.cpp +) + +target_include_directories(FastDevFS PRIVATE + ${FUSE3_INCLUDE_DIRS} + ${CMAKE_SOURCE_DIR}/src/include +) + target_link_libraries(FastDevFS PRIVATE ${FUSE3_LIBRARIES}) target_compile_options(FastDevFS PRIVATE ${FUSE3_CFLAGS_OTHER}) \ No newline at end of file diff --git a/build/CMakeCache.txt b/build/CMakeCache.txt new file mode 100644 index 0000000..f38b708 --- /dev/null +++ b/build/CMakeCache.txt @@ -0,0 +1,439 @@ +# This is the CMakeCache file. +# For build in directory: /home/diya_limbani/FastDevFs/build +# It was generated by CMake: /usr/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line + +//Path to a program. +CMAKE_AR:FILEPATH=/usr/bin/ar + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING= + +//Enable/Disable color output during build. +CMAKE_COLOR_MAKEFILE:BOOL=ON + +//CXX compiler +CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-13 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-13 + +//Flags used by the CXX compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the CXX compiler during DEBUG builds. +CMAKE_CXX_FLAGS_DEBUG:STRING=-g + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the CXX compiler during RELEASE builds. +CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//C compiler +CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-13 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-13 + +//Flags used by the C compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the C compiler during DEBUG builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the C compiler during RELEASE builds. +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker during all build types. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= + +//Value Computed by CMake. +CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/home/diya_limbani/FastDevFs/build/CMakeFiles/pkgRedirects + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//Path to a program. +CMAKE_LINKER:FILEPATH=/usr/bin/ld + +//Path to a program. +CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake + +//Flags used by the linker during the creation of modules during +// all build types. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/usr/bin/nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=FastDevFS + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/usr/bin/readelf + +//Flags used by the linker during the creation of shared libraries +// during all build types. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=/usr/bin/strip + +//Path to a program. +CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Value Computed by CMake +FastDevFS_BINARY_DIR:STATIC=/home/diya_limbani/FastDevFs/build + +//Value Computed by CMake +FastDevFS_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +FastDevFS_SOURCE_DIR:STATIC=/home/diya_limbani/FastDevFs + +//Arguments to supply to pkg-config +PKG_CONFIG_ARGN:STRING= + +//pkg-config executable +PKG_CONFIG_EXECUTABLE:FILEPATH=/usr/bin/pkg-config + +//Path to a library. +pkgcfg_lib_FUSE3_fuse3:FILEPATH=/usr/lib/x86_64-linux-gnu/libfuse3.so + +//Path to a library. +pkgcfg_lib_FUSE3_pthread:FILEPATH=/usr/lib/x86_64-linux-gnu/libpthread.a + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/home/diya_limbani/FastDevFs/build +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=28 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=3 +//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE +CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/usr/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Unix Makefiles +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/home/diya_limbani/FastDevFs +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MAKE_PROGRAM +CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.28 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_TAPI +CMAKE_TAPI-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//Details about finding PkgConfig +FIND_PACKAGE_MESSAGE_DETAILS_PkgConfig:INTERNAL=[/usr/bin/pkg-config][v1.8.1()] +FUSE3_CFLAGS:INTERNAL=-I/usr/include/fuse3 +FUSE3_CFLAGS_I:INTERNAL= +FUSE3_CFLAGS_OTHER:INTERNAL= +FUSE3_FOUND:INTERNAL=1 +FUSE3_INCLUDEDIR:INTERNAL=/usr/include +FUSE3_INCLUDE_DIRS:INTERNAL=/usr/include/fuse3 +FUSE3_LDFLAGS:INTERNAL=-L/usr/lib/x86_64-linux-gnu;-lfuse3;-lpthread +FUSE3_LDFLAGS_OTHER:INTERNAL= +FUSE3_LIBDIR:INTERNAL=/usr/lib/x86_64-linux-gnu +FUSE3_LIBRARIES:INTERNAL=fuse3;pthread +FUSE3_LIBRARY_DIRS:INTERNAL=/usr/lib/x86_64-linux-gnu +FUSE3_LIBS:INTERNAL= +FUSE3_LIBS_L:INTERNAL= +FUSE3_LIBS_OTHER:INTERNAL= +FUSE3_LIBS_PATHS:INTERNAL= +FUSE3_MODULE_NAME:INTERNAL=fuse3 +FUSE3_PREFIX:INTERNAL=/usr +FUSE3_STATIC_CFLAGS:INTERNAL=-I/usr/include/fuse3 +FUSE3_STATIC_CFLAGS_I:INTERNAL= +FUSE3_STATIC_CFLAGS_OTHER:INTERNAL= +FUSE3_STATIC_INCLUDE_DIRS:INTERNAL=/usr/include/fuse3 +FUSE3_STATIC_LDFLAGS:INTERNAL=-L/usr/lib/x86_64-linux-gnu;-lfuse3;-lpthread;-ldl;-pthread;-lrt +FUSE3_STATIC_LDFLAGS_OTHER:INTERNAL=-pthread +FUSE3_STATIC_LIBDIR:INTERNAL= +FUSE3_STATIC_LIBRARIES:INTERNAL=fuse3;pthread;dl;rt +FUSE3_STATIC_LIBRARY_DIRS:INTERNAL=/usr/lib/x86_64-linux-gnu +FUSE3_STATIC_LIBS:INTERNAL= +FUSE3_STATIC_LIBS_L:INTERNAL= +FUSE3_STATIC_LIBS_OTHER:INTERNAL= +FUSE3_STATIC_LIBS_PATHS:INTERNAL= +FUSE3_VERSION:INTERNAL=3.14.0 +FUSE3_fuse3_INCLUDEDIR:INTERNAL= +FUSE3_fuse3_LIBDIR:INTERNAL= +FUSE3_fuse3_PREFIX:INTERNAL= +FUSE3_fuse3_VERSION:INTERNAL= +//ADVANCED property for variable: PKG_CONFIG_ARGN +PKG_CONFIG_ARGN-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: PKG_CONFIG_EXECUTABLE +PKG_CONFIG_EXECUTABLE-ADVANCED:INTERNAL=1 +//linker supports push/pop state +_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE +__pkg_config_arguments_FUSE3:INTERNAL=REQUIRED;fuse3 +__pkg_config_checked_FUSE3:INTERNAL=1 +//ADVANCED property for variable: pkgcfg_lib_FUSE3_fuse3 +pkgcfg_lib_FUSE3_fuse3-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: pkgcfg_lib_FUSE3_pthread +pkgcfg_lib_FUSE3_pthread-ADVANCED:INTERNAL=1 +prefix_result:INTERNAL=/usr/lib/x86_64-linux-gnu + diff --git a/build/CMakeFiles/3.28.3/CMakeCCompiler.cmake b/build/CMakeFiles/3.28.3/CMakeCCompiler.cmake new file mode 100644 index 0000000..3766fe1 --- /dev/null +++ b/build/CMakeFiles/3.28.3/CMakeCCompiler.cmake @@ -0,0 +1,74 @@ +set(CMAKE_C_COMPILER "/usr/bin/cc") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "GNU") +set(CMAKE_C_COMPILER_VERSION "13.3.0") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") +set(CMAKE_C17_COMPILE_FEATURES "c_std_17") +set(CMAKE_C23_COMPILE_FEATURES "c_std_23") + +set(CMAKE_C_PLATFORM_ID "Linux") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU") +set(CMAKE_C_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-13") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-13") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_MT "") +set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND") +set(CMAKE_COMPILER_IS_GNUCC 1) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) +set(CMAKE_C_LINKER_DEPFILE_SUPPORTED TRUE) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "8") +set(CMAKE_C_COMPILER_ABI "ELF") +set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/13/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/13;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/build/CMakeFiles/3.28.3/CMakeCXXCompiler.cmake b/build/CMakeFiles/3.28.3/CMakeCXXCompiler.cmake new file mode 100644 index 0000000..8dbc9d3 --- /dev/null +++ b/build/CMakeFiles/3.28.3/CMakeCXXCompiler.cmake @@ -0,0 +1,85 @@ +set(CMAKE_CXX_COMPILER "/usr/bin/c++") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "GNU") +set(CMAKE_CXX_COMPILER_VERSION "13.3.0") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") +set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") +set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23") + +set(CMAKE_CXX_PLATFORM_ID "Linux") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "GNU") +set(CMAKE_CXX_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-13") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-13") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_MT "") +set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND") +set(CMAKE_COMPILER_IS_GNUCXX 1) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm;ccm;cxxm;c++m) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) + +foreach (lang C OBJC OBJCXX) + if (CMAKE_${lang}_COMPILER_ID_RUN) + foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) + list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) + endforeach() + endif() +endforeach() + +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) +set(CMAKE_CXX_LINKER_DEPFILE_SUPPORTED TRUE) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "8") +set(CMAKE_CXX_COMPILER_ABI "ELF") +set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/13;/usr/include/x86_64-linux-gnu/c++/13;/usr/include/c++/13/backward;/usr/lib/gcc/x86_64-linux-gnu/13/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include") +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/13;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/build/CMakeFiles/3.28.3/CMakeDetermineCompilerABI_C.bin b/build/CMakeFiles/3.28.3/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 0000000000000000000000000000000000000000..0e5f034156adf9d6d795b655cc52140f256663af GIT binary patch literal 15968 zcmeHOYit}>6~4Q9x#ZzZnh=w;&6YN8Lh;y19Fqo_tYfb;iyS8;8xW*nGV2}NBlcl- zXIr~K2nvr{AyufVLXnU{RRI!zQVEeC6~$Fh5r|iQP=XLr8mJURXkF1FQ_?Kw%st;` zJgi$(_<_V+%X{wm&iU@SbLP(Ootb+-n;sm9$6^X)f%<@AEtSwnN({;ONrgm8?NH0< z^Hz0>T1@&vAJg`f7G%}sVtlS_5qtqj=CyI9iM&O_6hRmCkR|ixD>I9<1yadzFwZxM z4jl3+2>=Pa5icnbLozEo$RLk%Gt;hlGd*)uPKPccrzIXF^2s^j z{~eOguL|Fm?yinPzP;dWd)_Sm*s?Ck%`Wlv|9JpV%5t*;;JxNrGu*^ayKy39V@Z|1NM7j6$jgmtcS zO!m?F_#D+_Y?Hj;{G#Xs^L#LGRTEnuVaX=AH4k2z2fvx{cQm-0#+;b|&f^DVHh{}lB21Bt zG7x1T%0QHXC<9Rjq6|bC_&?6TUt4c`-8^x%#XPy_w;f8EUzqmd^>l>dTZKQQWzw-4hf5}W;__#TB**x*bnf=-Hmgy}&F;DgUlp3h7 zsgmofBS!0n&-?8W{x~7#sYQ>lxOdiDL!m#+bqak`{Zi|OB6(|Mnb<&DYJT z8S~kfcA3x4E-+)ynHR2mtEqvF(m+f7lI|Dy+~4CpY*w{<4w)x<;#@VSUi6lkCwmr? za%FS9UcZv3kLMP>L3iD;BgAdQXa1iaAR|`}5pU`k+@$ANt{%E;diQBVh%iGdYuA8cLvK+AEpYu&x?*>09prk^aqF{AbgYNu`z0>0 zzjnP|X8o)zV#M0SF}~rWqSv%4by4i^(6D+)y?cF9i{Qgnb{iQtl&~?%EVsd)HeZ%fE>DJUgz8N{5zl)B3N%Q|bf%W14VT)Lo zx~H#iXL8e_T&?8Ql3TVJ+lD>AN~AP`anGx)WAwBD<5gRg`ZQHI zF0L2gJPu>(W`*$&{M%G%*8it{|Aa~2?m!CJt8lx56 z`)?P=fN0jAr7`xWt0pvVRuit&%Eo$pG;_D_|4xPL33w0T&DN2BjPN9!0`f5*U#nCq z08;gS!dI$-kHBC)C=;`2y=U zQ^EDTf-}cTM@vBm4)pHzpE_E!IiUZeL%n-5eFW1k3oC7k)$Bi@tUZJKcJ~fi`vwLM zrn6SIcQ-w(B*)O+g%q|Zyv4Qzzw3dgr^<5jwr49pN7O7UdeZ_ab9XRU`D)o3vrBp2 z-H_QwUU|1<)v8XO8Y$6-m8({TE88h(M+84u59%%-wX+I1b)w;hzoKcvPJ% zdUlSaSJ83|HMd0jF2GzB~=+T#)~v`1DD&|uJZhdF5$*g_V9i;%#RR&eS_r= zQg{wSm$hH!+t(%L#ykspH&ufC@cu4-9v&?Cz5~X;n?XK)w;_{o6dC4!gz&%790>i# zyblubG4I2?3(eY8;W;1pm={8x7Dw(Q=MH?#=Ul>gssTRcnUMT@9xUPff0B$m#{(bp zI!Mfy(SP_s9wR=_8KGm|2-zvY!~I8}PEmz(3O?qskkjIb_~GOKD%ts%U~l{`$nOK@ z@6wDP3w4&?p#LC0DLhC~8x-h}PlWiLVt|An8h{S@-4H(|2FQHqgn@_lo(l0XZ-B)8 z4gAC7_nh#Nf0YzZkq?UsAuv?+L#lBX!9Ohyko>MISijZ^eGdus?LjKM=Pyz{fm!ww*vK@YC829r(*+;IW7Jjd`b`8Pj}lRCxSz z0T1W#TZFL-_?U-Icd)loDgX1v2l$Y)WD4>dgig&t9JBx)^y^e%4Dm5PO9(&gFNXuV zT0j6};@-f)zo&ud3iv^Zu@iJnNrT^!j`4NOb7%Ai-+z3+g}w**SNKMW%H~kxh^wtU S7jDj9$v-SqmW2o*Rs9o9p%N7U literal 0 HcmV?d00001 diff --git a/build/CMakeFiles/3.28.3/CMakeDetermineCompilerABI_CXX.bin b/build/CMakeFiles/3.28.3/CMakeDetermineCompilerABI_CXX.bin new file mode 100755 index 0000000000000000000000000000000000000000..e90f3f71d98d8b48fdca37fdc4f6d991fd1db519 GIT binary patch literal 15992 zcmeHOYit}>6~4Q9xipD4Y0{XaG)rkv(&C9;D4KR{7b9#VzWB18~B+O2|G6~rSFg`oZkluAK_))g&sA!Ipc?)lc^ z(YodJ1Btn-o$sFSoOAD;bMNflnYs7l>A`_`ET)i_sdp%rQVGqZMA7qB$q=Mek6J^= zH>g|GN|KlRoYto_kXENl@x|CA{4zrJYvD`-yhYPggHC86Bl|6t=2mD8P|10)pRW=b zJn#{z00_QbUs7re;fVMFgMJ*FxmN8rw|6lnB`(_q;m0ETDMQ;+cjzQomHL2)C&z@p zJrd6_wn;I-u-}CEg|T1!fLsTs!_RrSf2Y2K;&&$L7o)=X7ELQ4>U$UY`Ee2bYXQ3X zkkq$SKO`jnKnbtfnRm0@T|4u+*1TJ&Ot((=bhmbQ8ReqU;aAP=O466d)c&C(ii)W+ zCt+0a6Iw=jtlJ=Zw*TRV!E;T|eDXiRpJy9xH~X*+CoT^|gk{ci zoou7y@d?Vw*e1N_{A|)EmN>BA`Ubi_;*t$`YYD!v1b-9pw>2n7Sr$cf)GB*+$+ISH zw?NG3v~7*K1v~HF>nK)pe7n{D!OXrstHbCpcGdHpUCPRg9I$du$r*Rco>Lk*(3dY3 zoDn;lcc`rK$znlDx3pyQvtP& zWiowf%xK>FDZf18A0Wm&z2b`uyXU=)RQ0<#PgUPgyWG6>1RGuuBzxDl-<4(9aowDq zGarBcF7xsEWoGON^Wt@H0~N4M3TUcb*6o5nxA(+eR;$XLN6eFZH!^?5a6ix%_1M8aMM)`l|U=^Yq52 z*HU=CzdX_WXf>9;ChP`2&1YD1etEq4d|30_Mw*R(43%{4*afcI@1uIJaMe+YA`nF& zia->BC<0Lgq6kD0h$0Y0Ac{Z~fhYq1d<6LY*Q=$>(7^DXGQFQGj#;@WuXMDn=UC8w zC^I~e-Q&$zPO0eRj+Qd}to=jjO#e`?^6h;8?2PAF#S*={J35#d85vAl>7o8i?+{t| zdOPbLrF97G5ZkisZT#+y-({V7p;kLic$V;f!iNb>!UyJRwX=kr_?;@J*u95TY&sF! zvU*k18G50{Jg*%%PCjpDgZ@?i8@byl+eP2)#QVhB#K78?cQ)U6Ptyr?*XG@Kbl&d2 zzGVOR(>DP-%5&l}J^H>#{70BbuT6X=-nV9DyhJrK5v3>sQ3Rq0L=lK05Je!0Koo%} z0#O8_2>fqE0P7X8J`rmV{hJ%;%U60t6I ze_!98Ey0ZEDh zuN!V;&;1csYt@vDM=@7P;m?NnPT?`WVV|K)Otq*)N;4SuyvjO8PYW}M%cP|TnTzCQ1LJf|oggPMvtrGCl zQgPen+pkv#-zbIwXw=S5-=10*8c%O0Ua58Ub^0h~*tfq~;W`8F5Z`Eh`6r1_!YF{> z@%c?kr2-^nzfOEYZL0SdwBI0peY{!W_Xzw$VjnK&2Y&gmTEHiXUl-q`Fz%uGCG%9X zN@_+fWA!ZY2^v2wDOhUc{UYmWoTOwN`p=q3bw%tk-r)6;*zb_vQ~wzfDPJL;+Y`25 z5wAA|MfkXt_}dmSTG&JU`Z)bchOP^Bc(mlT8%0_vPfyz{&mLDql)cK>m@%prR@GbH zq&3Rx>dR!AD_Z0EV%E-EIj>kMTXtnyjTR@T@{Z@^jJC!WyrSQ=>{7|5hk^yKG^55! z_M~IwDwC5lOGL@ zBbs(&SZPzVX8$2&?H?T8*E?tp4-6bmk60tU`{htX#QhP1uDTZ+gfKlU2?wSe3GqQ+!HfpDmZgS9V#@MhSl2%4ftoC>m~y zSiBdb-fZ51;dc`4M=H-udUlr3D`}iS&MnY(j45Rlik@SP7b?b7sW|17yqN%%t+=$8 z#?1*u{o2Z7&^Mp3%M;4T%@n8#jb2G>KJ1jrZn3aPut-;O@-{mtgGZ1urttBNB)qszaD|w19>Xko^(g4IovS@1yva|^e1UVH@NElb&BUr zbjjDBzK8e0Vcvw2**2KoL;}xk=yLbdQv1C`U7vqJ?xsx8KfLdYpOXg@eh0zv|7p-4 z|L4FY3U!!l(KPi4d5$i6Hf#*X0ZK43e4h294J{0m# zi2|4lbr}3m-XkG@%qM`j?}2@I{GJzo#9t-FQtaWi`4ee3olcU7rpA-DhkKZJYP2i7tXmuxBE0yw(3kUcE=SdaxuRFA9AJl^q z;0O6SWtc<#n71XwKWs0j19!EI2-c8+qCNQi lrm#WB={^$3kg!$RQ-Ee*hEc8gl>u literal 0 HcmV?d00001 diff --git a/build/CMakeFiles/3.28.3/CMakeSystem.cmake b/build/CMakeFiles/3.28.3/CMakeSystem.cmake new file mode 100644 index 0000000..fd6979d --- /dev/null +++ b/build/CMakeFiles/3.28.3/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Linux-6.14.0-37-generic") +set(CMAKE_HOST_SYSTEM_NAME "Linux") +set(CMAKE_HOST_SYSTEM_VERSION "6.14.0-37-generic") +set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") + + + +set(CMAKE_SYSTEM "Linux-6.14.0-37-generic") +set(CMAKE_SYSTEM_NAME "Linux") +set(CMAKE_SYSTEM_VERSION "6.14.0-37-generic") +set(CMAKE_SYSTEM_PROCESSOR "x86_64") + +set(CMAKE_CROSSCOMPILING "FALSE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/build/CMakeFiles/3.28.3/CompilerIdC/CMakeCCompilerId.c b/build/CMakeFiles/3.28.3/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 0000000..0a0ec9b --- /dev/null +++ b/build/CMakeFiles/3.28.3/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,880 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) + + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(__clang__) && defined(__cray__) +# define COMPILER_ID "CrayClang" +# define COMPILER_VERSION_MAJOR DEC(__cray_major__) +# define COMPILER_VERSION_MINOR DEC(__cray_minor__) +# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TASKING__) +# define COMPILER_ID "Tasking" + # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) + # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) +# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) + +#elif defined(__ORANGEC__) +# define COMPILER_ID "OrangeC" +# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__) + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100) +# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100) +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(_ADI_COMPILER) +# define COMPILER_ID "ADSP" +#if defined(__VERSIONNUM__) + /* __VERSIONNUM__ = 0xVVRRPPTT */ +# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) +# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +# elif defined(_ADI_COMPILER) +# define PLATFORM_ID "ADSP" + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +# elif defined(__ADSPSHARC__) +# define ARCHITECTURE_ID "SHARC" + +# elif defined(__ADSPBLACKFIN__) +# define ARCHITECTURE_ID "Blackfin" + +#elif defined(__TASKING__) + +# if defined(__CTC__) || defined(__CPTC__) +# define ARCHITECTURE_ID "TriCore" + +# elif defined(__CMCS__) +# define ARCHITECTURE_ID "MCS" + +# elif defined(__CARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__CARC__) +# define ARCHITECTURE_ID "ARC" + +# elif defined(__C51__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__CPCP__) +# define ARCHITECTURE_ID "PCP" + +# else +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if !defined(__STDC__) && !defined(__clang__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif __STDC_VERSION__ > 201710L +# define C_VERSION "23" +#elif __STDC_VERSION__ >= 201710L +# define C_VERSION "17" +#elif __STDC_VERSION__ >= 201000L +# define C_VERSION "11" +#elif __STDC_VERSION__ >= 199901L +# define C_VERSION "99" +#else +# define C_VERSION "90" +#endif +const char* info_language_standard_default = + "INFO" ":" "standard_default[" C_VERSION "]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/build/CMakeFiles/3.28.3/CompilerIdCXX/CMakeCXXCompilerId.cpp b/build/CMakeFiles/3.28.3/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 0000000..9c9c90e --- /dev/null +++ b/build/CMakeFiles/3.28.3/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,869 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__COMO__) +# define COMPILER_ID "Comeau" + /* __COMO_VERSION__ = VRR */ +# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) +# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) + +#elif defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) + + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(__clang__) && defined(__cray__) +# define COMPILER_ID "CrayClang" +# define COMPILER_VERSION_MAJOR DEC(__cray_major__) +# define COMPILER_VERSION_MINOR DEC(__cray_minor__) +# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TASKING__) +# define COMPILER_ID "Tasking" + # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) + # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) +# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) + +#elif defined(__ORANGEC__) +# define COMPILER_ID "OrangeC" +# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__) + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100) +# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100) +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(_ADI_COMPILER) +# define COMPILER_ID "ADSP" +#if defined(__VERSIONNUM__) + /* __VERSIONNUM__ = 0xVVRRPPTT */ +# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) +# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +# elif defined(_ADI_COMPILER) +# define PLATFORM_ID "ADSP" + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +# elif defined(__ADSPSHARC__) +# define ARCHITECTURE_ID "SHARC" + +# elif defined(__ADSPBLACKFIN__) +# define ARCHITECTURE_ID "Blackfin" + +#elif defined(__TASKING__) + +# if defined(__CTC__) || defined(__CPTC__) +# define ARCHITECTURE_ID "TriCore" + +# elif defined(__CMCS__) +# define ARCHITECTURE_ID "MCS" + +# elif defined(__CARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__CARC__) +# define ARCHITECTURE_ID "ARC" + +# elif defined(__C51__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__CPCP__) +# define ARCHITECTURE_ID "PCP" + +# else +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L +# if defined(__INTEL_CXX11_MODE__) +# if defined(__cpp_aggregate_nsdmi) +# define CXX_STD 201402L +# else +# define CXX_STD 201103L +# endif +# else +# define CXX_STD 199711L +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# define CXX_STD _MSVC_LANG +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_standard_default = "INFO" ":" "standard_default[" +#if CXX_STD > 202002L + "23" +#elif CXX_STD > 201703L + "20" +#elif CXX_STD >= 201703L + "17" +#elif CXX_STD >= 201402L + "14" +#elif CXX_STD >= 201103L + "11" +#else + "98" +#endif +"]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} diff --git a/build/CMakeFiles/CMakeConfigureLog.yaml b/build/CMakeFiles/CMakeConfigureLog.yaml new file mode 100644 index 0000000..1f39cc2 --- /dev/null +++ b/build/CMakeFiles/CMakeConfigureLog.yaml @@ -0,0 +1,531 @@ + +--- +events: + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake-3.28/Modules/CMakeDetermineSystem.cmake:233 (message)" + - "CMakeLists.txt:3 (project)" + message: | + The system is: Linux - 6.14.0-37-generic - x86_64 + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "/usr/share/cmake-3.28/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:3 (project)" + message: | + Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. + Compiler: /usr/bin/cc + Build flags: + Id flags: + + The output was: + 0 + + + Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + + The C compiler identification is GNU, found in: + /home/diya_limbani/FastDevFs/build/CMakeFiles/3.28.3/CompilerIdC/a.out + + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "/usr/share/cmake-3.28/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:3 (project)" + message: | + Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. + Compiler: /usr/bin/c++ + Build flags: + Id flags: + + The output was: + 0 + + + Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + + The CXX compiler identification is GNU, found in: + /home/diya_limbani/FastDevFs/build/CMakeFiles/3.28.3/CompilerIdCXX/a.out + + - + kind: "try_compile-v1" + backtrace: + - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake:57 (try_compile)" + - "/usr/share/cmake-3.28/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:3 (project)" + checks: + - "Detecting C compiler ABI info" + directories: + source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-2E04vd" + binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-2E04vd" + cmakeVariables: + CMAKE_C_FLAGS: "" + CMAKE_C_FLAGS_DEBUG: "-g" + CMAKE_EXE_LINKER_FLAGS: "" + buildResult: + variable: "CMAKE_C_ABI_COMPILED" + cached: true + stdout: | + Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-2E04vd' + + Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_8735d/fast + /usr/bin/gmake -f CMakeFiles/cmTC_8735d.dir/build.make CMakeFiles/cmTC_8735d.dir/build + gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-2E04vd' + Building C object CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o + /usr/bin/cc -v -o CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c + Using built-in specs. + COLLECT_GCC=/usr/bin/cc + OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa + OFFLOAD_TARGET_DEFAULT=1 + Target: x86_64-linux-gnu + Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8735d.dir/' + /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_8735d.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccjUD4iL.s + GNU C17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu) + compiled by GNU C version 13.3.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP + + GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 + ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" + ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/include-fixed/x86_64-linux-gnu" + ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/include-fixed" + ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/../../../../x86_64-linux-gnu/include" + #include "..." search starts here: + #include <...> search starts here: + /usr/lib/gcc/x86_64-linux-gnu/13/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include + End of search list. + Compiler executable checksum: 38987c28e967c64056a6454abdef726e + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8735d.dir/' + as -v --64 -o CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o /tmp/ccjUD4iL.s + GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42 + COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ + LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.' + Linking C executable cmTC_8735d + /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8735d.dir/link.txt --verbose=1 + /usr/bin/cc -v CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o -o cmTC_8735d + Using built-in specs. + COLLECT_GCC=/usr/bin/cc + COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper + OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa + OFFLOAD_TARGET_DEFAULT=1 + Target: x86_64-linux-gnu + Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) + COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ + LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_8735d' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_8735d.' + /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccBPeZmB.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_8735d /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_8735d' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_8735d.' + gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-2E04vd' + + exitCode: 0 + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake:127 (message)" + - "/usr/share/cmake-3.28/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:3 (project)" + message: | + Parsed C implicit include dir info: rv=done + found start of include info + found start of implicit include info + add: [/usr/lib/gcc/x86_64-linux-gnu/13/include] + add: [/usr/local/include] + add: [/usr/include/x86_64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/13/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/13/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/lib/gcc/x86_64-linux-gnu/13/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include] + + + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake:159 (message)" + - "/usr/share/cmake-3.28/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:3 (project)" + message: | + Parsed C implicit link information: + link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] + ignore line: [Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-2E04vd'] + ignore line: [] + ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_8735d/fast] + ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_8735d.dir/build.make CMakeFiles/cmTC_8735d.dir/build] + ignore line: [gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-2E04vd'] + ignore line: [Building C object CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8735d.dir/'] + ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_8735d.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccjUD4iL.s] + ignore line: [GNU C17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 13.3.0 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/include-fixed/x86_64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/../../../../x86_64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/13/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/x86_64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [Compiler executable checksum: 38987c28e967c64056a6454abdef726e] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8735d.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o /tmp/ccjUD4iL.s] + ignore line: [GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42] + ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.'] + ignore line: [Linking C executable cmTC_8735d] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8735d.dir/link.txt --verbose=1] + ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o -o cmTC_8735d ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] + ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_8735d' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_8735d.'] + link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccBPeZmB.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_8735d /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + arg [/usr/libexec/gcc/x86_64-linux-gnu/13/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccBPeZmB.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-pie] ==> ignore + arg [-znow] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTC_8735d] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/13] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib] + arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..] + arg [CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> [/usr/lib/x86_64-linux-gnu/Scrt1.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> [/usr/lib/x86_64-linux-gnu/crti.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] ==> [/usr/lib/x86_64-linux-gnu/crtn.o] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/13] ==> [/usr/lib/gcc/x86_64-linux-gnu/13] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> [/usr/lib] + implicit libs: [gcc;gcc_s;c;gcc;gcc_s] + implicit objs: [/usr/lib/x86_64-linux-gnu/Scrt1.o;/usr/lib/x86_64-linux-gnu/crti.o;/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o;/usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o;/usr/lib/x86_64-linux-gnu/crtn.o] + implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/13;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] + implicit fwks: [] + + + - + kind: "try_compile-v1" + backtrace: + - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake:57 (try_compile)" + - "/usr/share/cmake-3.28/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:3 (project)" + checks: + - "Detecting CXX compiler ABI info" + directories: + source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-qMbOxv" + binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-qMbOxv" + cmakeVariables: + CMAKE_CXX_FLAGS: "" + CMAKE_CXX_FLAGS_DEBUG: "-g" + CMAKE_EXE_LINKER_FLAGS: "" + buildResult: + variable: "CMAKE_CXX_ABI_COMPILED" + cached: true + stdout: | + Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-qMbOxv' + + Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_5b6ec/fast + /usr/bin/gmake -f CMakeFiles/cmTC_5b6ec.dir/build.make CMakeFiles/cmTC_5b6ec.dir/build + gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-qMbOxv' + Building CXX object CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o + /usr/bin/c++ -v -o CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp + Using built-in specs. + COLLECT_GCC=/usr/bin/c++ + OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa + OFFLOAD_TARGET_DEFAULT=1 + Target: x86_64-linux-gnu + Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5b6ec.dir/' + /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_5b6ec.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccdwSGaE.s + GNU C++17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu) + compiled by GNU C version 13.3.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP + + GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 + ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/13" + ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" + ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/include-fixed/x86_64-linux-gnu" + ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/include-fixed" + ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/../../../../x86_64-linux-gnu/include" + #include "..." search starts here: + #include <...> search starts here: + /usr/include/c++/13 + /usr/include/x86_64-linux-gnu/c++/13 + /usr/include/c++/13/backward + /usr/lib/gcc/x86_64-linux-gnu/13/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include + End of search list. + Compiler executable checksum: c81c05345ce537099dafd5580045814a + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5b6ec.dir/' + as -v --64 -o CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccdwSGaE.s + GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42 + COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ + LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.' + Linking CXX executable cmTC_5b6ec + /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_5b6ec.dir/link.txt --verbose=1 + /usr/bin/c++ -v CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_5b6ec + Using built-in specs. + COLLECT_GCC=/usr/bin/c++ + COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper + OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa + OFFLOAD_TARGET_DEFAULT=1 + Target: x86_64-linux-gnu + Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) + COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ + LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_5b6ec' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_5b6ec.' + /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccjd4BpP.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_5b6ec /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_5b6ec' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_5b6ec.' + gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-qMbOxv' + + exitCode: 0 + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake:127 (message)" + - "/usr/share/cmake-3.28/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:3 (project)" + message: | + Parsed CXX implicit include dir info: rv=done + found start of include info + found start of implicit include info + add: [/usr/include/c++/13] + add: [/usr/include/x86_64-linux-gnu/c++/13] + add: [/usr/include/c++/13/backward] + add: [/usr/lib/gcc/x86_64-linux-gnu/13/include] + add: [/usr/local/include] + add: [/usr/include/x86_64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/include/c++/13] ==> [/usr/include/c++/13] + collapse include dir [/usr/include/x86_64-linux-gnu/c++/13] ==> [/usr/include/x86_64-linux-gnu/c++/13] + collapse include dir [/usr/include/c++/13/backward] ==> [/usr/include/c++/13/backward] + collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/13/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/13/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/include/c++/13;/usr/include/x86_64-linux-gnu/c++/13;/usr/include/c++/13/backward;/usr/lib/gcc/x86_64-linux-gnu/13/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include] + + + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake:159 (message)" + - "/usr/share/cmake-3.28/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:3 (project)" + message: | + Parsed CXX implicit link information: + link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] + ignore line: [Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-qMbOxv'] + ignore line: [] + ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_5b6ec/fast] + ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_5b6ec.dir/build.make CMakeFiles/cmTC_5b6ec.dir/build] + ignore line: [gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-qMbOxv'] + ignore line: [Building CXX object CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5b6ec.dir/'] + ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_5b6ec.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccdwSGaE.s] + ignore line: [GNU C++17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 13.3.0 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/13"] + ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/include-fixed/x86_64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/../../../../x86_64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/include/c++/13] + ignore line: [ /usr/include/x86_64-linux-gnu/c++/13] + ignore line: [ /usr/include/c++/13/backward] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/13/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/x86_64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [Compiler executable checksum: c81c05345ce537099dafd5580045814a] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5b6ec.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccdwSGaE.s] + ignore line: [GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42] + ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [Linking CXX executable cmTC_5b6ec] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_5b6ec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_5b6ec ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] + ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_5b6ec' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_5b6ec.'] + link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccjd4BpP.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_5b6ec /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + arg [/usr/libexec/gcc/x86_64-linux-gnu/13/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccjd4BpP.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-pie] ==> ignore + arg [-znow] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTC_5b6ec] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/13] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib] + arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..] + arg [CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> [/usr/lib/x86_64-linux-gnu/Scrt1.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> [/usr/lib/x86_64-linux-gnu/crti.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] ==> [/usr/lib/x86_64-linux-gnu/crtn.o] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/13] ==> [/usr/lib/gcc/x86_64-linux-gnu/13] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> [/usr/lib] + implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc] + implicit objs: [/usr/lib/x86_64-linux-gnu/Scrt1.o;/usr/lib/x86_64-linux-gnu/crti.o;/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o;/usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o;/usr/lib/x86_64-linux-gnu/crtn.o] + implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/13;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] + implicit fwks: [] + + +... diff --git a/build/CMakeFiles/CMakeDirectoryInformation.cmake b/build/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..49d8993 --- /dev/null +++ b/build/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.28 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/diya_limbani/FastDevFs") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/diya_limbani/FastDevFs/build") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/build/CMakeFiles/FastDevFS.dir/DependInfo.cmake b/build/CMakeFiles/FastDevFS.dir/DependInfo.cmake new file mode 100644 index 0000000..0b73abb --- /dev/null +++ b/build/CMakeFiles/FastDevFS.dir/DependInfo.cmake @@ -0,0 +1,24 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + "/home/diya_limbani/FastDevFs/main.cpp" "CMakeFiles/FastDevFS.dir/main.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/main.cpp.o.d" + "/home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o.d" + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/build/CMakeFiles/FastDevFS.dir/build.make b/build/CMakeFiles/FastDevFS.dir/build.make new file mode 100644 index 0000000..a789814 --- /dev/null +++ b/build/CMakeFiles/FastDevFS.dir/build.make @@ -0,0 +1,126 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.28 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/diya_limbani/FastDevFs + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/diya_limbani/FastDevFs/build + +# Include any dependencies generated for this target. +include CMakeFiles/FastDevFS.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include CMakeFiles/FastDevFS.dir/compiler_depend.make + +# Include the progress variables for this target. +include CMakeFiles/FastDevFS.dir/progress.make + +# Include the compile flags for this target's objects. +include CMakeFiles/FastDevFS.dir/flags.make + +CMakeFiles/FastDevFS.dir/main.cpp.o: CMakeFiles/FastDevFS.dir/flags.make +CMakeFiles/FastDevFS.dir/main.cpp.o: /home/diya_limbani/FastDevFs/main.cpp +CMakeFiles/FastDevFS.dir/main.cpp.o: CMakeFiles/FastDevFS.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/FastDevFS.dir/main.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/main.cpp.o -MF CMakeFiles/FastDevFS.dir/main.cpp.o.d -o CMakeFiles/FastDevFS.dir/main.cpp.o -c /home/diya_limbani/FastDevFs/main.cpp + +CMakeFiles/FastDevFS.dir/main.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/FastDevFS.dir/main.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/main.cpp > CMakeFiles/FastDevFS.dir/main.cpp.i + +CMakeFiles/FastDevFS.dir/main.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/main.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/main.cpp -o CMakeFiles/FastDevFS.dir/main.cpp.s + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o: CMakeFiles/FastDevFS.dir/flags.make +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o: CMakeFiles/FastDevFS.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o -c /home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp > CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.i + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.s + +# Object files for target FastDevFS +FastDevFS_OBJECTS = \ +"CMakeFiles/FastDevFS.dir/main.cpp.o" \ +"CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o" + +# External object files for target FastDevFS +FastDevFS_EXTERNAL_OBJECTS = + +FastDevFS: CMakeFiles/FastDevFS.dir/main.cpp.o +FastDevFS: CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o +FastDevFS: CMakeFiles/FastDevFS.dir/build.make +FastDevFS: CMakeFiles/FastDevFS.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Linking CXX executable FastDevFS" + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/FastDevFS.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/FastDevFS.dir/build: FastDevFS +.PHONY : CMakeFiles/FastDevFS.dir/build + +CMakeFiles/FastDevFS.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/FastDevFS.dir/cmake_clean.cmake +.PHONY : CMakeFiles/FastDevFS.dir/clean + +CMakeFiles/FastDevFS.dir/depend: + cd /home/diya_limbani/FastDevFs/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/diya_limbani/FastDevFs /home/diya_limbani/FastDevFs /home/diya_limbani/FastDevFs/build /home/diya_limbani/FastDevFs/build /home/diya_limbani/FastDevFs/build/CMakeFiles/FastDevFS.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : CMakeFiles/FastDevFS.dir/depend + diff --git a/build/CMakeFiles/FastDevFS.dir/cmake_clean.cmake b/build/CMakeFiles/FastDevFS.dir/cmake_clean.cmake new file mode 100644 index 0000000..24e0cfa --- /dev/null +++ b/build/CMakeFiles/FastDevFS.dir/cmake_clean.cmake @@ -0,0 +1,13 @@ +file(REMOVE_RECURSE + "CMakeFiles/FastDevFS.dir/main.cpp.o" + "CMakeFiles/FastDevFS.dir/main.cpp.o.d" + "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o" + "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o.d" + "FastDevFS" + "FastDevFS.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/FastDevFS.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/build/CMakeFiles/FastDevFS.dir/compiler_depend.internal b/build/CMakeFiles/FastDevFS.dir/compiler_depend.internal new file mode 100644 index 0000000..be764f0 --- /dev/null +++ b/build/CMakeFiles/FastDevFS.dir/compiler_depend.internal @@ -0,0 +1,341 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.28 + +CMakeFiles/FastDevFS.dir/main.cpp.o + /home/diya_limbani/FastDevFs/main.cpp + /home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h + /usr/include/alloca.h + /usr/include/asm-generic/bitsperlong.h + /usr/include/asm-generic/errno-base.h + /usr/include/asm-generic/errno.h + /usr/include/asm-generic/int-ll64.h + /usr/include/asm-generic/posix_types.h + /usr/include/asm-generic/types.h + /usr/include/c++/13/backward/binders.h + /usr/include/c++/13/bit + /usr/include/c++/13/bits/alloc_traits.h + /usr/include/c++/13/bits/allocator.h + /usr/include/c++/13/bits/basic_ios.h + /usr/include/c++/13/bits/basic_ios.tcc + /usr/include/c++/13/bits/basic_string.h + /usr/include/c++/13/bits/basic_string.tcc + /usr/include/c++/13/bits/char_traits.h + /usr/include/c++/13/bits/charconv.h + /usr/include/c++/13/bits/concept_check.h + /usr/include/c++/13/bits/cpp_type_traits.h + /usr/include/c++/13/bits/cxxabi_forced.h + /usr/include/c++/13/bits/cxxabi_init_exception.h + /usr/include/c++/13/bits/exception.h + /usr/include/c++/13/bits/exception_defines.h + /usr/include/c++/13/bits/exception_ptr.h + /usr/include/c++/13/bits/functexcept.h + /usr/include/c++/13/bits/functional_hash.h + /usr/include/c++/13/bits/hash_bytes.h + /usr/include/c++/13/bits/invoke.h + /usr/include/c++/13/bits/ios_base.h + /usr/include/c++/13/bits/istream.tcc + /usr/include/c++/13/bits/locale_classes.h + /usr/include/c++/13/bits/locale_classes.tcc + /usr/include/c++/13/bits/locale_facets.h + /usr/include/c++/13/bits/locale_facets.tcc + /usr/include/c++/13/bits/localefwd.h + /usr/include/c++/13/bits/memory_resource.h + /usr/include/c++/13/bits/memoryfwd.h + /usr/include/c++/13/bits/move.h + /usr/include/c++/13/bits/nested_exception.h + /usr/include/c++/13/bits/new_allocator.h + /usr/include/c++/13/bits/ostream.tcc + /usr/include/c++/13/bits/ostream_insert.h + /usr/include/c++/13/bits/postypes.h + /usr/include/c++/13/bits/predefined_ops.h + /usr/include/c++/13/bits/ptr_traits.h + /usr/include/c++/13/bits/range_access.h + /usr/include/c++/13/bits/refwrap.h + /usr/include/c++/13/bits/requires_hosted.h + /usr/include/c++/13/bits/std_abs.h + /usr/include/c++/13/bits/stl_algobase.h + /usr/include/c++/13/bits/stl_construct.h + /usr/include/c++/13/bits/stl_function.h + /usr/include/c++/13/bits/stl_iterator.h + /usr/include/c++/13/bits/stl_iterator_base_funcs.h + /usr/include/c++/13/bits/stl_iterator_base_types.h + /usr/include/c++/13/bits/stl_pair.h + /usr/include/c++/13/bits/streambuf.tcc + /usr/include/c++/13/bits/streambuf_iterator.h + /usr/include/c++/13/bits/string_view.tcc + /usr/include/c++/13/bits/stringfwd.h + /usr/include/c++/13/bits/uses_allocator.h + /usr/include/c++/13/bits/uses_allocator_args.h + /usr/include/c++/13/bits/utility.h + /usr/include/c++/13/cctype + /usr/include/c++/13/cerrno + /usr/include/c++/13/clocale + /usr/include/c++/13/cstddef + /usr/include/c++/13/cstdio + /usr/include/c++/13/cstdlib + /usr/include/c++/13/cwchar + /usr/include/c++/13/cwctype + /usr/include/c++/13/debug/assertions.h + /usr/include/c++/13/debug/debug.h + /usr/include/c++/13/exception + /usr/include/c++/13/ext/alloc_traits.h + /usr/include/c++/13/ext/atomicity.h + /usr/include/c++/13/ext/numeric_traits.h + /usr/include/c++/13/ext/string_conversions.h + /usr/include/c++/13/ext/type_traits.h + /usr/include/c++/13/initializer_list + /usr/include/c++/13/ios + /usr/include/c++/13/iosfwd + /usr/include/c++/13/iostream + /usr/include/c++/13/istream + /usr/include/c++/13/new + /usr/include/c++/13/ostream + /usr/include/c++/13/pstl/pstl_config.h + /usr/include/c++/13/stdexcept + /usr/include/c++/13/streambuf + /usr/include/c++/13/string + /usr/include/c++/13/string_view + /usr/include/c++/13/system_error + /usr/include/c++/13/tuple + /usr/include/c++/13/type_traits + /usr/include/c++/13/typeinfo + /usr/include/ctype.h + /usr/include/endian.h + /usr/include/errno.h + /usr/include/fcntl.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/fuse3/fuse.h + /usr/include/fuse3/fuse_common.h + /usr/include/fuse3/fuse_log.h + /usr/include/fuse3/fuse_opt.h + /usr/include/fuse3/libfuse_config.h + /usr/include/linux/errno.h + /usr/include/linux/falloc.h + /usr/include/linux/posix_types.h + /usr/include/linux/stat.h + /usr/include/linux/stddef.h + /usr/include/linux/types.h + /usr/include/locale.h + /usr/include/pthread.h + /usr/include/sched.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/stdio.h + /usr/include/stdlib.h + /usr/include/time.h + /usr/include/wchar.h + /usr/include/wctype.h + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h + /usr/include/x86_64-linux-gnu/asm/errno.h + /usr/include/x86_64-linux-gnu/asm/posix_types.h + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h + /usr/include/x86_64-linux-gnu/asm/types.h + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/x86_64-linux-gnu/bits/byteswap.h + /usr/include/x86_64-linux-gnu/bits/cpu-set.h + /usr/include/x86_64-linux-gnu/bits/endian.h + /usr/include/x86_64-linux-gnu/bits/endianness.h + /usr/include/x86_64-linux-gnu/bits/errno.h + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h + /usr/include/x86_64-linux-gnu/bits/fcntl.h + /usr/include/x86_64-linux-gnu/bits/floatn-common.h + /usr/include/x86_64-linux-gnu/bits/floatn.h + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/locale.h + /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h + /usr/include/x86_64-linux-gnu/bits/sched.h + /usr/include/x86_64-linux-gnu/bits/select.h + /usr/include/x86_64-linux-gnu/bits/setjmp.h + /usr/include/x86_64-linux-gnu/bits/stat.h + /usr/include/x86_64-linux-gnu/bits/statvfs.h + /usr/include/x86_64-linux-gnu/bits/statx-generic.h + /usr/include/x86_64-linux-gnu/bits/statx.h + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h + /usr/include/x86_64-linux-gnu/bits/stdint-least.h + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h + /usr/include/x86_64-linux-gnu/bits/struct_stat.h + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h + /usr/include/x86_64-linux-gnu/bits/time.h + /usr/include/x86_64-linux-gnu/bits/time64.h + /usr/include/x86_64-linux-gnu/bits/timesize.h + /usr/include/x86_64-linux-gnu/bits/timex.h + /usr/include/x86_64-linux-gnu/bits/types.h + /usr/include/x86_64-linux-gnu/bits/types/FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h + /usr/include/x86_64-linux-gnu/bits/types/error_t.h + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h + /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h + /usr/include/x86_64-linux-gnu/bits/types/time_t.h + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h + /usr/include/x86_64-linux-gnu/bits/typesizes.h + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h + /usr/include/x86_64-linux-gnu/bits/uio-ext.h + /usr/include/x86_64-linux-gnu/bits/uio_lim.h + /usr/include/x86_64-linux-gnu/bits/waitflags.h + /usr/include/x86_64-linux-gnu/bits/waitstatus.h + /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h + /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h + /usr/include/x86_64-linux-gnu/gnu/stubs.h + /usr/include/x86_64-linux-gnu/sys/cdefs.h + /usr/include/x86_64-linux-gnu/sys/select.h + /usr/include/x86_64-linux-gnu/sys/single_threaded.h + /usr/include/x86_64-linux-gnu/sys/stat.h + /usr/include/x86_64-linux-gnu/sys/statvfs.h + /usr/include/x86_64-linux-gnu/sys/types.h + /usr/include/x86_64-linux-gnu/sys/uio.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o + /home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp + /home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h + /usr/include/asm-generic/bitsperlong.h + /usr/include/asm-generic/errno-base.h + /usr/include/asm-generic/errno.h + /usr/include/asm-generic/int-ll64.h + /usr/include/asm-generic/posix_types.h + /usr/include/asm-generic/types.h + /usr/include/c++/13/cerrno + /usr/include/c++/13/cstring + /usr/include/c++/13/pstl/pstl_config.h + /usr/include/endian.h + /usr/include/errno.h + /usr/include/fcntl.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/fuse3/fuse.h + /usr/include/fuse3/fuse_common.h + /usr/include/fuse3/fuse_log.h + /usr/include/fuse3/fuse_opt.h + /usr/include/fuse3/libfuse_config.h + /usr/include/linux/close_range.h + /usr/include/linux/errno.h + /usr/include/linux/falloc.h + /usr/include/linux/posix_types.h + /usr/include/linux/stat.h + /usr/include/linux/stddef.h + /usr/include/linux/types.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/time.h + /usr/include/unistd.h + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h + /usr/include/x86_64-linux-gnu/asm/errno.h + /usr/include/x86_64-linux-gnu/asm/posix_types.h + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h + /usr/include/x86_64-linux-gnu/asm/types.h + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/x86_64-linux-gnu/bits/byteswap.h + /usr/include/x86_64-linux-gnu/bits/confname.h + /usr/include/x86_64-linux-gnu/bits/endian.h + /usr/include/x86_64-linux-gnu/bits/endianness.h + /usr/include/x86_64-linux-gnu/bits/environments.h + /usr/include/x86_64-linux-gnu/bits/errno.h + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h + /usr/include/x86_64-linux-gnu/bits/fcntl.h + /usr/include/x86_64-linux-gnu/bits/getopt_core.h + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/posix_opt.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h + /usr/include/x86_64-linux-gnu/bits/select.h + /usr/include/x86_64-linux-gnu/bits/stat.h + /usr/include/x86_64-linux-gnu/bits/statvfs.h + /usr/include/x86_64-linux-gnu/bits/statx-generic.h + /usr/include/x86_64-linux-gnu/bits/statx.h + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h + /usr/include/x86_64-linux-gnu/bits/stdint-least.h + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h + /usr/include/x86_64-linux-gnu/bits/struct_stat.h + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h + /usr/include/x86_64-linux-gnu/bits/time.h + /usr/include/x86_64-linux-gnu/bits/time64.h + /usr/include/x86_64-linux-gnu/bits/timesize.h + /usr/include/x86_64-linux-gnu/bits/timex.h + /usr/include/x86_64-linux-gnu/bits/types.h + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h + /usr/include/x86_64-linux-gnu/bits/types/error_t.h + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h + /usr/include/x86_64-linux-gnu/bits/types/time_t.h + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h + /usr/include/x86_64-linux-gnu/bits/typesizes.h + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h + /usr/include/x86_64-linux-gnu/bits/uio-ext.h + /usr/include/x86_64-linux-gnu/bits/uio_lim.h + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h + /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h + /usr/include/x86_64-linux-gnu/gnu/stubs.h + /usr/include/x86_64-linux-gnu/sys/cdefs.h + /usr/include/x86_64-linux-gnu/sys/select.h + /usr/include/x86_64-linux-gnu/sys/stat.h + /usr/include/x86_64-linux-gnu/sys/statvfs.h + /usr/include/x86_64-linux-gnu/sys/types.h + /usr/include/x86_64-linux-gnu/sys/uio.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + diff --git a/build/CMakeFiles/FastDevFS.dir/compiler_depend.make b/build/CMakeFiles/FastDevFS.dir/compiler_depend.make new file mode 100644 index 0000000..77345bf --- /dev/null +++ b/build/CMakeFiles/FastDevFS.dir/compiler_depend.make @@ -0,0 +1,813 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.28 + +CMakeFiles/FastDevFS.dir/main.cpp.o: /home/diya_limbani/FastDevFs/main.cpp \ + /home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h \ + /usr/include/alloca.h \ + /usr/include/asm-generic/bitsperlong.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/int-ll64.h \ + /usr/include/asm-generic/posix_types.h \ + /usr/include/asm-generic/types.h \ + /usr/include/c++/13/backward/binders.h \ + /usr/include/c++/13/bit \ + /usr/include/c++/13/bits/alloc_traits.h \ + /usr/include/c++/13/bits/allocator.h \ + /usr/include/c++/13/bits/basic_ios.h \ + /usr/include/c++/13/bits/basic_ios.tcc \ + /usr/include/c++/13/bits/basic_string.h \ + /usr/include/c++/13/bits/basic_string.tcc \ + /usr/include/c++/13/bits/char_traits.h \ + /usr/include/c++/13/bits/charconv.h \ + /usr/include/c++/13/bits/concept_check.h \ + /usr/include/c++/13/bits/cpp_type_traits.h \ + /usr/include/c++/13/bits/cxxabi_forced.h \ + /usr/include/c++/13/bits/cxxabi_init_exception.h \ + /usr/include/c++/13/bits/exception.h \ + /usr/include/c++/13/bits/exception_defines.h \ + /usr/include/c++/13/bits/exception_ptr.h \ + /usr/include/c++/13/bits/functexcept.h \ + /usr/include/c++/13/bits/functional_hash.h \ + /usr/include/c++/13/bits/hash_bytes.h \ + /usr/include/c++/13/bits/invoke.h \ + /usr/include/c++/13/bits/ios_base.h \ + /usr/include/c++/13/bits/istream.tcc \ + /usr/include/c++/13/bits/locale_classes.h \ + /usr/include/c++/13/bits/locale_classes.tcc \ + /usr/include/c++/13/bits/locale_facets.h \ + /usr/include/c++/13/bits/locale_facets.tcc \ + /usr/include/c++/13/bits/localefwd.h \ + /usr/include/c++/13/bits/memory_resource.h \ + /usr/include/c++/13/bits/memoryfwd.h \ + /usr/include/c++/13/bits/move.h \ + /usr/include/c++/13/bits/nested_exception.h \ + /usr/include/c++/13/bits/new_allocator.h \ + /usr/include/c++/13/bits/ostream.tcc \ + /usr/include/c++/13/bits/ostream_insert.h \ + /usr/include/c++/13/bits/postypes.h \ + /usr/include/c++/13/bits/predefined_ops.h \ + /usr/include/c++/13/bits/ptr_traits.h \ + /usr/include/c++/13/bits/range_access.h \ + /usr/include/c++/13/bits/refwrap.h \ + /usr/include/c++/13/bits/requires_hosted.h \ + /usr/include/c++/13/bits/std_abs.h \ + /usr/include/c++/13/bits/stl_algobase.h \ + /usr/include/c++/13/bits/stl_construct.h \ + /usr/include/c++/13/bits/stl_function.h \ + /usr/include/c++/13/bits/stl_iterator.h \ + /usr/include/c++/13/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/13/bits/stl_iterator_base_types.h \ + /usr/include/c++/13/bits/stl_pair.h \ + /usr/include/c++/13/bits/streambuf.tcc \ + /usr/include/c++/13/bits/streambuf_iterator.h \ + /usr/include/c++/13/bits/string_view.tcc \ + /usr/include/c++/13/bits/stringfwd.h \ + /usr/include/c++/13/bits/uses_allocator.h \ + /usr/include/c++/13/bits/uses_allocator_args.h \ + /usr/include/c++/13/bits/utility.h \ + /usr/include/c++/13/cctype \ + /usr/include/c++/13/cerrno \ + /usr/include/c++/13/clocale \ + /usr/include/c++/13/cstddef \ + /usr/include/c++/13/cstdio \ + /usr/include/c++/13/cstdlib \ + /usr/include/c++/13/cwchar \ + /usr/include/c++/13/cwctype \ + /usr/include/c++/13/debug/assertions.h \ + /usr/include/c++/13/debug/debug.h \ + /usr/include/c++/13/exception \ + /usr/include/c++/13/ext/alloc_traits.h \ + /usr/include/c++/13/ext/atomicity.h \ + /usr/include/c++/13/ext/numeric_traits.h \ + /usr/include/c++/13/ext/string_conversions.h \ + /usr/include/c++/13/ext/type_traits.h \ + /usr/include/c++/13/initializer_list \ + /usr/include/c++/13/ios \ + /usr/include/c++/13/iosfwd \ + /usr/include/c++/13/iostream \ + /usr/include/c++/13/istream \ + /usr/include/c++/13/new \ + /usr/include/c++/13/ostream \ + /usr/include/c++/13/pstl/pstl_config.h \ + /usr/include/c++/13/stdexcept \ + /usr/include/c++/13/streambuf \ + /usr/include/c++/13/string \ + /usr/include/c++/13/string_view \ + /usr/include/c++/13/system_error \ + /usr/include/c++/13/tuple \ + /usr/include/c++/13/type_traits \ + /usr/include/c++/13/typeinfo \ + /usr/include/ctype.h \ + /usr/include/endian.h \ + /usr/include/errno.h \ + /usr/include/fcntl.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/fuse3/fuse.h \ + /usr/include/fuse3/fuse_common.h \ + /usr/include/fuse3/fuse_log.h \ + /usr/include/fuse3/fuse_opt.h \ + /usr/include/fuse3/libfuse_config.h \ + /usr/include/linux/errno.h \ + /usr/include/linux/falloc.h \ + /usr/include/linux/posix_types.h \ + /usr/include/linux/stat.h \ + /usr/include/linux/stddef.h \ + /usr/include/linux/types.h \ + /usr/include/locale.h \ + /usr/include/pthread.h \ + /usr/include/sched.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ + /usr/include/time.h \ + /usr/include/wchar.h \ + /usr/include/wctype.h \ + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ + /usr/include/x86_64-linux-gnu/asm/errno.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \ + /usr/include/x86_64-linux-gnu/asm/types.h \ + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/cpu-set.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endianness.h \ + /usr/include/x86_64-linux-gnu/bits/errno.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl.h \ + /usr/include/x86_64-linux-gnu/bits/floatn-common.h \ + /usr/include/x86_64-linux-gnu/bits/floatn.h \ + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h \ + /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/bits/stat.h \ + /usr/include/x86_64-linux-gnu/bits/statvfs.h \ + /usr/include/x86_64-linux-gnu/bits/statx-generic.h \ + /usr/include/x86_64-linux-gnu/bits/statx.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/x86_64-linux-gnu/bits/struct_stat.h \ + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/time64.h \ + /usr/include/x86_64-linux-gnu/bits/timesize.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ + /usr/include/x86_64-linux-gnu/bits/uio-ext.h \ + /usr/include/x86_64-linux-gnu/bits/uio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/sys/single_threaded.h \ + /usr/include/x86_64-linux-gnu/sys/stat.h \ + /usr/include/x86_64-linux-gnu/sys/statvfs.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/uio.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp \ + /home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h \ + /usr/include/asm-generic/bitsperlong.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/int-ll64.h \ + /usr/include/asm-generic/posix_types.h \ + /usr/include/asm-generic/types.h \ + /usr/include/c++/13/cerrno \ + /usr/include/c++/13/cstring \ + /usr/include/c++/13/pstl/pstl_config.h \ + /usr/include/endian.h \ + /usr/include/errno.h \ + /usr/include/fcntl.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/fuse3/fuse.h \ + /usr/include/fuse3/fuse_common.h \ + /usr/include/fuse3/fuse_log.h \ + /usr/include/fuse3/fuse_opt.h \ + /usr/include/fuse3/libfuse_config.h \ + /usr/include/linux/close_range.h \ + /usr/include/linux/errno.h \ + /usr/include/linux/falloc.h \ + /usr/include/linux/posix_types.h \ + /usr/include/linux/stat.h \ + /usr/include/linux/stddef.h \ + /usr/include/linux/types.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/time.h \ + /usr/include/unistd.h \ + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ + /usr/include/x86_64-linux-gnu/asm/errno.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \ + /usr/include/x86_64-linux-gnu/asm/types.h \ + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/confname.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endianness.h \ + /usr/include/x86_64-linux-gnu/bits/environments.h \ + /usr/include/x86_64-linux-gnu/bits/errno.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_core.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \ + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/stat.h \ + /usr/include/x86_64-linux-gnu/bits/statvfs.h \ + /usr/include/x86_64-linux-gnu/bits/statx-generic.h \ + /usr/include/x86_64-linux-gnu/bits/statx.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/x86_64-linux-gnu/bits/struct_stat.h \ + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/time64.h \ + /usr/include/x86_64-linux-gnu/bits/timesize.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ + /usr/include/x86_64-linux-gnu/bits/uio-ext.h \ + /usr/include/x86_64-linux-gnu/bits/uio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/sys/stat.h \ + /usr/include/x86_64-linux-gnu/sys/statvfs.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/uio.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + + +/usr/include/x86_64-linux-gnu/bits/unistd_ext.h: + +/usr/include/x86_64-linux-gnu/bits/posix_opt.h: + +/usr/include/x86_64-linux-gnu/bits/getopt_core.h: + +/usr/include/linux/close_range.h: + +/usr/include/c++/13/cstring: + +/usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h: + +/home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp: + +/usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/sys/stat.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/uio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/uio-ext.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/types/timer_t.h: + +/usr/include/x86_64-linux-gnu/bits/types/time_t.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h: + +/usr/include/x86_64-linux-gnu/bits/wctype-wchar.h: + +/usr/include/x86_64-linux-gnu/bits/types/locale_t.h: + +/usr/include/x86_64-linux-gnu/bits/types/error_t.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h: + +/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h: + +/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h: + +/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h: + +/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h: + +/usr/include/x86_64-linux-gnu/bits/types/__FILE.h: + +/usr/include/x86_64-linux-gnu/bits/timesize.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/strings.h: + +/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h: + +/usr/include/x86_64-linux-gnu/bits/struct_mutex.h: + +/usr/include/x86_64-linux-gnu/bits/types/FILE.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/unistd.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h: + +/usr/include/x86_64-linux-gnu/bits/statx.h: + +/usr/include/x86_64-linux-gnu/bits/statx-generic.h: + +/usr/include/x86_64-linux-gnu/bits/statvfs.h: + +/usr/include/x86_64-linux-gnu/bits/stat.h: + +/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/bits/struct_stat.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h: + +/usr/include/x86_64-linux-gnu/bits/floatn.h: + +/usr/include/x86_64-linux-gnu/bits/types/wint_t.h: + +/usr/include/x86_64-linux-gnu/bits/floatn-common.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/cpu-set.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h: + +/usr/include/x86_64-linux-gnu/asm/types.h: + +/usr/include/c++/13/bits/stl_construct.h: + +/usr/include/x86_64-linux-gnu/sys/uio.h: + +/usr/include/c++/13/bits/stl_algobase.h: + +/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h: + +/usr/include/c++/13/bits/refwrap.h: + +/usr/include/c++/13/debug/debug.h: + +/usr/include/c++/13/stdexcept: + +/usr/include/x86_64-linux-gnu/bits/environments.h: + +/usr/include/c++/13/bits/invoke.h: + +/usr/include/linux/stat.h: + +/usr/include/c++/13/bits/locale_classes.tcc: + +/usr/include/c++/13/bits/allocator.h: + +/usr/include/c++/13/bits/locale_classes.h: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types/clock_t.h: + +/usr/include/c++/13/bits/char_traits.h: + +/usr/include/c++/13/bits/ostream.tcc: + +/usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h: + +/usr/include/c++/13/bits/ios_base.h: + +/home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h: + +/usr/include/pthread.h: + +/usr/include/c++/13/bits/nested_exception.h: + +/usr/include/c++/13/bits/memory_resource.h: + +/usr/include/wchar.h: + +/usr/include/c++/13/bits/move.h: + +/usr/include/x86_64-linux-gnu/sys/single_threaded.h: + +/usr/include/c++/13/type_traits: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/stdint-intn.h: + +/usr/include/c++/13/bits/cpp_type_traits.h: + +/usr/include/fuse3/libfuse_config.h: + +/usr/include/x86_64-linux-gnu/sys/statvfs.h: + +/usr/include/c++/13/bits/ostream_insert.h: + +/usr/include/c++/13/cwctype: + +/usr/include/c++/13/bits/predefined_ops.h: + +/usr/include/c++/13/iosfwd: + +/usr/include/c++/13/bits/stl_iterator_base_funcs.h: + +/usr/include/asm-generic/errno.h: + +/usr/include/c++/13/cwchar: + +/usr/include/x86_64-linux-gnu/bits/uintn-identity.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/c++/13/streambuf: + +/usr/include/c++/13/bits/exception.h: + +/usr/include/x86_64-linux-gnu/asm/posix_types_64.h: + +/usr/include/asm-generic/types.h: + +/usr/include/asm-generic/errno-base.h: + +/usr/include/c++/13/bits/hash_bytes.h: + +/usr/include/x86_64-linux-gnu/bits/time64.h: + +/usr/include/c++/13/bits/basic_ios.h: + +/usr/include/c++/13/bits/istream.tcc: + +/usr/include/c++/13/bits/exception_ptr.h: + +/usr/include/alloca.h: + +/usr/include/c++/13/bit: + +/usr/include/c++/13/bits/basic_string.tcc: + +/usr/include/c++/13/bits/locale_facets.tcc: + +/usr/include/c++/13/bits/requires_hosted.h: + +/usr/include/c++/13/bits/string_view.tcc: + +/usr/include/features.h: + +/usr/include/c++/13/bits/stringfwd.h: + +/usr/include/x86_64-linux-gnu/bits/endianness.h: + +/usr/include/c++/13/bits/basic_string.h: + +/usr/include/asm-generic/posix_types.h: + +/usr/include/stdc-predef.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h: + +/usr/include/c++/13/bits/ptr_traits.h: + +/usr/include/linux/falloc.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h: + +/usr/include/c++/13/bits/basic_ios.tcc: + +/usr/include/linux/stddef.h: + +/usr/include/c++/13/bits/stl_iterator_base_types.h: + +/usr/include/asm-generic/int-ll64.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h: + +/usr/include/linux/posix_types.h: + +/usr/include/c++/13/bits/localefwd.h: + +/usr/include/c++/13/bits/exception_defines.h: + +/usr/include/c++/13/bits/locale_facets.h: + +/usr/include/c++/13/bits/memoryfwd.h: + +/usr/include/time.h: + +/usr/include/c++/13/bits/cxxabi_forced.h: + +/usr/include/c++/13/string: + +/usr/include/c++/13/bits/concept_check.h: + +/usr/include/c++/13/bits/alloc_traits.h: + +/usr/include/x86_64-linux-gnu/asm/posix_types.h: + +/usr/include/x86_64-linux-gnu/bits/libc-header-start.h: + +/usr/include/c++/13/bits/stl_iterator.h: + +/usr/include/c++/13/bits/functexcept.h: + +/usr/include/c++/13/ios: + +/usr/include/c++/13/bits/std_abs.h: + +/usr/include/c++/13/bits/postypes.h: + +/usr/include/c++/13/bits/uses_allocator.h: + +/usr/include/x86_64-linux-gnu/bits/long-double.h: + +/usr/include/c++/13/bits/new_allocator.h: + +/usr/include/c++/13/bits/uses_allocator_args.h: + +/usr/include/x86_64-linux-gnu/bits/fcntl.h: + +/usr/include/c++/13/bits/stl_function.h: + +/usr/include/c++/13/bits/utility.h: + +/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h: + +/usr/include/x86_64-linux-gnu/bits/stdint-least.h: + +/usr/include/c++/13/cerrno: + +/usr/include/stdio.h: + +/usr/include/c++/13/clocale: + +/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h: + +/usr/include/c++/13/cstddef: + +/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h: + +/usr/include/c++/13/bits/charconv.h: + +/usr/include/c++/13/bits/stl_pair.h: + +/usr/include/c++/13/cstdio: + +/usr/include/c++/13/cstdlib: + +/usr/include/c++/13/debug/assertions.h: + +/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h: + +/usr/include/c++/13/tuple: + +/usr/include/c++/13/bits/functional_hash.h: + +/usr/include/errno.h: + +/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h: + +/usr/include/c++/13/ext/numeric_traits.h: + +/usr/include/c++/13/ext/string_conversions.h: + +/usr/include/c++/13/ext/type_traits.h: + +/usr/include/c++/13/iostream: + +/usr/include/c++/13/initializer_list: + +/usr/include/c++/13/istream: + +/usr/include/c++/13/string_view: + +/usr/include/features-time64.h: + +/usr/include/c++/13/ext/alloc_traits.h: + +/usr/include/c++/13/new: + +/usr/include/x86_64-linux-gnu/bits/confname.h: + +/usr/include/c++/13/bits/streambuf_iterator.h: + +/usr/include/c++/13/ostream: + +/home/diya_limbani/FastDevFs/main.cpp: + +/usr/include/fcntl.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/c++/13/pstl/pstl_config.h: + +/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h: + +/usr/include/c++/13/bits/range_access.h: + +/usr/include/c++/13/system_error: + +/usr/include/x86_64-linux-gnu/bits/getopt_posix.h: + +/usr/include/c++/13/bits/cxxabi_init_exception.h: + +/usr/include/c++/13/typeinfo: + +/usr/include/c++/13/bits/streambuf.tcc: + +/usr/include/endian.h: + +/usr/include/fuse3/fuse.h: + +/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h: + +/usr/include/linux/errno.h: + +/usr/include/string.h: + +/usr/include/fuse3/fuse_common.h: + +/usr/include/asm-generic/bitsperlong.h: + +/usr/include/c++/13/cctype: + +/usr/include/c++/13/ext/atomicity.h: + +/usr/include/fuse3/fuse_log.h: + +/usr/include/c++/13/backward/binders.h: + +/usr/include/fuse3/fuse_opt.h: + +/usr/include/linux/types.h: + +/usr/include/sched.h: + +/usr/include/stdint.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/errno.h: + +/usr/include/c++/13/exception: + +/usr/include/wctype.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/asm/bitsperlong.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h: + +/usr/include/x86_64-linux-gnu/asm/errno.h: diff --git a/build/CMakeFiles/FastDevFS.dir/compiler_depend.ts b/build/CMakeFiles/FastDevFS.dir/compiler_depend.ts new file mode 100644 index 0000000..3e742b2 --- /dev/null +++ b/build/CMakeFiles/FastDevFS.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for FastDevFS. diff --git a/build/CMakeFiles/FastDevFS.dir/depend.make b/build/CMakeFiles/FastDevFS.dir/depend.make new file mode 100644 index 0000000..ac30739 --- /dev/null +++ b/build/CMakeFiles/FastDevFS.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for FastDevFS. +# This may be replaced when dependencies are built. diff --git a/build/CMakeFiles/FastDevFS.dir/flags.make b/build/CMakeFiles/FastDevFS.dir/flags.make new file mode 100644 index 0000000..7db4e2d --- /dev/null +++ b/build/CMakeFiles/FastDevFS.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.28 + +# compile CXX with /usr/bin/c++ +CXX_DEFINES = + +CXX_INCLUDES = -I/usr/include/fuse3 -I/home/diya_limbani/FastDevFs/src/include + +CXX_FLAGS = + diff --git a/build/CMakeFiles/FastDevFS.dir/link.txt b/build/CMakeFiles/FastDevFS.dir/link.txt new file mode 100644 index 0000000..fd6330c --- /dev/null +++ b/build/CMakeFiles/FastDevFS.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/c++ CMakeFiles/FastDevFS.dir/main.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o -o FastDevFS -lfuse3 -lpthread diff --git a/build/CMakeFiles/FastDevFS.dir/progress.make b/build/CMakeFiles/FastDevFS.dir/progress.make new file mode 100644 index 0000000..6a9dc74 --- /dev/null +++ b/build/CMakeFiles/FastDevFS.dir/progress.make @@ -0,0 +1,4 @@ +CMAKE_PROGRESS_1 = 1 +CMAKE_PROGRESS_2 = 2 +CMAKE_PROGRESS_3 = 3 + diff --git a/build/CMakeFiles/Makefile.cmake b/build/CMakeFiles/Makefile.cmake new file mode 100644 index 0000000..3b117af --- /dev/null +++ b/build/CMakeFiles/Makefile.cmake @@ -0,0 +1,51 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.28 + +# The generator used is: +set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") + +# The top level Makefile was generated from the following files: +set(CMAKE_MAKEFILE_DEPENDS + "CMakeCache.txt" + "/home/diya_limbani/FastDevFs/CMakeLists.txt" + "CMakeFiles/3.28.3/CMakeCCompiler.cmake" + "CMakeFiles/3.28.3/CMakeCXXCompiler.cmake" + "CMakeFiles/3.28.3/CMakeSystem.cmake" + "/usr/share/cmake-3.28/Modules/CMakeCInformation.cmake" + "/usr/share/cmake-3.28/Modules/CMakeCXXInformation.cmake" + "/usr/share/cmake-3.28/Modules/CMakeCommonLanguageInclude.cmake" + "/usr/share/cmake-3.28/Modules/CMakeGenericSystem.cmake" + "/usr/share/cmake-3.28/Modules/CMakeInitializeConfigs.cmake" + "/usr/share/cmake-3.28/Modules/CMakeLanguageInformation.cmake" + "/usr/share/cmake-3.28/Modules/CMakeSystemSpecificInformation.cmake" + "/usr/share/cmake-3.28/Modules/CMakeSystemSpecificInitialize.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/GNU-C.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/GNU-CXX.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/GNU.cmake" + "/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake" + "/usr/share/cmake-3.28/Modules/FindPackageMessage.cmake" + "/usr/share/cmake-3.28/Modules/FindPkgConfig.cmake" + "/usr/share/cmake-3.28/Modules/Platform/Linux-GNU-C.cmake" + "/usr/share/cmake-3.28/Modules/Platform/Linux-GNU-CXX.cmake" + "/usr/share/cmake-3.28/Modules/Platform/Linux-GNU.cmake" + "/usr/share/cmake-3.28/Modules/Platform/Linux-Initialize.cmake" + "/usr/share/cmake-3.28/Modules/Platform/Linux.cmake" + "/usr/share/cmake-3.28/Modules/Platform/UnixPaths.cmake" + ) + +# The corresponding makefile is: +set(CMAKE_MAKEFILE_OUTPUTS + "Makefile" + "CMakeFiles/cmake.check_cache" + ) + +# Byproducts of CMake generate step: +set(CMAKE_MAKEFILE_PRODUCTS + "CMakeFiles/CMakeDirectoryInformation.cmake" + ) + +# Dependency information for all targets: +set(CMAKE_DEPEND_INFO_FILES + "CMakeFiles/FastDevFS.dir/DependInfo.cmake" + ) diff --git a/build/CMakeFiles/Makefile2 b/build/CMakeFiles/Makefile2 new file mode 100644 index 0000000..636464c --- /dev/null +++ b/build/CMakeFiles/Makefile2 @@ -0,0 +1,112 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.28 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/diya_limbani/FastDevFs + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/diya_limbani/FastDevFs/build + +#============================================================================= +# Directory level rules for the build root directory + +# The main recursive "all" target. +all: CMakeFiles/FastDevFS.dir/all +.PHONY : all + +# The main recursive "preinstall" target. +preinstall: +.PHONY : preinstall + +# The main recursive "clean" target. +clean: CMakeFiles/FastDevFS.dir/clean +.PHONY : clean + +#============================================================================= +# Target rules for target CMakeFiles/FastDevFS.dir + +# All Build rule for target. +CMakeFiles/FastDevFS.dir/all: + $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/depend + $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=1,2,3 "Built target FastDevFS" +.PHONY : CMakeFiles/FastDevFS.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/FastDevFS.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles 3 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/FastDevFS.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles 0 +.PHONY : CMakeFiles/FastDevFS.dir/rule + +# Convenience name for target. +FastDevFS: CMakeFiles/FastDevFS.dir/rule +.PHONY : FastDevFS + +# clean rule for target. +CMakeFiles/FastDevFS.dir/clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/clean +.PHONY : CMakeFiles/FastDevFS.dir/clean + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/build/CMakeFiles/TargetDirectories.txt b/build/CMakeFiles/TargetDirectories.txt new file mode 100644 index 0000000..183c885 --- /dev/null +++ b/build/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,3 @@ +/home/diya_limbani/FastDevFs/build/CMakeFiles/FastDevFS.dir +/home/diya_limbani/FastDevFs/build/CMakeFiles/edit_cache.dir +/home/diya_limbani/FastDevFs/build/CMakeFiles/rebuild_cache.dir diff --git a/build/CMakeFiles/cmake.check_cache b/build/CMakeFiles/cmake.check_cache new file mode 100644 index 0000000..3dccd73 --- /dev/null +++ b/build/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/build/CMakeFiles/progress.marks b/build/CMakeFiles/progress.marks new file mode 100644 index 0000000..00750ed --- /dev/null +++ b/build/CMakeFiles/progress.marks @@ -0,0 +1 @@ +3 diff --git a/build/FastDevFS b/build/FastDevFS new file mode 100755 index 0000000000000000000000000000000000000000..0d95f996d558ab58a6c26267257be43584d7c93a GIT binary patch literal 17224 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 q-w64miY{PtoRq3&Db&k literal 0 HcmV?d00001 diff --git a/build/Makefile b/build/Makefile new file mode 100644 index 0000000..331ccf8 --- /dev/null +++ b/build/Makefile @@ -0,0 +1,208 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.28 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/diya_limbani/FastDevFs + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/diya_limbani/FastDevFs/build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "No interactive CMake dialog available..." + /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# The main all target +all: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles /home/diya_limbani/FastDevFs/build//CMakeFiles/progress.marks + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all + $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +#============================================================================= +# Target rules for targets named FastDevFS + +# Build rule for target. +FastDevFS: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 FastDevFS +.PHONY : FastDevFS + +# fast build rule for target. +FastDevFS/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/build +.PHONY : FastDevFS/fast + +main.o: main.cpp.o +.PHONY : main.o + +# target to build an object file +main.cpp.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/main.cpp.o +.PHONY : main.cpp.o + +main.i: main.cpp.i +.PHONY : main.i + +# target to preprocess a source file +main.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/main.cpp.i +.PHONY : main.cpp.i + +main.s: main.cpp.s +.PHONY : main.s + +# target to generate assembly for a file +main.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/main.cpp.s +.PHONY : main.cpp.s + +src/src/fuse_functions/getattr.o: src/src/fuse_functions/getattr.cpp.o +.PHONY : src/src/fuse_functions/getattr.o + +# target to build an object file +src/src/fuse_functions/getattr.cpp.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o +.PHONY : src/src/fuse_functions/getattr.cpp.o + +src/src/fuse_functions/getattr.i: src/src/fuse_functions/getattr.cpp.i +.PHONY : src/src/fuse_functions/getattr.i + +# target to preprocess a source file +src/src/fuse_functions/getattr.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.i +.PHONY : src/src/fuse_functions/getattr.cpp.i + +src/src/fuse_functions/getattr.s: src/src/fuse_functions/getattr.cpp.s +.PHONY : src/src/fuse_functions/getattr.s + +# target to generate assembly for a file +src/src/fuse_functions/getattr.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.s +.PHONY : src/src/fuse_functions/getattr.cpp.s + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... rebuild_cache" + @echo "... FastDevFS" + @echo "... main.o" + @echo "... main.i" + @echo "... main.s" + @echo "... src/src/fuse_functions/getattr.o" + @echo "... src/src/fuse_functions/getattr.i" + @echo "... src/src/fuse_functions/getattr.s" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/build/cmake_install.cmake b/build/cmake_install.cmake new file mode 100644 index 0000000..9f07588 --- /dev/null +++ b/build/cmake_install.cmake @@ -0,0 +1,54 @@ +# Install script for directory: /home/diya_limbani/FastDevFs + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + +if(CMAKE_INSTALL_COMPONENT) + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") +file(WRITE "/home/diya_limbani/FastDevFs/build/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/main.cpp b/main.cpp index 6c09fa4..fce7b83 100644 --- a/main.cpp +++ b/main.cpp @@ -1,20 +1,26 @@ +#define FUSE_USE_VERSION 31 + #include #include +#include "src/include/fuse_functions/getattr.h" + using namespace std; -int get_attr(const char* path, struct stat* stbuf, struct fuse_file_info* fi){ - cout<<"getattr called for path: "< + +int fastdevfs_getattr(const char* path, struct stat* stbuf, struct fuse_file_info* fi); + +#endif \ No newline at end of file diff --git a/src/src/fuse_functions/.gitkeep b/src/src/fuse_functions/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/src/fuse_functions/getattr.cpp b/src/src/fuse_functions/getattr.cpp new file mode 100644 index 0000000..4bdd16a --- /dev/null +++ b/src/src/fuse_functions/getattr.cpp @@ -0,0 +1,22 @@ +#include "fuse_functions/getattr.h" +#include +#include +#include + +using namespace std; + +int fastdevfs_getattr(const char* path, struct stat* stbuf, struct fuse_file_info* fi) { + // cout<<"getattr called for path: "<st_mode = S_IFDIR | 0755; + stbuf->st_nlink = 2; + stbuf->st_uid = getuid(); + stbuf->st_gid = getgid(); + return 0; + } + return -ENOENT; +} \ No newline at end of file From 1a01eda5f78fd34fd7a875646fdecd26e82972a6 Mon Sep 17 00:00:00 2001 From: Diya Limbani Date: Thu, 8 Jan 2026 14:39:40 +0530 Subject: [PATCH 02/15] Implemented readdir and opendir funcs --- CMakeLists.txt | 2 + build/CMakeFiles/CMakeConfigureLog.yaml | 156 ++-- .../CMakeFiles/FastDevFS.dir/DependInfo.cmake | 2 + build/CMakeFiles/FastDevFS.dir/build.make | 36 +- .../FastDevFS.dir/cmake_clean.cmake | 4 + .../FastDevFS.dir/compiler_depend.internal | 341 -------- .../FastDevFS.dir/compiler_depend.make | 815 +----------------- build/CMakeFiles/FastDevFS.dir/link.txt | 2 +- build/CMakeFiles/FastDevFS.dir/progress.make | 2 + build/CMakeFiles/Makefile.cmake | 82 ++ build/CMakeFiles/Makefile2 | 4 +- build/CMakeFiles/progress.marks | 2 +- build/FastDevFS | Bin 17224 -> 17488 bytes build/Makefile | 54 ++ main.cpp | 4 + src/include/fuse_functions/opendir.h | 12 + src/include/fuse_functions/readdir.h | 16 + src/src/fuse_functions/getattr.cpp | 2 +- src/src/fuse_functions/opendir.cpp | 18 + src/src/fuse_functions/readdir.cpp | 27 + 20 files changed, 342 insertions(+), 1239 deletions(-) delete mode 100644 build/CMakeFiles/FastDevFS.dir/compiler_depend.internal create mode 100644 src/include/fuse_functions/opendir.h create mode 100644 src/include/fuse_functions/readdir.h create mode 100644 src/src/fuse_functions/opendir.cpp create mode 100644 src/src/fuse_functions/readdir.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 84c7957..ce0ca0c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,6 +9,8 @@ pkg_check_modules(FUSE3 REQUIRED fuse3) add_executable(FastDevFS main.cpp src/src/fuse_functions/getattr.cpp + src/src/fuse_functions/readdir.cpp + src/src/fuse_functions/opendir.cpp ) target_include_directories(FastDevFS PRIVATE diff --git a/build/CMakeFiles/CMakeConfigureLog.yaml b/build/CMakeFiles/CMakeConfigureLog.yaml index 1f39cc2..187d338 100644 --- a/build/CMakeFiles/CMakeConfigureLog.yaml +++ b/build/CMakeFiles/CMakeConfigureLog.yaml @@ -61,8 +61,8 @@ events: checks: - "Detecting C compiler ABI info" directories: - source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-2E04vd" - binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-2E04vd" + source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-K9adk5" + binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-K9adk5" cmakeVariables: CMAKE_C_FLAGS: "" CMAKE_C_FLAGS_DEBUG: "-g" @@ -71,13 +71,13 @@ events: variable: "CMAKE_C_ABI_COMPILED" cached: true stdout: | - Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-2E04vd' + Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-K9adk5' - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_8735d/fast - /usr/bin/gmake -f CMakeFiles/cmTC_8735d.dir/build.make CMakeFiles/cmTC_8735d.dir/build - gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-2E04vd' - Building C object CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o - /usr/bin/cc -v -o CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c + Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_d0fcb/fast + /usr/bin/gmake -f CMakeFiles/cmTC_d0fcb.dir/build.make CMakeFiles/cmTC_d0fcb.dir/build + gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-K9adk5' + Building C object CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o + /usr/bin/cc -v -o CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c Using built-in specs. COLLECT_GCC=/usr/bin/cc OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa @@ -87,8 +87,8 @@ events: Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8735d.dir/' - /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_8735d.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccjUD4iL.s + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_d0fcb.dir/' + /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_d0fcb.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccnrBYh5.s GNU C17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu) compiled by GNU C version 13.3.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP @@ -105,15 +105,15 @@ events: /usr/include End of search list. Compiler executable checksum: 38987c28e967c64056a6454abdef726e - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8735d.dir/' - as -v --64 -o CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o /tmp/ccjUD4iL.s + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_d0fcb.dir/' + as -v --64 -o CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o /tmp/ccnrBYh5.s GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42 COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.' - Linking C executable cmTC_8735d - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8735d.dir/link.txt --verbose=1 - /usr/bin/cc -v CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o -o cmTC_8735d + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.' + Linking C executable cmTC_d0fcb + /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d0fcb.dir/link.txt --verbose=1 + /usr/bin/cc -v CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o -o cmTC_d0fcb Using built-in specs. COLLECT_GCC=/usr/bin/cc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper @@ -126,10 +126,10 @@ events: gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_8735d' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_8735d.' - /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccBPeZmB.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_8735d /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_8735d' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_8735d.' - gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-2E04vd' + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_d0fcb' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_d0fcb.' + /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccj55cVb.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_d0fcb /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_d0fcb' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_d0fcb.' + gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-K9adk5' exitCode: 0 - @@ -163,13 +163,13 @@ events: message: | Parsed C implicit link information: link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] - ignore line: [Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-2E04vd'] + ignore line: [Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-K9adk5'] ignore line: [] - ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_8735d/fast] - ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_8735d.dir/build.make CMakeFiles/cmTC_8735d.dir/build] - ignore line: [gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-2E04vd'] - ignore line: [Building C object CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o] - ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c] + ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_d0fcb/fast] + ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_d0fcb.dir/build.make CMakeFiles/cmTC_d0fcb.dir/build] + ignore line: [gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-K9adk5'] + ignore line: [Building C object CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/cc] ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] @@ -179,8 +179,8 @@ events: ignore line: [Thread model: posix] ignore line: [Supported LTO compression algorithms: zlib zstd] ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8735d.dir/'] - ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_8735d.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccjUD4iL.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_d0fcb.dir/'] + ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_d0fcb.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccnrBYh5.s] ignore line: [GNU C17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu)] ignore line: [ compiled by GNU C version 13.3.0 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] ignore line: [] @@ -197,15 +197,15 @@ events: ignore line: [ /usr/include] ignore line: [End of search list.] ignore line: [Compiler executable checksum: 38987c28e967c64056a6454abdef726e] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8735d.dir/'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o /tmp/ccjUD4iL.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_d0fcb.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o /tmp/ccnrBYh5.s] ignore line: [GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.'] - ignore line: [Linking C executable cmTC_8735d] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8735d.dir/link.txt --verbose=1] - ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o -o cmTC_8735d ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.'] + ignore line: [Linking C executable cmTC_d0fcb] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d0fcb.dir/link.txt --verbose=1] + ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o -o cmTC_d0fcb ] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/cc] ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] @@ -218,13 +218,13 @@ events: ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_8735d' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_8735d.'] - link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccBPeZmB.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_8735d /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_d0fcb' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_d0fcb.'] + link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccj55cVb.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_d0fcb /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] arg [/usr/libexec/gcc/x86_64-linux-gnu/13/collect2] ==> ignore arg [-plugin] ==> ignore arg [/usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so] ==> ignore arg [-plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/ccBPeZmB.res] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccj55cVb.res] ==> ignore arg [-plugin-opt=-pass-through=-lgcc] ==> ignore arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore arg [-plugin-opt=-pass-through=-lc] ==> ignore @@ -242,7 +242,7 @@ events: arg [-znow] ==> ignore arg [-zrelro] ==> ignore arg [-o] ==> ignore - arg [cmTC_8735d] ==> ignore + arg [cmTC_d0fcb] ==> ignore arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] @@ -254,7 +254,7 @@ events: arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..] - arg [CMakeFiles/cmTC_8735d.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o] ==> ignore arg [-lgcc] ==> lib [gcc] arg [--push-state] ==> ignore arg [--as-needed] ==> ignore @@ -294,8 +294,8 @@ events: checks: - "Detecting CXX compiler ABI info" directories: - source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-qMbOxv" - binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-qMbOxv" + source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-mfwRcq" + binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-mfwRcq" cmakeVariables: CMAKE_CXX_FLAGS: "" CMAKE_CXX_FLAGS_DEBUG: "-g" @@ -304,13 +304,13 @@ events: variable: "CMAKE_CXX_ABI_COMPILED" cached: true stdout: | - Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-qMbOxv' + Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-mfwRcq' - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_5b6ec/fast - /usr/bin/gmake -f CMakeFiles/cmTC_5b6ec.dir/build.make CMakeFiles/cmTC_5b6ec.dir/build - gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-qMbOxv' - Building CXX object CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o - /usr/bin/c++ -v -o CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp + Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_8724d/fast + /usr/bin/gmake -f CMakeFiles/cmTC_8724d.dir/build.make CMakeFiles/cmTC_8724d.dir/build + gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-mfwRcq' + Building CXX object CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o + /usr/bin/c++ -v -o CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp Using built-in specs. COLLECT_GCC=/usr/bin/c++ OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa @@ -320,8 +320,8 @@ events: Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5b6ec.dir/' - /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_5b6ec.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccdwSGaE.s + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8724d.dir/' + /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_8724d.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccyVJjOf.s GNU C++17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu) compiled by GNU C version 13.3.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP @@ -342,15 +342,15 @@ events: /usr/include End of search list. Compiler executable checksum: c81c05345ce537099dafd5580045814a - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5b6ec.dir/' - as -v --64 -o CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccdwSGaE.s + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8724d.dir/' + as -v --64 -o CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccyVJjOf.s GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42 COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.' - Linking CXX executable cmTC_5b6ec - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_5b6ec.dir/link.txt --verbose=1 - /usr/bin/c++ -v CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_5b6ec + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.' + Linking CXX executable cmTC_8724d + /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8724d.dir/link.txt --verbose=1 + /usr/bin/c++ -v CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_8724d Using built-in specs. COLLECT_GCC=/usr/bin/c++ COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper @@ -363,10 +363,10 @@ events: gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_5b6ec' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_5b6ec.' - /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccjd4BpP.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_5b6ec /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_5b6ec' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_5b6ec.' - gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-qMbOxv' + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_8724d' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_8724d.' + /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccpGAWea.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_8724d /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_8724d' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_8724d.' + gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-mfwRcq' exitCode: 0 - @@ -406,13 +406,13 @@ events: message: | Parsed CXX implicit link information: link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] - ignore line: [Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-qMbOxv'] + ignore line: [Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-mfwRcq'] ignore line: [] - ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_5b6ec/fast] - ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_5b6ec.dir/build.make CMakeFiles/cmTC_5b6ec.dir/build] - ignore line: [gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-qMbOxv'] - ignore line: [Building CXX object CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o] - ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_8724d/fast] + ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_8724d.dir/build.make CMakeFiles/cmTC_8724d.dir/build] + ignore line: [gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-mfwRcq'] + ignore line: [Building CXX object CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/c++] ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] @@ -422,8 +422,8 @@ events: ignore line: [Thread model: posix] ignore line: [Supported LTO compression algorithms: zlib zstd] ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5b6ec.dir/'] - ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_5b6ec.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccdwSGaE.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8724d.dir/'] + ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_8724d.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccyVJjOf.s] ignore line: [GNU C++17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu)] ignore line: [ compiled by GNU C version 13.3.0 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] ignore line: [] @@ -444,15 +444,15 @@ events: ignore line: [ /usr/include] ignore line: [End of search list.] ignore line: [Compiler executable checksum: c81c05345ce537099dafd5580045814a] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5b6ec.dir/'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccdwSGaE.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8724d.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccyVJjOf.s] ignore line: [GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.'] - ignore line: [Linking CXX executable cmTC_5b6ec] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_5b6ec.dir/link.txt --verbose=1] - ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_5b6ec ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [Linking CXX executable cmTC_8724d] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8724d.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_8724d ] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/c++] ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] @@ -465,13 +465,13 @@ events: ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_5b6ec' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_5b6ec.'] - link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccjd4BpP.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_5b6ec /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_8724d' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_8724d.'] + link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccpGAWea.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_8724d /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] arg [/usr/libexec/gcc/x86_64-linux-gnu/13/collect2] ==> ignore arg [-plugin] ==> ignore arg [/usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so] ==> ignore arg [-plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/ccjd4BpP.res] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccpGAWea.res] ==> ignore arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore arg [-plugin-opt=-pass-through=-lgcc] ==> ignore arg [-plugin-opt=-pass-through=-lc] ==> ignore @@ -489,7 +489,7 @@ events: arg [-znow] ==> ignore arg [-zrelro] ==> ignore arg [-o] ==> ignore - arg [cmTC_5b6ec] ==> ignore + arg [cmTC_8724d] ==> ignore arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] @@ -501,7 +501,7 @@ events: arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..] - arg [CMakeFiles/cmTC_5b6ec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore arg [-lstdc++] ==> lib [stdc++] arg [-lm] ==> lib [m] arg [-lgcc_s] ==> lib [gcc_s] diff --git a/build/CMakeFiles/FastDevFS.dir/DependInfo.cmake b/build/CMakeFiles/FastDevFS.dir/DependInfo.cmake index 0b73abb..023adfe 100644 --- a/build/CMakeFiles/FastDevFS.dir/DependInfo.cmake +++ b/build/CMakeFiles/FastDevFS.dir/DependInfo.cmake @@ -10,6 +10,8 @@ set(CMAKE_DEPENDS_LANGUAGES set(CMAKE_DEPENDS_DEPENDENCY_FILES "/home/diya_limbani/FastDevFs/main.cpp" "CMakeFiles/FastDevFS.dir/main.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/main.cpp.o.d" "/home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o.d" + "/home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o.d" + "/home/diya_limbani/FastDevFs/src/src/fuse_functions/readdir.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o.d" ) # Targets to which this target links which contain Fortran sources. diff --git a/build/CMakeFiles/FastDevFS.dir/build.make b/build/CMakeFiles/FastDevFS.dir/build.make index a789814..284ebaa 100644 --- a/build/CMakeFiles/FastDevFS.dir/build.make +++ b/build/CMakeFiles/FastDevFS.dir/build.make @@ -97,19 +97,51 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.s: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.s" /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.s +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: CMakeFiles/FastDevFS.dir/flags.make +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/readdir.cpp +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: CMakeFiles/FastDevFS.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o -c /home/diya_limbani/FastDevFs/src/src/fuse_functions/readdir.cpp + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/fuse_functions/readdir.cpp > CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.i + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/fuse_functions/readdir.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.s + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o: CMakeFiles/FastDevFS.dir/flags.make +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o: CMakeFiles/FastDevFS.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o -c /home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp > CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.i + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.s + # Object files for target FastDevFS FastDevFS_OBJECTS = \ "CMakeFiles/FastDevFS.dir/main.cpp.o" \ -"CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o" +"CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o" \ +"CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o" \ +"CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o" # External object files for target FastDevFS FastDevFS_EXTERNAL_OBJECTS = FastDevFS: CMakeFiles/FastDevFS.dir/main.cpp.o FastDevFS: CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o +FastDevFS: CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o +FastDevFS: CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o FastDevFS: CMakeFiles/FastDevFS.dir/build.make FastDevFS: CMakeFiles/FastDevFS.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Linking CXX executable FastDevFS" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Linking CXX executable FastDevFS" $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/FastDevFS.dir/link.txt --verbose=$(VERBOSE) # Rule to build all files generated by this target. diff --git a/build/CMakeFiles/FastDevFS.dir/cmake_clean.cmake b/build/CMakeFiles/FastDevFS.dir/cmake_clean.cmake index 24e0cfa..6276624 100644 --- a/build/CMakeFiles/FastDevFS.dir/cmake_clean.cmake +++ b/build/CMakeFiles/FastDevFS.dir/cmake_clean.cmake @@ -3,6 +3,10 @@ file(REMOVE_RECURSE "CMakeFiles/FastDevFS.dir/main.cpp.o.d" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o.d" + "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o" + "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o.d" + "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o" + "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o.d" "FastDevFS" "FastDevFS.pdb" ) diff --git a/build/CMakeFiles/FastDevFS.dir/compiler_depend.internal b/build/CMakeFiles/FastDevFS.dir/compiler_depend.internal deleted file mode 100644 index be764f0..0000000 --- a/build/CMakeFiles/FastDevFS.dir/compiler_depend.internal +++ /dev/null @@ -1,341 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -CMakeFiles/FastDevFS.dir/main.cpp.o - /home/diya_limbani/FastDevFs/main.cpp - /home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h - /usr/include/alloca.h - /usr/include/asm-generic/bitsperlong.h - /usr/include/asm-generic/errno-base.h - /usr/include/asm-generic/errno.h - /usr/include/asm-generic/int-ll64.h - /usr/include/asm-generic/posix_types.h - /usr/include/asm-generic/types.h - /usr/include/c++/13/backward/binders.h - /usr/include/c++/13/bit - /usr/include/c++/13/bits/alloc_traits.h - /usr/include/c++/13/bits/allocator.h - /usr/include/c++/13/bits/basic_ios.h - /usr/include/c++/13/bits/basic_ios.tcc - /usr/include/c++/13/bits/basic_string.h - /usr/include/c++/13/bits/basic_string.tcc - /usr/include/c++/13/bits/char_traits.h - /usr/include/c++/13/bits/charconv.h - /usr/include/c++/13/bits/concept_check.h - /usr/include/c++/13/bits/cpp_type_traits.h - /usr/include/c++/13/bits/cxxabi_forced.h - /usr/include/c++/13/bits/cxxabi_init_exception.h - /usr/include/c++/13/bits/exception.h - /usr/include/c++/13/bits/exception_defines.h - /usr/include/c++/13/bits/exception_ptr.h - /usr/include/c++/13/bits/functexcept.h - /usr/include/c++/13/bits/functional_hash.h - /usr/include/c++/13/bits/hash_bytes.h - /usr/include/c++/13/bits/invoke.h - /usr/include/c++/13/bits/ios_base.h - /usr/include/c++/13/bits/istream.tcc - /usr/include/c++/13/bits/locale_classes.h - /usr/include/c++/13/bits/locale_classes.tcc - /usr/include/c++/13/bits/locale_facets.h - /usr/include/c++/13/bits/locale_facets.tcc - /usr/include/c++/13/bits/localefwd.h - /usr/include/c++/13/bits/memory_resource.h - /usr/include/c++/13/bits/memoryfwd.h - /usr/include/c++/13/bits/move.h - /usr/include/c++/13/bits/nested_exception.h - /usr/include/c++/13/bits/new_allocator.h - /usr/include/c++/13/bits/ostream.tcc - /usr/include/c++/13/bits/ostream_insert.h - /usr/include/c++/13/bits/postypes.h - /usr/include/c++/13/bits/predefined_ops.h - /usr/include/c++/13/bits/ptr_traits.h - /usr/include/c++/13/bits/range_access.h - /usr/include/c++/13/bits/refwrap.h - /usr/include/c++/13/bits/requires_hosted.h - /usr/include/c++/13/bits/std_abs.h - /usr/include/c++/13/bits/stl_algobase.h - /usr/include/c++/13/bits/stl_construct.h - /usr/include/c++/13/bits/stl_function.h - /usr/include/c++/13/bits/stl_iterator.h - /usr/include/c++/13/bits/stl_iterator_base_funcs.h - /usr/include/c++/13/bits/stl_iterator_base_types.h - /usr/include/c++/13/bits/stl_pair.h - /usr/include/c++/13/bits/streambuf.tcc - /usr/include/c++/13/bits/streambuf_iterator.h - /usr/include/c++/13/bits/string_view.tcc - /usr/include/c++/13/bits/stringfwd.h - /usr/include/c++/13/bits/uses_allocator.h - /usr/include/c++/13/bits/uses_allocator_args.h - /usr/include/c++/13/bits/utility.h - /usr/include/c++/13/cctype - /usr/include/c++/13/cerrno - /usr/include/c++/13/clocale - /usr/include/c++/13/cstddef - /usr/include/c++/13/cstdio - /usr/include/c++/13/cstdlib - /usr/include/c++/13/cwchar - /usr/include/c++/13/cwctype - /usr/include/c++/13/debug/assertions.h - /usr/include/c++/13/debug/debug.h - /usr/include/c++/13/exception - /usr/include/c++/13/ext/alloc_traits.h - /usr/include/c++/13/ext/atomicity.h - /usr/include/c++/13/ext/numeric_traits.h - /usr/include/c++/13/ext/string_conversions.h - /usr/include/c++/13/ext/type_traits.h - /usr/include/c++/13/initializer_list - /usr/include/c++/13/ios - /usr/include/c++/13/iosfwd - /usr/include/c++/13/iostream - /usr/include/c++/13/istream - /usr/include/c++/13/new - /usr/include/c++/13/ostream - /usr/include/c++/13/pstl/pstl_config.h - /usr/include/c++/13/stdexcept - /usr/include/c++/13/streambuf - /usr/include/c++/13/string - /usr/include/c++/13/string_view - /usr/include/c++/13/system_error - /usr/include/c++/13/tuple - /usr/include/c++/13/type_traits - /usr/include/c++/13/typeinfo - /usr/include/ctype.h - /usr/include/endian.h - /usr/include/errno.h - /usr/include/fcntl.h - /usr/include/features-time64.h - /usr/include/features.h - /usr/include/fuse3/fuse.h - /usr/include/fuse3/fuse_common.h - /usr/include/fuse3/fuse_log.h - /usr/include/fuse3/fuse_opt.h - /usr/include/fuse3/libfuse_config.h - /usr/include/linux/errno.h - /usr/include/linux/falloc.h - /usr/include/linux/posix_types.h - /usr/include/linux/stat.h - /usr/include/linux/stddef.h - /usr/include/linux/types.h - /usr/include/locale.h - /usr/include/pthread.h - /usr/include/sched.h - /usr/include/stdc-predef.h - /usr/include/stdint.h - /usr/include/stdio.h - /usr/include/stdlib.h - /usr/include/time.h - /usr/include/wchar.h - /usr/include/wctype.h - /usr/include/x86_64-linux-gnu/asm/bitsperlong.h - /usr/include/x86_64-linux-gnu/asm/errno.h - /usr/include/x86_64-linux-gnu/asm/posix_types.h - /usr/include/x86_64-linux-gnu/asm/posix_types_64.h - /usr/include/x86_64-linux-gnu/asm/types.h - /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h - /usr/include/x86_64-linux-gnu/bits/byteswap.h - /usr/include/x86_64-linux-gnu/bits/cpu-set.h - /usr/include/x86_64-linux-gnu/bits/endian.h - /usr/include/x86_64-linux-gnu/bits/endianness.h - /usr/include/x86_64-linux-gnu/bits/errno.h - /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h - /usr/include/x86_64-linux-gnu/bits/fcntl.h - /usr/include/x86_64-linux-gnu/bits/floatn-common.h - /usr/include/x86_64-linux-gnu/bits/floatn.h - /usr/include/x86_64-linux-gnu/bits/libc-header-start.h - /usr/include/x86_64-linux-gnu/bits/locale.h - /usr/include/x86_64-linux-gnu/bits/long-double.h - /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h - /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h - /usr/include/x86_64-linux-gnu/bits/sched.h - /usr/include/x86_64-linux-gnu/bits/select.h - /usr/include/x86_64-linux-gnu/bits/setjmp.h - /usr/include/x86_64-linux-gnu/bits/stat.h - /usr/include/x86_64-linux-gnu/bits/statvfs.h - /usr/include/x86_64-linux-gnu/bits/statx-generic.h - /usr/include/x86_64-linux-gnu/bits/statx.h - /usr/include/x86_64-linux-gnu/bits/stdint-intn.h - /usr/include/x86_64-linux-gnu/bits/stdint-least.h - /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h - /usr/include/x86_64-linux-gnu/bits/struct_mutex.h - /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h - /usr/include/x86_64-linux-gnu/bits/struct_stat.h - /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h - /usr/include/x86_64-linux-gnu/bits/time.h - /usr/include/x86_64-linux-gnu/bits/time64.h - /usr/include/x86_64-linux-gnu/bits/timesize.h - /usr/include/x86_64-linux-gnu/bits/timex.h - /usr/include/x86_64-linux-gnu/bits/types.h - /usr/include/x86_64-linux-gnu/bits/types/FILE.h - /usr/include/x86_64-linux-gnu/bits/types/__FILE.h - /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h - /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h - /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h - /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h - /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h - /usr/include/x86_64-linux-gnu/bits/types/clock_t.h - /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h - /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h - /usr/include/x86_64-linux-gnu/bits/types/error_t.h - /usr/include/x86_64-linux-gnu/bits/types/locale_t.h - /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h - /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h - /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h - /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h - /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h - /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h - /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h - /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h - /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h - /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h - /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h - /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h - /usr/include/x86_64-linux-gnu/bits/types/time_t.h - /usr/include/x86_64-linux-gnu/bits/types/timer_t.h - /usr/include/x86_64-linux-gnu/bits/types/wint_t.h - /usr/include/x86_64-linux-gnu/bits/typesizes.h - /usr/include/x86_64-linux-gnu/bits/uintn-identity.h - /usr/include/x86_64-linux-gnu/bits/uio-ext.h - /usr/include/x86_64-linux-gnu/bits/uio_lim.h - /usr/include/x86_64-linux-gnu/bits/waitflags.h - /usr/include/x86_64-linux-gnu/bits/waitstatus.h - /usr/include/x86_64-linux-gnu/bits/wchar.h - /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h - /usr/include/x86_64-linux-gnu/bits/wordsize.h - /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h - /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h - /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h - /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h - /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h - /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h - /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h - /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h - /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h - /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h - /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h - /usr/include/x86_64-linux-gnu/gnu/stubs.h - /usr/include/x86_64-linux-gnu/sys/cdefs.h - /usr/include/x86_64-linux-gnu/sys/select.h - /usr/include/x86_64-linux-gnu/sys/single_threaded.h - /usr/include/x86_64-linux-gnu/sys/stat.h - /usr/include/x86_64-linux-gnu/sys/statvfs.h - /usr/include/x86_64-linux-gnu/sys/types.h - /usr/include/x86_64-linux-gnu/sys/uio.h - /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h - /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h - /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h - -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o - /home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp - /home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h - /usr/include/asm-generic/bitsperlong.h - /usr/include/asm-generic/errno-base.h - /usr/include/asm-generic/errno.h - /usr/include/asm-generic/int-ll64.h - /usr/include/asm-generic/posix_types.h - /usr/include/asm-generic/types.h - /usr/include/c++/13/cerrno - /usr/include/c++/13/cstring - /usr/include/c++/13/pstl/pstl_config.h - /usr/include/endian.h - /usr/include/errno.h - /usr/include/fcntl.h - /usr/include/features-time64.h - /usr/include/features.h - /usr/include/fuse3/fuse.h - /usr/include/fuse3/fuse_common.h - /usr/include/fuse3/fuse_log.h - /usr/include/fuse3/fuse_opt.h - /usr/include/fuse3/libfuse_config.h - /usr/include/linux/close_range.h - /usr/include/linux/errno.h - /usr/include/linux/falloc.h - /usr/include/linux/posix_types.h - /usr/include/linux/stat.h - /usr/include/linux/stddef.h - /usr/include/linux/types.h - /usr/include/stdc-predef.h - /usr/include/stdint.h - /usr/include/string.h - /usr/include/strings.h - /usr/include/time.h - /usr/include/unistd.h - /usr/include/x86_64-linux-gnu/asm/bitsperlong.h - /usr/include/x86_64-linux-gnu/asm/errno.h - /usr/include/x86_64-linux-gnu/asm/posix_types.h - /usr/include/x86_64-linux-gnu/asm/posix_types_64.h - /usr/include/x86_64-linux-gnu/asm/types.h - /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h - /usr/include/x86_64-linux-gnu/bits/byteswap.h - /usr/include/x86_64-linux-gnu/bits/confname.h - /usr/include/x86_64-linux-gnu/bits/endian.h - /usr/include/x86_64-linux-gnu/bits/endianness.h - /usr/include/x86_64-linux-gnu/bits/environments.h - /usr/include/x86_64-linux-gnu/bits/errno.h - /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h - /usr/include/x86_64-linux-gnu/bits/fcntl.h - /usr/include/x86_64-linux-gnu/bits/getopt_core.h - /usr/include/x86_64-linux-gnu/bits/getopt_posix.h - /usr/include/x86_64-linux-gnu/bits/libc-header-start.h - /usr/include/x86_64-linux-gnu/bits/long-double.h - /usr/include/x86_64-linux-gnu/bits/posix_opt.h - /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h - /usr/include/x86_64-linux-gnu/bits/select.h - /usr/include/x86_64-linux-gnu/bits/stat.h - /usr/include/x86_64-linux-gnu/bits/statvfs.h - /usr/include/x86_64-linux-gnu/bits/statx-generic.h - /usr/include/x86_64-linux-gnu/bits/statx.h - /usr/include/x86_64-linux-gnu/bits/stdint-intn.h - /usr/include/x86_64-linux-gnu/bits/stdint-least.h - /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h - /usr/include/x86_64-linux-gnu/bits/struct_mutex.h - /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h - /usr/include/x86_64-linux-gnu/bits/struct_stat.h - /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h - /usr/include/x86_64-linux-gnu/bits/time.h - /usr/include/x86_64-linux-gnu/bits/time64.h - /usr/include/x86_64-linux-gnu/bits/timesize.h - /usr/include/x86_64-linux-gnu/bits/timex.h - /usr/include/x86_64-linux-gnu/bits/types.h - /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h - /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h - /usr/include/x86_64-linux-gnu/bits/types/clock_t.h - /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h - /usr/include/x86_64-linux-gnu/bits/types/error_t.h - /usr/include/x86_64-linux-gnu/bits/types/locale_t.h - /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h - /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h - /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h - /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h - /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h - /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h - /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h - /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h - /usr/include/x86_64-linux-gnu/bits/types/time_t.h - /usr/include/x86_64-linux-gnu/bits/types/timer_t.h - /usr/include/x86_64-linux-gnu/bits/typesizes.h - /usr/include/x86_64-linux-gnu/bits/uintn-identity.h - /usr/include/x86_64-linux-gnu/bits/uio-ext.h - /usr/include/x86_64-linux-gnu/bits/uio_lim.h - /usr/include/x86_64-linux-gnu/bits/unistd_ext.h - /usr/include/x86_64-linux-gnu/bits/wchar.h - /usr/include/x86_64-linux-gnu/bits/wordsize.h - /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h - /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h - /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h - /usr/include/x86_64-linux-gnu/gnu/stubs.h - /usr/include/x86_64-linux-gnu/sys/cdefs.h - /usr/include/x86_64-linux-gnu/sys/select.h - /usr/include/x86_64-linux-gnu/sys/stat.h - /usr/include/x86_64-linux-gnu/sys/statvfs.h - /usr/include/x86_64-linux-gnu/sys/types.h - /usr/include/x86_64-linux-gnu/sys/uio.h - /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h - /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h - /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h - diff --git a/build/CMakeFiles/FastDevFS.dir/compiler_depend.make b/build/CMakeFiles/FastDevFS.dir/compiler_depend.make index 77345bf..2d111fd 100644 --- a/build/CMakeFiles/FastDevFS.dir/compiler_depend.make +++ b/build/CMakeFiles/FastDevFS.dir/compiler_depend.make @@ -1,813 +1,2 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -CMakeFiles/FastDevFS.dir/main.cpp.o: /home/diya_limbani/FastDevFs/main.cpp \ - /home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h \ - /usr/include/alloca.h \ - /usr/include/asm-generic/bitsperlong.h \ - /usr/include/asm-generic/errno-base.h \ - /usr/include/asm-generic/errno.h \ - /usr/include/asm-generic/int-ll64.h \ - /usr/include/asm-generic/posix_types.h \ - /usr/include/asm-generic/types.h \ - /usr/include/c++/13/backward/binders.h \ - /usr/include/c++/13/bit \ - /usr/include/c++/13/bits/alloc_traits.h \ - /usr/include/c++/13/bits/allocator.h \ - /usr/include/c++/13/bits/basic_ios.h \ - /usr/include/c++/13/bits/basic_ios.tcc \ - /usr/include/c++/13/bits/basic_string.h \ - /usr/include/c++/13/bits/basic_string.tcc \ - /usr/include/c++/13/bits/char_traits.h \ - /usr/include/c++/13/bits/charconv.h \ - /usr/include/c++/13/bits/concept_check.h \ - /usr/include/c++/13/bits/cpp_type_traits.h \ - /usr/include/c++/13/bits/cxxabi_forced.h \ - /usr/include/c++/13/bits/cxxabi_init_exception.h \ - /usr/include/c++/13/bits/exception.h \ - /usr/include/c++/13/bits/exception_defines.h \ - /usr/include/c++/13/bits/exception_ptr.h \ - /usr/include/c++/13/bits/functexcept.h \ - /usr/include/c++/13/bits/functional_hash.h \ - /usr/include/c++/13/bits/hash_bytes.h \ - /usr/include/c++/13/bits/invoke.h \ - /usr/include/c++/13/bits/ios_base.h \ - /usr/include/c++/13/bits/istream.tcc \ - /usr/include/c++/13/bits/locale_classes.h \ - /usr/include/c++/13/bits/locale_classes.tcc \ - /usr/include/c++/13/bits/locale_facets.h \ - /usr/include/c++/13/bits/locale_facets.tcc \ - /usr/include/c++/13/bits/localefwd.h \ - /usr/include/c++/13/bits/memory_resource.h \ - /usr/include/c++/13/bits/memoryfwd.h \ - /usr/include/c++/13/bits/move.h \ - /usr/include/c++/13/bits/nested_exception.h \ - /usr/include/c++/13/bits/new_allocator.h \ - /usr/include/c++/13/bits/ostream.tcc \ - /usr/include/c++/13/bits/ostream_insert.h \ - /usr/include/c++/13/bits/postypes.h \ - /usr/include/c++/13/bits/predefined_ops.h \ - /usr/include/c++/13/bits/ptr_traits.h \ - /usr/include/c++/13/bits/range_access.h \ - /usr/include/c++/13/bits/refwrap.h \ - /usr/include/c++/13/bits/requires_hosted.h \ - /usr/include/c++/13/bits/std_abs.h \ - /usr/include/c++/13/bits/stl_algobase.h \ - /usr/include/c++/13/bits/stl_construct.h \ - /usr/include/c++/13/bits/stl_function.h \ - /usr/include/c++/13/bits/stl_iterator.h \ - /usr/include/c++/13/bits/stl_iterator_base_funcs.h \ - /usr/include/c++/13/bits/stl_iterator_base_types.h \ - /usr/include/c++/13/bits/stl_pair.h \ - /usr/include/c++/13/bits/streambuf.tcc \ - /usr/include/c++/13/bits/streambuf_iterator.h \ - /usr/include/c++/13/bits/string_view.tcc \ - /usr/include/c++/13/bits/stringfwd.h \ - /usr/include/c++/13/bits/uses_allocator.h \ - /usr/include/c++/13/bits/uses_allocator_args.h \ - /usr/include/c++/13/bits/utility.h \ - /usr/include/c++/13/cctype \ - /usr/include/c++/13/cerrno \ - /usr/include/c++/13/clocale \ - /usr/include/c++/13/cstddef \ - /usr/include/c++/13/cstdio \ - /usr/include/c++/13/cstdlib \ - /usr/include/c++/13/cwchar \ - /usr/include/c++/13/cwctype \ - /usr/include/c++/13/debug/assertions.h \ - /usr/include/c++/13/debug/debug.h \ - /usr/include/c++/13/exception \ - /usr/include/c++/13/ext/alloc_traits.h \ - /usr/include/c++/13/ext/atomicity.h \ - /usr/include/c++/13/ext/numeric_traits.h \ - /usr/include/c++/13/ext/string_conversions.h \ - /usr/include/c++/13/ext/type_traits.h \ - /usr/include/c++/13/initializer_list \ - /usr/include/c++/13/ios \ - /usr/include/c++/13/iosfwd \ - /usr/include/c++/13/iostream \ - /usr/include/c++/13/istream \ - /usr/include/c++/13/new \ - /usr/include/c++/13/ostream \ - /usr/include/c++/13/pstl/pstl_config.h \ - /usr/include/c++/13/stdexcept \ - /usr/include/c++/13/streambuf \ - /usr/include/c++/13/string \ - /usr/include/c++/13/string_view \ - /usr/include/c++/13/system_error \ - /usr/include/c++/13/tuple \ - /usr/include/c++/13/type_traits \ - /usr/include/c++/13/typeinfo \ - /usr/include/ctype.h \ - /usr/include/endian.h \ - /usr/include/errno.h \ - /usr/include/fcntl.h \ - /usr/include/features-time64.h \ - /usr/include/features.h \ - /usr/include/fuse3/fuse.h \ - /usr/include/fuse3/fuse_common.h \ - /usr/include/fuse3/fuse_log.h \ - /usr/include/fuse3/fuse_opt.h \ - /usr/include/fuse3/libfuse_config.h \ - /usr/include/linux/errno.h \ - /usr/include/linux/falloc.h \ - /usr/include/linux/posix_types.h \ - /usr/include/linux/stat.h \ - /usr/include/linux/stddef.h \ - /usr/include/linux/types.h \ - /usr/include/locale.h \ - /usr/include/pthread.h \ - /usr/include/sched.h \ - /usr/include/stdc-predef.h \ - /usr/include/stdint.h \ - /usr/include/stdio.h \ - /usr/include/stdlib.h \ - /usr/include/time.h \ - /usr/include/wchar.h \ - /usr/include/wctype.h \ - /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ - /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/x86_64-linux-gnu/asm/posix_types.h \ - /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \ - /usr/include/x86_64-linux-gnu/asm/types.h \ - /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/cpu-set.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endianness.h \ - /usr/include/x86_64-linux-gnu/bits/errno.h \ - /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ - /usr/include/x86_64-linux-gnu/bits/fcntl.h \ - /usr/include/x86_64-linux-gnu/bits/floatn-common.h \ - /usr/include/x86_64-linux-gnu/bits/floatn.h \ - /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ - /usr/include/x86_64-linux-gnu/bits/locale.h \ - /usr/include/x86_64-linux-gnu/bits/long-double.h \ - /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ - /usr/include/x86_64-linux-gnu/bits/sched.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/setjmp.h \ - /usr/include/x86_64-linux-gnu/bits/stat.h \ - /usr/include/x86_64-linux-gnu/bits/statvfs.h \ - /usr/include/x86_64-linux-gnu/bits/statx-generic.h \ - /usr/include/x86_64-linux-gnu/bits/statx.h \ - /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ - /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ - /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ - /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ - /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ - /usr/include/x86_64-linux-gnu/bits/struct_stat.h \ - /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/time64.h \ - /usr/include/x86_64-linux-gnu/bits/timesize.h \ - /usr/include/x86_64-linux-gnu/bits/timex.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/types/FILE.h \ - /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \ - /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \ - /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ - /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \ - /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ - /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \ - /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \ - /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \ - /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ - /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \ - /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ - /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/wint_t.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h \ - /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ - /usr/include/x86_64-linux-gnu/bits/uio-ext.h \ - /usr/include/x86_64-linux-gnu/bits/uio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/waitflags.h \ - /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h \ - /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h \ - /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h \ - /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ - /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h \ - /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ - /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h \ - /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h \ - /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h \ - /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h \ - /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h \ - /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/sys/single_threaded.h \ - /usr/include/x86_64-linux-gnu/sys/stat.h \ - /usr/include/x86_64-linux-gnu/sys/statvfs.h \ - /usr/include/x86_64-linux-gnu/sys/types.h \ - /usr/include/x86_64-linux-gnu/sys/uio.h \ - /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h \ - /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ - /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h - -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp \ - /home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h \ - /usr/include/asm-generic/bitsperlong.h \ - /usr/include/asm-generic/errno-base.h \ - /usr/include/asm-generic/errno.h \ - /usr/include/asm-generic/int-ll64.h \ - /usr/include/asm-generic/posix_types.h \ - /usr/include/asm-generic/types.h \ - /usr/include/c++/13/cerrno \ - /usr/include/c++/13/cstring \ - /usr/include/c++/13/pstl/pstl_config.h \ - /usr/include/endian.h \ - /usr/include/errno.h \ - /usr/include/fcntl.h \ - /usr/include/features-time64.h \ - /usr/include/features.h \ - /usr/include/fuse3/fuse.h \ - /usr/include/fuse3/fuse_common.h \ - /usr/include/fuse3/fuse_log.h \ - /usr/include/fuse3/fuse_opt.h \ - /usr/include/fuse3/libfuse_config.h \ - /usr/include/linux/close_range.h \ - /usr/include/linux/errno.h \ - /usr/include/linux/falloc.h \ - /usr/include/linux/posix_types.h \ - /usr/include/linux/stat.h \ - /usr/include/linux/stddef.h \ - /usr/include/linux/types.h \ - /usr/include/stdc-predef.h \ - /usr/include/stdint.h \ - /usr/include/string.h \ - /usr/include/strings.h \ - /usr/include/time.h \ - /usr/include/unistd.h \ - /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ - /usr/include/x86_64-linux-gnu/asm/errno.h \ - /usr/include/x86_64-linux-gnu/asm/posix_types.h \ - /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \ - /usr/include/x86_64-linux-gnu/asm/types.h \ - /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ - /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endianness.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ - /usr/include/x86_64-linux-gnu/bits/errno.h \ - /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ - /usr/include/x86_64-linux-gnu/bits/fcntl.h \ - /usr/include/x86_64-linux-gnu/bits/getopt_core.h \ - /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \ - /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ - /usr/include/x86_64-linux-gnu/bits/long-double.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ - /usr/include/x86_64-linux-gnu/bits/select.h \ - /usr/include/x86_64-linux-gnu/bits/stat.h \ - /usr/include/x86_64-linux-gnu/bits/statvfs.h \ - /usr/include/x86_64-linux-gnu/bits/statx-generic.h \ - /usr/include/x86_64-linux-gnu/bits/statx.h \ - /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ - /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ - /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ - /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ - /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ - /usr/include/x86_64-linux-gnu/bits/struct_stat.h \ - /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/time64.h \ - /usr/include/x86_64-linux-gnu/bits/timesize.h \ - /usr/include/x86_64-linux-gnu/bits/timex.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \ - /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ - /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \ - /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \ - /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ - /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \ - /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ - /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h \ - /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ - /usr/include/x86_64-linux-gnu/bits/uio-ext.h \ - /usr/include/x86_64-linux-gnu/bits/uio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/unistd_ext.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ - /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ - /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/include/x86_64-linux-gnu/sys/select.h \ - /usr/include/x86_64-linux-gnu/sys/stat.h \ - /usr/include/x86_64-linux-gnu/sys/statvfs.h \ - /usr/include/x86_64-linux-gnu/sys/types.h \ - /usr/include/x86_64-linux-gnu/sys/uio.h \ - /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h \ - /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ - /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h - - -/usr/include/x86_64-linux-gnu/bits/unistd_ext.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/getopt_core.h: - -/usr/include/linux/close_range.h: - -/usr/include/c++/13/cstring: - -/usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h: - -/home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp: - -/usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/sys/stat.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: - -/usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h: - -/usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h: - -/usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h: - -/usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h: - -/usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/uio_lim.h: - -/usr/include/x86_64-linux-gnu/bits/uio-ext.h: - -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/x86_64-linux-gnu/bits/types/timer_t.h: - -/usr/include/x86_64-linux-gnu/bits/types/time_t.h: - -/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h: - -/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h: - -/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h: - -/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h: - -/usr/include/x86_64-linux-gnu/bits/wctype-wchar.h: - -/usr/include/x86_64-linux-gnu/bits/types/locale_t.h: - -/usr/include/x86_64-linux-gnu/bits/types/error_t.h: - -/usr/include/x86_64-linux-gnu/bits/wchar.h: - -/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h: - -/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h: - -/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h: - -/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h: - -/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h: - -/usr/include/x86_64-linux-gnu/bits/types/__FILE.h: - -/usr/include/x86_64-linux-gnu/bits/timesize.h: - -/usr/include/x86_64-linux-gnu/bits/time.h: - -/usr/include/strings.h: - -/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h: - -/usr/include/x86_64-linux-gnu/bits/struct_mutex.h: - -/usr/include/x86_64-linux-gnu/bits/types/FILE.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/unistd.h: - -/usr/include/x86_64-linux-gnu/sys/select.h: - -/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h: - -/usr/include/x86_64-linux-gnu/bits/statx.h: - -/usr/include/x86_64-linux-gnu/bits/statx-generic.h: - -/usr/include/x86_64-linux-gnu/bits/statvfs.h: - -/usr/include/x86_64-linux-gnu/bits/stat.h: - -/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h: - -/usr/include/x86_64-linux-gnu/bits/setjmp.h: - -/usr/include/x86_64-linux-gnu/bits/struct_stat.h: - -/usr/include/x86_64-linux-gnu/bits/select.h: - -/usr/include/x86_64-linux-gnu/bits/sched.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/x86_64-linux-gnu/bits/locale.h: - -/usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h: - -/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h: - -/usr/include/x86_64-linux-gnu/bits/floatn.h: - -/usr/include/x86_64-linux-gnu/bits/types/wint_t.h: - -/usr/include/x86_64-linux-gnu/bits/floatn-common.h: - -/usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h: - -/usr/include/x86_64-linux-gnu/bits/timex.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - -/usr/include/x86_64-linux-gnu/bits/endian.h: - -/usr/include/x86_64-linux-gnu/bits/cpu-set.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h: - -/usr/include/x86_64-linux-gnu/asm/types.h: - -/usr/include/c++/13/bits/stl_construct.h: - -/usr/include/x86_64-linux-gnu/sys/uio.h: - -/usr/include/c++/13/bits/stl_algobase.h: - -/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h: - -/usr/include/c++/13/bits/refwrap.h: - -/usr/include/c++/13/debug/debug.h: - -/usr/include/c++/13/stdexcept: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/c++/13/bits/invoke.h: - -/usr/include/linux/stat.h: - -/usr/include/c++/13/bits/locale_classes.tcc: - -/usr/include/c++/13/bits/allocator.h: - -/usr/include/c++/13/bits/locale_classes.h: - -/usr/include/ctype.h: - -/usr/include/x86_64-linux-gnu/bits/types/clock_t.h: - -/usr/include/c++/13/bits/char_traits.h: - -/usr/include/c++/13/bits/ostream.tcc: - -/usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h: - -/usr/include/c++/13/bits/ios_base.h: - -/home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h: - -/usr/include/pthread.h: - -/usr/include/c++/13/bits/nested_exception.h: - -/usr/include/c++/13/bits/memory_resource.h: - -/usr/include/wchar.h: - -/usr/include/c++/13/bits/move.h: - -/usr/include/x86_64-linux-gnu/sys/single_threaded.h: - -/usr/include/c++/13/type_traits: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/stdint-intn.h: - -/usr/include/c++/13/bits/cpp_type_traits.h: - -/usr/include/fuse3/libfuse_config.h: - -/usr/include/x86_64-linux-gnu/sys/statvfs.h: - -/usr/include/c++/13/bits/ostream_insert.h: - -/usr/include/c++/13/cwctype: - -/usr/include/c++/13/bits/predefined_ops.h: - -/usr/include/c++/13/iosfwd: - -/usr/include/c++/13/bits/stl_iterator_base_funcs.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/c++/13/cwchar: - -/usr/include/x86_64-linux-gnu/bits/uintn-identity.h: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/c++/13/streambuf: - -/usr/include/c++/13/bits/exception.h: - -/usr/include/x86_64-linux-gnu/asm/posix_types_64.h: - -/usr/include/asm-generic/types.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/c++/13/bits/hash_bytes.h: - -/usr/include/x86_64-linux-gnu/bits/time64.h: - -/usr/include/c++/13/bits/basic_ios.h: - -/usr/include/c++/13/bits/istream.tcc: - -/usr/include/c++/13/bits/exception_ptr.h: - -/usr/include/alloca.h: - -/usr/include/c++/13/bit: - -/usr/include/c++/13/bits/basic_string.tcc: - -/usr/include/c++/13/bits/locale_facets.tcc: - -/usr/include/c++/13/bits/requires_hosted.h: - -/usr/include/c++/13/bits/string_view.tcc: - -/usr/include/features.h: - -/usr/include/c++/13/bits/stringfwd.h: - -/usr/include/x86_64-linux-gnu/bits/endianness.h: - -/usr/include/c++/13/bits/basic_string.h: - -/usr/include/asm-generic/posix_types.h: - -/usr/include/stdc-predef.h: - -/usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h: - -/usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h: - -/usr/include/c++/13/bits/ptr_traits.h: - -/usr/include/linux/falloc.h: - -/usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h: - -/usr/include/c++/13/bits/basic_ios.tcc: - -/usr/include/linux/stddef.h: - -/usr/include/c++/13/bits/stl_iterator_base_types.h: - -/usr/include/asm-generic/int-ll64.h: - -/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h: - -/usr/include/linux/posix_types.h: - -/usr/include/c++/13/bits/localefwd.h: - -/usr/include/c++/13/bits/exception_defines.h: - -/usr/include/c++/13/bits/locale_facets.h: - -/usr/include/c++/13/bits/memoryfwd.h: - -/usr/include/time.h: - -/usr/include/c++/13/bits/cxxabi_forced.h: - -/usr/include/c++/13/string: - -/usr/include/c++/13/bits/concept_check.h: - -/usr/include/c++/13/bits/alloc_traits.h: - -/usr/include/x86_64-linux-gnu/asm/posix_types.h: - -/usr/include/x86_64-linux-gnu/bits/libc-header-start.h: - -/usr/include/c++/13/bits/stl_iterator.h: - -/usr/include/c++/13/bits/functexcept.h: - -/usr/include/c++/13/ios: - -/usr/include/c++/13/bits/std_abs.h: - -/usr/include/c++/13/bits/postypes.h: - -/usr/include/c++/13/bits/uses_allocator.h: - -/usr/include/x86_64-linux-gnu/bits/long-double.h: - -/usr/include/c++/13/bits/new_allocator.h: - -/usr/include/c++/13/bits/uses_allocator_args.h: - -/usr/include/x86_64-linux-gnu/bits/fcntl.h: - -/usr/include/c++/13/bits/stl_function.h: - -/usr/include/c++/13/bits/utility.h: - -/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h: - -/usr/include/x86_64-linux-gnu/bits/stdint-least.h: - -/usr/include/c++/13/cerrno: - -/usr/include/stdio.h: - -/usr/include/c++/13/clocale: - -/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h: - -/usr/include/c++/13/cstddef: - -/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h: - -/usr/include/c++/13/bits/charconv.h: - -/usr/include/c++/13/bits/stl_pair.h: - -/usr/include/c++/13/cstdio: - -/usr/include/c++/13/cstdlib: - -/usr/include/c++/13/debug/assertions.h: - -/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h: - -/usr/include/c++/13/tuple: - -/usr/include/c++/13/bits/functional_hash.h: - -/usr/include/errno.h: - -/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h: - -/usr/include/c++/13/ext/numeric_traits.h: - -/usr/include/c++/13/ext/string_conversions.h: - -/usr/include/c++/13/ext/type_traits.h: - -/usr/include/c++/13/iostream: - -/usr/include/c++/13/initializer_list: - -/usr/include/c++/13/istream: - -/usr/include/c++/13/string_view: - -/usr/include/features-time64.h: - -/usr/include/c++/13/ext/alloc_traits.h: - -/usr/include/c++/13/new: - -/usr/include/x86_64-linux-gnu/bits/confname.h: - -/usr/include/c++/13/bits/streambuf_iterator.h: - -/usr/include/c++/13/ostream: - -/home/diya_limbani/FastDevFs/main.cpp: - -/usr/include/fcntl.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - -/usr/include/c++/13/pstl/pstl_config.h: - -/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h: - -/usr/include/c++/13/bits/range_access.h: - -/usr/include/c++/13/system_error: - -/usr/include/x86_64-linux-gnu/bits/getopt_posix.h: - -/usr/include/c++/13/bits/cxxabi_init_exception.h: - -/usr/include/c++/13/typeinfo: - -/usr/include/c++/13/bits/streambuf.tcc: - -/usr/include/endian.h: - -/usr/include/fuse3/fuse.h: - -/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h: - -/usr/include/linux/errno.h: - -/usr/include/string.h: - -/usr/include/fuse3/fuse_common.h: - -/usr/include/asm-generic/bitsperlong.h: - -/usr/include/c++/13/cctype: - -/usr/include/c++/13/ext/atomicity.h: - -/usr/include/fuse3/fuse_log.h: - -/usr/include/c++/13/backward/binders.h: - -/usr/include/fuse3/fuse_opt.h: - -/usr/include/linux/types.h: - -/usr/include/sched.h: - -/usr/include/stdint.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/c++/13/exception: - -/usr/include/wctype.h: - -/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h: - -/usr/include/locale.h: - -/usr/include/x86_64-linux-gnu/asm/bitsperlong.h: - -/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: +# Empty compiler generated dependencies file for FastDevFS. +# This may be replaced when dependencies are built. diff --git a/build/CMakeFiles/FastDevFS.dir/link.txt b/build/CMakeFiles/FastDevFS.dir/link.txt index fd6330c..26a740f 100644 --- a/build/CMakeFiles/FastDevFS.dir/link.txt +++ b/build/CMakeFiles/FastDevFS.dir/link.txt @@ -1 +1 @@ -/usr/bin/c++ CMakeFiles/FastDevFS.dir/main.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o -o FastDevFS -lfuse3 -lpthread +/usr/bin/c++ CMakeFiles/FastDevFS.dir/main.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o -o FastDevFS -lfuse3 -lpthread diff --git a/build/CMakeFiles/FastDevFS.dir/progress.make b/build/CMakeFiles/FastDevFS.dir/progress.make index 6a9dc74..33e6bff 100644 --- a/build/CMakeFiles/FastDevFS.dir/progress.make +++ b/build/CMakeFiles/FastDevFS.dir/progress.make @@ -1,4 +1,6 @@ CMAKE_PROGRESS_1 = 1 CMAKE_PROGRESS_2 = 2 CMAKE_PROGRESS_3 = 3 +CMAKE_PROGRESS_4 = 4 +CMAKE_PROGRESS_5 = 5 diff --git a/build/CMakeFiles/Makefile.cmake b/build/CMakeFiles/Makefile.cmake index 3b117af..acc4e6f 100644 --- a/build/CMakeFiles/Makefile.cmake +++ b/build/CMakeFiles/Makefile.cmake @@ -11,21 +11,98 @@ set(CMAKE_MAKEFILE_DEPENDS "CMakeFiles/3.28.3/CMakeCCompiler.cmake" "CMakeFiles/3.28.3/CMakeCXXCompiler.cmake" "CMakeFiles/3.28.3/CMakeSystem.cmake" + "/usr/share/cmake-3.28/Modules/CMakeCCompiler.cmake.in" + "/usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c" "/usr/share/cmake-3.28/Modules/CMakeCInformation.cmake" + "/usr/share/cmake-3.28/Modules/CMakeCXXCompiler.cmake.in" + "/usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp" "/usr/share/cmake-3.28/Modules/CMakeCXXInformation.cmake" "/usr/share/cmake-3.28/Modules/CMakeCommonLanguageInclude.cmake" + "/usr/share/cmake-3.28/Modules/CMakeCompilerIdDetection.cmake" + "/usr/share/cmake-3.28/Modules/CMakeDetermineCCompiler.cmake" + "/usr/share/cmake-3.28/Modules/CMakeDetermineCXXCompiler.cmake" + "/usr/share/cmake-3.28/Modules/CMakeDetermineCompileFeatures.cmake" + "/usr/share/cmake-3.28/Modules/CMakeDetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake" + "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerId.cmake" + "/usr/share/cmake-3.28/Modules/CMakeDetermineSystem.cmake" + "/usr/share/cmake-3.28/Modules/CMakeFindBinUtils.cmake" "/usr/share/cmake-3.28/Modules/CMakeGenericSystem.cmake" "/usr/share/cmake-3.28/Modules/CMakeInitializeConfigs.cmake" "/usr/share/cmake-3.28/Modules/CMakeLanguageInformation.cmake" + "/usr/share/cmake-3.28/Modules/CMakeParseImplicitIncludeInfo.cmake" + "/usr/share/cmake-3.28/Modules/CMakeParseImplicitLinkInfo.cmake" + "/usr/share/cmake-3.28/Modules/CMakeParseLibraryArchitecture.cmake" + "/usr/share/cmake-3.28/Modules/CMakeSystem.cmake.in" "/usr/share/cmake-3.28/Modules/CMakeSystemSpecificInformation.cmake" "/usr/share/cmake-3.28/Modules/CMakeSystemSpecificInitialize.cmake" + "/usr/share/cmake-3.28/Modules/CMakeTestCCompiler.cmake" + "/usr/share/cmake-3.28/Modules/CMakeTestCXXCompiler.cmake" + "/usr/share/cmake-3.28/Modules/CMakeTestCompilerCommon.cmake" + "/usr/share/cmake-3.28/Modules/CMakeUnixFindMake.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/ADSP-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/ARMClang-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/Borland-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" "/usr/share/cmake-3.28/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/Clang-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/Cray-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/CrayClang-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/GHS-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/GNU-C-DetermineCompiler.cmake" "/usr/share/cmake-3.28/Modules/Compiler/GNU-C.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" "/usr/share/cmake-3.28/Modules/Compiler/GNU-CXX.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/GNU-FindBinUtils.cmake" "/usr/share/cmake-3.28/Modules/Compiler/GNU.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/HP-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/IAR-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/Intel-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/LCC-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/MSVC-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/NVHPC-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/OrangeC-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/PGI-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/PathScale-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/SCO-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/TI-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/Tasking-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/Watcom-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/XL-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/XLClang-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/zOS-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" "/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake" "/usr/share/cmake-3.28/Modules/FindPackageMessage.cmake" "/usr/share/cmake-3.28/Modules/FindPkgConfig.cmake" + "/usr/share/cmake-3.28/Modules/Internal/FeatureTesting.cmake" + "/usr/share/cmake-3.28/Modules/Platform/Linux-Determine-CXX.cmake" "/usr/share/cmake-3.28/Modules/Platform/Linux-GNU-C.cmake" "/usr/share/cmake-3.28/Modules/Platform/Linux-GNU-CXX.cmake" "/usr/share/cmake-3.28/Modules/Platform/Linux-GNU.cmake" @@ -42,6 +119,11 @@ set(CMAKE_MAKEFILE_OUTPUTS # Byproducts of CMake generate step: set(CMAKE_MAKEFILE_PRODUCTS + "CMakeFiles/3.28.3/CMakeSystem.cmake" + "CMakeFiles/3.28.3/CMakeCCompiler.cmake" + "CMakeFiles/3.28.3/CMakeCXXCompiler.cmake" + "CMakeFiles/3.28.3/CMakeCCompiler.cmake" + "CMakeFiles/3.28.3/CMakeCXXCompiler.cmake" "CMakeFiles/CMakeDirectoryInformation.cmake" ) diff --git a/build/CMakeFiles/Makefile2 b/build/CMakeFiles/Makefile2 index 636464c..0aeb33e 100644 --- a/build/CMakeFiles/Makefile2 +++ b/build/CMakeFiles/Makefile2 @@ -81,12 +81,12 @@ clean: CMakeFiles/FastDevFS.dir/clean CMakeFiles/FastDevFS.dir/all: $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/depend $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=1,2,3 "Built target FastDevFS" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=1,2,3,4,5 "Built target FastDevFS" .PHONY : CMakeFiles/FastDevFS.dir/all # Build rule for subdir invocation for target. CMakeFiles/FastDevFS.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles 3 + $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles 5 $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/FastDevFS.dir/all $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles 0 .PHONY : CMakeFiles/FastDevFS.dir/rule diff --git a/build/CMakeFiles/progress.marks b/build/CMakeFiles/progress.marks index 00750ed..7ed6ff8 100644 --- a/build/CMakeFiles/progress.marks +++ b/build/CMakeFiles/progress.marks @@ -1 +1 @@ -3 +5 diff --git a/build/FastDevFS b/build/FastDevFS index 0d95f996d558ab58a6c26267257be43584d7c93a..9f0237ca33f6403cc19588beaf196c5ab90991ca 100755 GIT binary patch delta 1681 zcmZuxeN0$b{WxbN->38vocdGG9#C;>Q*fsb2{sM5i&x494m(gUw_F9nW*$eXkVaP47A9 zp5O1DbKbf4HgghB4&sq2Zlqy!$9sl815!rc=#Q=$nIZ}NWbDvx?SN0Fxmt|q7eL)PAXFt!`{5UP~R^d2om%sYr?t_)f?SlB5 zaALkj5MNvp#NGu#Y|jc}+ia`Ya$~R9Hmz3mK}oLO0SE{6>Xjh39&a6L%K~YkS&4mx zCb)|FK?=jZ=apR(&GOX$vKXl|M^YlJDa)8Ei?z+UTE_Cf`DGO5?S;>g?wO~GPxD*5 zoXF`!F8YIs*a{*1P=Q~7?DXj7Zp-oupd$;i{4VG;=ufC0bOiKwi?Tcoy84bR{|&nA zt}I*OCXIpiViMyw+xvjJ6(F=%Z=`AqOfSqXa)IAwABO~rn?f+GFw-!{$W7kHEiRB{ zzOvm7S^lDE%LB%f+#{tMxVaKNlvfU}Z(*(ges&E$oWtkApN8rh^6?bF61GeilW=t> zS7jwvt7q^eIq!TJ*OM#GZoGjs8#<){*CAY_-P{ff_)bYlcLtN7M@P1JthkprJTAk_ z@WB`=A0bbAwz*$Z9+CxVFNfx(<86gyL&@E2t;tK|vd3n>4yX~?QL=2)@#F` zDRN4YbL4{8W?!Uy&V;JyapaAAlw+SQV9|IJgOt++(@L)UZ1|8Od#SV!QYHu2GXIEy zd5VO6HuoEVnot=UP`}v--$BQi8ei+Ya&+MTiHt(b-vKqkuGa$!IVa|6#&TIjwU`=Q z3@sy$8f!%z7_=2}wH3;}0@e}m^R!uoCvw(l)v`+Q+N0Rq6Aecq@gC>lWD<2JqsJm~ z@=aZD>?wC$ESyS5qQ_&Ykje=jI2=44+!sIS4jrrs1rK;r>2NyX-WBUjMMJT8A`yZ> zp;#h(B-N4#y1kk|8j2r_b-U}8wHk}jq{jNEan+h!tcD(%YkdUi+%6Xe0lW#&j{pDw delta 985 zcmZ8eO-vI}5Pt9R(=G^UOLf@_c1sMc8d_FLMJUjMXi2<~NW`0{hhmJBM56}}y+}Yb zv5tpw5@TZGNo2ifB!qaNCWiE2V)3AIYfOwS#^?ptdHZ7mFPZsf=KFSL-<$jl%}vw$ z0XEZ@SH;7nP1MWhtnijg~1GzOu2;E=N!{=6`{rRD3Da4y4P0J$AATIJc z;uzv)S<`Ze@hwd&A`$}Aa*LEjx|L@qYz__w(ZXnHSe5-!0h{V&PT_H*T|>(Q^@+?` z29NK+z7gzvo3lgpj%hYnSIutivDwv(FJFrny$IuNXIaSwuiHM;1(*+dsU2PgCo?ab zkd3P8&=|!atEQA3g`(0ZOyGl49Mul99e(A8{`?KZdT&06pF6rrB&l8_w>-dRhbTQm z)Q^-Nl@wWOg7hANJA+D4imGsDEG3{V(0yA=4>J^%X|1 z-T&@^Rs5 #include #include "src/include/fuse_functions/getattr.h" +#include "src/include/fuse_functions/readdir.h" +#include "src/include/fuse_functions/opendir.h" using namespace std; @@ -21,6 +23,8 @@ static struct fuse_operations fastdevfs_oper = { // .getattr = get_attr, // .readdir = readdir, .getattr = fastdevfs_getattr, + .opendir = fastdevfs_opendir, + .readdir = fastdevfs_readdir, }; int main(int argc, char* argv[]){ cout<<"Starting FastDevFs Daemon..."< + +int fastdevfs_opendir( + const char* path, + struct fuse_file_info* fi +); + +#endif diff --git a/src/include/fuse_functions/readdir.h b/src/include/fuse_functions/readdir.h new file mode 100644 index 0000000..07c93a4 --- /dev/null +++ b/src/include/fuse_functions/readdir.h @@ -0,0 +1,16 @@ +#ifndef FASTDEVFS_READDIR_H +#define FASTDEVFS_READDIR_H + +#define FUSE_USE_VERSION 31 +#include + +int fastdevfs_readdir( + const char* path, + void* buf, + fuse_fill_dir_t filler, + off_t offset, + struct fuse_file_info* fi, + enum fuse_readdir_flags flags +); + +#endif diff --git a/src/src/fuse_functions/getattr.cpp b/src/src/fuse_functions/getattr.cpp index 4bdd16a..a77abc1 100644 --- a/src/src/fuse_functions/getattr.cpp +++ b/src/src/fuse_functions/getattr.cpp @@ -11,7 +11,7 @@ int fastdevfs_getattr(const char* path, struct stat* stbuf, struct fuse_file_inf (void) fi; memset(stbuf, 0, sizeof(struct stat)); - if(strcmp("/", path) == 0) { + if(strcmp("/", path) == 0 || strcmp("/.", path) == 0 || strcmp("/..", path) == 0) { stbuf->st_mode = S_IFDIR | 0755; stbuf->st_nlink = 2; stbuf->st_uid = getuid(); diff --git a/src/src/fuse_functions/opendir.cpp b/src/src/fuse_functions/opendir.cpp new file mode 100644 index 0000000..55ab438 --- /dev/null +++ b/src/src/fuse_functions/opendir.cpp @@ -0,0 +1,18 @@ +#include "fuse_functions/opendir.h" +#include +#include + +int fastdevfs_opendir( + const char* path, + struct fuse_file_info* fi +) { + (void) fi; + + // Only support the root directory for now + if (strcmp(path, "/") != 0) { + return -ENOENT; + } + + // Allow opening the root directory + return 0; +} diff --git a/src/src/fuse_functions/readdir.cpp b/src/src/fuse_functions/readdir.cpp new file mode 100644 index 0000000..bf65634 --- /dev/null +++ b/src/src/fuse_functions/readdir.cpp @@ -0,0 +1,27 @@ +#include "fuse_functions/readdir.h" +#include +#include + +int fastdevfs_readdir( + const char* path, + void* buf, + fuse_fill_dir_t filler, + off_t offset, + struct fuse_file_info* fi, + enum fuse_readdir_flags flags +) { + (void) offset; + (void) fi; + (void) flags; + + // Only support the root directory for now + if (strcmp(path, "/") != 0) { + return -ENOENT; + } + + // Mandatory entries + filler(buf, ".", nullptr, 0, static_cast(0)); + filler(buf, "..", nullptr, 0, static_cast(0)); + + return 0; +} From ae66691a4e581e65b231d3d70ce5fa4fa2a6dbab Mon Sep 17 00:00:00 2001 From: Diya Limbani Date: Sun, 18 Jan 2026 16:31:06 +0530 Subject: [PATCH 03/15] added gtest and ADTs --- CMakeLists.txt | 5 +- build/CMakeCache.txt | 9 +- build/CMakeFiles/CMakeConfigureLog.yaml | 191 +++++++----- build/CMakeFiles/Makefile.cmake | 15 + build/CMakeFiles/Makefile2 | 45 ++- build/CMakeFiles/TargetDirectories.txt | 5 + build/CMakeFiles/progress.marks | 2 +- build/CTestTestfile.cmake | 7 + build/FastDevFS | Bin 17488 -> 17488 bytes build/Makefile | 25 ++ build/cmake_install.cmake | 6 + .../CMakeDirectoryInformation.cmake | 16 + .../fdfs_tests.dir/DependInfo.cmake | 26 ++ .../test/CMakeFiles/fdfs_tests.dir/build.make | 158 ++++++++++ .../fdfs_tests.dir/cmake_clean.cmake | 17 ++ .../fdfs_tests.dir/compiler_depend.make | 2 + .../fdfs_tests.dir/compiler_depend.ts | 2 + .../CMakeFiles/fdfs_tests.dir/depend.make | 2 + .../test/CMakeFiles/fdfs_tests.dir/flags.make | 10 + build/test/CMakeFiles/fdfs_tests.dir/link.txt | 1 + .../CMakeFiles/fdfs_tests.dir/progress.make | 6 + build/test/CMakeFiles/progress.marks | 1 + build/test/CTestTestfile.cmake | 8 + build/test/Makefile | 274 ++++++++++++++++++ build/test/cmake_install.cmake | 44 +++ build/test/fdfs_tests | Bin 0 -> 567368 bytes src/include/daemon/dir_manager.h | 40 +++ src/include/daemon/hash_store.h | 38 +++ src/src/daemon/dir_manager.cpp | 101 +++++++ src/src/daemon/hash_store.cpp | 96 ++++++ test/CMakeLists.txt | 20 ++ test/test_dir_manager.cpp | 11 + test/test_hash_store.cpp | 10 + 33 files changed, 1111 insertions(+), 82 deletions(-) create mode 100644 build/CTestTestfile.cmake create mode 100644 build/test/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 build/test/CMakeFiles/fdfs_tests.dir/DependInfo.cmake create mode 100644 build/test/CMakeFiles/fdfs_tests.dir/build.make create mode 100644 build/test/CMakeFiles/fdfs_tests.dir/cmake_clean.cmake create mode 100644 build/test/CMakeFiles/fdfs_tests.dir/compiler_depend.make create mode 100644 build/test/CMakeFiles/fdfs_tests.dir/compiler_depend.ts create mode 100644 build/test/CMakeFiles/fdfs_tests.dir/depend.make create mode 100644 build/test/CMakeFiles/fdfs_tests.dir/flags.make create mode 100644 build/test/CMakeFiles/fdfs_tests.dir/link.txt create mode 100644 build/test/CMakeFiles/fdfs_tests.dir/progress.make create mode 100644 build/test/CMakeFiles/progress.marks create mode 100644 build/test/CTestTestfile.cmake create mode 100644 build/test/Makefile create mode 100644 build/test/cmake_install.cmake create mode 100755 build/test/fdfs_tests create mode 100644 src/include/daemon/dir_manager.h create mode 100644 src/include/daemon/hash_store.h create mode 100644 src/src/daemon/dir_manager.cpp create mode 100644 src/src/daemon/hash_store.cpp create mode 100644 test/CMakeLists.txt create mode 100644 test/test_dir_manager.cpp create mode 100644 test/test_hash_store.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index ce0ca0c..4588f7d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,4 +19,7 @@ target_include_directories(FastDevFS PRIVATE ) target_link_libraries(FastDevFS PRIVATE ${FUSE3_LIBRARIES}) -target_compile_options(FastDevFS PRIVATE ${FUSE3_CFLAGS_OTHER}) \ No newline at end of file +target_compile_options(FastDevFS PRIVATE ${FUSE3_CFLAGS_OTHER}) + +enable_testing() +add_subdirectory(test) \ No newline at end of file diff --git a/build/CMakeCache.txt b/build/CMakeCache.txt index f38b708..4fcdd54 100644 --- a/build/CMakeCache.txt +++ b/build/CMakeCache.txt @@ -224,6 +224,9 @@ FastDevFS_IS_TOP_LEVEL:STATIC=ON //Value Computed by CMake FastDevFS_SOURCE_DIR:STATIC=/home/diya_limbani/FastDevFs +//The directory containing a CMake configuration file for GTest. +GTest_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/GTest + //Arguments to supply to pkg-config PKG_CONFIG_ARGN:STRING= @@ -319,6 +322,8 @@ CMAKE_GENERATOR_INSTANCE:INTERNAL= CMAKE_GENERATOR_PLATFORM:INTERNAL= //Name of generator toolset. CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Test CMAKE_HAVE_LIBC_PTHREAD +CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=1 //Source directory with the top level CMakeLists.txt file for this // project CMAKE_HOME_DIRECTORY:INTERNAL=/home/diya_limbani/FastDevFs @@ -341,7 +346,7 @@ CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_NM CMAKE_NM-ADVANCED:INTERNAL=1 //number of local generators -CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=2 //ADVANCED property for variable: CMAKE_OBJCOPY CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_OBJDUMP @@ -386,6 +391,8 @@ CMAKE_TAPI-ADVANCED:INTERNAL=1 CMAKE_UNAME:INTERNAL=/usr/bin/uname //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//Details about finding GTest +FIND_PACKAGE_MESSAGE_DETAILS_GTest:INTERNAL=[/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestConfig.cmake][c ][v1.14.0()] //Details about finding PkgConfig FIND_PACKAGE_MESSAGE_DETAILS_PkgConfig:INTERNAL=[/usr/bin/pkg-config][v1.8.1()] FUSE3_CFLAGS:INTERNAL=-I/usr/include/fuse3 diff --git a/build/CMakeFiles/CMakeConfigureLog.yaml b/build/CMakeFiles/CMakeConfigureLog.yaml index 187d338..e04d3f8 100644 --- a/build/CMakeFiles/CMakeConfigureLog.yaml +++ b/build/CMakeFiles/CMakeConfigureLog.yaml @@ -61,8 +61,8 @@ events: checks: - "Detecting C compiler ABI info" directories: - source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-K9adk5" - binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-K9adk5" + source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-Ei42Je" + binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-Ei42Je" cmakeVariables: CMAKE_C_FLAGS: "" CMAKE_C_FLAGS_DEBUG: "-g" @@ -71,13 +71,13 @@ events: variable: "CMAKE_C_ABI_COMPILED" cached: true stdout: | - Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-K9adk5' + Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-Ei42Je' - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_d0fcb/fast - /usr/bin/gmake -f CMakeFiles/cmTC_d0fcb.dir/build.make CMakeFiles/cmTC_d0fcb.dir/build - gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-K9adk5' - Building C object CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o - /usr/bin/cc -v -o CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c + Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_e5c7c/fast + /usr/bin/gmake -f CMakeFiles/cmTC_e5c7c.dir/build.make CMakeFiles/cmTC_e5c7c.dir/build + gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-Ei42Je' + Building C object CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o + /usr/bin/cc -v -o CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c Using built-in specs. COLLECT_GCC=/usr/bin/cc OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa @@ -87,8 +87,8 @@ events: Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_d0fcb.dir/' - /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_d0fcb.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccnrBYh5.s + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_e5c7c.dir/' + /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_e5c7c.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccvmWq4u.s GNU C17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu) compiled by GNU C version 13.3.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP @@ -105,15 +105,15 @@ events: /usr/include End of search list. Compiler executable checksum: 38987c28e967c64056a6454abdef726e - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_d0fcb.dir/' - as -v --64 -o CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o /tmp/ccnrBYh5.s + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_e5c7c.dir/' + as -v --64 -o CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o /tmp/ccvmWq4u.s GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42 COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.' - Linking C executable cmTC_d0fcb - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d0fcb.dir/link.txt --verbose=1 - /usr/bin/cc -v CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o -o cmTC_d0fcb + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.' + Linking C executable cmTC_e5c7c + /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e5c7c.dir/link.txt --verbose=1 + /usr/bin/cc -v CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o -o cmTC_e5c7c Using built-in specs. COLLECT_GCC=/usr/bin/cc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper @@ -126,10 +126,10 @@ events: gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_d0fcb' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_d0fcb.' - /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccj55cVb.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_d0fcb /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_d0fcb' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_d0fcb.' - gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-K9adk5' + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_e5c7c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_e5c7c.' + /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccNcOB0s.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_e5c7c /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_e5c7c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_e5c7c.' + gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-Ei42Je' exitCode: 0 - @@ -163,13 +163,13 @@ events: message: | Parsed C implicit link information: link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] - ignore line: [Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-K9adk5'] + ignore line: [Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-Ei42Je'] ignore line: [] - ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_d0fcb/fast] - ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_d0fcb.dir/build.make CMakeFiles/cmTC_d0fcb.dir/build] - ignore line: [gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-K9adk5'] - ignore line: [Building C object CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o] - ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c] + ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_e5c7c/fast] + ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_e5c7c.dir/build.make CMakeFiles/cmTC_e5c7c.dir/build] + ignore line: [gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-Ei42Je'] + ignore line: [Building C object CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/cc] ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] @@ -179,8 +179,8 @@ events: ignore line: [Thread model: posix] ignore line: [Supported LTO compression algorithms: zlib zstd] ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_d0fcb.dir/'] - ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_d0fcb.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccnrBYh5.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_e5c7c.dir/'] + ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_e5c7c.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccvmWq4u.s] ignore line: [GNU C17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu)] ignore line: [ compiled by GNU C version 13.3.0 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] ignore line: [] @@ -197,15 +197,15 @@ events: ignore line: [ /usr/include] ignore line: [End of search list.] ignore line: [Compiler executable checksum: 38987c28e967c64056a6454abdef726e] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_d0fcb.dir/'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o /tmp/ccnrBYh5.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_e5c7c.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o /tmp/ccvmWq4u.s] ignore line: [GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.'] - ignore line: [Linking C executable cmTC_d0fcb] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d0fcb.dir/link.txt --verbose=1] - ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o -o cmTC_d0fcb ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.'] + ignore line: [Linking C executable cmTC_e5c7c] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e5c7c.dir/link.txt --verbose=1] + ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o -o cmTC_e5c7c ] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/cc] ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] @@ -218,13 +218,13 @@ events: ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_d0fcb' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_d0fcb.'] - link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccj55cVb.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_d0fcb /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_e5c7c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_e5c7c.'] + link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccNcOB0s.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_e5c7c /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] arg [/usr/libexec/gcc/x86_64-linux-gnu/13/collect2] ==> ignore arg [-plugin] ==> ignore arg [/usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so] ==> ignore arg [-plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/ccj55cVb.res] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccNcOB0s.res] ==> ignore arg [-plugin-opt=-pass-through=-lgcc] ==> ignore arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore arg [-plugin-opt=-pass-through=-lc] ==> ignore @@ -242,7 +242,7 @@ events: arg [-znow] ==> ignore arg [-zrelro] ==> ignore arg [-o] ==> ignore - arg [cmTC_d0fcb] ==> ignore + arg [cmTC_e5c7c] ==> ignore arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] @@ -254,7 +254,7 @@ events: arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..] - arg [CMakeFiles/cmTC_d0fcb.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o] ==> ignore arg [-lgcc] ==> lib [gcc] arg [--push-state] ==> ignore arg [--as-needed] ==> ignore @@ -294,8 +294,8 @@ events: checks: - "Detecting CXX compiler ABI info" directories: - source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-mfwRcq" - binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-mfwRcq" + source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-glMMhS" + binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-glMMhS" cmakeVariables: CMAKE_CXX_FLAGS: "" CMAKE_CXX_FLAGS_DEBUG: "-g" @@ -304,13 +304,13 @@ events: variable: "CMAKE_CXX_ABI_COMPILED" cached: true stdout: | - Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-mfwRcq' + Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-glMMhS' - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_8724d/fast - /usr/bin/gmake -f CMakeFiles/cmTC_8724d.dir/build.make CMakeFiles/cmTC_8724d.dir/build - gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-mfwRcq' - Building CXX object CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o - /usr/bin/c++ -v -o CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp + Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_a45a3/fast + /usr/bin/gmake -f CMakeFiles/cmTC_a45a3.dir/build.make CMakeFiles/cmTC_a45a3.dir/build + gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-glMMhS' + Building CXX object CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o + /usr/bin/c++ -v -o CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp Using built-in specs. COLLECT_GCC=/usr/bin/c++ OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa @@ -320,8 +320,8 @@ events: Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8724d.dir/' - /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_8724d.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccyVJjOf.s + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a45a3.dir/' + /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_a45a3.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccNLqEuW.s GNU C++17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu) compiled by GNU C version 13.3.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP @@ -342,15 +342,15 @@ events: /usr/include End of search list. Compiler executable checksum: c81c05345ce537099dafd5580045814a - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8724d.dir/' - as -v --64 -o CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccyVJjOf.s + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a45a3.dir/' + as -v --64 -o CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccNLqEuW.s GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42 COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.' - Linking CXX executable cmTC_8724d - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8724d.dir/link.txt --verbose=1 - /usr/bin/c++ -v CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_8724d + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.' + Linking CXX executable cmTC_a45a3 + /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a45a3.dir/link.txt --verbose=1 + /usr/bin/c++ -v CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_a45a3 Using built-in specs. COLLECT_GCC=/usr/bin/c++ COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper @@ -363,10 +363,10 @@ events: gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_8724d' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_8724d.' - /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccpGAWea.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_8724d /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_8724d' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_8724d.' - gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-mfwRcq' + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_a45a3' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_a45a3.' + /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccjdnr45.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_a45a3 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_a45a3' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_a45a3.' + gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-glMMhS' exitCode: 0 - @@ -406,13 +406,13 @@ events: message: | Parsed CXX implicit link information: link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] - ignore line: [Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-mfwRcq'] + ignore line: [Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-glMMhS'] ignore line: [] - ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_8724d/fast] - ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_8724d.dir/build.make CMakeFiles/cmTC_8724d.dir/build] - ignore line: [gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-mfwRcq'] - ignore line: [Building CXX object CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o] - ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_a45a3/fast] + ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_a45a3.dir/build.make CMakeFiles/cmTC_a45a3.dir/build] + ignore line: [gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-glMMhS'] + ignore line: [Building CXX object CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/c++] ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] @@ -422,8 +422,8 @@ events: ignore line: [Thread model: posix] ignore line: [Supported LTO compression algorithms: zlib zstd] ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8724d.dir/'] - ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_8724d.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccyVJjOf.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a45a3.dir/'] + ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_a45a3.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccNLqEuW.s] ignore line: [GNU C++17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu)] ignore line: [ compiled by GNU C version 13.3.0 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] ignore line: [] @@ -444,15 +444,15 @@ events: ignore line: [ /usr/include] ignore line: [End of search list.] ignore line: [Compiler executable checksum: c81c05345ce537099dafd5580045814a] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8724d.dir/'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccyVJjOf.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a45a3.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccNLqEuW.s] ignore line: [GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.'] - ignore line: [Linking CXX executable cmTC_8724d] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8724d.dir/link.txt --verbose=1] - ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_8724d ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [Linking CXX executable cmTC_a45a3] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a45a3.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_a45a3 ] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/c++] ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] @@ -465,13 +465,13 @@ events: ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_8724d' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_8724d.'] - link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccpGAWea.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_8724d /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_a45a3' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_a45a3.'] + link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccjdnr45.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_a45a3 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] arg [/usr/libexec/gcc/x86_64-linux-gnu/13/collect2] ==> ignore arg [-plugin] ==> ignore arg [/usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so] ==> ignore arg [-plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/ccpGAWea.res] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccjdnr45.res] ==> ignore arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore arg [-plugin-opt=-pass-through=-lgcc] ==> ignore arg [-plugin-opt=-pass-through=-lc] ==> ignore @@ -489,7 +489,7 @@ events: arg [-znow] ==> ignore arg [-zrelro] ==> ignore arg [-o] ==> ignore - arg [cmTC_8724d] ==> ignore + arg [cmTC_a45a3] ==> ignore arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] @@ -501,7 +501,7 @@ events: arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..] - arg [CMakeFiles/cmTC_8724d.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore arg [-lstdc++] ==> lib [stdc++] arg [-lm] ==> lib [m] arg [-lgcc_s] ==> lib [gcc_s] @@ -528,4 +528,39 @@ events: implicit fwks: [] + - + kind: "try_compile-v1" + backtrace: + - "/usr/share/cmake-3.28/Modules/Internal/CheckSourceCompiles.cmake:101 (try_compile)" + - "/usr/share/cmake-3.28/Modules/CheckCSourceCompiles.cmake:52 (cmake_check_source_compiles)" + - "/usr/share/cmake-3.28/Modules/FindThreads.cmake:97 (CHECK_C_SOURCE_COMPILES)" + - "/usr/share/cmake-3.28/Modules/FindThreads.cmake:163 (_threads_check_libc)" + - "/usr/share/cmake-3.28/Modules/CMakeFindDependencyMacro.cmake:76 (find_package)" + - "/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestConfig.cmake:39 (find_dependency)" + - "/usr/share/cmake-3.28/Modules/FindGTest.cmake:194 (find_package)" + - "test/CMakeLists.txt:3 (find_package)" + directories: + source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-AUdAuS" + binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-AUdAuS" + cmakeVariables: + CMAKE_C_FLAGS: "" + CMAKE_C_FLAGS_DEBUG: "-g" + CMAKE_EXE_LINKER_FLAGS: "" + buildResult: + variable: "CMAKE_HAVE_LIBC_PTHREAD" + cached: true + stdout: | + Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-AUdAuS' + + Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_dafdd/fast + /usr/bin/gmake -f CMakeFiles/cmTC_dafdd.dir/build.make CMakeFiles/cmTC_dafdd.dir/build + gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-AUdAuS' + Building C object CMakeFiles/cmTC_dafdd.dir/src.c.o + /usr/bin/cc -DCMAKE_HAVE_LIBC_PTHREAD -o CMakeFiles/cmTC_dafdd.dir/src.c.o -c /home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-AUdAuS/src.c + Linking C executable cmTC_dafdd + /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_dafdd.dir/link.txt --verbose=1 + /usr/bin/cc CMakeFiles/cmTC_dafdd.dir/src.c.o -o cmTC_dafdd + gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-AUdAuS' + + exitCode: 0 ... diff --git a/build/CMakeFiles/Makefile.cmake b/build/CMakeFiles/Makefile.cmake index acc4e6f..7a4356e 100644 --- a/build/CMakeFiles/Makefile.cmake +++ b/build/CMakeFiles/Makefile.cmake @@ -11,6 +11,11 @@ set(CMAKE_MAKEFILE_DEPENDS "CMakeFiles/3.28.3/CMakeCCompiler.cmake" "CMakeFiles/3.28.3/CMakeCXXCompiler.cmake" "CMakeFiles/3.28.3/CMakeSystem.cmake" + "/home/diya_limbani/FastDevFs/test/CMakeLists.txt" + "/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestConfig.cmake" + "/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestConfigVersion.cmake" + "/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestTargets-none.cmake" + "/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestTargets.cmake" "/usr/share/cmake-3.28/Modules/CMakeCCompiler.cmake.in" "/usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c" "/usr/share/cmake-3.28/Modules/CMakeCInformation.cmake" @@ -27,6 +32,7 @@ set(CMAKE_MAKEFILE_DEPENDS "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerId.cmake" "/usr/share/cmake-3.28/Modules/CMakeDetermineSystem.cmake" "/usr/share/cmake-3.28/Modules/CMakeFindBinUtils.cmake" + "/usr/share/cmake-3.28/Modules/CMakeFindDependencyMacro.cmake" "/usr/share/cmake-3.28/Modules/CMakeGenericSystem.cmake" "/usr/share/cmake-3.28/Modules/CMakeInitializeConfigs.cmake" "/usr/share/cmake-3.28/Modules/CMakeLanguageInformation.cmake" @@ -40,6 +46,9 @@ set(CMAKE_MAKEFILE_DEPENDS "/usr/share/cmake-3.28/Modules/CMakeTestCXXCompiler.cmake" "/usr/share/cmake-3.28/Modules/CMakeTestCompilerCommon.cmake" "/usr/share/cmake-3.28/Modules/CMakeUnixFindMake.cmake" + "/usr/share/cmake-3.28/Modules/CheckCSourceCompiles.cmake" + "/usr/share/cmake-3.28/Modules/CheckIncludeFile.cmake" + "/usr/share/cmake-3.28/Modules/CheckLibraryExists.cmake" "/usr/share/cmake-3.28/Modules/Compiler/ADSP-DetermineCompiler.cmake" "/usr/share/cmake-3.28/Modules/Compiler/ARMCC-DetermineCompiler.cmake" "/usr/share/cmake-3.28/Modules/Compiler/ARMClang-DetermineCompiler.cmake" @@ -98,9 +107,13 @@ set(CMAKE_MAKEFILE_DEPENDS "/usr/share/cmake-3.28/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake" "/usr/share/cmake-3.28/Modules/Compiler/zOS-C-DetermineCompiler.cmake" "/usr/share/cmake-3.28/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.28/Modules/FindGTest.cmake" "/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake" "/usr/share/cmake-3.28/Modules/FindPackageMessage.cmake" "/usr/share/cmake-3.28/Modules/FindPkgConfig.cmake" + "/usr/share/cmake-3.28/Modules/FindThreads.cmake" + "/usr/share/cmake-3.28/Modules/GoogleTest.cmake" + "/usr/share/cmake-3.28/Modules/Internal/CheckSourceCompiles.cmake" "/usr/share/cmake-3.28/Modules/Internal/FeatureTesting.cmake" "/usr/share/cmake-3.28/Modules/Platform/Linux-Determine-CXX.cmake" "/usr/share/cmake-3.28/Modules/Platform/Linux-GNU-C.cmake" @@ -125,9 +138,11 @@ set(CMAKE_MAKEFILE_PRODUCTS "CMakeFiles/3.28.3/CMakeCCompiler.cmake" "CMakeFiles/3.28.3/CMakeCXXCompiler.cmake" "CMakeFiles/CMakeDirectoryInformation.cmake" + "test/CMakeFiles/CMakeDirectoryInformation.cmake" ) # Dependency information for all targets: set(CMAKE_DEPEND_INFO_FILES "CMakeFiles/FastDevFS.dir/DependInfo.cmake" + "test/CMakeFiles/fdfs_tests.dir/DependInfo.cmake" ) diff --git a/build/CMakeFiles/Makefile2 b/build/CMakeFiles/Makefile2 index 0aeb33e..2b71a98 100644 --- a/build/CMakeFiles/Makefile2 +++ b/build/CMakeFiles/Makefile2 @@ -64,16 +64,33 @@ CMAKE_BINARY_DIR = /home/diya_limbani/FastDevFs/build # The main recursive "all" target. all: CMakeFiles/FastDevFS.dir/all +all: test/all .PHONY : all # The main recursive "preinstall" target. -preinstall: +preinstall: test/preinstall .PHONY : preinstall # The main recursive "clean" target. clean: CMakeFiles/FastDevFS.dir/clean +clean: test/clean .PHONY : clean +#============================================================================= +# Directory level rules for directory test + +# Recursive "all" directory target. +test/all: test/CMakeFiles/fdfs_tests.dir/all +.PHONY : test/all + +# Recursive "preinstall" directory target. +test/preinstall: +.PHONY : test/preinstall + +# Recursive "clean" directory target. +test/clean: test/CMakeFiles/fdfs_tests.dir/clean +.PHONY : test/clean + #============================================================================= # Target rules for target CMakeFiles/FastDevFS.dir @@ -100,6 +117,32 @@ CMakeFiles/FastDevFS.dir/clean: $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/clean .PHONY : CMakeFiles/FastDevFS.dir/clean +#============================================================================= +# Target rules for target test/CMakeFiles/fdfs_tests.dir + +# All Build rule for target. +test/CMakeFiles/fdfs_tests.dir/all: + $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/depend + $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=6,7,8,9,10 "Built target fdfs_tests" +.PHONY : test/CMakeFiles/fdfs_tests.dir/all + +# Build rule for subdir invocation for target. +test/CMakeFiles/fdfs_tests.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles 5 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 test/CMakeFiles/fdfs_tests.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles 0 +.PHONY : test/CMakeFiles/fdfs_tests.dir/rule + +# Convenience name for target. +fdfs_tests: test/CMakeFiles/fdfs_tests.dir/rule +.PHONY : fdfs_tests + +# clean rule for target. +test/CMakeFiles/fdfs_tests.dir/clean: + $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/clean +.PHONY : test/CMakeFiles/fdfs_tests.dir/clean + #============================================================================= # Special targets to cleanup operation of make. diff --git a/build/CMakeFiles/TargetDirectories.txt b/build/CMakeFiles/TargetDirectories.txt index 183c885..b940948 100644 --- a/build/CMakeFiles/TargetDirectories.txt +++ b/build/CMakeFiles/TargetDirectories.txt @@ -1,3 +1,8 @@ /home/diya_limbani/FastDevFs/build/CMakeFiles/FastDevFS.dir +/home/diya_limbani/FastDevFs/build/CMakeFiles/test.dir /home/diya_limbani/FastDevFs/build/CMakeFiles/edit_cache.dir /home/diya_limbani/FastDevFs/build/CMakeFiles/rebuild_cache.dir +/home/diya_limbani/FastDevFs/build/test/CMakeFiles/fdfs_tests.dir +/home/diya_limbani/FastDevFs/build/test/CMakeFiles/test.dir +/home/diya_limbani/FastDevFs/build/test/CMakeFiles/edit_cache.dir +/home/diya_limbani/FastDevFs/build/test/CMakeFiles/rebuild_cache.dir diff --git a/build/CMakeFiles/progress.marks b/build/CMakeFiles/progress.marks index 7ed6ff8..f599e28 100644 --- a/build/CMakeFiles/progress.marks +++ b/build/CMakeFiles/progress.marks @@ -1 +1 @@ -5 +10 diff --git a/build/CTestTestfile.cmake b/build/CTestTestfile.cmake new file mode 100644 index 0000000..af992f2 --- /dev/null +++ b/build/CTestTestfile.cmake @@ -0,0 +1,7 @@ +# CMake generated Testfile for +# Source directory: /home/diya_limbani/FastDevFs +# Build directory: /home/diya_limbani/FastDevFs/build +# +# This file includes the relevant testing commands required for +# testing this directory and lists subdirectories to be tested as well. +subdirs("test") diff --git a/build/FastDevFS b/build/FastDevFS index 9f0237ca33f6403cc19588beaf196c5ab90991ca..1a56e0710def9ae7d50e9797abc7a050f6002519 100755 GIT binary patch delta 493 zcmcc6!FZvAaRUb;q>HAruQO2TV_SQzRa+)@n!I#yuE+g zlGU^QH}^2tut@F@hNyqw0HHY`6ob-cMUH;1C=-uv*B>68$2@vj(|H*fJUWlR@cj4x zf9rt~DTGV_R7M{xQ)&j3`EcAp;;kc41CZ%)+(Cc|XzYvqfB*mY=nnnR=_K>w^JF_= zXP!GeATzIljNLN1S6GvA<>c+cDvWKD?+9!2#v&y3{%#f#dBZ)qfzxD?f?9&U9)rFf z5Hsj8fGGwBMrmeiAD|r|=f8OW|9=CJ&iL^E{|X>o0i+KA=@&pc14v)|`2YV6AZ_^R z|NkFA`W29tU}Ruu`27FB1(0T7nB1nYO?D@U<;o|}#^lV)#Cz>n=Dw)h>dW~_%Fv==%~*LkG;*Aj?b9@;vA$! delta 516 zcmcc6!FZvAaRUbHAruQOsdu?S7u>Zez>P7MNdZ)!^ z^XL80-rU1n!y@@c7^41x1BB*)Pz+(46*>C3k~2KIU4MA=ie~XLFnDxc^XNSO!t>w% z|E&i~{Gc*H2pN5dj0sq#^O#33s|8r{_zO{pj1)pf5i0Zh@8tVJa=hJt|Nr;s4*k&S zB=chbWG-Q6p0zx18yhA^3TrY}O>P!eVGN(VLRgzu4u1|Nk{WI_1Ov|4V>$36S0c5(m;LK>F;*|NpN5Y28o% z|9=6}QlJ0-7hz;z*Z`zW7$>(WY?FNp6lQSc6KG>{=4E4g!ovA+mXwt{gKbEQG^0KQy?`#Aq{lr}1*eu*r!g%YjNJbD3Uad^7o>>2$`o sn=8%CxtKVZCvS4l CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.i + +test/CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.s" + cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/test/test_dir_manager.cpp -o CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.s + +test/CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.o: test/CMakeFiles/fdfs_tests.dir/flags.make +test/CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevFs/test/test_hash_store.cpp +test/CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.o: test/CMakeFiles/fdfs_tests.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object test/CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.o" + cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT test/CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.o -MF CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.o.d -o CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.o -c /home/diya_limbani/FastDevFs/test/test_hash_store.cpp + +test/CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.i" + cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/test/test_hash_store.cpp > CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.i + +test/CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.s" + cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/test/test_hash_store.cpp -o CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.s + +test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.o: test/CMakeFiles/fdfs_tests.dir/flags.make +test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp +test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.o: test/CMakeFiles/fdfs_tests.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.o" + cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.o -MF CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.o.d -o CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.o -c /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp + +test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.i" + cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp > CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.i + +test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.s" + cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp -o CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.s + +test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.o: test/CMakeFiles/fdfs_tests.dir/flags.make +test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/hash_store.cpp +test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.o: test/CMakeFiles/fdfs_tests.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.o" + cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.o -MF CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.o.d -o CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.o -c /home/diya_limbani/FastDevFs/src/src/daemon/hash_store.cpp + +test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.i" + cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/daemon/hash_store.cpp > CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.i + +test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.s" + cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/daemon/hash_store.cpp -o CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.s + +# Object files for target fdfs_tests +fdfs_tests_OBJECTS = \ +"CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.o" \ +"CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.o" \ +"CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.o" \ +"CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.o" + +# External object files for target fdfs_tests +fdfs_tests_EXTERNAL_OBJECTS = + +test/fdfs_tests: test/CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.o +test/fdfs_tests: test/CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.o +test/fdfs_tests: test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.o +test/fdfs_tests: test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.o +test/fdfs_tests: test/CMakeFiles/fdfs_tests.dir/build.make +test/fdfs_tests: test/CMakeFiles/fdfs_tests.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Linking CXX executable fdfs_tests" + cd /home/diya_limbani/FastDevFs/build/test && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/fdfs_tests.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +test/CMakeFiles/fdfs_tests.dir/build: test/fdfs_tests +.PHONY : test/CMakeFiles/fdfs_tests.dir/build + +test/CMakeFiles/fdfs_tests.dir/clean: + cd /home/diya_limbani/FastDevFs/build/test && $(CMAKE_COMMAND) -P CMakeFiles/fdfs_tests.dir/cmake_clean.cmake +.PHONY : test/CMakeFiles/fdfs_tests.dir/clean + +test/CMakeFiles/fdfs_tests.dir/depend: + cd /home/diya_limbani/FastDevFs/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/diya_limbani/FastDevFs /home/diya_limbani/FastDevFs/test /home/diya_limbani/FastDevFs/build /home/diya_limbani/FastDevFs/build/test /home/diya_limbani/FastDevFs/build/test/CMakeFiles/fdfs_tests.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : test/CMakeFiles/fdfs_tests.dir/depend + diff --git a/build/test/CMakeFiles/fdfs_tests.dir/cmake_clean.cmake b/build/test/CMakeFiles/fdfs_tests.dir/cmake_clean.cmake new file mode 100644 index 0000000..60914ed --- /dev/null +++ b/build/test/CMakeFiles/fdfs_tests.dir/cmake_clean.cmake @@ -0,0 +1,17 @@ +file(REMOVE_RECURSE + "CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.o" + "CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.o.d" + "CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.o" + "CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.o.d" + "CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.o" + "CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.o.d" + "CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.o" + "CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.o.d" + "fdfs_tests" + "fdfs_tests.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/fdfs_tests.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/build/test/CMakeFiles/fdfs_tests.dir/compiler_depend.make b/build/test/CMakeFiles/fdfs_tests.dir/compiler_depend.make new file mode 100644 index 0000000..82f18e4 --- /dev/null +++ b/build/test/CMakeFiles/fdfs_tests.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty compiler generated dependencies file for fdfs_tests. +# This may be replaced when dependencies are built. diff --git a/build/test/CMakeFiles/fdfs_tests.dir/compiler_depend.ts b/build/test/CMakeFiles/fdfs_tests.dir/compiler_depend.ts new file mode 100644 index 0000000..e1d3923 --- /dev/null +++ b/build/test/CMakeFiles/fdfs_tests.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for fdfs_tests. diff --git a/build/test/CMakeFiles/fdfs_tests.dir/depend.make b/build/test/CMakeFiles/fdfs_tests.dir/depend.make new file mode 100644 index 0000000..529f5fe --- /dev/null +++ b/build/test/CMakeFiles/fdfs_tests.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for fdfs_tests. +# This may be replaced when dependencies are built. diff --git a/build/test/CMakeFiles/fdfs_tests.dir/flags.make b/build/test/CMakeFiles/fdfs_tests.dir/flags.make new file mode 100644 index 0000000..3110de8 --- /dev/null +++ b/build/test/CMakeFiles/fdfs_tests.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.28 + +# compile CXX with /usr/bin/c++ +CXX_DEFINES = + +CXX_INCLUDES = -I/home/diya_limbani/FastDevFs/src/include + +CXX_FLAGS = + diff --git a/build/test/CMakeFiles/fdfs_tests.dir/link.txt b/build/test/CMakeFiles/fdfs_tests.dir/link.txt new file mode 100644 index 0000000..fb3a018 --- /dev/null +++ b/build/test/CMakeFiles/fdfs_tests.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/c++ CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.o CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.o CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.o CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.o -o fdfs_tests -lgtest -lgtest_main -lpthread diff --git a/build/test/CMakeFiles/fdfs_tests.dir/progress.make b/build/test/CMakeFiles/fdfs_tests.dir/progress.make new file mode 100644 index 0000000..a7bea20 --- /dev/null +++ b/build/test/CMakeFiles/fdfs_tests.dir/progress.make @@ -0,0 +1,6 @@ +CMAKE_PROGRESS_1 = 6 +CMAKE_PROGRESS_2 = 7 +CMAKE_PROGRESS_3 = 8 +CMAKE_PROGRESS_4 = 9 +CMAKE_PROGRESS_5 = 10 + diff --git a/build/test/CMakeFiles/progress.marks b/build/test/CMakeFiles/progress.marks new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/build/test/CMakeFiles/progress.marks @@ -0,0 +1 @@ +5 diff --git a/build/test/CTestTestfile.cmake b/build/test/CTestTestfile.cmake new file mode 100644 index 0000000..bc1e836 --- /dev/null +++ b/build/test/CTestTestfile.cmake @@ -0,0 +1,8 @@ +# CMake generated Testfile for +# Source directory: /home/diya_limbani/FastDevFs/test +# Build directory: /home/diya_limbani/FastDevFs/build/test +# +# This file includes the relevant testing commands required for +# testing this directory and lists subdirectories to be tested as well. +add_test(fdfs_tests "/home/diya_limbani/FastDevFs/build/test/fdfs_tests") +set_tests_properties(fdfs_tests PROPERTIES _BACKTRACE_TRIPLES "/home/diya_limbani/FastDevFs/test/CMakeLists.txt;20;add_test;/home/diya_limbani/FastDevFs/test/CMakeLists.txt;0;") diff --git a/build/test/Makefile b/build/test/Makefile new file mode 100644 index 0000000..e79bde4 --- /dev/null +++ b/build/test/Makefile @@ -0,0 +1,274 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.28 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/diya_limbani/FastDevFs + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/diya_limbani/FastDevFs/build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target test +test: + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running tests..." + /usr/bin/ctest --force-new-ctest-process $(ARGS) +.PHONY : test + +# Special rule for the target test +test/fast: test +.PHONY : test/fast + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "No interactive CMake dialog available..." + /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# The main all target +all: cmake_check_build_system + cd /home/diya_limbani/FastDevFs/build && $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles /home/diya_limbani/FastDevFs/build/test//CMakeFiles/progress.marks + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 test/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 test/clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 test/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 test/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /home/diya_limbani/FastDevFs/build && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Convenience name for target. +test/CMakeFiles/fdfs_tests.dir/rule: + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 test/CMakeFiles/fdfs_tests.dir/rule +.PHONY : test/CMakeFiles/fdfs_tests.dir/rule + +# Convenience name for target. +fdfs_tests: test/CMakeFiles/fdfs_tests.dir/rule +.PHONY : fdfs_tests + +# fast build rule for target. +fdfs_tests/fast: + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/build +.PHONY : fdfs_tests/fast + +__/src/src/daemon/dir_manager.o: __/src/src/daemon/dir_manager.cpp.o +.PHONY : __/src/src/daemon/dir_manager.o + +# target to build an object file +__/src/src/daemon/dir_manager.cpp.o: + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.o +.PHONY : __/src/src/daemon/dir_manager.cpp.o + +__/src/src/daemon/dir_manager.i: __/src/src/daemon/dir_manager.cpp.i +.PHONY : __/src/src/daemon/dir_manager.i + +# target to preprocess a source file +__/src/src/daemon/dir_manager.cpp.i: + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.i +.PHONY : __/src/src/daemon/dir_manager.cpp.i + +__/src/src/daemon/dir_manager.s: __/src/src/daemon/dir_manager.cpp.s +.PHONY : __/src/src/daemon/dir_manager.s + +# target to generate assembly for a file +__/src/src/daemon/dir_manager.cpp.s: + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.s +.PHONY : __/src/src/daemon/dir_manager.cpp.s + +__/src/src/daemon/hash_store.o: __/src/src/daemon/hash_store.cpp.o +.PHONY : __/src/src/daemon/hash_store.o + +# target to build an object file +__/src/src/daemon/hash_store.cpp.o: + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.o +.PHONY : __/src/src/daemon/hash_store.cpp.o + +__/src/src/daemon/hash_store.i: __/src/src/daemon/hash_store.cpp.i +.PHONY : __/src/src/daemon/hash_store.i + +# target to preprocess a source file +__/src/src/daemon/hash_store.cpp.i: + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.i +.PHONY : __/src/src/daemon/hash_store.cpp.i + +__/src/src/daemon/hash_store.s: __/src/src/daemon/hash_store.cpp.s +.PHONY : __/src/src/daemon/hash_store.s + +# target to generate assembly for a file +__/src/src/daemon/hash_store.cpp.s: + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.s +.PHONY : __/src/src/daemon/hash_store.cpp.s + +test_dir_manager.o: test_dir_manager.cpp.o +.PHONY : test_dir_manager.o + +# target to build an object file +test_dir_manager.cpp.o: + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.o +.PHONY : test_dir_manager.cpp.o + +test_dir_manager.i: test_dir_manager.cpp.i +.PHONY : test_dir_manager.i + +# target to preprocess a source file +test_dir_manager.cpp.i: + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.i +.PHONY : test_dir_manager.cpp.i + +test_dir_manager.s: test_dir_manager.cpp.s +.PHONY : test_dir_manager.s + +# target to generate assembly for a file +test_dir_manager.cpp.s: + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.s +.PHONY : test_dir_manager.cpp.s + +test_hash_store.o: test_hash_store.cpp.o +.PHONY : test_hash_store.o + +# target to build an object file +test_hash_store.cpp.o: + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.o +.PHONY : test_hash_store.cpp.o + +test_hash_store.i: test_hash_store.cpp.i +.PHONY : test_hash_store.i + +# target to preprocess a source file +test_hash_store.cpp.i: + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.i +.PHONY : test_hash_store.cpp.i + +test_hash_store.s: test_hash_store.cpp.s +.PHONY : test_hash_store.s + +# target to generate assembly for a file +test_hash_store.cpp.s: + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.s +.PHONY : test_hash_store.cpp.s + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... rebuild_cache" + @echo "... test" + @echo "... fdfs_tests" + @echo "... __/src/src/daemon/dir_manager.o" + @echo "... __/src/src/daemon/dir_manager.i" + @echo "... __/src/src/daemon/dir_manager.s" + @echo "... __/src/src/daemon/hash_store.o" + @echo "... __/src/src/daemon/hash_store.i" + @echo "... __/src/src/daemon/hash_store.s" + @echo "... test_dir_manager.o" + @echo "... test_dir_manager.i" + @echo "... test_dir_manager.s" + @echo "... test_hash_store.o" + @echo "... test_hash_store.i" + @echo "... test_hash_store.s" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /home/diya_limbani/FastDevFs/build && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/build/test/cmake_install.cmake b/build/test/cmake_install.cmake new file mode 100644 index 0000000..4bd1489 --- /dev/null +++ b/build/test/cmake_install.cmake @@ -0,0 +1,44 @@ +# Install script for directory: /home/diya_limbani/FastDevFs/test + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + diff --git a/build/test/fdfs_tests b/build/test/fdfs_tests new file mode 100755 index 0000000000000000000000000000000000000000..7e0678f9288901ca81a449fec6ba4382c1a4f6fd GIT binary patch literal 567368 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
  • ?>kZW2w6CEQ^`@AMCq55 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
    ~dsRr>0PLZHfN~7?u#dI2vNnl;)q{%PFZ`1 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

    %P}yX(rSp+pig1DCN=;Bc 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

    #UJ;B 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 literal 0 HcmV?d00001 diff --git a/src/include/daemon/dir_manager.h b/src/include/daemon/dir_manager.h new file mode 100644 index 0000000..d5f5de1 --- /dev/null +++ b/src/include/daemon/dir_manager.h @@ -0,0 +1,40 @@ +#pragma once + +#include +#include + +constexpr int FDFS_MAX_INODES = 1024; +constexpr int FDFS_MAX_DIR_ENTRIES = 64; +constexpr int FDFS_MAX_NAME_LEN = 64; + +using inode_t = uint64_t; + +/** + * Directory Tree ADT + * Static, thread-safe, no dynamic allocation + */ +class DirManager { +public: + DirManager(); + + inode_t resolve_path(const char* path); + bool add_entry(inode_t parent, const char* name, inode_t inode); + bool remove_entry(inode_t parent, const char* name); + +private: + struct DirEntry { + char name[FDFS_MAX_NAME_LEN]; + inode_t inode; + bool used; + }; + + struct DirNode { + inode_t inode; + DirEntry entries[FDFS_MAX_DIR_ENTRIES]; + }; + + DirNode dir_nodes[FDFS_MAX_INODES]; + bool inode_used[FDFS_MAX_INODES]; + + std::shared_mutex tree_lock; +}; \ No newline at end of file diff --git a/src/include/daemon/hash_store.h b/src/include/daemon/hash_store.h new file mode 100644 index 0000000..f028a5c --- /dev/null +++ b/src/include/daemon/hash_store.h @@ -0,0 +1,38 @@ +#pragma once + +#include +#include + +constexpr int FDFS_HASH_BUCKETS = 128; +constexpr int FDFS_HASH_CHAINS = 1024; +constexpr int FDFS_HASH_LEN = 64; + +/** + * Hash Store ADT + * Static hash table with bucket + chain arrays + * Thread-safe + */ +class HashStore { +public: + HashStore(); + + bool insert(uint64_t key, const char* data); + bool verify(uint64_t key, const char* data); + bool remove(uint64_t key); + +private: + struct ChainNode { + uint64_t key; + char hash[FDFS_HASH_LEN]; + int next; + bool used; + }; + + int buckets[FDFS_HASH_BUCKETS]; // index into chain[] + ChainNode chain[FDFS_HASH_CHAINS]; + + std::mutex hash_lock; + + unsigned long compute_hash(const char* data); + int allocate_node(); +}; diff --git a/src/src/daemon/dir_manager.cpp b/src/src/daemon/dir_manager.cpp new file mode 100644 index 0000000..23ad1bf --- /dev/null +++ b/src/src/daemon/dir_manager.cpp @@ -0,0 +1,101 @@ +#include "daemon/dir_manager.h" +#include +#include + +DirManager::DirManager() { + for (int i = 0; i < FDFS_MAX_INODES; i++) { + inode_used[i] = false; + } + + inode_used[0] = true; + dir_nodes[0].inode = 0; + + for (int i = 0; i < FDFS_MAX_DIR_ENTRIES; i++) + dir_nodes[0].entries[i].used = false; +} + +inode_t DirManager::resolve_path(const char* path) { + std::shared_lock lock(tree_lock); + + if (strcmp(path, "/") == 0) + return 0; + + inode_t current = 0; + const char* p = path; + + char token[FDFS_MAX_NAME_LEN]; + int idx = 0; + + while (*p) { + if (*p == '/') { + token[idx] = '\0'; + idx = 0; + + if (token[0] != '\0') { + bool found = false; + for (int i = 0; i < FDFS_MAX_DIR_ENTRIES; i++) { + auto& e = dir_nodes[current].entries[i]; + if (e.used && strcmp(e.name, token) == 0) { + current = e.inode; + found = true; + break; + } + } + if (!found) return static_cast(-1); + } + } else { + token[idx++] = *p; + } + p++; + } + + token[idx] = '\0'; + if (token[0] != '\0') { + for (int i = 0; i < FDFS_MAX_DIR_ENTRIES; i++) { + auto& e = dir_nodes[current].entries[i]; + if (e.used && strcmp(e.name, token) == 0) + return e.inode; + } + return static_cast(-1); + } + + return current; +} + +bool DirManager::add_entry(inode_t parent, const char* name, inode_t inode) { + std::unique_lock lock(tree_lock); + + if (inode >= FDFS_MAX_INODES || inode_used[inode]) + return false; + + for (int i = 0; i < FDFS_MAX_DIR_ENTRIES; i++) { + if (!dir_nodes[parent].entries[i].used) { + strcpy(dir_nodes[parent].entries[i].name, name); + dir_nodes[parent].entries[i].inode = inode; + dir_nodes[parent].entries[i].used = true; + + inode_used[inode] = true; + dir_nodes[inode].inode = inode; + + for (int j = 0; j < FDFS_MAX_DIR_ENTRIES; j++) + dir_nodes[inode].entries[j].used = false; + + return true; + } + } + return false; +} + +bool DirManager::remove_entry(inode_t parent, const char* name) { + std::unique_lock lock(tree_lock); + + for (int i = 0; i < FDFS_MAX_DIR_ENTRIES; i++) { + auto& e = dir_nodes[parent].entries[i]; + if (e.used && strcmp(e.name, name) == 0) { + inode_used[e.inode] = false; + e.used = false; + return true; + } + } + return false; +} diff --git a/src/src/daemon/hash_store.cpp b/src/src/daemon/hash_store.cpp new file mode 100644 index 0000000..87772d3 --- /dev/null +++ b/src/src/daemon/hash_store.cpp @@ -0,0 +1,96 @@ +#include "daemon/hash_store.h" +#include +#include + +HashStore::HashStore() { + for (int i = 0; i < FDFS_HASH_BUCKETS; i++) + buckets[i] = -1; + + for (int i = 0; i < FDFS_HASH_CHAINS; i++) + chain[i].used = false; +} + +unsigned long HashStore::compute_hash(const char* data) { + unsigned long hash = 5381; + int c; + + while ((c = *data++)) + hash = ((hash << 5) + hash) + c; + + return hash; +} + +int HashStore::allocate_node() { + for (int i = 0; i < FDFS_HASH_CHAINS; i++) { + if (!chain[i].used) { + chain[i].used = true; + chain[i].next = -1; + return i; + } + } + return -1; +} + +bool HashStore::insert(uint64_t key, const char* data) { + std::lock_guard lock(hash_lock); + + unsigned long h = compute_hash(data); + int bucket = h % FDFS_HASH_BUCKETS; + + int node = allocate_node(); + if (node == -1) + return false; + + chain[node].key = key; + snprintf(chain[node].hash, FDFS_HASH_LEN, "%lx", h); + + chain[node].next = buckets[bucket]; + buckets[bucket] = node; + + return true; +} + +bool HashStore::verify(uint64_t key, const char* data) { + std::lock_guard lock(hash_lock); + + unsigned long h = compute_hash(data); + char expected[FDFS_HASH_LEN]; + snprintf(expected, FDFS_HASH_LEN, "%lx", h); + + int bucket = h % FDFS_HASH_BUCKETS; + int curr = buckets[bucket]; + + while (curr != -1) { + if (chain[curr].used && + chain[curr].key == key && + strcmp(chain[curr].hash, expected) == 0) + return true; + + curr = chain[curr].next; + } + return false; +} + +bool HashStore::remove(uint64_t key) { + std::lock_guard lock(hash_lock); + + for (int b = 0; b < FDFS_HASH_BUCKETS; b++) { + int curr = buckets[b]; + int prev = -1; + + while (curr != -1) { + if (chain[curr].used && chain[curr].key == key) { + if (prev == -1) + buckets[b] = chain[curr].next; + else + chain[prev].next = chain[curr].next; + + chain[curr].used = false; + return true; + } + prev = curr; + curr = chain[curr].next; + } + } + return false; +} diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt new file mode 100644 index 0000000..cf50eaa --- /dev/null +++ b/test/CMakeLists.txt @@ -0,0 +1,20 @@ +enable_testing() + +find_package(GTest REQUIRED) +include_directories(${GTEST_INCLUDE_DIRS}) +include_directories(${PROJECT_SOURCE_DIR}/src/include) + +add_executable(fdfs_tests + test_dir_manager.cpp + test_hash_store.cpp + ../src/src/daemon/dir_manager.cpp + ../src/src/daemon/hash_store.cpp +) + +target_link_libraries(fdfs_tests + gtest + gtest_main + pthread +) + +add_test(NAME fdfs_tests COMMAND fdfs_tests) diff --git a/test/test_dir_manager.cpp b/test/test_dir_manager.cpp new file mode 100644 index 0000000..9c7b792 --- /dev/null +++ b/test/test_dir_manager.cpp @@ -0,0 +1,11 @@ +#include +#include "daemon/dir_manager.h" + +TEST(DirManagerTest, AddAndResolve) { + DirManager dm; + + EXPECT_TRUE(dm.add_entry(0, "home", 1)); + EXPECT_TRUE(dm.add_entry(1, "file.txt", 2)); + + EXPECT_EQ(dm.resolve_path("/home/file.txt"), 2); +} diff --git a/test/test_hash_store.cpp b/test/test_hash_store.cpp new file mode 100644 index 0000000..34c2029 --- /dev/null +++ b/test/test_hash_store.cpp @@ -0,0 +1,10 @@ +#include +#include "daemon/hash_store.h" + +TEST(HashStoreTest, InsertAndVerify) { + HashStore hs; + + EXPECT_TRUE(hs.insert(10, "hello")); + EXPECT_TRUE(hs.verify(10, "hello")); + EXPECT_FALSE(hs.verify(10, "world")); +} From 186a0d60ed02409c2091b7f6519541e70d81a704 Mon Sep 17 00:00:00 2001 From: Diya Limbani Date: Sun, 25 Jan 2026 13:47:28 +0530 Subject: [PATCH 04/15] Updated dir_manager and hashing --- build/CMakeFiles/CMakeConfigureLog.yaml | 180 +- .../FastDevFS.dir/compiler_depend.internal | 549 ++++++ .../FastDevFS.dir/compiler_depend.make | 1029 ++++++++++- build/CMakeFiles/Makefile.cmake | 2 +- build/CMakeFiles/Makefile2 | 32 +- build/CMakeFiles/Progress/1 | 1 + build/CMakeFiles/Progress/2 | 1 + build/CMakeFiles/Progress/3 | 1 + build/CMakeFiles/Progress/4 | 1 + build/CMakeFiles/Progress/5 | 1 + build/CMakeFiles/Progress/7 | 1 + build/CMakeFiles/Progress/count.txt | 1 + build/CMakeFiles/TargetDirectories.txt | 2 +- build/Makefile | 16 +- .../test/CMakeFiles/fdfs_tests.dir/build.make | 158 -- .../fdfs_tests.dir/cmake_clean.cmake | 17 - .../fdfs_tests.dir/compiler_depend.make | 2 - build/test/CMakeFiles/fdfs_tests.dir/link.txt | 1 - .../DependInfo.cmake | 8 +- .../test/CMakeFiles/run_tests.dir/build.make | 160 ++ .../run_tests.dir/cmake_clean.cmake | 17 + .../run_tests.dir/compiler_depend.internal | 809 +++++++++ .../run_tests.dir/compiler_depend.make | 1515 +++++++++++++++++ .../compiler_depend.ts | 2 +- .../depend.make | 2 +- .../flags.make | 4 +- build/test/CMakeFiles/run_tests.dir/link.txt | 1 + .../progress.make | 0 build/test/CTestTestfile.cmake | 2 - build/test/Makefile | 72 +- build/test/fdfs_tests | Bin 567368 -> 0 bytes build/test/run_tests | Bin 0 -> 792352 bytes src/include/daemon/dir_manager.h | 69 +- src/include/daemon/hash.h | 34 + src/include/daemon/hash_store.h | 38 - src/src/daemon/dir_manager.cpp | 220 ++- src/src/daemon/hash.cpp | 86 + src/src/daemon/hash_store.cpp | 96 -- test/CMakeLists.txt | 20 +- test/test_dir_manager.cpp | 231 ++- test/test_hash_store.cpp | 213 ++- 41 files changed, 4989 insertions(+), 605 deletions(-) create mode 100644 build/CMakeFiles/FastDevFS.dir/compiler_depend.internal create mode 100644 build/CMakeFiles/Progress/1 create mode 100644 build/CMakeFiles/Progress/2 create mode 100644 build/CMakeFiles/Progress/3 create mode 100644 build/CMakeFiles/Progress/4 create mode 100644 build/CMakeFiles/Progress/5 create mode 100644 build/CMakeFiles/Progress/7 create mode 100644 build/CMakeFiles/Progress/count.txt delete mode 100644 build/test/CMakeFiles/fdfs_tests.dir/build.make delete mode 100644 build/test/CMakeFiles/fdfs_tests.dir/cmake_clean.cmake delete mode 100644 build/test/CMakeFiles/fdfs_tests.dir/compiler_depend.make delete mode 100644 build/test/CMakeFiles/fdfs_tests.dir/link.txt rename build/test/CMakeFiles/{fdfs_tests.dir => run_tests.dir}/DependInfo.cmake (57%) create mode 100644 build/test/CMakeFiles/run_tests.dir/build.make create mode 100644 build/test/CMakeFiles/run_tests.dir/cmake_clean.cmake create mode 100644 build/test/CMakeFiles/run_tests.dir/compiler_depend.internal create mode 100644 build/test/CMakeFiles/run_tests.dir/compiler_depend.make rename build/test/CMakeFiles/{fdfs_tests.dir => run_tests.dir}/compiler_depend.ts (86%) rename build/test/CMakeFiles/{fdfs_tests.dir => run_tests.dir}/depend.make (55%) rename build/test/CMakeFiles/{fdfs_tests.dir => run_tests.dir}/flags.make (60%) create mode 100644 build/test/CMakeFiles/run_tests.dir/link.txt rename build/test/CMakeFiles/{fdfs_tests.dir => run_tests.dir}/progress.make (100%) delete mode 100755 build/test/fdfs_tests create mode 100755 build/test/run_tests create mode 100644 src/include/daemon/hash.h delete mode 100644 src/include/daemon/hash_store.h create mode 100644 src/src/daemon/hash.cpp delete mode 100644 src/src/daemon/hash_store.cpp diff --git a/build/CMakeFiles/CMakeConfigureLog.yaml b/build/CMakeFiles/CMakeConfigureLog.yaml index e04d3f8..0f20705 100644 --- a/build/CMakeFiles/CMakeConfigureLog.yaml +++ b/build/CMakeFiles/CMakeConfigureLog.yaml @@ -61,8 +61,8 @@ events: checks: - "Detecting C compiler ABI info" directories: - source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-Ei42Je" - binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-Ei42Je" + source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-2P1v15" + binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-2P1v15" cmakeVariables: CMAKE_C_FLAGS: "" CMAKE_C_FLAGS_DEBUG: "-g" @@ -71,13 +71,13 @@ events: variable: "CMAKE_C_ABI_COMPILED" cached: true stdout: | - Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-Ei42Je' + Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-2P1v15' - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_e5c7c/fast - /usr/bin/gmake -f CMakeFiles/cmTC_e5c7c.dir/build.make CMakeFiles/cmTC_e5c7c.dir/build - gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-Ei42Je' - Building C object CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o - /usr/bin/cc -v -o CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c + Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_2d014/fast + /usr/bin/gmake -f CMakeFiles/cmTC_2d014.dir/build.make CMakeFiles/cmTC_2d014.dir/build + gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-2P1v15' + Building C object CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o + /usr/bin/cc -v -o CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c Using built-in specs. COLLECT_GCC=/usr/bin/cc OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa @@ -87,8 +87,8 @@ events: Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_e5c7c.dir/' - /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_e5c7c.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccvmWq4u.s + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_2d014.dir/' + /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_2d014.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cckcR9kO.s GNU C17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu) compiled by GNU C version 13.3.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP @@ -105,15 +105,15 @@ events: /usr/include End of search list. Compiler executable checksum: 38987c28e967c64056a6454abdef726e - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_e5c7c.dir/' - as -v --64 -o CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o /tmp/ccvmWq4u.s + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_2d014.dir/' + as -v --64 -o CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o /tmp/cckcR9kO.s GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42 COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.' - Linking C executable cmTC_e5c7c - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e5c7c.dir/link.txt --verbose=1 - /usr/bin/cc -v CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o -o cmTC_e5c7c + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.' + Linking C executable cmTC_2d014 + /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_2d014.dir/link.txt --verbose=1 + /usr/bin/cc -v CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o -o cmTC_2d014 Using built-in specs. COLLECT_GCC=/usr/bin/cc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper @@ -126,10 +126,10 @@ events: gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_e5c7c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_e5c7c.' - /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccNcOB0s.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_e5c7c /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_e5c7c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_e5c7c.' - gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-Ei42Je' + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_2d014' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_2d014.' + /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccgvNuzs.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_2d014 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_2d014' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_2d014.' + gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-2P1v15' exitCode: 0 - @@ -163,13 +163,13 @@ events: message: | Parsed C implicit link information: link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] - ignore line: [Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-Ei42Je'] + ignore line: [Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-2P1v15'] ignore line: [] - ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_e5c7c/fast] - ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_e5c7c.dir/build.make CMakeFiles/cmTC_e5c7c.dir/build] - ignore line: [gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-Ei42Je'] - ignore line: [Building C object CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o] - ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c] + ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_2d014/fast] + ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_2d014.dir/build.make CMakeFiles/cmTC_2d014.dir/build] + ignore line: [gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-2P1v15'] + ignore line: [Building C object CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/cc] ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] @@ -179,8 +179,8 @@ events: ignore line: [Thread model: posix] ignore line: [Supported LTO compression algorithms: zlib zstd] ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_e5c7c.dir/'] - ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_e5c7c.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccvmWq4u.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_2d014.dir/'] + ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_2d014.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cckcR9kO.s] ignore line: [GNU C17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu)] ignore line: [ compiled by GNU C version 13.3.0 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] ignore line: [] @@ -197,15 +197,15 @@ events: ignore line: [ /usr/include] ignore line: [End of search list.] ignore line: [Compiler executable checksum: 38987c28e967c64056a6454abdef726e] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_e5c7c.dir/'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o /tmp/ccvmWq4u.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_2d014.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o /tmp/cckcR9kO.s] ignore line: [GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.'] - ignore line: [Linking C executable cmTC_e5c7c] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e5c7c.dir/link.txt --verbose=1] - ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o -o cmTC_e5c7c ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.'] + ignore line: [Linking C executable cmTC_2d014] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_2d014.dir/link.txt --verbose=1] + ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o -o cmTC_2d014 ] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/cc] ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] @@ -218,13 +218,13 @@ events: ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_e5c7c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_e5c7c.'] - link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccNcOB0s.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_e5c7c /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_2d014' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_2d014.'] + link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccgvNuzs.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_2d014 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] arg [/usr/libexec/gcc/x86_64-linux-gnu/13/collect2] ==> ignore arg [-plugin] ==> ignore arg [/usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so] ==> ignore arg [-plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/ccNcOB0s.res] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccgvNuzs.res] ==> ignore arg [-plugin-opt=-pass-through=-lgcc] ==> ignore arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore arg [-plugin-opt=-pass-through=-lc] ==> ignore @@ -242,7 +242,7 @@ events: arg [-znow] ==> ignore arg [-zrelro] ==> ignore arg [-o] ==> ignore - arg [cmTC_e5c7c] ==> ignore + arg [cmTC_2d014] ==> ignore arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] @@ -254,7 +254,7 @@ events: arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..] - arg [CMakeFiles/cmTC_e5c7c.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o] ==> ignore arg [-lgcc] ==> lib [gcc] arg [--push-state] ==> ignore arg [--as-needed] ==> ignore @@ -294,8 +294,8 @@ events: checks: - "Detecting CXX compiler ABI info" directories: - source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-glMMhS" - binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-glMMhS" + source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-NrjzVY" + binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-NrjzVY" cmakeVariables: CMAKE_CXX_FLAGS: "" CMAKE_CXX_FLAGS_DEBUG: "-g" @@ -304,13 +304,13 @@ events: variable: "CMAKE_CXX_ABI_COMPILED" cached: true stdout: | - Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-glMMhS' + Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-NrjzVY' - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_a45a3/fast - /usr/bin/gmake -f CMakeFiles/cmTC_a45a3.dir/build.make CMakeFiles/cmTC_a45a3.dir/build - gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-glMMhS' - Building CXX object CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o - /usr/bin/c++ -v -o CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp + Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_a35c9/fast + /usr/bin/gmake -f CMakeFiles/cmTC_a35c9.dir/build.make CMakeFiles/cmTC_a35c9.dir/build + gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-NrjzVY' + Building CXX object CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o + /usr/bin/c++ -v -o CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp Using built-in specs. COLLECT_GCC=/usr/bin/c++ OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa @@ -320,8 +320,8 @@ events: Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a45a3.dir/' - /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_a45a3.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccNLqEuW.s + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a35c9.dir/' + /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_a35c9.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccZ6x6JC.s GNU C++17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu) compiled by GNU C version 13.3.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP @@ -342,15 +342,15 @@ events: /usr/include End of search list. Compiler executable checksum: c81c05345ce537099dafd5580045814a - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a45a3.dir/' - as -v --64 -o CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccNLqEuW.s + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a35c9.dir/' + as -v --64 -o CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccZ6x6JC.s GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42 COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.' - Linking CXX executable cmTC_a45a3 - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a45a3.dir/link.txt --verbose=1 - /usr/bin/c++ -v CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_a45a3 + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.' + Linking CXX executable cmTC_a35c9 + /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a35c9.dir/link.txt --verbose=1 + /usr/bin/c++ -v CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_a35c9 Using built-in specs. COLLECT_GCC=/usr/bin/c++ COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper @@ -363,10 +363,10 @@ events: gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_a45a3' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_a45a3.' - /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccjdnr45.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_a45a3 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_a45a3' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_a45a3.' - gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-glMMhS' + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_a35c9' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_a35c9.' + /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccxwpVpW.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_a35c9 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_a35c9' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_a35c9.' + gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-NrjzVY' exitCode: 0 - @@ -406,13 +406,13 @@ events: message: | Parsed CXX implicit link information: link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] - ignore line: [Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-glMMhS'] + ignore line: [Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-NrjzVY'] ignore line: [] - ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_a45a3/fast] - ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_a45a3.dir/build.make CMakeFiles/cmTC_a45a3.dir/build] - ignore line: [gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-glMMhS'] - ignore line: [Building CXX object CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o] - ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_a35c9/fast] + ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_a35c9.dir/build.make CMakeFiles/cmTC_a35c9.dir/build] + ignore line: [gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-NrjzVY'] + ignore line: [Building CXX object CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/c++] ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] @@ -422,8 +422,8 @@ events: ignore line: [Thread model: posix] ignore line: [Supported LTO compression algorithms: zlib zstd] ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a45a3.dir/'] - ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_a45a3.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccNLqEuW.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a35c9.dir/'] + ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_a35c9.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccZ6x6JC.s] ignore line: [GNU C++17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu)] ignore line: [ compiled by GNU C version 13.3.0 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] ignore line: [] @@ -444,15 +444,15 @@ events: ignore line: [ /usr/include] ignore line: [End of search list.] ignore line: [Compiler executable checksum: c81c05345ce537099dafd5580045814a] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a45a3.dir/'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccNLqEuW.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a35c9.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccZ6x6JC.s] ignore line: [GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.'] - ignore line: [Linking CXX executable cmTC_a45a3] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a45a3.dir/link.txt --verbose=1] - ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_a45a3 ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [Linking CXX executable cmTC_a35c9] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a35c9.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_a35c9 ] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/c++] ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] @@ -465,13 +465,13 @@ events: ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_a45a3' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_a45a3.'] - link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccjdnr45.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_a45a3 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_a35c9' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_a35c9.'] + link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccxwpVpW.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_a35c9 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] arg [/usr/libexec/gcc/x86_64-linux-gnu/13/collect2] ==> ignore arg [-plugin] ==> ignore arg [/usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so] ==> ignore arg [-plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/ccjdnr45.res] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccxwpVpW.res] ==> ignore arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore arg [-plugin-opt=-pass-through=-lgcc] ==> ignore arg [-plugin-opt=-pass-through=-lc] ==> ignore @@ -489,7 +489,7 @@ events: arg [-znow] ==> ignore arg [-zrelro] ==> ignore arg [-o] ==> ignore - arg [cmTC_a45a3] ==> ignore + arg [cmTC_a35c9] ==> ignore arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] @@ -501,7 +501,7 @@ events: arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..] - arg [CMakeFiles/cmTC_a45a3.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore arg [-lstdc++] ==> lib [stdc++] arg [-lm] ==> lib [m] arg [-lgcc_s] ==> lib [gcc_s] @@ -540,8 +540,8 @@ events: - "/usr/share/cmake-3.28/Modules/FindGTest.cmake:194 (find_package)" - "test/CMakeLists.txt:3 (find_package)" directories: - source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-AUdAuS" - binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-AUdAuS" + source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-ggspOs" + binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-ggspOs" cmakeVariables: CMAKE_C_FLAGS: "" CMAKE_C_FLAGS_DEBUG: "-g" @@ -550,17 +550,17 @@ events: variable: "CMAKE_HAVE_LIBC_PTHREAD" cached: true stdout: | - Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-AUdAuS' + Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-ggspOs' - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_dafdd/fast - /usr/bin/gmake -f CMakeFiles/cmTC_dafdd.dir/build.make CMakeFiles/cmTC_dafdd.dir/build - gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-AUdAuS' - Building C object CMakeFiles/cmTC_dafdd.dir/src.c.o - /usr/bin/cc -DCMAKE_HAVE_LIBC_PTHREAD -o CMakeFiles/cmTC_dafdd.dir/src.c.o -c /home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-AUdAuS/src.c - Linking C executable cmTC_dafdd - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_dafdd.dir/link.txt --verbose=1 - /usr/bin/cc CMakeFiles/cmTC_dafdd.dir/src.c.o -o cmTC_dafdd - gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-AUdAuS' + Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_519ac/fast + /usr/bin/gmake -f CMakeFiles/cmTC_519ac.dir/build.make CMakeFiles/cmTC_519ac.dir/build + gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-ggspOs' + Building C object CMakeFiles/cmTC_519ac.dir/src.c.o + /usr/bin/cc -DCMAKE_HAVE_LIBC_PTHREAD -o CMakeFiles/cmTC_519ac.dir/src.c.o -c /home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-ggspOs/src.c + Linking C executable cmTC_519ac + /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_519ac.dir/link.txt --verbose=1 + /usr/bin/cc CMakeFiles/cmTC_519ac.dir/src.c.o -o cmTC_519ac + gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-ggspOs' exitCode: 0 ... diff --git a/build/CMakeFiles/FastDevFS.dir/compiler_depend.internal b/build/CMakeFiles/FastDevFS.dir/compiler_depend.internal new file mode 100644 index 0000000..4a17802 --- /dev/null +++ b/build/CMakeFiles/FastDevFS.dir/compiler_depend.internal @@ -0,0 +1,549 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.28 + +CMakeFiles/FastDevFS.dir/main.cpp.o + /home/diya_limbani/FastDevFs/main.cpp + /home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h + /home/diya_limbani/FastDevFs/src/include/fuse_functions/opendir.h + /home/diya_limbani/FastDevFs/src/include/fuse_functions/readdir.h + /usr/include/alloca.h + /usr/include/asm-generic/bitsperlong.h + /usr/include/asm-generic/errno-base.h + /usr/include/asm-generic/errno.h + /usr/include/asm-generic/int-ll64.h + /usr/include/asm-generic/posix_types.h + /usr/include/asm-generic/types.h + /usr/include/c++/13/backward/binders.h + /usr/include/c++/13/bit + /usr/include/c++/13/bits/alloc_traits.h + /usr/include/c++/13/bits/allocator.h + /usr/include/c++/13/bits/basic_ios.h + /usr/include/c++/13/bits/basic_ios.tcc + /usr/include/c++/13/bits/basic_string.h + /usr/include/c++/13/bits/basic_string.tcc + /usr/include/c++/13/bits/char_traits.h + /usr/include/c++/13/bits/charconv.h + /usr/include/c++/13/bits/concept_check.h + /usr/include/c++/13/bits/cpp_type_traits.h + /usr/include/c++/13/bits/cxxabi_forced.h + /usr/include/c++/13/bits/cxxabi_init_exception.h + /usr/include/c++/13/bits/exception.h + /usr/include/c++/13/bits/exception_defines.h + /usr/include/c++/13/bits/exception_ptr.h + /usr/include/c++/13/bits/functexcept.h + /usr/include/c++/13/bits/functional_hash.h + /usr/include/c++/13/bits/hash_bytes.h + /usr/include/c++/13/bits/invoke.h + /usr/include/c++/13/bits/ios_base.h + /usr/include/c++/13/bits/istream.tcc + /usr/include/c++/13/bits/locale_classes.h + /usr/include/c++/13/bits/locale_classes.tcc + /usr/include/c++/13/bits/locale_facets.h + /usr/include/c++/13/bits/locale_facets.tcc + /usr/include/c++/13/bits/localefwd.h + /usr/include/c++/13/bits/memory_resource.h + /usr/include/c++/13/bits/memoryfwd.h + /usr/include/c++/13/bits/move.h + /usr/include/c++/13/bits/nested_exception.h + /usr/include/c++/13/bits/new_allocator.h + /usr/include/c++/13/bits/ostream.tcc + /usr/include/c++/13/bits/ostream_insert.h + /usr/include/c++/13/bits/postypes.h + /usr/include/c++/13/bits/predefined_ops.h + /usr/include/c++/13/bits/ptr_traits.h + /usr/include/c++/13/bits/range_access.h + /usr/include/c++/13/bits/refwrap.h + /usr/include/c++/13/bits/requires_hosted.h + /usr/include/c++/13/bits/std_abs.h + /usr/include/c++/13/bits/stl_algobase.h + /usr/include/c++/13/bits/stl_construct.h + /usr/include/c++/13/bits/stl_function.h + /usr/include/c++/13/bits/stl_iterator.h + /usr/include/c++/13/bits/stl_iterator_base_funcs.h + /usr/include/c++/13/bits/stl_iterator_base_types.h + /usr/include/c++/13/bits/stl_pair.h + /usr/include/c++/13/bits/streambuf.tcc + /usr/include/c++/13/bits/streambuf_iterator.h + /usr/include/c++/13/bits/string_view.tcc + /usr/include/c++/13/bits/stringfwd.h + /usr/include/c++/13/bits/uses_allocator.h + /usr/include/c++/13/bits/uses_allocator_args.h + /usr/include/c++/13/bits/utility.h + /usr/include/c++/13/cctype + /usr/include/c++/13/cerrno + /usr/include/c++/13/clocale + /usr/include/c++/13/cstddef + /usr/include/c++/13/cstdio + /usr/include/c++/13/cstdlib + /usr/include/c++/13/cwchar + /usr/include/c++/13/cwctype + /usr/include/c++/13/debug/assertions.h + /usr/include/c++/13/debug/debug.h + /usr/include/c++/13/exception + /usr/include/c++/13/ext/alloc_traits.h + /usr/include/c++/13/ext/atomicity.h + /usr/include/c++/13/ext/numeric_traits.h + /usr/include/c++/13/ext/string_conversions.h + /usr/include/c++/13/ext/type_traits.h + /usr/include/c++/13/initializer_list + /usr/include/c++/13/ios + /usr/include/c++/13/iosfwd + /usr/include/c++/13/iostream + /usr/include/c++/13/istream + /usr/include/c++/13/new + /usr/include/c++/13/ostream + /usr/include/c++/13/pstl/pstl_config.h + /usr/include/c++/13/stdexcept + /usr/include/c++/13/streambuf + /usr/include/c++/13/string + /usr/include/c++/13/string_view + /usr/include/c++/13/system_error + /usr/include/c++/13/tuple + /usr/include/c++/13/type_traits + /usr/include/c++/13/typeinfo + /usr/include/ctype.h + /usr/include/endian.h + /usr/include/errno.h + /usr/include/fcntl.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/fuse3/fuse.h + /usr/include/fuse3/fuse_common.h + /usr/include/fuse3/fuse_log.h + /usr/include/fuse3/fuse_opt.h + /usr/include/fuse3/libfuse_config.h + /usr/include/linux/errno.h + /usr/include/linux/falloc.h + /usr/include/linux/posix_types.h + /usr/include/linux/stat.h + /usr/include/linux/stddef.h + /usr/include/linux/types.h + /usr/include/locale.h + /usr/include/pthread.h + /usr/include/sched.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/stdio.h + /usr/include/stdlib.h + /usr/include/time.h + /usr/include/wchar.h + /usr/include/wctype.h + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h + /usr/include/x86_64-linux-gnu/asm/errno.h + /usr/include/x86_64-linux-gnu/asm/posix_types.h + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h + /usr/include/x86_64-linux-gnu/asm/types.h + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/x86_64-linux-gnu/bits/byteswap.h + /usr/include/x86_64-linux-gnu/bits/cpu-set.h + /usr/include/x86_64-linux-gnu/bits/endian.h + /usr/include/x86_64-linux-gnu/bits/endianness.h + /usr/include/x86_64-linux-gnu/bits/errno.h + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h + /usr/include/x86_64-linux-gnu/bits/fcntl.h + /usr/include/x86_64-linux-gnu/bits/floatn-common.h + /usr/include/x86_64-linux-gnu/bits/floatn.h + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/locale.h + /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h + /usr/include/x86_64-linux-gnu/bits/sched.h + /usr/include/x86_64-linux-gnu/bits/select.h + /usr/include/x86_64-linux-gnu/bits/setjmp.h + /usr/include/x86_64-linux-gnu/bits/stat.h + /usr/include/x86_64-linux-gnu/bits/statvfs.h + /usr/include/x86_64-linux-gnu/bits/statx-generic.h + /usr/include/x86_64-linux-gnu/bits/statx.h + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h + /usr/include/x86_64-linux-gnu/bits/stdint-least.h + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h + /usr/include/x86_64-linux-gnu/bits/struct_stat.h + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h + /usr/include/x86_64-linux-gnu/bits/time.h + /usr/include/x86_64-linux-gnu/bits/time64.h + /usr/include/x86_64-linux-gnu/bits/timesize.h + /usr/include/x86_64-linux-gnu/bits/timex.h + /usr/include/x86_64-linux-gnu/bits/types.h + /usr/include/x86_64-linux-gnu/bits/types/FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h + /usr/include/x86_64-linux-gnu/bits/types/error_t.h + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h + /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h + /usr/include/x86_64-linux-gnu/bits/types/time_t.h + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h + /usr/include/x86_64-linux-gnu/bits/typesizes.h + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h + /usr/include/x86_64-linux-gnu/bits/uio-ext.h + /usr/include/x86_64-linux-gnu/bits/uio_lim.h + /usr/include/x86_64-linux-gnu/bits/waitflags.h + /usr/include/x86_64-linux-gnu/bits/waitstatus.h + /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h + /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h + /usr/include/x86_64-linux-gnu/gnu/stubs.h + /usr/include/x86_64-linux-gnu/sys/cdefs.h + /usr/include/x86_64-linux-gnu/sys/select.h + /usr/include/x86_64-linux-gnu/sys/single_threaded.h + /usr/include/x86_64-linux-gnu/sys/stat.h + /usr/include/x86_64-linux-gnu/sys/statvfs.h + /usr/include/x86_64-linux-gnu/sys/types.h + /usr/include/x86_64-linux-gnu/sys/uio.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o + /home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp + /home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h + /usr/include/asm-generic/bitsperlong.h + /usr/include/asm-generic/errno-base.h + /usr/include/asm-generic/errno.h + /usr/include/asm-generic/int-ll64.h + /usr/include/asm-generic/posix_types.h + /usr/include/asm-generic/types.h + /usr/include/c++/13/cerrno + /usr/include/c++/13/cstring + /usr/include/c++/13/pstl/pstl_config.h + /usr/include/endian.h + /usr/include/errno.h + /usr/include/fcntl.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/fuse3/fuse.h + /usr/include/fuse3/fuse_common.h + /usr/include/fuse3/fuse_log.h + /usr/include/fuse3/fuse_opt.h + /usr/include/fuse3/libfuse_config.h + /usr/include/linux/close_range.h + /usr/include/linux/errno.h + /usr/include/linux/falloc.h + /usr/include/linux/posix_types.h + /usr/include/linux/stat.h + /usr/include/linux/stddef.h + /usr/include/linux/types.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/time.h + /usr/include/unistd.h + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h + /usr/include/x86_64-linux-gnu/asm/errno.h + /usr/include/x86_64-linux-gnu/asm/posix_types.h + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h + /usr/include/x86_64-linux-gnu/asm/types.h + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/x86_64-linux-gnu/bits/byteswap.h + /usr/include/x86_64-linux-gnu/bits/confname.h + /usr/include/x86_64-linux-gnu/bits/endian.h + /usr/include/x86_64-linux-gnu/bits/endianness.h + /usr/include/x86_64-linux-gnu/bits/environments.h + /usr/include/x86_64-linux-gnu/bits/errno.h + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h + /usr/include/x86_64-linux-gnu/bits/fcntl.h + /usr/include/x86_64-linux-gnu/bits/getopt_core.h + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/posix_opt.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h + /usr/include/x86_64-linux-gnu/bits/select.h + /usr/include/x86_64-linux-gnu/bits/stat.h + /usr/include/x86_64-linux-gnu/bits/statvfs.h + /usr/include/x86_64-linux-gnu/bits/statx-generic.h + /usr/include/x86_64-linux-gnu/bits/statx.h + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h + /usr/include/x86_64-linux-gnu/bits/stdint-least.h + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h + /usr/include/x86_64-linux-gnu/bits/struct_stat.h + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h + /usr/include/x86_64-linux-gnu/bits/time.h + /usr/include/x86_64-linux-gnu/bits/time64.h + /usr/include/x86_64-linux-gnu/bits/timesize.h + /usr/include/x86_64-linux-gnu/bits/timex.h + /usr/include/x86_64-linux-gnu/bits/types.h + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h + /usr/include/x86_64-linux-gnu/bits/types/error_t.h + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h + /usr/include/x86_64-linux-gnu/bits/types/time_t.h + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h + /usr/include/x86_64-linux-gnu/bits/typesizes.h + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h + /usr/include/x86_64-linux-gnu/bits/uio-ext.h + /usr/include/x86_64-linux-gnu/bits/uio_lim.h + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h + /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h + /usr/include/x86_64-linux-gnu/gnu/stubs.h + /usr/include/x86_64-linux-gnu/sys/cdefs.h + /usr/include/x86_64-linux-gnu/sys/select.h + /usr/include/x86_64-linux-gnu/sys/stat.h + /usr/include/x86_64-linux-gnu/sys/statvfs.h + /usr/include/x86_64-linux-gnu/sys/types.h + /usr/include/x86_64-linux-gnu/sys/uio.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o + /home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp + /home/diya_limbani/FastDevFs/src/include/fuse_functions/opendir.h + /usr/include/asm-generic/bitsperlong.h + /usr/include/asm-generic/errno-base.h + /usr/include/asm-generic/errno.h + /usr/include/asm-generic/int-ll64.h + /usr/include/asm-generic/posix_types.h + /usr/include/asm-generic/types.h + /usr/include/c++/13/cerrno + /usr/include/c++/13/cstring + /usr/include/c++/13/pstl/pstl_config.h + /usr/include/endian.h + /usr/include/errno.h + /usr/include/fcntl.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/fuse3/fuse.h + /usr/include/fuse3/fuse_common.h + /usr/include/fuse3/fuse_log.h + /usr/include/fuse3/fuse_opt.h + /usr/include/fuse3/libfuse_config.h + /usr/include/linux/errno.h + /usr/include/linux/falloc.h + /usr/include/linux/posix_types.h + /usr/include/linux/stat.h + /usr/include/linux/stddef.h + /usr/include/linux/types.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/time.h + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h + /usr/include/x86_64-linux-gnu/asm/errno.h + /usr/include/x86_64-linux-gnu/asm/posix_types.h + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h + /usr/include/x86_64-linux-gnu/asm/types.h + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/x86_64-linux-gnu/bits/byteswap.h + /usr/include/x86_64-linux-gnu/bits/endian.h + /usr/include/x86_64-linux-gnu/bits/endianness.h + /usr/include/x86_64-linux-gnu/bits/errno.h + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h + /usr/include/x86_64-linux-gnu/bits/fcntl.h + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h + /usr/include/x86_64-linux-gnu/bits/select.h + /usr/include/x86_64-linux-gnu/bits/stat.h + /usr/include/x86_64-linux-gnu/bits/statvfs.h + /usr/include/x86_64-linux-gnu/bits/statx-generic.h + /usr/include/x86_64-linux-gnu/bits/statx.h + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h + /usr/include/x86_64-linux-gnu/bits/stdint-least.h + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h + /usr/include/x86_64-linux-gnu/bits/struct_stat.h + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h + /usr/include/x86_64-linux-gnu/bits/time.h + /usr/include/x86_64-linux-gnu/bits/time64.h + /usr/include/x86_64-linux-gnu/bits/timesize.h + /usr/include/x86_64-linux-gnu/bits/timex.h + /usr/include/x86_64-linux-gnu/bits/types.h + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h + /usr/include/x86_64-linux-gnu/bits/types/error_t.h + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h + /usr/include/x86_64-linux-gnu/bits/types/time_t.h + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h + /usr/include/x86_64-linux-gnu/bits/typesizes.h + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h + /usr/include/x86_64-linux-gnu/bits/uio-ext.h + /usr/include/x86_64-linux-gnu/bits/uio_lim.h + /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h + /usr/include/x86_64-linux-gnu/gnu/stubs.h + /usr/include/x86_64-linux-gnu/sys/cdefs.h + /usr/include/x86_64-linux-gnu/sys/select.h + /usr/include/x86_64-linux-gnu/sys/stat.h + /usr/include/x86_64-linux-gnu/sys/statvfs.h + /usr/include/x86_64-linux-gnu/sys/types.h + /usr/include/x86_64-linux-gnu/sys/uio.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o + /home/diya_limbani/FastDevFs/src/src/fuse_functions/readdir.cpp + /home/diya_limbani/FastDevFs/src/include/fuse_functions/readdir.h + /usr/include/asm-generic/bitsperlong.h + /usr/include/asm-generic/errno-base.h + /usr/include/asm-generic/errno.h + /usr/include/asm-generic/int-ll64.h + /usr/include/asm-generic/posix_types.h + /usr/include/asm-generic/types.h + /usr/include/c++/13/cerrno + /usr/include/c++/13/cstring + /usr/include/c++/13/pstl/pstl_config.h + /usr/include/endian.h + /usr/include/errno.h + /usr/include/fcntl.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/fuse3/fuse.h + /usr/include/fuse3/fuse_common.h + /usr/include/fuse3/fuse_log.h + /usr/include/fuse3/fuse_opt.h + /usr/include/fuse3/libfuse_config.h + /usr/include/linux/errno.h + /usr/include/linux/falloc.h + /usr/include/linux/posix_types.h + /usr/include/linux/stat.h + /usr/include/linux/stddef.h + /usr/include/linux/types.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/time.h + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h + /usr/include/x86_64-linux-gnu/asm/errno.h + /usr/include/x86_64-linux-gnu/asm/posix_types.h + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h + /usr/include/x86_64-linux-gnu/asm/types.h + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/x86_64-linux-gnu/bits/byteswap.h + /usr/include/x86_64-linux-gnu/bits/endian.h + /usr/include/x86_64-linux-gnu/bits/endianness.h + /usr/include/x86_64-linux-gnu/bits/errno.h + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h + /usr/include/x86_64-linux-gnu/bits/fcntl.h + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h + /usr/include/x86_64-linux-gnu/bits/select.h + /usr/include/x86_64-linux-gnu/bits/stat.h + /usr/include/x86_64-linux-gnu/bits/statvfs.h + /usr/include/x86_64-linux-gnu/bits/statx-generic.h + /usr/include/x86_64-linux-gnu/bits/statx.h + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h + /usr/include/x86_64-linux-gnu/bits/stdint-least.h + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h + /usr/include/x86_64-linux-gnu/bits/struct_stat.h + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h + /usr/include/x86_64-linux-gnu/bits/time.h + /usr/include/x86_64-linux-gnu/bits/time64.h + /usr/include/x86_64-linux-gnu/bits/timesize.h + /usr/include/x86_64-linux-gnu/bits/timex.h + /usr/include/x86_64-linux-gnu/bits/types.h + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h + /usr/include/x86_64-linux-gnu/bits/types/error_t.h + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h + /usr/include/x86_64-linux-gnu/bits/types/time_t.h + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h + /usr/include/x86_64-linux-gnu/bits/typesizes.h + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h + /usr/include/x86_64-linux-gnu/bits/uio-ext.h + /usr/include/x86_64-linux-gnu/bits/uio_lim.h + /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h + /usr/include/x86_64-linux-gnu/gnu/stubs.h + /usr/include/x86_64-linux-gnu/sys/cdefs.h + /usr/include/x86_64-linux-gnu/sys/select.h + /usr/include/x86_64-linux-gnu/sys/stat.h + /usr/include/x86_64-linux-gnu/sys/statvfs.h + /usr/include/x86_64-linux-gnu/sys/types.h + /usr/include/x86_64-linux-gnu/sys/uio.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + diff --git a/build/CMakeFiles/FastDevFS.dir/compiler_depend.make b/build/CMakeFiles/FastDevFS.dir/compiler_depend.make index 2d111fd..742a53d 100644 --- a/build/CMakeFiles/FastDevFS.dir/compiler_depend.make +++ b/build/CMakeFiles/FastDevFS.dir/compiler_depend.make @@ -1,2 +1,1027 @@ -# Empty compiler generated dependencies file for FastDevFS. -# This may be replaced when dependencies are built. +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.28 + +CMakeFiles/FastDevFS.dir/main.cpp.o: /home/diya_limbani/FastDevFs/main.cpp \ + /home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h \ + /home/diya_limbani/FastDevFs/src/include/fuse_functions/opendir.h \ + /home/diya_limbani/FastDevFs/src/include/fuse_functions/readdir.h \ + /usr/include/alloca.h \ + /usr/include/asm-generic/bitsperlong.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/int-ll64.h \ + /usr/include/asm-generic/posix_types.h \ + /usr/include/asm-generic/types.h \ + /usr/include/c++/13/backward/binders.h \ + /usr/include/c++/13/bit \ + /usr/include/c++/13/bits/alloc_traits.h \ + /usr/include/c++/13/bits/allocator.h \ + /usr/include/c++/13/bits/basic_ios.h \ + /usr/include/c++/13/bits/basic_ios.tcc \ + /usr/include/c++/13/bits/basic_string.h \ + /usr/include/c++/13/bits/basic_string.tcc \ + /usr/include/c++/13/bits/char_traits.h \ + /usr/include/c++/13/bits/charconv.h \ + /usr/include/c++/13/bits/concept_check.h \ + /usr/include/c++/13/bits/cpp_type_traits.h \ + /usr/include/c++/13/bits/cxxabi_forced.h \ + /usr/include/c++/13/bits/cxxabi_init_exception.h \ + /usr/include/c++/13/bits/exception.h \ + /usr/include/c++/13/bits/exception_defines.h \ + /usr/include/c++/13/bits/exception_ptr.h \ + /usr/include/c++/13/bits/functexcept.h \ + /usr/include/c++/13/bits/functional_hash.h \ + /usr/include/c++/13/bits/hash_bytes.h \ + /usr/include/c++/13/bits/invoke.h \ + /usr/include/c++/13/bits/ios_base.h \ + /usr/include/c++/13/bits/istream.tcc \ + /usr/include/c++/13/bits/locale_classes.h \ + /usr/include/c++/13/bits/locale_classes.tcc \ + /usr/include/c++/13/bits/locale_facets.h \ + /usr/include/c++/13/bits/locale_facets.tcc \ + /usr/include/c++/13/bits/localefwd.h \ + /usr/include/c++/13/bits/memory_resource.h \ + /usr/include/c++/13/bits/memoryfwd.h \ + /usr/include/c++/13/bits/move.h \ + /usr/include/c++/13/bits/nested_exception.h \ + /usr/include/c++/13/bits/new_allocator.h \ + /usr/include/c++/13/bits/ostream.tcc \ + /usr/include/c++/13/bits/ostream_insert.h \ + /usr/include/c++/13/bits/postypes.h \ + /usr/include/c++/13/bits/predefined_ops.h \ + /usr/include/c++/13/bits/ptr_traits.h \ + /usr/include/c++/13/bits/range_access.h \ + /usr/include/c++/13/bits/refwrap.h \ + /usr/include/c++/13/bits/requires_hosted.h \ + /usr/include/c++/13/bits/std_abs.h \ + /usr/include/c++/13/bits/stl_algobase.h \ + /usr/include/c++/13/bits/stl_construct.h \ + /usr/include/c++/13/bits/stl_function.h \ + /usr/include/c++/13/bits/stl_iterator.h \ + /usr/include/c++/13/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/13/bits/stl_iterator_base_types.h \ + /usr/include/c++/13/bits/stl_pair.h \ + /usr/include/c++/13/bits/streambuf.tcc \ + /usr/include/c++/13/bits/streambuf_iterator.h \ + /usr/include/c++/13/bits/string_view.tcc \ + /usr/include/c++/13/bits/stringfwd.h \ + /usr/include/c++/13/bits/uses_allocator.h \ + /usr/include/c++/13/bits/uses_allocator_args.h \ + /usr/include/c++/13/bits/utility.h \ + /usr/include/c++/13/cctype \ + /usr/include/c++/13/cerrno \ + /usr/include/c++/13/clocale \ + /usr/include/c++/13/cstddef \ + /usr/include/c++/13/cstdio \ + /usr/include/c++/13/cstdlib \ + /usr/include/c++/13/cwchar \ + /usr/include/c++/13/cwctype \ + /usr/include/c++/13/debug/assertions.h \ + /usr/include/c++/13/debug/debug.h \ + /usr/include/c++/13/exception \ + /usr/include/c++/13/ext/alloc_traits.h \ + /usr/include/c++/13/ext/atomicity.h \ + /usr/include/c++/13/ext/numeric_traits.h \ + /usr/include/c++/13/ext/string_conversions.h \ + /usr/include/c++/13/ext/type_traits.h \ + /usr/include/c++/13/initializer_list \ + /usr/include/c++/13/ios \ + /usr/include/c++/13/iosfwd \ + /usr/include/c++/13/iostream \ + /usr/include/c++/13/istream \ + /usr/include/c++/13/new \ + /usr/include/c++/13/ostream \ + /usr/include/c++/13/pstl/pstl_config.h \ + /usr/include/c++/13/stdexcept \ + /usr/include/c++/13/streambuf \ + /usr/include/c++/13/string \ + /usr/include/c++/13/string_view \ + /usr/include/c++/13/system_error \ + /usr/include/c++/13/tuple \ + /usr/include/c++/13/type_traits \ + /usr/include/c++/13/typeinfo \ + /usr/include/ctype.h \ + /usr/include/endian.h \ + /usr/include/errno.h \ + /usr/include/fcntl.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/fuse3/fuse.h \ + /usr/include/fuse3/fuse_common.h \ + /usr/include/fuse3/fuse_log.h \ + /usr/include/fuse3/fuse_opt.h \ + /usr/include/fuse3/libfuse_config.h \ + /usr/include/linux/errno.h \ + /usr/include/linux/falloc.h \ + /usr/include/linux/posix_types.h \ + /usr/include/linux/stat.h \ + /usr/include/linux/stddef.h \ + /usr/include/linux/types.h \ + /usr/include/locale.h \ + /usr/include/pthread.h \ + /usr/include/sched.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ + /usr/include/time.h \ + /usr/include/wchar.h \ + /usr/include/wctype.h \ + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ + /usr/include/x86_64-linux-gnu/asm/errno.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \ + /usr/include/x86_64-linux-gnu/asm/types.h \ + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/cpu-set.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endianness.h \ + /usr/include/x86_64-linux-gnu/bits/errno.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl.h \ + /usr/include/x86_64-linux-gnu/bits/floatn-common.h \ + /usr/include/x86_64-linux-gnu/bits/floatn.h \ + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h \ + /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/bits/stat.h \ + /usr/include/x86_64-linux-gnu/bits/statvfs.h \ + /usr/include/x86_64-linux-gnu/bits/statx-generic.h \ + /usr/include/x86_64-linux-gnu/bits/statx.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/x86_64-linux-gnu/bits/struct_stat.h \ + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/time64.h \ + /usr/include/x86_64-linux-gnu/bits/timesize.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ + /usr/include/x86_64-linux-gnu/bits/uio-ext.h \ + /usr/include/x86_64-linux-gnu/bits/uio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/sys/single_threaded.h \ + /usr/include/x86_64-linux-gnu/sys/stat.h \ + /usr/include/x86_64-linux-gnu/sys/statvfs.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/uio.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp \ + /home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h \ + /usr/include/asm-generic/bitsperlong.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/int-ll64.h \ + /usr/include/asm-generic/posix_types.h \ + /usr/include/asm-generic/types.h \ + /usr/include/c++/13/cerrno \ + /usr/include/c++/13/cstring \ + /usr/include/c++/13/pstl/pstl_config.h \ + /usr/include/endian.h \ + /usr/include/errno.h \ + /usr/include/fcntl.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/fuse3/fuse.h \ + /usr/include/fuse3/fuse_common.h \ + /usr/include/fuse3/fuse_log.h \ + /usr/include/fuse3/fuse_opt.h \ + /usr/include/fuse3/libfuse_config.h \ + /usr/include/linux/close_range.h \ + /usr/include/linux/errno.h \ + /usr/include/linux/falloc.h \ + /usr/include/linux/posix_types.h \ + /usr/include/linux/stat.h \ + /usr/include/linux/stddef.h \ + /usr/include/linux/types.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/time.h \ + /usr/include/unistd.h \ + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ + /usr/include/x86_64-linux-gnu/asm/errno.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \ + /usr/include/x86_64-linux-gnu/asm/types.h \ + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/confname.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endianness.h \ + /usr/include/x86_64-linux-gnu/bits/environments.h \ + /usr/include/x86_64-linux-gnu/bits/errno.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_core.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \ + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/stat.h \ + /usr/include/x86_64-linux-gnu/bits/statvfs.h \ + /usr/include/x86_64-linux-gnu/bits/statx-generic.h \ + /usr/include/x86_64-linux-gnu/bits/statx.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/x86_64-linux-gnu/bits/struct_stat.h \ + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/time64.h \ + /usr/include/x86_64-linux-gnu/bits/timesize.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ + /usr/include/x86_64-linux-gnu/bits/uio-ext.h \ + /usr/include/x86_64-linux-gnu/bits/uio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/sys/stat.h \ + /usr/include/x86_64-linux-gnu/sys/statvfs.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/uio.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp \ + /home/diya_limbani/FastDevFs/src/include/fuse_functions/opendir.h \ + /usr/include/asm-generic/bitsperlong.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/int-ll64.h \ + /usr/include/asm-generic/posix_types.h \ + /usr/include/asm-generic/types.h \ + /usr/include/c++/13/cerrno \ + /usr/include/c++/13/cstring \ + /usr/include/c++/13/pstl/pstl_config.h \ + /usr/include/endian.h \ + /usr/include/errno.h \ + /usr/include/fcntl.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/fuse3/fuse.h \ + /usr/include/fuse3/fuse_common.h \ + /usr/include/fuse3/fuse_log.h \ + /usr/include/fuse3/fuse_opt.h \ + /usr/include/fuse3/libfuse_config.h \ + /usr/include/linux/errno.h \ + /usr/include/linux/falloc.h \ + /usr/include/linux/posix_types.h \ + /usr/include/linux/stat.h \ + /usr/include/linux/stddef.h \ + /usr/include/linux/types.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ + /usr/include/x86_64-linux-gnu/asm/errno.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \ + /usr/include/x86_64-linux-gnu/asm/types.h \ + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endianness.h \ + /usr/include/x86_64-linux-gnu/bits/errno.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl.h \ + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/stat.h \ + /usr/include/x86_64-linux-gnu/bits/statvfs.h \ + /usr/include/x86_64-linux-gnu/bits/statx-generic.h \ + /usr/include/x86_64-linux-gnu/bits/statx.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/x86_64-linux-gnu/bits/struct_stat.h \ + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/time64.h \ + /usr/include/x86_64-linux-gnu/bits/timesize.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ + /usr/include/x86_64-linux-gnu/bits/uio-ext.h \ + /usr/include/x86_64-linux-gnu/bits/uio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/sys/stat.h \ + /usr/include/x86_64-linux-gnu/sys/statvfs.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/uio.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/readdir.cpp \ + /home/diya_limbani/FastDevFs/src/include/fuse_functions/readdir.h \ + /usr/include/asm-generic/bitsperlong.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/int-ll64.h \ + /usr/include/asm-generic/posix_types.h \ + /usr/include/asm-generic/types.h \ + /usr/include/c++/13/cerrno \ + /usr/include/c++/13/cstring \ + /usr/include/c++/13/pstl/pstl_config.h \ + /usr/include/endian.h \ + /usr/include/errno.h \ + /usr/include/fcntl.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/fuse3/fuse.h \ + /usr/include/fuse3/fuse_common.h \ + /usr/include/fuse3/fuse_log.h \ + /usr/include/fuse3/fuse_opt.h \ + /usr/include/fuse3/libfuse_config.h \ + /usr/include/linux/errno.h \ + /usr/include/linux/falloc.h \ + /usr/include/linux/posix_types.h \ + /usr/include/linux/stat.h \ + /usr/include/linux/stddef.h \ + /usr/include/linux/types.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ + /usr/include/x86_64-linux-gnu/asm/errno.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \ + /usr/include/x86_64-linux-gnu/asm/types.h \ + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endianness.h \ + /usr/include/x86_64-linux-gnu/bits/errno.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl.h \ + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/stat.h \ + /usr/include/x86_64-linux-gnu/bits/statvfs.h \ + /usr/include/x86_64-linux-gnu/bits/statx-generic.h \ + /usr/include/x86_64-linux-gnu/bits/statx.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/x86_64-linux-gnu/bits/struct_stat.h \ + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/time64.h \ + /usr/include/x86_64-linux-gnu/bits/timesize.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ + /usr/include/x86_64-linux-gnu/bits/uio-ext.h \ + /usr/include/x86_64-linux-gnu/bits/uio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/sys/stat.h \ + /usr/include/x86_64-linux-gnu/sys/statvfs.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/uio.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + + +/home/diya_limbani/FastDevFs/src/src/fuse_functions/readdir.cpp: + +/usr/include/x86_64-linux-gnu/bits/unistd_ext.h: + +/usr/include/x86_64-linux-gnu/bits/posix_opt.h: + +/usr/include/x86_64-linux-gnu/bits/getopt_core.h: + +/usr/include/linux/close_range.h: + +/usr/include/c++/13/cstring: + +/usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h: + +/home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp: + +/usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/sys/stat.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/uio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/uio-ext.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/types/timer_t.h: + +/usr/include/x86_64-linux-gnu/bits/types/time_t.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h: + +/usr/include/x86_64-linux-gnu/bits/wctype-wchar.h: + +/usr/include/x86_64-linux-gnu/bits/types/locale_t.h: + +/usr/include/x86_64-linux-gnu/bits/types/error_t.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h: + +/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h: + +/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h: + +/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h: + +/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h: + +/usr/include/x86_64-linux-gnu/bits/types/__FILE.h: + +/usr/include/x86_64-linux-gnu/bits/timesize.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/strings.h: + +/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h: + +/usr/include/x86_64-linux-gnu/bits/struct_mutex.h: + +/usr/include/x86_64-linux-gnu/bits/types/FILE.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/unistd.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h: + +/usr/include/x86_64-linux-gnu/bits/statx.h: + +/usr/include/x86_64-linux-gnu/bits/statx-generic.h: + +/usr/include/x86_64-linux-gnu/bits/statvfs.h: + +/usr/include/x86_64-linux-gnu/bits/stat.h: + +/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/bits/struct_stat.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h: + +/usr/include/x86_64-linux-gnu/bits/floatn.h: + +/usr/include/x86_64-linux-gnu/bits/types/wint_t.h: + +/usr/include/x86_64-linux-gnu/bits/floatn-common.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/cpu-set.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h: + +/usr/include/x86_64-linux-gnu/asm/types.h: + +/usr/include/x86_64-linux-gnu/asm/posix_types.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h: + +/usr/include/x86_64-linux-gnu/asm/errno.h: + +/usr/include/c++/13/bits/stl_construct.h: + +/usr/include/x86_64-linux-gnu/sys/uio.h: + +/usr/include/c++/13/bits/stl_algobase.h: + +/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h: + +/usr/include/c++/13/bits/refwrap.h: + +/usr/include/c++/13/debug/debug.h: + +/usr/include/c++/13/stdexcept: + +/usr/include/x86_64-linux-gnu/bits/environments.h: + +/usr/include/c++/13/bits/invoke.h: + +/usr/include/linux/stat.h: + +/usr/include/c++/13/bits/locale_classes.tcc: + +/usr/include/c++/13/bits/allocator.h: + +/usr/include/c++/13/bits/locale_classes.h: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types/clock_t.h: + +/usr/include/c++/13/bits/char_traits.h: + +/usr/include/c++/13/bits/ostream.tcc: + +/usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h: + +/usr/include/c++/13/bits/ios_base.h: + +/home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h: + +/home/diya_limbani/FastDevFs/src/include/fuse_functions/opendir.h: + +/usr/include/pthread.h: + +/usr/include/c++/13/bits/nested_exception.h: + +/usr/include/c++/13/bits/memory_resource.h: + +/usr/include/wchar.h: + +/usr/include/x86_64-linux-gnu/sys/statvfs.h: + +/usr/include/c++/13/bits/ostream_insert.h: + +/usr/include/c++/13/cwctype: + +/usr/include/c++/13/bits/predefined_ops.h: + +/usr/include/c++/13/iosfwd: + +/usr/include/c++/13/bits/stl_iterator_base_funcs.h: + +/usr/include/asm-generic/errno.h: + +/usr/include/c++/13/cwchar: + +/usr/include/x86_64-linux-gnu/asm/posix_types_64.h: + +/usr/include/asm-generic/types.h: + +/usr/include/asm-generic/errno-base.h: + +/usr/include/c++/13/bits/hash_bytes.h: + +/usr/include/x86_64-linux-gnu/bits/time64.h: + +/usr/include/c++/13/bits/basic_ios.h: + +/usr/include/c++/13/bits/istream.tcc: + +/usr/include/c++/13/bits/exception_ptr.h: + +/usr/include/alloca.h: + +/usr/include/c++/13/bits/move.h: + +/usr/include/c++/13/bits/basic_string.tcc: + +/usr/include/c++/13/bit: + +/usr/include/x86_64-linux-gnu/sys/single_threaded.h: + +/usr/include/c++/13/type_traits: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/stdint-intn.h: + +/usr/include/c++/13/bits/cpp_type_traits.h: + +/usr/include/fuse3/libfuse_config.h: + +/home/diya_limbani/FastDevFs/src/include/fuse_functions/readdir.h: + +/usr/include/c++/13/bits/locale_facets.tcc: + +/usr/include/c++/13/bits/requires_hosted.h: + +/usr/include/c++/13/bits/string_view.tcc: + +/usr/include/features.h: + +/usr/include/c++/13/bits/stringfwd.h: + +/usr/include/x86_64-linux-gnu/bits/endianness.h: + +/usr/include/c++/13/bits/basic_string.h: + +/usr/include/asm-generic/posix_types.h: + +/usr/include/stdc-predef.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h: + +/usr/include/c++/13/bits/ptr_traits.h: + +/usr/include/linux/falloc.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h: + +/usr/include/c++/13/bits/basic_ios.tcc: + +/usr/include/linux/stddef.h: + +/usr/include/c++/13/bits/stl_iterator_base_types.h: + +/usr/include/asm-generic/int-ll64.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h: + +/usr/include/linux/posix_types.h: + +/usr/include/c++/13/bits/localefwd.h: + +/usr/include/c++/13/bits/exception_defines.h: + +/usr/include/c++/13/bits/locale_facets.h: + +/usr/include/c++/13/bits/memoryfwd.h: + +/usr/include/time.h: + +/usr/include/c++/13/bits/cxxabi_forced.h: + +/home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp: + +/usr/include/c++/13/string: + +/usr/include/x86_64-linux-gnu/bits/uintn-identity.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/c++/13/streambuf: + +/usr/include/c++/13/bits/exception.h: + +/usr/include/c++/13/bits/concept_check.h: + +/usr/include/c++/13/bits/alloc_traits.h: + +/usr/include/x86_64-linux-gnu/bits/libc-header-start.h: + +/usr/include/c++/13/bits/stl_iterator.h: + +/usr/include/c++/13/bits/functexcept.h: + +/usr/include/c++/13/ios: + +/usr/include/c++/13/bits/std_abs.h: + +/usr/include/c++/13/bits/postypes.h: + +/usr/include/c++/13/bits/uses_allocator.h: + +/usr/include/x86_64-linux-gnu/bits/long-double.h: + +/usr/include/c++/13/bits/new_allocator.h: + +/usr/include/c++/13/bits/uses_allocator_args.h: + +/usr/include/x86_64-linux-gnu/bits/fcntl.h: + +/usr/include/c++/13/bits/stl_function.h: + +/usr/include/c++/13/bits/utility.h: + +/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h: + +/usr/include/x86_64-linux-gnu/bits/stdint-least.h: + +/usr/include/c++/13/cerrno: + +/usr/include/stdio.h: + +/usr/include/c++/13/clocale: + +/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h: + +/usr/include/c++/13/cstddef: + +/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h: + +/usr/include/c++/13/bits/charconv.h: + +/usr/include/c++/13/bits/stl_pair.h: + +/usr/include/c++/13/cstdio: + +/usr/include/c++/13/cstdlib: + +/usr/include/c++/13/debug/assertions.h: + +/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h: + +/usr/include/c++/13/tuple: + +/usr/include/c++/13/bits/functional_hash.h: + +/usr/include/errno.h: + +/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h: + +/usr/include/c++/13/ext/numeric_traits.h: + +/usr/include/c++/13/ext/string_conversions.h: + +/usr/include/c++/13/ext/type_traits.h: + +/usr/include/c++/13/iostream: + +/usr/include/c++/13/initializer_list: + +/usr/include/c++/13/istream: + +/usr/include/c++/13/string_view: + +/usr/include/features-time64.h: + +/usr/include/c++/13/ext/alloc_traits.h: + +/usr/include/c++/13/new: + +/usr/include/x86_64-linux-gnu/bits/confname.h: + +/usr/include/c++/13/bits/streambuf_iterator.h: + +/usr/include/c++/13/ostream: + +/home/diya_limbani/FastDevFs/main.cpp: + +/usr/include/fcntl.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/c++/13/pstl/pstl_config.h: + +/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h: + +/usr/include/c++/13/bits/range_access.h: + +/usr/include/c++/13/system_error: + +/usr/include/x86_64-linux-gnu/bits/getopt_posix.h: + +/usr/include/c++/13/bits/cxxabi_init_exception.h: + +/usr/include/c++/13/typeinfo: + +/usr/include/c++/13/bits/streambuf.tcc: + +/usr/include/endian.h: + +/usr/include/fuse3/fuse.h: + +/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h: + +/usr/include/linux/errno.h: + +/usr/include/string.h: + +/usr/include/fuse3/fuse_common.h: + +/usr/include/asm-generic/bitsperlong.h: + +/usr/include/c++/13/cctype: + +/usr/include/c++/13/ext/atomicity.h: + +/usr/include/fuse3/fuse_log.h: + +/usr/include/c++/13/backward/binders.h: + +/usr/include/fuse3/fuse_opt.h: + +/usr/include/linux/types.h: + +/usr/include/sched.h: + +/usr/include/stdint.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/errno.h: + +/usr/include/c++/13/exception: + +/usr/include/wctype.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/asm/bitsperlong.h: diff --git a/build/CMakeFiles/Makefile.cmake b/build/CMakeFiles/Makefile.cmake index 7a4356e..66e0499 100644 --- a/build/CMakeFiles/Makefile.cmake +++ b/build/CMakeFiles/Makefile.cmake @@ -144,5 +144,5 @@ set(CMAKE_MAKEFILE_PRODUCTS # Dependency information for all targets: set(CMAKE_DEPEND_INFO_FILES "CMakeFiles/FastDevFS.dir/DependInfo.cmake" - "test/CMakeFiles/fdfs_tests.dir/DependInfo.cmake" + "test/CMakeFiles/run_tests.dir/DependInfo.cmake" ) diff --git a/build/CMakeFiles/Makefile2 b/build/CMakeFiles/Makefile2 index 2b71a98..b9a3765 100644 --- a/build/CMakeFiles/Makefile2 +++ b/build/CMakeFiles/Makefile2 @@ -80,7 +80,7 @@ clean: test/clean # Directory level rules for directory test # Recursive "all" directory target. -test/all: test/CMakeFiles/fdfs_tests.dir/all +test/all: test/CMakeFiles/run_tests.dir/all .PHONY : test/all # Recursive "preinstall" directory target. @@ -88,7 +88,7 @@ test/preinstall: .PHONY : test/preinstall # Recursive "clean" directory target. -test/clean: test/CMakeFiles/fdfs_tests.dir/clean +test/clean: test/CMakeFiles/run_tests.dir/clean .PHONY : test/clean #============================================================================= @@ -118,30 +118,30 @@ CMakeFiles/FastDevFS.dir/clean: .PHONY : CMakeFiles/FastDevFS.dir/clean #============================================================================= -# Target rules for target test/CMakeFiles/fdfs_tests.dir +# Target rules for target test/CMakeFiles/run_tests.dir # All Build rule for target. -test/CMakeFiles/fdfs_tests.dir/all: - $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/depend - $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=6,7,8,9,10 "Built target fdfs_tests" -.PHONY : test/CMakeFiles/fdfs_tests.dir/all +test/CMakeFiles/run_tests.dir/all: + $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/depend + $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=6,7,8,9,10 "Built target run_tests" +.PHONY : test/CMakeFiles/run_tests.dir/all # Build rule for subdir invocation for target. -test/CMakeFiles/fdfs_tests.dir/rule: cmake_check_build_system +test/CMakeFiles/run_tests.dir/rule: cmake_check_build_system $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles 5 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 test/CMakeFiles/fdfs_tests.dir/all + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 test/CMakeFiles/run_tests.dir/all $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles 0 -.PHONY : test/CMakeFiles/fdfs_tests.dir/rule +.PHONY : test/CMakeFiles/run_tests.dir/rule # Convenience name for target. -fdfs_tests: test/CMakeFiles/fdfs_tests.dir/rule -.PHONY : fdfs_tests +run_tests: test/CMakeFiles/run_tests.dir/rule +.PHONY : run_tests # clean rule for target. -test/CMakeFiles/fdfs_tests.dir/clean: - $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/clean -.PHONY : test/CMakeFiles/fdfs_tests.dir/clean +test/CMakeFiles/run_tests.dir/clean: + $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/clean +.PHONY : test/CMakeFiles/run_tests.dir/clean #============================================================================= # Special targets to cleanup operation of make. diff --git a/build/CMakeFiles/Progress/1 b/build/CMakeFiles/Progress/1 new file mode 100644 index 0000000..7b4d68d --- /dev/null +++ b/build/CMakeFiles/Progress/1 @@ -0,0 +1 @@ +empty \ No newline at end of file diff --git a/build/CMakeFiles/Progress/2 b/build/CMakeFiles/Progress/2 new file mode 100644 index 0000000..7b4d68d --- /dev/null +++ b/build/CMakeFiles/Progress/2 @@ -0,0 +1 @@ +empty \ No newline at end of file diff --git a/build/CMakeFiles/Progress/3 b/build/CMakeFiles/Progress/3 new file mode 100644 index 0000000..7b4d68d --- /dev/null +++ b/build/CMakeFiles/Progress/3 @@ -0,0 +1 @@ +empty \ No newline at end of file diff --git a/build/CMakeFiles/Progress/4 b/build/CMakeFiles/Progress/4 new file mode 100644 index 0000000..7b4d68d --- /dev/null +++ b/build/CMakeFiles/Progress/4 @@ -0,0 +1 @@ +empty \ No newline at end of file diff --git a/build/CMakeFiles/Progress/5 b/build/CMakeFiles/Progress/5 new file mode 100644 index 0000000..7b4d68d --- /dev/null +++ b/build/CMakeFiles/Progress/5 @@ -0,0 +1 @@ +empty \ No newline at end of file diff --git a/build/CMakeFiles/Progress/7 b/build/CMakeFiles/Progress/7 new file mode 100644 index 0000000..7b4d68d --- /dev/null +++ b/build/CMakeFiles/Progress/7 @@ -0,0 +1 @@ +empty \ No newline at end of file diff --git a/build/CMakeFiles/Progress/count.txt b/build/CMakeFiles/Progress/count.txt new file mode 100644 index 0000000..f599e28 --- /dev/null +++ b/build/CMakeFiles/Progress/count.txt @@ -0,0 +1 @@ +10 diff --git a/build/CMakeFiles/TargetDirectories.txt b/build/CMakeFiles/TargetDirectories.txt index b940948..4d4e9f1 100644 --- a/build/CMakeFiles/TargetDirectories.txt +++ b/build/CMakeFiles/TargetDirectories.txt @@ -2,7 +2,7 @@ /home/diya_limbani/FastDevFs/build/CMakeFiles/test.dir /home/diya_limbani/FastDevFs/build/CMakeFiles/edit_cache.dir /home/diya_limbani/FastDevFs/build/CMakeFiles/rebuild_cache.dir -/home/diya_limbani/FastDevFs/build/test/CMakeFiles/fdfs_tests.dir +/home/diya_limbani/FastDevFs/build/test/CMakeFiles/run_tests.dir /home/diya_limbani/FastDevFs/build/test/CMakeFiles/test.dir /home/diya_limbani/FastDevFs/build/test/CMakeFiles/edit_cache.dir /home/diya_limbani/FastDevFs/build/test/CMakeFiles/rebuild_cache.dir diff --git a/build/Makefile b/build/Makefile index dd27521..1ca0903 100644 --- a/build/Makefile +++ b/build/Makefile @@ -140,17 +140,17 @@ FastDevFS/fast: .PHONY : FastDevFS/fast #============================================================================= -# Target rules for targets named fdfs_tests +# Target rules for targets named run_tests # Build rule for target. -fdfs_tests: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 fdfs_tests -.PHONY : fdfs_tests +run_tests: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 run_tests +.PHONY : run_tests # fast build rule for target. -fdfs_tests/fast: - $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/build -.PHONY : fdfs_tests/fast +run_tests/fast: + $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/build +.PHONY : run_tests/fast main.o: main.cpp.o .PHONY : main.o @@ -258,7 +258,7 @@ help: @echo "... rebuild_cache" @echo "... test" @echo "... FastDevFS" - @echo "... fdfs_tests" + @echo "... run_tests" @echo "... main.o" @echo "... main.i" @echo "... main.s" diff --git a/build/test/CMakeFiles/fdfs_tests.dir/build.make b/build/test/CMakeFiles/fdfs_tests.dir/build.make deleted file mode 100644 index f32cd6e..0000000 --- a/build/test/CMakeFiles/fdfs_tests.dir/build.make +++ /dev/null @@ -1,158 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/diya_limbani/FastDevFs - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/diya_limbani/FastDevFs/build - -# Include any dependencies generated for this target. -include test/CMakeFiles/fdfs_tests.dir/depend.make -# Include any dependencies generated by the compiler for this target. -include test/CMakeFiles/fdfs_tests.dir/compiler_depend.make - -# Include the progress variables for this target. -include test/CMakeFiles/fdfs_tests.dir/progress.make - -# Include the compile flags for this target's objects. -include test/CMakeFiles/fdfs_tests.dir/flags.make - -test/CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.o: test/CMakeFiles/fdfs_tests.dir/flags.make -test/CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.o: /home/diya_limbani/FastDevFs/test/test_dir_manager.cpp -test/CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.o: test/CMakeFiles/fdfs_tests.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object test/CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.o" - cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT test/CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.o -MF CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.o.d -o CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.o -c /home/diya_limbani/FastDevFs/test/test_dir_manager.cpp - -test/CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.i" - cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/test/test_dir_manager.cpp > CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.i - -test/CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.s" - cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/test/test_dir_manager.cpp -o CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.s - -test/CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.o: test/CMakeFiles/fdfs_tests.dir/flags.make -test/CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevFs/test/test_hash_store.cpp -test/CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.o: test/CMakeFiles/fdfs_tests.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object test/CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.o" - cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT test/CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.o -MF CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.o.d -o CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.o -c /home/diya_limbani/FastDevFs/test/test_hash_store.cpp - -test/CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.i" - cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/test/test_hash_store.cpp > CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.i - -test/CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.s" - cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/test/test_hash_store.cpp -o CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.s - -test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.o: test/CMakeFiles/fdfs_tests.dir/flags.make -test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp -test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.o: test/CMakeFiles/fdfs_tests.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.o" - cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.o -MF CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.o.d -o CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.o -c /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp - -test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.i" - cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp > CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.i - -test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.s" - cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp -o CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.s - -test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.o: test/CMakeFiles/fdfs_tests.dir/flags.make -test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/hash_store.cpp -test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.o: test/CMakeFiles/fdfs_tests.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.o" - cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.o -MF CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.o.d -o CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.o -c /home/diya_limbani/FastDevFs/src/src/daemon/hash_store.cpp - -test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.i" - cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/daemon/hash_store.cpp > CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.i - -test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.s" - cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/daemon/hash_store.cpp -o CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.s - -# Object files for target fdfs_tests -fdfs_tests_OBJECTS = \ -"CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.o" \ -"CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.o" \ -"CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.o" \ -"CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.o" - -# External object files for target fdfs_tests -fdfs_tests_EXTERNAL_OBJECTS = - -test/fdfs_tests: test/CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.o -test/fdfs_tests: test/CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.o -test/fdfs_tests: test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.o -test/fdfs_tests: test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.o -test/fdfs_tests: test/CMakeFiles/fdfs_tests.dir/build.make -test/fdfs_tests: test/CMakeFiles/fdfs_tests.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Linking CXX executable fdfs_tests" - cd /home/diya_limbani/FastDevFs/build/test && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/fdfs_tests.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -test/CMakeFiles/fdfs_tests.dir/build: test/fdfs_tests -.PHONY : test/CMakeFiles/fdfs_tests.dir/build - -test/CMakeFiles/fdfs_tests.dir/clean: - cd /home/diya_limbani/FastDevFs/build/test && $(CMAKE_COMMAND) -P CMakeFiles/fdfs_tests.dir/cmake_clean.cmake -.PHONY : test/CMakeFiles/fdfs_tests.dir/clean - -test/CMakeFiles/fdfs_tests.dir/depend: - cd /home/diya_limbani/FastDevFs/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/diya_limbani/FastDevFs /home/diya_limbani/FastDevFs/test /home/diya_limbani/FastDevFs/build /home/diya_limbani/FastDevFs/build/test /home/diya_limbani/FastDevFs/build/test/CMakeFiles/fdfs_tests.dir/DependInfo.cmake "--color=$(COLOR)" -.PHONY : test/CMakeFiles/fdfs_tests.dir/depend - diff --git a/build/test/CMakeFiles/fdfs_tests.dir/cmake_clean.cmake b/build/test/CMakeFiles/fdfs_tests.dir/cmake_clean.cmake deleted file mode 100644 index 60914ed..0000000 --- a/build/test/CMakeFiles/fdfs_tests.dir/cmake_clean.cmake +++ /dev/null @@ -1,17 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.o" - "CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.o.d" - "CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.o" - "CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.o.d" - "CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.o" - "CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.o.d" - "CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.o" - "CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.o.d" - "fdfs_tests" - "fdfs_tests.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang CXX) - include(CMakeFiles/fdfs_tests.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/build/test/CMakeFiles/fdfs_tests.dir/compiler_depend.make b/build/test/CMakeFiles/fdfs_tests.dir/compiler_depend.make deleted file mode 100644 index 82f18e4..0000000 --- a/build/test/CMakeFiles/fdfs_tests.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for fdfs_tests. -# This may be replaced when dependencies are built. diff --git a/build/test/CMakeFiles/fdfs_tests.dir/link.txt b/build/test/CMakeFiles/fdfs_tests.dir/link.txt deleted file mode 100644 index fb3a018..0000000 --- a/build/test/CMakeFiles/fdfs_tests.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/c++ CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.o CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.o CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.o CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.o -o fdfs_tests -lgtest -lgtest_main -lpthread diff --git a/build/test/CMakeFiles/fdfs_tests.dir/DependInfo.cmake b/build/test/CMakeFiles/run_tests.dir/DependInfo.cmake similarity index 57% rename from build/test/CMakeFiles/fdfs_tests.dir/DependInfo.cmake rename to build/test/CMakeFiles/run_tests.dir/DependInfo.cmake index 4e06531..664e1c0 100644 --- a/build/test/CMakeFiles/fdfs_tests.dir/DependInfo.cmake +++ b/build/test/CMakeFiles/run_tests.dir/DependInfo.cmake @@ -8,10 +8,10 @@ set(CMAKE_DEPENDS_LANGUAGES # The set of dependency files which are needed: set(CMAKE_DEPENDS_DEPENDENCY_FILES - "/home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp" "test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.o" "gcc" "test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.o.d" - "/home/diya_limbani/FastDevFs/src/src/daemon/hash_store.cpp" "test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.o" "gcc" "test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.o.d" - "/home/diya_limbani/FastDevFs/test/test_dir_manager.cpp" "test/CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.o" "gcc" "test/CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.o.d" - "/home/diya_limbani/FastDevFs/test/test_hash_store.cpp" "test/CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.o" "gcc" "test/CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.o.d" + "/home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp" "test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o" "gcc" "test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o.d" + "/home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp" "test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o" "gcc" "test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o.d" + "/home/diya_limbani/FastDevFs/test/test_dir_manager.cpp" "test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o" "gcc" "test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o.d" + "/home/diya_limbani/FastDevFs/test/test_hash_store.cpp" "test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o" "gcc" "test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o.d" ) # Targets to which this target links which contain Fortran sources. diff --git a/build/test/CMakeFiles/run_tests.dir/build.make b/build/test/CMakeFiles/run_tests.dir/build.make new file mode 100644 index 0000000..d161999 --- /dev/null +++ b/build/test/CMakeFiles/run_tests.dir/build.make @@ -0,0 +1,160 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.28 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/diya_limbani/FastDevFs + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/diya_limbani/FastDevFs/build + +# Include any dependencies generated for this target. +include test/CMakeFiles/run_tests.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include test/CMakeFiles/run_tests.dir/compiler_depend.make + +# Include the progress variables for this target. +include test/CMakeFiles/run_tests.dir/progress.make + +# Include the compile flags for this target's objects. +include test/CMakeFiles/run_tests.dir/flags.make + +test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o: test/CMakeFiles/run_tests.dir/flags.make +test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o: /home/diya_limbani/FastDevFs/test/test_dir_manager.cpp +test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o: test/CMakeFiles/run_tests.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o" + cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o -MF CMakeFiles/run_tests.dir/test_dir_manager.cpp.o.d -o CMakeFiles/run_tests.dir/test_dir_manager.cpp.o -c /home/diya_limbani/FastDevFs/test/test_dir_manager.cpp + +test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/run_tests.dir/test_dir_manager.cpp.i" + cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/test/test_dir_manager.cpp > CMakeFiles/run_tests.dir/test_dir_manager.cpp.i + +test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/run_tests.dir/test_dir_manager.cpp.s" + cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/test/test_dir_manager.cpp -o CMakeFiles/run_tests.dir/test_dir_manager.cpp.s + +test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: test/CMakeFiles/run_tests.dir/flags.make +test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevFs/test/test_hash_store.cpp +test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: test/CMakeFiles/run_tests.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o" + cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o -MF CMakeFiles/run_tests.dir/test_hash_store.cpp.o.d -o CMakeFiles/run_tests.dir/test_hash_store.cpp.o -c /home/diya_limbani/FastDevFs/test/test_hash_store.cpp + +test/CMakeFiles/run_tests.dir/test_hash_store.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/run_tests.dir/test_hash_store.cpp.i" + cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/test/test_hash_store.cpp > CMakeFiles/run_tests.dir/test_hash_store.cpp.i + +test/CMakeFiles/run_tests.dir/test_hash_store.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/run_tests.dir/test_hash_store.cpp.s" + cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/test/test_hash_store.cpp -o CMakeFiles/run_tests.dir/test_hash_store.cpp.s + +test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o: test/CMakeFiles/run_tests.dir/flags.make +test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp +test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o: test/CMakeFiles/run_tests.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o" + cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o -MF CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o.d -o CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o -c /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp + +test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.i" + cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp > CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.i + +test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.s" + cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp -o CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.s + +test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o: test/CMakeFiles/run_tests.dir/flags.make +test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp +test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o: test/CMakeFiles/run_tests.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o" + cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o -MF CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o.d -o CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o -c /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp + +test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.i" + cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp > CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.i + +test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.s" + cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp -o CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.s + +# Object files for target run_tests +run_tests_OBJECTS = \ +"CMakeFiles/run_tests.dir/test_dir_manager.cpp.o" \ +"CMakeFiles/run_tests.dir/test_hash_store.cpp.o" \ +"CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o" \ +"CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o" + +# External object files for target run_tests +run_tests_EXTERNAL_OBJECTS = + +test/run_tests: test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o +test/run_tests: test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o +test/run_tests: test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o +test/run_tests: test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o +test/run_tests: test/CMakeFiles/run_tests.dir/build.make +test/run_tests: /usr/lib/x86_64-linux-gnu/libgtest_main.a +test/run_tests: /usr/lib/x86_64-linux-gnu/libgtest.a +test/run_tests: test/CMakeFiles/run_tests.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Linking CXX executable run_tests" + cd /home/diya_limbani/FastDevFs/build/test && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/run_tests.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +test/CMakeFiles/run_tests.dir/build: test/run_tests +.PHONY : test/CMakeFiles/run_tests.dir/build + +test/CMakeFiles/run_tests.dir/clean: + cd /home/diya_limbani/FastDevFs/build/test && $(CMAKE_COMMAND) -P CMakeFiles/run_tests.dir/cmake_clean.cmake +.PHONY : test/CMakeFiles/run_tests.dir/clean + +test/CMakeFiles/run_tests.dir/depend: + cd /home/diya_limbani/FastDevFs/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/diya_limbani/FastDevFs /home/diya_limbani/FastDevFs/test /home/diya_limbani/FastDevFs/build /home/diya_limbani/FastDevFs/build/test /home/diya_limbani/FastDevFs/build/test/CMakeFiles/run_tests.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : test/CMakeFiles/run_tests.dir/depend + diff --git a/build/test/CMakeFiles/run_tests.dir/cmake_clean.cmake b/build/test/CMakeFiles/run_tests.dir/cmake_clean.cmake new file mode 100644 index 0000000..0a7d04f --- /dev/null +++ b/build/test/CMakeFiles/run_tests.dir/cmake_clean.cmake @@ -0,0 +1,17 @@ +file(REMOVE_RECURSE + "CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o" + "CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o.d" + "CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o" + "CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o.d" + "CMakeFiles/run_tests.dir/test_dir_manager.cpp.o" + "CMakeFiles/run_tests.dir/test_dir_manager.cpp.o.d" + "CMakeFiles/run_tests.dir/test_hash_store.cpp.o" + "CMakeFiles/run_tests.dir/test_hash_store.cpp.o.d" + "run_tests" + "run_tests.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/run_tests.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/build/test/CMakeFiles/run_tests.dir/compiler_depend.internal b/build/test/CMakeFiles/run_tests.dir/compiler_depend.internal new file mode 100644 index 0000000..2563f14 --- /dev/null +++ b/build/test/CMakeFiles/run_tests.dir/compiler_depend.internal @@ -0,0 +1,809 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.28 + +test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o + /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp + /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h + /usr/include/c++/13/cstdio + /usr/include/c++/13/pstl/pstl_config.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/pthread.h + /usr/include/sched.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/stdio.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/time.h + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/x86_64-linux-gnu/bits/cpu-set.h + /usr/include/x86_64-linux-gnu/bits/endian.h + /usr/include/x86_64-linux-gnu/bits/endianness.h + /usr/include/x86_64-linux-gnu/bits/floatn-common.h + /usr/include/x86_64-linux-gnu/bits/floatn.h + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h + /usr/include/x86_64-linux-gnu/bits/sched.h + /usr/include/x86_64-linux-gnu/bits/setjmp.h + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h + /usr/include/x86_64-linux-gnu/bits/stdint-least.h + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h + /usr/include/x86_64-linux-gnu/bits/time.h + /usr/include/x86_64-linux-gnu/bits/time64.h + /usr/include/x86_64-linux-gnu/bits/timesize.h + /usr/include/x86_64-linux-gnu/bits/timex.h + /usr/include/x86_64-linux-gnu/bits/types.h + /usr/include/x86_64-linux-gnu/bits/types/FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h + /usr/include/x86_64-linux-gnu/bits/types/time_t.h + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h + /usr/include/x86_64-linux-gnu/bits/typesizes.h + /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h + /usr/include/x86_64-linux-gnu/gnu/stubs.h + /usr/include/x86_64-linux-gnu/sys/cdefs.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o + /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h + /usr/include/x86_64-linux-gnu/bits/stdint-least.h + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h + /usr/include/x86_64-linux-gnu/bits/time64.h + /usr/include/x86_64-linux-gnu/bits/timesize.h + /usr/include/x86_64-linux-gnu/bits/types.h + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/typesizes.h + /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h + /usr/include/x86_64-linux-gnu/gnu/stubs.h + /usr/include/x86_64-linux-gnu/sys/cdefs.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o + /home/diya_limbani/FastDevFs/test/test_dir_manager.cpp + /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h + /usr/include/alloca.h + /usr/include/asm-generic/bitsperlong.h + /usr/include/asm-generic/errno-base.h + /usr/include/asm-generic/errno.h + /usr/include/asm-generic/int-ll64.h + /usr/include/asm-generic/posix_types.h + /usr/include/asm-generic/types.h + /usr/include/assert.h + /usr/include/c++/13/any + /usr/include/c++/13/array + /usr/include/c++/13/atomic + /usr/include/c++/13/backward/auto_ptr.h + /usr/include/c++/13/backward/binders.h + /usr/include/c++/13/bit + /usr/include/c++/13/bits/algorithmfwd.h + /usr/include/c++/13/bits/align.h + /usr/include/c++/13/bits/alloc_traits.h + /usr/include/c++/13/bits/allocated_ptr.h + /usr/include/c++/13/bits/allocator.h + /usr/include/c++/13/bits/atomic_base.h + /usr/include/c++/13/bits/atomic_lockfree_defines.h + /usr/include/c++/13/bits/basic_ios.h + /usr/include/c++/13/bits/basic_ios.tcc + /usr/include/c++/13/bits/basic_string.h + /usr/include/c++/13/bits/basic_string.tcc + /usr/include/c++/13/bits/char_traits.h + /usr/include/c++/13/bits/charconv.h + /usr/include/c++/13/bits/chrono.h + /usr/include/c++/13/bits/codecvt.h + /usr/include/c++/13/bits/concept_check.h + /usr/include/c++/13/bits/cpp_type_traits.h + /usr/include/c++/13/bits/cxxabi_forced.h + /usr/include/c++/13/bits/cxxabi_init_exception.h + /usr/include/c++/13/bits/enable_special_members.h + /usr/include/c++/13/bits/erase_if.h + /usr/include/c++/13/bits/exception.h + /usr/include/c++/13/bits/exception_defines.h + /usr/include/c++/13/bits/exception_ptr.h + /usr/include/c++/13/bits/functexcept.h + /usr/include/c++/13/bits/functional_hash.h + /usr/include/c++/13/bits/hash_bytes.h + /usr/include/c++/13/bits/hashtable.h + /usr/include/c++/13/bits/hashtable_policy.h + /usr/include/c++/13/bits/invoke.h + /usr/include/c++/13/bits/ios_base.h + /usr/include/c++/13/bits/istream.tcc + /usr/include/c++/13/bits/locale_classes.h + /usr/include/c++/13/bits/locale_classes.tcc + /usr/include/c++/13/bits/locale_conv.h + /usr/include/c++/13/bits/locale_facets.h + /usr/include/c++/13/bits/locale_facets.tcc + /usr/include/c++/13/bits/locale_facets_nonio.h + /usr/include/c++/13/bits/locale_facets_nonio.tcc + /usr/include/c++/13/bits/localefwd.h + /usr/include/c++/13/bits/memory_resource.h + /usr/include/c++/13/bits/memoryfwd.h + /usr/include/c++/13/bits/move.h + /usr/include/c++/13/bits/nested_exception.h + /usr/include/c++/13/bits/new_allocator.h + /usr/include/c++/13/bits/node_handle.h + /usr/include/c++/13/bits/ostream.tcc + /usr/include/c++/13/bits/ostream_insert.h + /usr/include/c++/13/bits/parse_numbers.h + /usr/include/c++/13/bits/postypes.h + /usr/include/c++/13/bits/predefined_ops.h + /usr/include/c++/13/bits/ptr_traits.h + /usr/include/c++/13/bits/quoted_string.h + /usr/include/c++/13/bits/range_access.h + /usr/include/c++/13/bits/refwrap.h + /usr/include/c++/13/bits/requires_hosted.h + /usr/include/c++/13/bits/shared_ptr.h + /usr/include/c++/13/bits/shared_ptr_atomic.h + /usr/include/c++/13/bits/shared_ptr_base.h + /usr/include/c++/13/bits/sstream.tcc + /usr/include/c++/13/bits/std_abs.h + /usr/include/c++/13/bits/std_function.h + /usr/include/c++/13/bits/std_mutex.h + /usr/include/c++/13/bits/std_thread.h + /usr/include/c++/13/bits/stl_algo.h + /usr/include/c++/13/bits/stl_algobase.h + /usr/include/c++/13/bits/stl_bvector.h + /usr/include/c++/13/bits/stl_construct.h + /usr/include/c++/13/bits/stl_function.h + /usr/include/c++/13/bits/stl_heap.h + /usr/include/c++/13/bits/stl_iterator.h + /usr/include/c++/13/bits/stl_iterator_base_funcs.h + /usr/include/c++/13/bits/stl_iterator_base_types.h + /usr/include/c++/13/bits/stl_map.h + /usr/include/c++/13/bits/stl_multimap.h + /usr/include/c++/13/bits/stl_multiset.h + /usr/include/c++/13/bits/stl_pair.h + /usr/include/c++/13/bits/stl_raw_storage_iter.h + /usr/include/c++/13/bits/stl_relops.h + /usr/include/c++/13/bits/stl_set.h + /usr/include/c++/13/bits/stl_tempbuf.h + /usr/include/c++/13/bits/stl_tree.h + /usr/include/c++/13/bits/stl_uninitialized.h + /usr/include/c++/13/bits/stl_vector.h + /usr/include/c++/13/bits/stream_iterator.h + /usr/include/c++/13/bits/streambuf.tcc + /usr/include/c++/13/bits/streambuf_iterator.h + /usr/include/c++/13/bits/string_view.tcc + /usr/include/c++/13/bits/stringfwd.h + /usr/include/c++/13/bits/this_thread_sleep.h + /usr/include/c++/13/bits/uniform_int_dist.h + /usr/include/c++/13/bits/unique_lock.h + /usr/include/c++/13/bits/unique_ptr.h + /usr/include/c++/13/bits/unordered_map.h + /usr/include/c++/13/bits/uses_allocator.h + /usr/include/c++/13/bits/uses_allocator_args.h + /usr/include/c++/13/bits/utility.h + /usr/include/c++/13/bits/vector.tcc + /usr/include/c++/13/cassert + /usr/include/c++/13/cctype + /usr/include/c++/13/cerrno + /usr/include/c++/13/clocale + /usr/include/c++/13/compare + /usr/include/c++/13/condition_variable + /usr/include/c++/13/cstddef + /usr/include/c++/13/cstdint + /usr/include/c++/13/cstdio + /usr/include/c++/13/cstdlib + /usr/include/c++/13/ctime + /usr/include/c++/13/cwchar + /usr/include/c++/13/cwctype + /usr/include/c++/13/cxxabi.h + /usr/include/c++/13/debug/assertions.h + /usr/include/c++/13/debug/debug.h + /usr/include/c++/13/exception + /usr/include/c++/13/ext/aligned_buffer.h + /usr/include/c++/13/ext/alloc_traits.h + /usr/include/c++/13/ext/atomicity.h + /usr/include/c++/13/ext/concurrence.h + /usr/include/c++/13/ext/numeric_traits.h + /usr/include/c++/13/ext/string_conversions.h + /usr/include/c++/13/ext/type_traits.h + /usr/include/c++/13/functional + /usr/include/c++/13/initializer_list + /usr/include/c++/13/iomanip + /usr/include/c++/13/ios + /usr/include/c++/13/iosfwd + /usr/include/c++/13/iostream + /usr/include/c++/13/istream + /usr/include/c++/13/iterator + /usr/include/c++/13/limits + /usr/include/c++/13/locale + /usr/include/c++/13/map + /usr/include/c++/13/memory + /usr/include/c++/13/mutex + /usr/include/c++/13/new + /usr/include/c++/13/optional + /usr/include/c++/13/ostream + /usr/include/c++/13/pstl/execution_defs.h + /usr/include/c++/13/pstl/glue_memory_defs.h + /usr/include/c++/13/pstl/pstl_config.h + /usr/include/c++/13/ratio + /usr/include/c++/13/set + /usr/include/c++/13/sstream + /usr/include/c++/13/stdexcept + /usr/include/c++/13/stdlib.h + /usr/include/c++/13/streambuf + /usr/include/c++/13/string + /usr/include/c++/13/string_view + /usr/include/c++/13/system_error + /usr/include/c++/13/thread + /usr/include/c++/13/tuple + /usr/include/c++/13/type_traits + /usr/include/c++/13/typeinfo + /usr/include/c++/13/unordered_map + /usr/include/c++/13/utility + /usr/include/c++/13/variant + /usr/include/c++/13/vector + /usr/include/ctype.h + /usr/include/endian.h + /usr/include/errno.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/gtest/gtest-assertion-result.h + /usr/include/gtest/gtest-death-test.h + /usr/include/gtest/gtest-matchers.h + /usr/include/gtest/gtest-message.h + /usr/include/gtest/gtest-param-test.h + /usr/include/gtest/gtest-printers.h + /usr/include/gtest/gtest-test-part.h + /usr/include/gtest/gtest-typed-test.h + /usr/include/gtest/gtest.h + /usr/include/gtest/gtest_pred_impl.h + /usr/include/gtest/gtest_prod.h + /usr/include/gtest/internal/custom/gtest-port.h + /usr/include/gtest/internal/custom/gtest-printers.h + /usr/include/gtest/internal/gtest-death-test-internal.h + /usr/include/gtest/internal/gtest-filepath.h + /usr/include/gtest/internal/gtest-internal.h + /usr/include/gtest/internal/gtest-param-util.h + /usr/include/gtest/internal/gtest-port-arch.h + /usr/include/gtest/internal/gtest-port.h + /usr/include/gtest/internal/gtest-string.h + /usr/include/gtest/internal/gtest-type-util.h + /usr/include/libintl.h + /usr/include/linux/close_range.h + /usr/include/linux/errno.h + /usr/include/linux/posix_types.h + /usr/include/linux/stat.h + /usr/include/linux/stddef.h + /usr/include/linux/types.h + /usr/include/locale.h + /usr/include/pthread.h + /usr/include/regex.h + /usr/include/sched.h + /usr/include/signal.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/stdio.h + /usr/include/stdlib.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/time.h + /usr/include/unistd.h + /usr/include/wchar.h + /usr/include/wctype.h + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h + /usr/include/x86_64-linux-gnu/asm/errno.h + /usr/include/x86_64-linux-gnu/asm/posix_types.h + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h + /usr/include/x86_64-linux-gnu/asm/types.h + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/x86_64-linux-gnu/bits/byteswap.h + /usr/include/x86_64-linux-gnu/bits/confname.h + /usr/include/x86_64-linux-gnu/bits/cpu-set.h + /usr/include/x86_64-linux-gnu/bits/endian.h + /usr/include/x86_64-linux-gnu/bits/endianness.h + /usr/include/x86_64-linux-gnu/bits/environments.h + /usr/include/x86_64-linux-gnu/bits/errno.h + /usr/include/x86_64-linux-gnu/bits/floatn-common.h + /usr/include/x86_64-linux-gnu/bits/floatn.h + /usr/include/x86_64-linux-gnu/bits/getopt_core.h + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/locale.h + /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/posix_opt.h + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h + /usr/include/x86_64-linux-gnu/bits/sched.h + /usr/include/x86_64-linux-gnu/bits/select.h + /usr/include/x86_64-linux-gnu/bits/setjmp.h + /usr/include/x86_64-linux-gnu/bits/sigaction.h + /usr/include/x86_64-linux-gnu/bits/sigcontext.h + /usr/include/x86_64-linux-gnu/bits/sigevent-consts.h + /usr/include/x86_64-linux-gnu/bits/siginfo-arch.h + /usr/include/x86_64-linux-gnu/bits/siginfo-consts-arch.h + /usr/include/x86_64-linux-gnu/bits/siginfo-consts.h + /usr/include/x86_64-linux-gnu/bits/signal_ext.h + /usr/include/x86_64-linux-gnu/bits/signum-arch.h + /usr/include/x86_64-linux-gnu/bits/signum-generic.h + /usr/include/x86_64-linux-gnu/bits/sigstack.h + /usr/include/x86_64-linux-gnu/bits/sigstksz.h + /usr/include/x86_64-linux-gnu/bits/sigthread.h + /usr/include/x86_64-linux-gnu/bits/ss_flags.h + /usr/include/x86_64-linux-gnu/bits/stat.h + /usr/include/x86_64-linux-gnu/bits/statx-generic.h + /usr/include/x86_64-linux-gnu/bits/statx.h + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h + /usr/include/x86_64-linux-gnu/bits/stdint-least.h + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h + /usr/include/x86_64-linux-gnu/bits/struct_stat.h + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h + /usr/include/x86_64-linux-gnu/bits/time.h + /usr/include/x86_64-linux-gnu/bits/time64.h + /usr/include/x86_64-linux-gnu/bits/timesize.h + /usr/include/x86_64-linux-gnu/bits/timex.h + /usr/include/x86_64-linux-gnu/bits/types.h + /usr/include/x86_64-linux-gnu/bits/types/FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/__sigval_t.h + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h + /usr/include/x86_64-linux-gnu/bits/types/error_t.h + /usr/include/x86_64-linux-gnu/bits/types/idtype_t.h + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h + /usr/include/x86_64-linux-gnu/bits/types/sig_atomic_t.h + /usr/include/x86_64-linux-gnu/bits/types/sigevent_t.h + /usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/sigval_t.h + /usr/include/x86_64-linux-gnu/bits/types/stack_t.h + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h + /usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h + /usr/include/x86_64-linux-gnu/bits/types/time_t.h + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h + /usr/include/x86_64-linux-gnu/bits/typesizes.h + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h + /usr/include/x86_64-linux-gnu/bits/waitflags.h + /usr/include/x86_64-linux-gnu/bits/waitstatus.h + /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h + /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h + /usr/include/x86_64-linux-gnu/c++/13/bits/cxxabi_tweaks.h + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h + /usr/include/x86_64-linux-gnu/c++/13/bits/messages_members.h + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/time_members.h + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h + /usr/include/x86_64-linux-gnu/gnu/stubs.h + /usr/include/x86_64-linux-gnu/sys/cdefs.h + /usr/include/x86_64-linux-gnu/sys/select.h + /usr/include/x86_64-linux-gnu/sys/single_threaded.h + /usr/include/x86_64-linux-gnu/sys/stat.h + /usr/include/x86_64-linux-gnu/sys/types.h + /usr/include/x86_64-linux-gnu/sys/ucontext.h + /usr/include/x86_64-linux-gnu/sys/wait.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/float.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o + /home/diya_limbani/FastDevFs/test/test_hash_store.cpp + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h + /usr/include/alloca.h + /usr/include/asm-generic/bitsperlong.h + /usr/include/asm-generic/errno-base.h + /usr/include/asm-generic/errno.h + /usr/include/asm-generic/int-ll64.h + /usr/include/asm-generic/posix_types.h + /usr/include/asm-generic/types.h + /usr/include/assert.h + /usr/include/c++/13/any + /usr/include/c++/13/array + /usr/include/c++/13/atomic + /usr/include/c++/13/backward/auto_ptr.h + /usr/include/c++/13/backward/binders.h + /usr/include/c++/13/bit + /usr/include/c++/13/bits/algorithmfwd.h + /usr/include/c++/13/bits/align.h + /usr/include/c++/13/bits/alloc_traits.h + /usr/include/c++/13/bits/allocated_ptr.h + /usr/include/c++/13/bits/allocator.h + /usr/include/c++/13/bits/atomic_base.h + /usr/include/c++/13/bits/atomic_lockfree_defines.h + /usr/include/c++/13/bits/basic_ios.h + /usr/include/c++/13/bits/basic_ios.tcc + /usr/include/c++/13/bits/basic_string.h + /usr/include/c++/13/bits/basic_string.tcc + /usr/include/c++/13/bits/char_traits.h + /usr/include/c++/13/bits/charconv.h + /usr/include/c++/13/bits/chrono.h + /usr/include/c++/13/bits/codecvt.h + /usr/include/c++/13/bits/concept_check.h + /usr/include/c++/13/bits/cpp_type_traits.h + /usr/include/c++/13/bits/cxxabi_forced.h + /usr/include/c++/13/bits/cxxabi_init_exception.h + /usr/include/c++/13/bits/enable_special_members.h + /usr/include/c++/13/bits/erase_if.h + /usr/include/c++/13/bits/exception.h + /usr/include/c++/13/bits/exception_defines.h + /usr/include/c++/13/bits/exception_ptr.h + /usr/include/c++/13/bits/functexcept.h + /usr/include/c++/13/bits/functional_hash.h + /usr/include/c++/13/bits/hash_bytes.h + /usr/include/c++/13/bits/hashtable.h + /usr/include/c++/13/bits/hashtable_policy.h + /usr/include/c++/13/bits/invoke.h + /usr/include/c++/13/bits/ios_base.h + /usr/include/c++/13/bits/istream.tcc + /usr/include/c++/13/bits/locale_classes.h + /usr/include/c++/13/bits/locale_classes.tcc + /usr/include/c++/13/bits/locale_conv.h + /usr/include/c++/13/bits/locale_facets.h + /usr/include/c++/13/bits/locale_facets.tcc + /usr/include/c++/13/bits/locale_facets_nonio.h + /usr/include/c++/13/bits/locale_facets_nonio.tcc + /usr/include/c++/13/bits/localefwd.h + /usr/include/c++/13/bits/memory_resource.h + /usr/include/c++/13/bits/memoryfwd.h + /usr/include/c++/13/bits/move.h + /usr/include/c++/13/bits/nested_exception.h + /usr/include/c++/13/bits/new_allocator.h + /usr/include/c++/13/bits/node_handle.h + /usr/include/c++/13/bits/ostream.tcc + /usr/include/c++/13/bits/ostream_insert.h + /usr/include/c++/13/bits/parse_numbers.h + /usr/include/c++/13/bits/postypes.h + /usr/include/c++/13/bits/predefined_ops.h + /usr/include/c++/13/bits/ptr_traits.h + /usr/include/c++/13/bits/quoted_string.h + /usr/include/c++/13/bits/range_access.h + /usr/include/c++/13/bits/refwrap.h + /usr/include/c++/13/bits/requires_hosted.h + /usr/include/c++/13/bits/shared_ptr.h + /usr/include/c++/13/bits/shared_ptr_atomic.h + /usr/include/c++/13/bits/shared_ptr_base.h + /usr/include/c++/13/bits/sstream.tcc + /usr/include/c++/13/bits/std_abs.h + /usr/include/c++/13/bits/std_function.h + /usr/include/c++/13/bits/std_mutex.h + /usr/include/c++/13/bits/stl_algo.h + /usr/include/c++/13/bits/stl_algobase.h + /usr/include/c++/13/bits/stl_bvector.h + /usr/include/c++/13/bits/stl_construct.h + /usr/include/c++/13/bits/stl_function.h + /usr/include/c++/13/bits/stl_heap.h + /usr/include/c++/13/bits/stl_iterator.h + /usr/include/c++/13/bits/stl_iterator_base_funcs.h + /usr/include/c++/13/bits/stl_iterator_base_types.h + /usr/include/c++/13/bits/stl_map.h + /usr/include/c++/13/bits/stl_multimap.h + /usr/include/c++/13/bits/stl_multiset.h + /usr/include/c++/13/bits/stl_pair.h + /usr/include/c++/13/bits/stl_raw_storage_iter.h + /usr/include/c++/13/bits/stl_relops.h + /usr/include/c++/13/bits/stl_set.h + /usr/include/c++/13/bits/stl_tempbuf.h + /usr/include/c++/13/bits/stl_tree.h + /usr/include/c++/13/bits/stl_uninitialized.h + /usr/include/c++/13/bits/stl_vector.h + /usr/include/c++/13/bits/stream_iterator.h + /usr/include/c++/13/bits/streambuf.tcc + /usr/include/c++/13/bits/streambuf_iterator.h + /usr/include/c++/13/bits/string_view.tcc + /usr/include/c++/13/bits/stringfwd.h + /usr/include/c++/13/bits/uniform_int_dist.h + /usr/include/c++/13/bits/unique_lock.h + /usr/include/c++/13/bits/unique_ptr.h + /usr/include/c++/13/bits/unordered_map.h + /usr/include/c++/13/bits/uses_allocator.h + /usr/include/c++/13/bits/uses_allocator_args.h + /usr/include/c++/13/bits/utility.h + /usr/include/c++/13/bits/vector.tcc + /usr/include/c++/13/cassert + /usr/include/c++/13/cctype + /usr/include/c++/13/cerrno + /usr/include/c++/13/chrono + /usr/include/c++/13/clocale + /usr/include/c++/13/compare + /usr/include/c++/13/condition_variable + /usr/include/c++/13/cstddef + /usr/include/c++/13/cstdint + /usr/include/c++/13/cstdio + /usr/include/c++/13/cstdlib + /usr/include/c++/13/cstring + /usr/include/c++/13/ctime + /usr/include/c++/13/cwchar + /usr/include/c++/13/cwctype + /usr/include/c++/13/cxxabi.h + /usr/include/c++/13/debug/assertions.h + /usr/include/c++/13/debug/debug.h + /usr/include/c++/13/exception + /usr/include/c++/13/ext/aligned_buffer.h + /usr/include/c++/13/ext/alloc_traits.h + /usr/include/c++/13/ext/atomicity.h + /usr/include/c++/13/ext/concurrence.h + /usr/include/c++/13/ext/numeric_traits.h + /usr/include/c++/13/ext/string_conversions.h + /usr/include/c++/13/ext/type_traits.h + /usr/include/c++/13/functional + /usr/include/c++/13/initializer_list + /usr/include/c++/13/iomanip + /usr/include/c++/13/ios + /usr/include/c++/13/iosfwd + /usr/include/c++/13/iostream + /usr/include/c++/13/istream + /usr/include/c++/13/iterator + /usr/include/c++/13/limits + /usr/include/c++/13/locale + /usr/include/c++/13/map + /usr/include/c++/13/memory + /usr/include/c++/13/mutex + /usr/include/c++/13/new + /usr/include/c++/13/optional + /usr/include/c++/13/ostream + /usr/include/c++/13/pstl/execution_defs.h + /usr/include/c++/13/pstl/glue_memory_defs.h + /usr/include/c++/13/pstl/pstl_config.h + /usr/include/c++/13/ratio + /usr/include/c++/13/set + /usr/include/c++/13/sstream + /usr/include/c++/13/stdexcept + /usr/include/c++/13/stdlib.h + /usr/include/c++/13/streambuf + /usr/include/c++/13/string + /usr/include/c++/13/string_view + /usr/include/c++/13/system_error + /usr/include/c++/13/tuple + /usr/include/c++/13/type_traits + /usr/include/c++/13/typeinfo + /usr/include/c++/13/unordered_map + /usr/include/c++/13/utility + /usr/include/c++/13/variant + /usr/include/c++/13/vector + /usr/include/ctype.h + /usr/include/endian.h + /usr/include/errno.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/gtest/gtest-assertion-result.h + /usr/include/gtest/gtest-death-test.h + /usr/include/gtest/gtest-matchers.h + /usr/include/gtest/gtest-message.h + /usr/include/gtest/gtest-param-test.h + /usr/include/gtest/gtest-printers.h + /usr/include/gtest/gtest-test-part.h + /usr/include/gtest/gtest-typed-test.h + /usr/include/gtest/gtest.h + /usr/include/gtest/gtest_pred_impl.h + /usr/include/gtest/gtest_prod.h + /usr/include/gtest/internal/custom/gtest-port.h + /usr/include/gtest/internal/custom/gtest-printers.h + /usr/include/gtest/internal/gtest-death-test-internal.h + /usr/include/gtest/internal/gtest-filepath.h + /usr/include/gtest/internal/gtest-internal.h + /usr/include/gtest/internal/gtest-param-util.h + /usr/include/gtest/internal/gtest-port-arch.h + /usr/include/gtest/internal/gtest-port.h + /usr/include/gtest/internal/gtest-string.h + /usr/include/gtest/internal/gtest-type-util.h + /usr/include/libintl.h + /usr/include/linux/close_range.h + /usr/include/linux/errno.h + /usr/include/linux/posix_types.h + /usr/include/linux/stat.h + /usr/include/linux/stddef.h + /usr/include/linux/types.h + /usr/include/locale.h + /usr/include/pthread.h + /usr/include/regex.h + /usr/include/sched.h + /usr/include/signal.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/stdio.h + /usr/include/stdlib.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/time.h + /usr/include/unistd.h + /usr/include/wchar.h + /usr/include/wctype.h + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h + /usr/include/x86_64-linux-gnu/asm/errno.h + /usr/include/x86_64-linux-gnu/asm/posix_types.h + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h + /usr/include/x86_64-linux-gnu/asm/types.h + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/x86_64-linux-gnu/bits/byteswap.h + /usr/include/x86_64-linux-gnu/bits/confname.h + /usr/include/x86_64-linux-gnu/bits/cpu-set.h + /usr/include/x86_64-linux-gnu/bits/endian.h + /usr/include/x86_64-linux-gnu/bits/endianness.h + /usr/include/x86_64-linux-gnu/bits/environments.h + /usr/include/x86_64-linux-gnu/bits/errno.h + /usr/include/x86_64-linux-gnu/bits/floatn-common.h + /usr/include/x86_64-linux-gnu/bits/floatn.h + /usr/include/x86_64-linux-gnu/bits/getopt_core.h + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/locale.h + /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/posix_opt.h + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h + /usr/include/x86_64-linux-gnu/bits/sched.h + /usr/include/x86_64-linux-gnu/bits/select.h + /usr/include/x86_64-linux-gnu/bits/setjmp.h + /usr/include/x86_64-linux-gnu/bits/sigaction.h + /usr/include/x86_64-linux-gnu/bits/sigcontext.h + /usr/include/x86_64-linux-gnu/bits/sigevent-consts.h + /usr/include/x86_64-linux-gnu/bits/siginfo-arch.h + /usr/include/x86_64-linux-gnu/bits/siginfo-consts-arch.h + /usr/include/x86_64-linux-gnu/bits/siginfo-consts.h + /usr/include/x86_64-linux-gnu/bits/signal_ext.h + /usr/include/x86_64-linux-gnu/bits/signum-arch.h + /usr/include/x86_64-linux-gnu/bits/signum-generic.h + /usr/include/x86_64-linux-gnu/bits/sigstack.h + /usr/include/x86_64-linux-gnu/bits/sigstksz.h + /usr/include/x86_64-linux-gnu/bits/sigthread.h + /usr/include/x86_64-linux-gnu/bits/ss_flags.h + /usr/include/x86_64-linux-gnu/bits/stat.h + /usr/include/x86_64-linux-gnu/bits/statx-generic.h + /usr/include/x86_64-linux-gnu/bits/statx.h + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h + /usr/include/x86_64-linux-gnu/bits/stdint-least.h + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h + /usr/include/x86_64-linux-gnu/bits/struct_stat.h + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h + /usr/include/x86_64-linux-gnu/bits/time.h + /usr/include/x86_64-linux-gnu/bits/time64.h + /usr/include/x86_64-linux-gnu/bits/timesize.h + /usr/include/x86_64-linux-gnu/bits/timex.h + /usr/include/x86_64-linux-gnu/bits/types.h + /usr/include/x86_64-linux-gnu/bits/types/FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/__sigval_t.h + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h + /usr/include/x86_64-linux-gnu/bits/types/error_t.h + /usr/include/x86_64-linux-gnu/bits/types/idtype_t.h + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h + /usr/include/x86_64-linux-gnu/bits/types/sig_atomic_t.h + /usr/include/x86_64-linux-gnu/bits/types/sigevent_t.h + /usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/sigval_t.h + /usr/include/x86_64-linux-gnu/bits/types/stack_t.h + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h + /usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h + /usr/include/x86_64-linux-gnu/bits/types/time_t.h + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h + /usr/include/x86_64-linux-gnu/bits/typesizes.h + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h + /usr/include/x86_64-linux-gnu/bits/waitflags.h + /usr/include/x86_64-linux-gnu/bits/waitstatus.h + /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h + /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h + /usr/include/x86_64-linux-gnu/c++/13/bits/cxxabi_tweaks.h + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h + /usr/include/x86_64-linux-gnu/c++/13/bits/messages_members.h + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/time_members.h + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h + /usr/include/x86_64-linux-gnu/gnu/stubs.h + /usr/include/x86_64-linux-gnu/sys/cdefs.h + /usr/include/x86_64-linux-gnu/sys/select.h + /usr/include/x86_64-linux-gnu/sys/single_threaded.h + /usr/include/x86_64-linux-gnu/sys/stat.h + /usr/include/x86_64-linux-gnu/sys/types.h + /usr/include/x86_64-linux-gnu/sys/ucontext.h + /usr/include/x86_64-linux-gnu/sys/wait.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/float.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + diff --git a/build/test/CMakeFiles/run_tests.dir/compiler_depend.make b/build/test/CMakeFiles/run_tests.dir/compiler_depend.make new file mode 100644 index 0000000..95f8209 --- /dev/null +++ b/build/test/CMakeFiles/run_tests.dir/compiler_depend.make @@ -0,0 +1,1515 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.28 + +test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp \ + /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ + /usr/include/c++/13/cstdio \ + /usr/include/c++/13/pstl/pstl_config.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/pthread.h \ + /usr/include/sched.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/x86_64-linux-gnu/bits/cpu-set.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endianness.h \ + /usr/include/x86_64-linux-gnu/bits/floatn-common.h \ + /usr/include/x86_64-linux-gnu/bits/floatn.h \ + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/time64.h \ + /usr/include/x86_64-linux-gnu/bits/timesize.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp \ + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/x86_64-linux-gnu/bits/time64.h \ + /usr/include/x86_64-linux-gnu/bits/timesize.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o: /home/diya_limbani/FastDevFs/test/test_dir_manager.cpp \ + /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ + /usr/include/alloca.h \ + /usr/include/asm-generic/bitsperlong.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/int-ll64.h \ + /usr/include/asm-generic/posix_types.h \ + /usr/include/asm-generic/types.h \ + /usr/include/assert.h \ + /usr/include/c++/13/any \ + /usr/include/c++/13/array \ + /usr/include/c++/13/atomic \ + /usr/include/c++/13/backward/auto_ptr.h \ + /usr/include/c++/13/backward/binders.h \ + /usr/include/c++/13/bit \ + /usr/include/c++/13/bits/algorithmfwd.h \ + /usr/include/c++/13/bits/align.h \ + /usr/include/c++/13/bits/alloc_traits.h \ + /usr/include/c++/13/bits/allocated_ptr.h \ + /usr/include/c++/13/bits/allocator.h \ + /usr/include/c++/13/bits/atomic_base.h \ + /usr/include/c++/13/bits/atomic_lockfree_defines.h \ + /usr/include/c++/13/bits/basic_ios.h \ + /usr/include/c++/13/bits/basic_ios.tcc \ + /usr/include/c++/13/bits/basic_string.h \ + /usr/include/c++/13/bits/basic_string.tcc \ + /usr/include/c++/13/bits/char_traits.h \ + /usr/include/c++/13/bits/charconv.h \ + /usr/include/c++/13/bits/chrono.h \ + /usr/include/c++/13/bits/codecvt.h \ + /usr/include/c++/13/bits/concept_check.h \ + /usr/include/c++/13/bits/cpp_type_traits.h \ + /usr/include/c++/13/bits/cxxabi_forced.h \ + /usr/include/c++/13/bits/cxxabi_init_exception.h \ + /usr/include/c++/13/bits/enable_special_members.h \ + /usr/include/c++/13/bits/erase_if.h \ + /usr/include/c++/13/bits/exception.h \ + /usr/include/c++/13/bits/exception_defines.h \ + /usr/include/c++/13/bits/exception_ptr.h \ + /usr/include/c++/13/bits/functexcept.h \ + /usr/include/c++/13/bits/functional_hash.h \ + /usr/include/c++/13/bits/hash_bytes.h \ + /usr/include/c++/13/bits/hashtable.h \ + /usr/include/c++/13/bits/hashtable_policy.h \ + /usr/include/c++/13/bits/invoke.h \ + /usr/include/c++/13/bits/ios_base.h \ + /usr/include/c++/13/bits/istream.tcc \ + /usr/include/c++/13/bits/locale_classes.h \ + /usr/include/c++/13/bits/locale_classes.tcc \ + /usr/include/c++/13/bits/locale_conv.h \ + /usr/include/c++/13/bits/locale_facets.h \ + /usr/include/c++/13/bits/locale_facets.tcc \ + /usr/include/c++/13/bits/locale_facets_nonio.h \ + /usr/include/c++/13/bits/locale_facets_nonio.tcc \ + /usr/include/c++/13/bits/localefwd.h \ + /usr/include/c++/13/bits/memory_resource.h \ + /usr/include/c++/13/bits/memoryfwd.h \ + /usr/include/c++/13/bits/move.h \ + /usr/include/c++/13/bits/nested_exception.h \ + /usr/include/c++/13/bits/new_allocator.h \ + /usr/include/c++/13/bits/node_handle.h \ + /usr/include/c++/13/bits/ostream.tcc \ + /usr/include/c++/13/bits/ostream_insert.h \ + /usr/include/c++/13/bits/parse_numbers.h \ + /usr/include/c++/13/bits/postypes.h \ + /usr/include/c++/13/bits/predefined_ops.h \ + /usr/include/c++/13/bits/ptr_traits.h \ + /usr/include/c++/13/bits/quoted_string.h \ + /usr/include/c++/13/bits/range_access.h \ + /usr/include/c++/13/bits/refwrap.h \ + /usr/include/c++/13/bits/requires_hosted.h \ + /usr/include/c++/13/bits/shared_ptr.h \ + /usr/include/c++/13/bits/shared_ptr_atomic.h \ + /usr/include/c++/13/bits/shared_ptr_base.h \ + /usr/include/c++/13/bits/sstream.tcc \ + /usr/include/c++/13/bits/std_abs.h \ + /usr/include/c++/13/bits/std_function.h \ + /usr/include/c++/13/bits/std_mutex.h \ + /usr/include/c++/13/bits/std_thread.h \ + /usr/include/c++/13/bits/stl_algo.h \ + /usr/include/c++/13/bits/stl_algobase.h \ + /usr/include/c++/13/bits/stl_bvector.h \ + /usr/include/c++/13/bits/stl_construct.h \ + /usr/include/c++/13/bits/stl_function.h \ + /usr/include/c++/13/bits/stl_heap.h \ + /usr/include/c++/13/bits/stl_iterator.h \ + /usr/include/c++/13/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/13/bits/stl_iterator_base_types.h \ + /usr/include/c++/13/bits/stl_map.h \ + /usr/include/c++/13/bits/stl_multimap.h \ + /usr/include/c++/13/bits/stl_multiset.h \ + /usr/include/c++/13/bits/stl_pair.h \ + /usr/include/c++/13/bits/stl_raw_storage_iter.h \ + /usr/include/c++/13/bits/stl_relops.h \ + /usr/include/c++/13/bits/stl_set.h \ + /usr/include/c++/13/bits/stl_tempbuf.h \ + /usr/include/c++/13/bits/stl_tree.h \ + /usr/include/c++/13/bits/stl_uninitialized.h \ + /usr/include/c++/13/bits/stl_vector.h \ + /usr/include/c++/13/bits/stream_iterator.h \ + /usr/include/c++/13/bits/streambuf.tcc \ + /usr/include/c++/13/bits/streambuf_iterator.h \ + /usr/include/c++/13/bits/string_view.tcc \ + /usr/include/c++/13/bits/stringfwd.h \ + /usr/include/c++/13/bits/this_thread_sleep.h \ + /usr/include/c++/13/bits/uniform_int_dist.h \ + /usr/include/c++/13/bits/unique_lock.h \ + /usr/include/c++/13/bits/unique_ptr.h \ + /usr/include/c++/13/bits/unordered_map.h \ + /usr/include/c++/13/bits/uses_allocator.h \ + /usr/include/c++/13/bits/uses_allocator_args.h \ + /usr/include/c++/13/bits/utility.h \ + /usr/include/c++/13/bits/vector.tcc \ + /usr/include/c++/13/cassert \ + /usr/include/c++/13/cctype \ + /usr/include/c++/13/cerrno \ + /usr/include/c++/13/clocale \ + /usr/include/c++/13/compare \ + /usr/include/c++/13/condition_variable \ + /usr/include/c++/13/cstddef \ + /usr/include/c++/13/cstdint \ + /usr/include/c++/13/cstdio \ + /usr/include/c++/13/cstdlib \ + /usr/include/c++/13/ctime \ + /usr/include/c++/13/cwchar \ + /usr/include/c++/13/cwctype \ + /usr/include/c++/13/cxxabi.h \ + /usr/include/c++/13/debug/assertions.h \ + /usr/include/c++/13/debug/debug.h \ + /usr/include/c++/13/exception \ + /usr/include/c++/13/ext/aligned_buffer.h \ + /usr/include/c++/13/ext/alloc_traits.h \ + /usr/include/c++/13/ext/atomicity.h \ + /usr/include/c++/13/ext/concurrence.h \ + /usr/include/c++/13/ext/numeric_traits.h \ + /usr/include/c++/13/ext/string_conversions.h \ + /usr/include/c++/13/ext/type_traits.h \ + /usr/include/c++/13/functional \ + /usr/include/c++/13/initializer_list \ + /usr/include/c++/13/iomanip \ + /usr/include/c++/13/ios \ + /usr/include/c++/13/iosfwd \ + /usr/include/c++/13/iostream \ + /usr/include/c++/13/istream \ + /usr/include/c++/13/iterator \ + /usr/include/c++/13/limits \ + /usr/include/c++/13/locale \ + /usr/include/c++/13/map \ + /usr/include/c++/13/memory \ + /usr/include/c++/13/mutex \ + /usr/include/c++/13/new \ + /usr/include/c++/13/optional \ + /usr/include/c++/13/ostream \ + /usr/include/c++/13/pstl/execution_defs.h \ + /usr/include/c++/13/pstl/glue_memory_defs.h \ + /usr/include/c++/13/pstl/pstl_config.h \ + /usr/include/c++/13/ratio \ + /usr/include/c++/13/set \ + /usr/include/c++/13/sstream \ + /usr/include/c++/13/stdexcept \ + /usr/include/c++/13/stdlib.h \ + /usr/include/c++/13/streambuf \ + /usr/include/c++/13/string \ + /usr/include/c++/13/string_view \ + /usr/include/c++/13/system_error \ + /usr/include/c++/13/thread \ + /usr/include/c++/13/tuple \ + /usr/include/c++/13/type_traits \ + /usr/include/c++/13/typeinfo \ + /usr/include/c++/13/unordered_map \ + /usr/include/c++/13/utility \ + /usr/include/c++/13/variant \ + /usr/include/c++/13/vector \ + /usr/include/ctype.h \ + /usr/include/endian.h \ + /usr/include/errno.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/gtest/gtest-assertion-result.h \ + /usr/include/gtest/gtest-death-test.h \ + /usr/include/gtest/gtest-matchers.h \ + /usr/include/gtest/gtest-message.h \ + /usr/include/gtest/gtest-param-test.h \ + /usr/include/gtest/gtest-printers.h \ + /usr/include/gtest/gtest-test-part.h \ + /usr/include/gtest/gtest-typed-test.h \ + /usr/include/gtest/gtest.h \ + /usr/include/gtest/gtest_pred_impl.h \ + /usr/include/gtest/gtest_prod.h \ + /usr/include/gtest/internal/custom/gtest-port.h \ + /usr/include/gtest/internal/custom/gtest-printers.h \ + /usr/include/gtest/internal/gtest-death-test-internal.h \ + /usr/include/gtest/internal/gtest-filepath.h \ + /usr/include/gtest/internal/gtest-internal.h \ + /usr/include/gtest/internal/gtest-param-util.h \ + /usr/include/gtest/internal/gtest-port-arch.h \ + /usr/include/gtest/internal/gtest-port.h \ + /usr/include/gtest/internal/gtest-string.h \ + /usr/include/gtest/internal/gtest-type-util.h \ + /usr/include/libintl.h \ + /usr/include/linux/close_range.h \ + /usr/include/linux/errno.h \ + /usr/include/linux/posix_types.h \ + /usr/include/linux/stat.h \ + /usr/include/linux/stddef.h \ + /usr/include/linux/types.h \ + /usr/include/locale.h \ + /usr/include/pthread.h \ + /usr/include/regex.h \ + /usr/include/sched.h \ + /usr/include/signal.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/time.h \ + /usr/include/unistd.h \ + /usr/include/wchar.h \ + /usr/include/wctype.h \ + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ + /usr/include/x86_64-linux-gnu/asm/errno.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \ + /usr/include/x86_64-linux-gnu/asm/types.h \ + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/confname.h \ + /usr/include/x86_64-linux-gnu/bits/cpu-set.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endianness.h \ + /usr/include/x86_64-linux-gnu/bits/environments.h \ + /usr/include/x86_64-linux-gnu/bits/errno.h \ + /usr/include/x86_64-linux-gnu/bits/floatn-common.h \ + /usr/include/x86_64-linux-gnu/bits/floatn.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_core.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \ + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h \ + /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/bits/sigaction.h \ + /usr/include/x86_64-linux-gnu/bits/sigcontext.h \ + /usr/include/x86_64-linux-gnu/bits/sigevent-consts.h \ + /usr/include/x86_64-linux-gnu/bits/siginfo-arch.h \ + /usr/include/x86_64-linux-gnu/bits/siginfo-consts-arch.h \ + /usr/include/x86_64-linux-gnu/bits/siginfo-consts.h \ + /usr/include/x86_64-linux-gnu/bits/signal_ext.h \ + /usr/include/x86_64-linux-gnu/bits/signum-arch.h \ + /usr/include/x86_64-linux-gnu/bits/signum-generic.h \ + /usr/include/x86_64-linux-gnu/bits/sigstack.h \ + /usr/include/x86_64-linux-gnu/bits/sigstksz.h \ + /usr/include/x86_64-linux-gnu/bits/sigthread.h \ + /usr/include/x86_64-linux-gnu/bits/ss_flags.h \ + /usr/include/x86_64-linux-gnu/bits/stat.h \ + /usr/include/x86_64-linux-gnu/bits/statx-generic.h \ + /usr/include/x86_64-linux-gnu/bits/statx.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/x86_64-linux-gnu/bits/struct_stat.h \ + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/time64.h \ + /usr/include/x86_64-linux-gnu/bits/timesize.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__sigval_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/idtype_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/sig_atomic_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigevent_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigval_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/stack_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/cxxabi_tweaks.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/messages_members.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/time_members.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/sys/single_threaded.h \ + /usr/include/x86_64-linux-gnu/sys/stat.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/ucontext.h \ + /usr/include/x86_64-linux-gnu/sys/wait.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/float.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevFs/test/test_hash_store.cpp \ + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ + /usr/include/alloca.h \ + /usr/include/asm-generic/bitsperlong.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/int-ll64.h \ + /usr/include/asm-generic/posix_types.h \ + /usr/include/asm-generic/types.h \ + /usr/include/assert.h \ + /usr/include/c++/13/any \ + /usr/include/c++/13/array \ + /usr/include/c++/13/atomic \ + /usr/include/c++/13/backward/auto_ptr.h \ + /usr/include/c++/13/backward/binders.h \ + /usr/include/c++/13/bit \ + /usr/include/c++/13/bits/algorithmfwd.h \ + /usr/include/c++/13/bits/align.h \ + /usr/include/c++/13/bits/alloc_traits.h \ + /usr/include/c++/13/bits/allocated_ptr.h \ + /usr/include/c++/13/bits/allocator.h \ + /usr/include/c++/13/bits/atomic_base.h \ + /usr/include/c++/13/bits/atomic_lockfree_defines.h \ + /usr/include/c++/13/bits/basic_ios.h \ + /usr/include/c++/13/bits/basic_ios.tcc \ + /usr/include/c++/13/bits/basic_string.h \ + /usr/include/c++/13/bits/basic_string.tcc \ + /usr/include/c++/13/bits/char_traits.h \ + /usr/include/c++/13/bits/charconv.h \ + /usr/include/c++/13/bits/chrono.h \ + /usr/include/c++/13/bits/codecvt.h \ + /usr/include/c++/13/bits/concept_check.h \ + /usr/include/c++/13/bits/cpp_type_traits.h \ + /usr/include/c++/13/bits/cxxabi_forced.h \ + /usr/include/c++/13/bits/cxxabi_init_exception.h \ + /usr/include/c++/13/bits/enable_special_members.h \ + /usr/include/c++/13/bits/erase_if.h \ + /usr/include/c++/13/bits/exception.h \ + /usr/include/c++/13/bits/exception_defines.h \ + /usr/include/c++/13/bits/exception_ptr.h \ + /usr/include/c++/13/bits/functexcept.h \ + /usr/include/c++/13/bits/functional_hash.h \ + /usr/include/c++/13/bits/hash_bytes.h \ + /usr/include/c++/13/bits/hashtable.h \ + /usr/include/c++/13/bits/hashtable_policy.h \ + /usr/include/c++/13/bits/invoke.h \ + /usr/include/c++/13/bits/ios_base.h \ + /usr/include/c++/13/bits/istream.tcc \ + /usr/include/c++/13/bits/locale_classes.h \ + /usr/include/c++/13/bits/locale_classes.tcc \ + /usr/include/c++/13/bits/locale_conv.h \ + /usr/include/c++/13/bits/locale_facets.h \ + /usr/include/c++/13/bits/locale_facets.tcc \ + /usr/include/c++/13/bits/locale_facets_nonio.h \ + /usr/include/c++/13/bits/locale_facets_nonio.tcc \ + /usr/include/c++/13/bits/localefwd.h \ + /usr/include/c++/13/bits/memory_resource.h \ + /usr/include/c++/13/bits/memoryfwd.h \ + /usr/include/c++/13/bits/move.h \ + /usr/include/c++/13/bits/nested_exception.h \ + /usr/include/c++/13/bits/new_allocator.h \ + /usr/include/c++/13/bits/node_handle.h \ + /usr/include/c++/13/bits/ostream.tcc \ + /usr/include/c++/13/bits/ostream_insert.h \ + /usr/include/c++/13/bits/parse_numbers.h \ + /usr/include/c++/13/bits/postypes.h \ + /usr/include/c++/13/bits/predefined_ops.h \ + /usr/include/c++/13/bits/ptr_traits.h \ + /usr/include/c++/13/bits/quoted_string.h \ + /usr/include/c++/13/bits/range_access.h \ + /usr/include/c++/13/bits/refwrap.h \ + /usr/include/c++/13/bits/requires_hosted.h \ + /usr/include/c++/13/bits/shared_ptr.h \ + /usr/include/c++/13/bits/shared_ptr_atomic.h \ + /usr/include/c++/13/bits/shared_ptr_base.h \ + /usr/include/c++/13/bits/sstream.tcc \ + /usr/include/c++/13/bits/std_abs.h \ + /usr/include/c++/13/bits/std_function.h \ + /usr/include/c++/13/bits/std_mutex.h \ + /usr/include/c++/13/bits/stl_algo.h \ + /usr/include/c++/13/bits/stl_algobase.h \ + /usr/include/c++/13/bits/stl_bvector.h \ + /usr/include/c++/13/bits/stl_construct.h \ + /usr/include/c++/13/bits/stl_function.h \ + /usr/include/c++/13/bits/stl_heap.h \ + /usr/include/c++/13/bits/stl_iterator.h \ + /usr/include/c++/13/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/13/bits/stl_iterator_base_types.h \ + /usr/include/c++/13/bits/stl_map.h \ + /usr/include/c++/13/bits/stl_multimap.h \ + /usr/include/c++/13/bits/stl_multiset.h \ + /usr/include/c++/13/bits/stl_pair.h \ + /usr/include/c++/13/bits/stl_raw_storage_iter.h \ + /usr/include/c++/13/bits/stl_relops.h \ + /usr/include/c++/13/bits/stl_set.h \ + /usr/include/c++/13/bits/stl_tempbuf.h \ + /usr/include/c++/13/bits/stl_tree.h \ + /usr/include/c++/13/bits/stl_uninitialized.h \ + /usr/include/c++/13/bits/stl_vector.h \ + /usr/include/c++/13/bits/stream_iterator.h \ + /usr/include/c++/13/bits/streambuf.tcc \ + /usr/include/c++/13/bits/streambuf_iterator.h \ + /usr/include/c++/13/bits/string_view.tcc \ + /usr/include/c++/13/bits/stringfwd.h \ + /usr/include/c++/13/bits/uniform_int_dist.h \ + /usr/include/c++/13/bits/unique_lock.h \ + /usr/include/c++/13/bits/unique_ptr.h \ + /usr/include/c++/13/bits/unordered_map.h \ + /usr/include/c++/13/bits/uses_allocator.h \ + /usr/include/c++/13/bits/uses_allocator_args.h \ + /usr/include/c++/13/bits/utility.h \ + /usr/include/c++/13/bits/vector.tcc \ + /usr/include/c++/13/cassert \ + /usr/include/c++/13/cctype \ + /usr/include/c++/13/cerrno \ + /usr/include/c++/13/chrono \ + /usr/include/c++/13/clocale \ + /usr/include/c++/13/compare \ + /usr/include/c++/13/condition_variable \ + /usr/include/c++/13/cstddef \ + /usr/include/c++/13/cstdint \ + /usr/include/c++/13/cstdio \ + /usr/include/c++/13/cstdlib \ + /usr/include/c++/13/cstring \ + /usr/include/c++/13/ctime \ + /usr/include/c++/13/cwchar \ + /usr/include/c++/13/cwctype \ + /usr/include/c++/13/cxxabi.h \ + /usr/include/c++/13/debug/assertions.h \ + /usr/include/c++/13/debug/debug.h \ + /usr/include/c++/13/exception \ + /usr/include/c++/13/ext/aligned_buffer.h \ + /usr/include/c++/13/ext/alloc_traits.h \ + /usr/include/c++/13/ext/atomicity.h \ + /usr/include/c++/13/ext/concurrence.h \ + /usr/include/c++/13/ext/numeric_traits.h \ + /usr/include/c++/13/ext/string_conversions.h \ + /usr/include/c++/13/ext/type_traits.h \ + /usr/include/c++/13/functional \ + /usr/include/c++/13/initializer_list \ + /usr/include/c++/13/iomanip \ + /usr/include/c++/13/ios \ + /usr/include/c++/13/iosfwd \ + /usr/include/c++/13/iostream \ + /usr/include/c++/13/istream \ + /usr/include/c++/13/iterator \ + /usr/include/c++/13/limits \ + /usr/include/c++/13/locale \ + /usr/include/c++/13/map \ + /usr/include/c++/13/memory \ + /usr/include/c++/13/mutex \ + /usr/include/c++/13/new \ + /usr/include/c++/13/optional \ + /usr/include/c++/13/ostream \ + /usr/include/c++/13/pstl/execution_defs.h \ + /usr/include/c++/13/pstl/glue_memory_defs.h \ + /usr/include/c++/13/pstl/pstl_config.h \ + /usr/include/c++/13/ratio \ + /usr/include/c++/13/set \ + /usr/include/c++/13/sstream \ + /usr/include/c++/13/stdexcept \ + /usr/include/c++/13/stdlib.h \ + /usr/include/c++/13/streambuf \ + /usr/include/c++/13/string \ + /usr/include/c++/13/string_view \ + /usr/include/c++/13/system_error \ + /usr/include/c++/13/tuple \ + /usr/include/c++/13/type_traits \ + /usr/include/c++/13/typeinfo \ + /usr/include/c++/13/unordered_map \ + /usr/include/c++/13/utility \ + /usr/include/c++/13/variant \ + /usr/include/c++/13/vector \ + /usr/include/ctype.h \ + /usr/include/endian.h \ + /usr/include/errno.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/gtest/gtest-assertion-result.h \ + /usr/include/gtest/gtest-death-test.h \ + /usr/include/gtest/gtest-matchers.h \ + /usr/include/gtest/gtest-message.h \ + /usr/include/gtest/gtest-param-test.h \ + /usr/include/gtest/gtest-printers.h \ + /usr/include/gtest/gtest-test-part.h \ + /usr/include/gtest/gtest-typed-test.h \ + /usr/include/gtest/gtest.h \ + /usr/include/gtest/gtest_pred_impl.h \ + /usr/include/gtest/gtest_prod.h \ + /usr/include/gtest/internal/custom/gtest-port.h \ + /usr/include/gtest/internal/custom/gtest-printers.h \ + /usr/include/gtest/internal/gtest-death-test-internal.h \ + /usr/include/gtest/internal/gtest-filepath.h \ + /usr/include/gtest/internal/gtest-internal.h \ + /usr/include/gtest/internal/gtest-param-util.h \ + /usr/include/gtest/internal/gtest-port-arch.h \ + /usr/include/gtest/internal/gtest-port.h \ + /usr/include/gtest/internal/gtest-string.h \ + /usr/include/gtest/internal/gtest-type-util.h \ + /usr/include/libintl.h \ + /usr/include/linux/close_range.h \ + /usr/include/linux/errno.h \ + /usr/include/linux/posix_types.h \ + /usr/include/linux/stat.h \ + /usr/include/linux/stddef.h \ + /usr/include/linux/types.h \ + /usr/include/locale.h \ + /usr/include/pthread.h \ + /usr/include/regex.h \ + /usr/include/sched.h \ + /usr/include/signal.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/time.h \ + /usr/include/unistd.h \ + /usr/include/wchar.h \ + /usr/include/wctype.h \ + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ + /usr/include/x86_64-linux-gnu/asm/errno.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \ + /usr/include/x86_64-linux-gnu/asm/types.h \ + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/confname.h \ + /usr/include/x86_64-linux-gnu/bits/cpu-set.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endianness.h \ + /usr/include/x86_64-linux-gnu/bits/environments.h \ + /usr/include/x86_64-linux-gnu/bits/errno.h \ + /usr/include/x86_64-linux-gnu/bits/floatn-common.h \ + /usr/include/x86_64-linux-gnu/bits/floatn.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_core.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \ + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h \ + /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/bits/sigaction.h \ + /usr/include/x86_64-linux-gnu/bits/sigcontext.h \ + /usr/include/x86_64-linux-gnu/bits/sigevent-consts.h \ + /usr/include/x86_64-linux-gnu/bits/siginfo-arch.h \ + /usr/include/x86_64-linux-gnu/bits/siginfo-consts-arch.h \ + /usr/include/x86_64-linux-gnu/bits/siginfo-consts.h \ + /usr/include/x86_64-linux-gnu/bits/signal_ext.h \ + /usr/include/x86_64-linux-gnu/bits/signum-arch.h \ + /usr/include/x86_64-linux-gnu/bits/signum-generic.h \ + /usr/include/x86_64-linux-gnu/bits/sigstack.h \ + /usr/include/x86_64-linux-gnu/bits/sigstksz.h \ + /usr/include/x86_64-linux-gnu/bits/sigthread.h \ + /usr/include/x86_64-linux-gnu/bits/ss_flags.h \ + /usr/include/x86_64-linux-gnu/bits/stat.h \ + /usr/include/x86_64-linux-gnu/bits/statx-generic.h \ + /usr/include/x86_64-linux-gnu/bits/statx.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/x86_64-linux-gnu/bits/struct_stat.h \ + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/time64.h \ + /usr/include/x86_64-linux-gnu/bits/timesize.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__sigval_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/idtype_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/sig_atomic_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigevent_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigval_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/stack_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/cxxabi_tweaks.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/messages_members.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/time_members.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/sys/single_threaded.h \ + /usr/include/x86_64-linux-gnu/sys/stat.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/ucontext.h \ + /usr/include/x86_64-linux-gnu/sys/wait.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/float.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + + +/usr/include/c++/13/cstring: + +/usr/include/c++/13/chrono: + +/usr/include/x86_64-linux-gnu/sys/ucontext.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/x86_64-linux-gnu/sys/stat.h: + +/usr/include/x86_64-linux-gnu/sys/single_threaded.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/time_members.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/messages_members.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/cxxabi_tweaks.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h: + +/usr/include/x86_64-linux-gnu/bits/wctype-wchar.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/unistd_ext.h: + +/usr/include/x86_64-linux-gnu/bits/uintn-identity.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h: + +/usr/include/x86_64-linux-gnu/bits/types/stack_t.h: + +/usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h: + +/usr/include/x86_64-linux-gnu/bits/types/sigevent_t.h: + +/usr/include/x86_64-linux-gnu/bits/types/idtype_t.h: + +/usr/include/x86_64-linux-gnu/bits/types/__sigval_t.h: + +/usr/include/x86_64-linux-gnu/bits/struct_stat.h: + +/usr/include/x86_64-linux-gnu/bits/statx-generic.h: + +/usr/include/x86_64-linux-gnu/bits/types/sig_atomic_t.h: + +/usr/include/x86_64-linux-gnu/bits/ss_flags.h: + +/usr/include/x86_64-linux-gnu/bits/sigthread.h: + +/usr/include/x86_64-linux-gnu/bits/stat.h: + +/usr/include/x86_64-linux-gnu/bits/sigstksz.h: + +/usr/include/x86_64-linux-gnu/bits/siginfo-consts-arch.h: + +/usr/include/x86_64-linux-gnu/bits/siginfo-arch.h: + +/usr/include/x86_64-linux-gnu/bits/sigcontext.h: + +/usr/include/x86_64-linux-gnu/bits/sigaction.h: + +/usr/include/x86_64-linux-gnu/bits/posix_opt.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/x86_64-linux-gnu/bits/getopt_core.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/asm/types.h: + +/usr/include/x86_64-linux-gnu/asm/errno.h: + +/usr/include/x86_64-linux-gnu/asm/bitsperlong.h: + +/usr/include/x86_64-linux-gnu/bits/statx.h: + +/usr/include/unistd.h: + +/usr/include/stdlib.h: + +/usr/include/regex.h: + +/usr/include/locale.h: + +/usr/include/linux/types.h: + +/usr/include/linux/stddef.h: + +/usr/include/linux/close_range.h: + +/usr/include/libintl.h: + +/usr/include/gtest/internal/gtest-type-util.h: + +/usr/include/gtest/internal/gtest-string.h: + +/usr/include/gtest/internal/gtest-port.h: + +/usr/include/gtest/internal/gtest-port-arch.h: + +/usr/include/gtest/internal/gtest-param-util.h: + +/usr/include/x86_64-linux-gnu/bits/sigevent-consts.h: + +/usr/include/gtest/internal/gtest-filepath.h: + +/usr/include/gtest/internal/gtest-death-test-internal.h: + +/usr/include/gtest/internal/custom/gtest-printers.h: + +/usr/include/gtest/internal/custom/gtest-port.h: + +/usr/include/gtest/gtest_prod.h: + +/usr/include/gtest/gtest_pred_impl.h: + +/usr/include/linux/stat.h: + +/usr/include/c++/13/bits/locale_facets.tcc: + +/usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/bits/types/error_t.h: + +/usr/include/c++/13/bits/hashtable.h: + +/usr/include/c++/13/bits/functexcept.h: + +/usr/include/x86_64-linux-gnu/bits/libc-header-start.h: + +/usr/include/c++/13/bits/exception_ptr.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/c++/13/bits/exception_defines.h: + +/usr/include/c++/13/bits/erase_if.h: + +/usr/include/c++/13/bits/hashtable_policy.h: + +/usr/include/x86_64-linux-gnu/bits/types/clock_t.h: + +/usr/include/c++/13/bits/cxxabi_init_exception.h: + +/usr/include/c++/13/typeinfo: + +/usr/include/c++/13/bits/cxxabi_forced.h: + +/usr/include/c++/13/bits/atomic_lockfree_defines.h: + +/usr/include/c++/13/bits/alloc_traits.h: + +/usr/include/c++/13/bits/concept_check.h: + +/usr/include/c++/13/bits/align.h: + +/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h: + +/usr/include/c++/13/bits/unique_ptr.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h: + +/usr/include/c++/13/cstdio: + +/usr/include/x86_64-linux-gnu/bits/signum-arch.h: + +/usr/include/x86_64-linux-gnu/bits/errno.h: + +/usr/include/c++/13/bits/stl_pair.h: + +/usr/include/c++/13/bits/basic_string.tcc: + +/usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h: + +/usr/include/c++/13/any: + +/usr/include/c++/13/backward/auto_ptr.h: + +/usr/include/assert.h: + +/usr/include/c++/13/bits/hash_bytes.h: + +/usr/include/c++/13/array: + +/usr/include/x86_64-linux-gnu/sys/wait.h: + +/usr/include/c++/13/bits/stl_iterator_base_funcs.h: + +/usr/include/asm-generic/errno-base.h: + +/usr/include/c++/13/bits/exception.h: + +/home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp: + +/usr/include/alloca.h: + +/usr/include/linux/errno.h: + +/usr/include/c++/13/debug/debug.h: + +/usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h: + +/usr/include/x86_64-linux-gnu/bits/environments.h: + +/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h: + +/usr/include/c++/13/bits/enable_special_members.h: + +/usr/include/c++/13/bits/stream_iterator.h: + +/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h: + +/usr/include/asm-generic/types.h: + +/usr/include/asm-generic/bitsperlong.h: + +/usr/include/c++/13/cctype: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/asm-generic/int-ll64.h: + +/usr/include/c++/13/bits/shared_ptr_atomic.h: + +/usr/include/c++/13/set: + +/usr/include/c++/13/thread: + +/usr/include/c++/13/bits/stl_bvector.h: + +/usr/include/gtest/gtest-printers.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h: + +/usr/include/linux/posix_types.h: + +/usr/include/c++/13/bits/ptr_traits.h: + +/usr/include/c++/13/bits/functional_hash.h: + +/usr/include/errno.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/c++/13/pstl/pstl_config.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/asm-generic/posix_types.h: + +/usr/include/stdc-predef.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/types/timer_t.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp: + +/usr/include/x86_64-linux-gnu/bits/floatn.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h: + +/usr/include/c++/13/memory: + +/usr/include/x86_64-linux-gnu/asm/posix_types_64.h: + +/usr/include/x86_64-linux-gnu/bits/cpu-set.h: + +/usr/include/c++/13/bits/chrono.h: + +/usr/include/x86_64-linux-gnu/bits/endianness.h: + +/usr/include/c++/13/bits/basic_string.h: + +/usr/include/c++/13/bits/locale_facets.h: + +/usr/include/c++/13/bits/memoryfwd.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/types/FILE.h: + +/usr/include/x86_64-linux-gnu/bits/confname.h: + +/usr/include/c++/13/bits/locale_facets_nonio.h: + +/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h: + +/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h: + +/usr/include/c++/13/bits/requires_hosted.h: + +/usr/include/x86_64-linux-gnu/bits/floatn-common.h: + +/usr/include/x86_64-linux-gnu/bits/getopt_posix.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h: + +/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h: + +/usr/include/features-time64.h: + +/usr/include/c++/13/bits/istream.tcc: + +/usr/include/c++/13/bits/locale_conv.h: + +/usr/include/c++/13/cxxabi.h: + +/usr/include/x86_64-linux-gnu/bits/sigstack.h: + +/home/diya_limbani/FastDevFs/src/include/daemon/hash.h: + +/usr/include/wctype.h: + +/usr/include/sched.h: + +/usr/include/c++/13/bits/algorithmfwd.h: + +/usr/include/x86_64-linux-gnu/bits/long-double.h: + +/usr/include/c++/13/bits/atomic_base.h: + +/usr/include/c++/13/bits/uses_allocator_args.h: + +/usr/include/c++/13/bits/charconv.h: + +/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/c++/13/bits/invoke.h: + +/home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h: + +/usr/include/gtest/gtest-death-test.h: + +/usr/include/features.h: + +/usr/include/c++/13/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h: + +/usr/include/gtest/gtest.h: + +/usr/include/pthread.h: + +/usr/include/c++/13/atomic: + +/usr/include/c++/13/bits/locale_classes.h: + +/usr/include/x86_64-linux-gnu/bits/timesize.h: + +/usr/include/c++/13/bits/basic_ios.h: + +/usr/include/x86_64-linux-gnu/bits/time64.h: + +/usr/include/x86_64-linux-gnu/bits/siginfo-consts.h: + +/usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h: + +/usr/include/gtest/gtest-typed-test.h: + +/usr/include/string.h: + +/usr/include/c++/13/backward/binders.h: + +/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h: + +/usr/include/x86_64-linux-gnu/bits/stdint-least.h: + +/usr/include/c++/13/cerrno: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/struct_mutex.h: + +/usr/include/c++/13/bits/shared_ptr.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/asm-generic/errno.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h: + +/usr/include/c++/13/bits/range_access.h: + +/usr/include/c++/13/compare: + +/usr/include/c++/13/system_error: + +/usr/include/c++/13/bits/basic_ios.tcc: + +/usr/include/c++/13/pstl/execution_defs.h: + +/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h: + +/usr/include/c++/13/bits/refwrap.h: + +/usr/include/c++/13/string_view: + +/usr/include/c++/13/map: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h: + +/usr/include/c++/13/bits/stl_multimap.h: + +/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h: + +/usr/include/c++/13/bit: + +/usr/include/c++/13/bits/allocated_ptr.h: + +/usr/include/c++/13/clocale: + +/usr/include/x86_64-linux-gnu/bits/types/__FILE.h: + +/usr/include/x86_64-linux-gnu/bits/types/locale_t.h: + +/usr/include/c++/13/bits/stl_relops.h: + +/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h: + +/usr/include/c++/13/bits/stl_tempbuf.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h: + +/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h: + +/usr/include/c++/13/bits/stl_algo.h: + +/usr/include/c++/13/cstddef: + +/usr/include/c++/13/ext/aligned_buffer.h: + +/usr/include/x86_64-linux-gnu/bits/types/time_t.h: + +/usr/include/c++/13/bits/locale_facets_nonio.tcc: + +/usr/include/c++/13/bits/localefwd.h: + +/usr/include/c++/13/streambuf: + +/usr/include/c++/13/bits/memory_resource.h: + +/usr/include/c++/13/bits/this_thread_sleep.h: + +/usr/include/c++/13/bits/move.h: + +/usr/include/c++/13/tuple: + +/usr/include/c++/13/bits/nested_exception.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/c++/13/bits/node_handle.h: + +/usr/include/c++/13/bits/ostream.tcc: + +/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h: + +/usr/include/gtest/gtest-message.h: + +/usr/include/c++/13/bits/postypes.h: + +/usr/include/c++/13/bits/parse_numbers.h: + +/usr/include/c++/13/bits/std_abs.h: + +/usr/include/c++/13/bits/stl_multiset.h: + +/home/diya_limbani/FastDevFs/test/test_dir_manager.cpp: + +/usr/include/c++/13/bits/uses_allocator.h: + +/usr/include/signal.h: + +/usr/include/strings.h: + +/usr/include/c++/13/iomanip: + +/usr/include/c++/13/bits/predefined_ops.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/c++/13/condition_variable: + +/usr/include/x86_64-linux-gnu/bits/signum-generic.h: + +/usr/include/c++/13/iosfwd: + +/usr/include/c++/13/bits/quoted_string.h: + +/usr/include/c++/13/bits/unordered_map.h: + +/home/diya_limbani/FastDevFs/test/test_hash_store.cpp: + +/usr/include/wchar.h: + +/usr/include/c++/13/bits/shared_ptr_base.h: + +/usr/include/c++/13/bits/sstream.tcc: + +/usr/include/x86_64-linux-gnu/asm/posix_types.h: + +/usr/include/c++/13/cwctype: + +/usr/include/c++/13/ratio: + +/usr/include/gtest/internal/gtest-internal.h: + +/usr/include/gtest/gtest-test-part.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h: + +/usr/include/x86_64-linux-gnu/bits/signal_ext.h: + +/usr/include/c++/13/bits/char_traits.h: + +/usr/include/c++/13/bits/std_function.h: + +/usr/include/c++/13/cstdint: + +/usr/include/c++/13/cstdlib: + +/usr/include/c++/13/bits/std_mutex.h: + +/usr/include/c++/13/bits/stl_construct.h: + +/usr/include/c++/13/bits/stl_algobase.h: + +/usr/include/c++/13/bits/stl_function.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h: + +/usr/include/c++/13/bits/utility.h: + +/usr/include/c++/13/utility: + +/usr/include/c++/13/bits/stl_heap.h: + +/usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h: + +/usr/include/stdio.h: + +/usr/include/c++/13/bits/stl_iterator_base_types.h: + +/usr/include/x86_64-linux-gnu/bits/types/sigval_t.h: + +/usr/include/c++/13/bits/stl_map.h: + +/usr/include/c++/13/bits/new_allocator.h: + +/usr/include/c++/13/bits/stl_uninitialized.h: + +/usr/include/c++/13/locale: + +/usr/include/c++/13/bits/stl_raw_storage_iter.h: + +/usr/include/c++/13/bits/ostream_insert.h: + +/usr/include/c++/13/bits/stl_set.h: + +/usr/include/c++/13/bits/codecvt.h: + +/usr/include/c++/13/bits/stl_tree.h: + +/usr/include/c++/13/bits/stl_vector.h: + +/usr/include/c++/13/bits/streambuf.tcc: + +/usr/include/stdint.h: + +/usr/include/endian.h: + +/usr/include/c++/13/bits/streambuf_iterator.h: + +/usr/include/c++/13/ostream: + +/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h: + +/usr/include/c++/13/bits/string_view.tcc: + +/usr/include/c++/13/bits/stringfwd.h: + +/usr/include/c++/13/bits/locale_classes.tcc: + +/usr/include/c++/13/bits/uniform_int_dist.h: + +/usr/include/c++/13/bits/unique_lock.h: + +/usr/include/c++/13/mutex: + +/usr/include/c++/13/optional: + +/usr/include/c++/13/bits/vector.tcc: + +/usr/include/c++/13/variant: + +/usr/include/c++/13/bits/cpp_type_traits.h: + +/usr/include/c++/13/cassert: + +/usr/include/c++/13/ctime: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/c++/13/cwchar: + +/usr/include/c++/13/debug/assertions.h: + +/usr/include/c++/13/pstl/glue_memory_defs.h: + +/usr/include/c++/13/exception: + +/usr/include/c++/13/ext/alloc_traits.h: + +/usr/include/c++/13/new: + +/usr/include/c++/13/ext/concurrence.h: + +/usr/include/c++/13/bits/stl_iterator.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h: + +/usr/include/c++/13/ext/numeric_traits.h: + +/usr/include/c++/13/ext/string_conversions.h: + +/usr/include/c++/13/ext/type_traits.h: + +/usr/include/c++/13/functional: + +/usr/include/c++/13/bits/std_thread.h: + +/usr/include/c++/13/initializer_list: + +/usr/include/c++/13/ios: + +/usr/include/c++/13/iostream: + +/usr/include/c++/13/istream: + +/usr/include/c++/13/bits/ios_base.h: + +/usr/include/c++/13/iterator: + +/usr/include/x86_64-linux-gnu/bits/types/wint_t.h: + +/usr/include/c++/13/limits: + +/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h: + +/usr/include/c++/13/sstream: + +/usr/include/c++/13/stdexcept: + +/usr/include/c++/13/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/stdint-intn.h: + +/usr/include/c++/13/string: + +/usr/include/c++/13/type_traits: + +/usr/include/c++/13/bits/allocator.h: + +/usr/include/c++/13/unordered_map: + +/usr/include/c++/13/vector: + +/usr/lib/gcc/x86_64-linux-gnu/13/include/float.h: + +/usr/include/ctype.h: + +/usr/include/gtest/gtest-assertion-result.h: + +/usr/include/gtest/gtest-matchers.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h: + +/usr/include/gtest/gtest-param-test.h: diff --git a/build/test/CMakeFiles/fdfs_tests.dir/compiler_depend.ts b/build/test/CMakeFiles/run_tests.dir/compiler_depend.ts similarity index 86% rename from build/test/CMakeFiles/fdfs_tests.dir/compiler_depend.ts rename to build/test/CMakeFiles/run_tests.dir/compiler_depend.ts index e1d3923..66d415b 100644 --- a/build/test/CMakeFiles/fdfs_tests.dir/compiler_depend.ts +++ b/build/test/CMakeFiles/run_tests.dir/compiler_depend.ts @@ -1,2 +1,2 @@ # CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for fdfs_tests. +# Timestamp file for compiler generated dependencies management for run_tests. diff --git a/build/test/CMakeFiles/fdfs_tests.dir/depend.make b/build/test/CMakeFiles/run_tests.dir/depend.make similarity index 55% rename from build/test/CMakeFiles/fdfs_tests.dir/depend.make rename to build/test/CMakeFiles/run_tests.dir/depend.make index 529f5fe..340a83a 100644 --- a/build/test/CMakeFiles/fdfs_tests.dir/depend.make +++ b/build/test/CMakeFiles/run_tests.dir/depend.make @@ -1,2 +1,2 @@ -# Empty dependencies file for fdfs_tests. +# Empty dependencies file for run_tests. # This may be replaced when dependencies are built. diff --git a/build/test/CMakeFiles/fdfs_tests.dir/flags.make b/build/test/CMakeFiles/run_tests.dir/flags.make similarity index 60% rename from build/test/CMakeFiles/fdfs_tests.dir/flags.make rename to build/test/CMakeFiles/run_tests.dir/flags.make index 3110de8..56124f1 100644 --- a/build/test/CMakeFiles/fdfs_tests.dir/flags.make +++ b/build/test/CMakeFiles/run_tests.dir/flags.make @@ -4,7 +4,7 @@ # compile CXX with /usr/bin/c++ CXX_DEFINES = -CXX_INCLUDES = -I/home/diya_limbani/FastDevFs/src/include +CXX_INCLUDES = -I/home/diya_limbani/FastDevFs/test/../src/include -CXX_FLAGS = +CXX_FLAGS = -DGTEST_HAS_PTHREAD=1 diff --git a/build/test/CMakeFiles/run_tests.dir/link.txt b/build/test/CMakeFiles/run_tests.dir/link.txt new file mode 100644 index 0000000..abf1a4e --- /dev/null +++ b/build/test/CMakeFiles/run_tests.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/c++ CMakeFiles/run_tests.dir/test_dir_manager.cpp.o CMakeFiles/run_tests.dir/test_hash_store.cpp.o CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o -o run_tests -lpthread /usr/lib/x86_64-linux-gnu/libgtest_main.a /usr/lib/x86_64-linux-gnu/libgtest.a diff --git a/build/test/CMakeFiles/fdfs_tests.dir/progress.make b/build/test/CMakeFiles/run_tests.dir/progress.make similarity index 100% rename from build/test/CMakeFiles/fdfs_tests.dir/progress.make rename to build/test/CMakeFiles/run_tests.dir/progress.make diff --git a/build/test/CTestTestfile.cmake b/build/test/CTestTestfile.cmake index bc1e836..99a9dd3 100644 --- a/build/test/CTestTestfile.cmake +++ b/build/test/CTestTestfile.cmake @@ -4,5 +4,3 @@ # # This file includes the relevant testing commands required for # testing this directory and lists subdirectories to be tested as well. -add_test(fdfs_tests "/home/diya_limbani/FastDevFs/build/test/fdfs_tests") -set_tests_properties(fdfs_tests PROPERTIES _BACKTRACE_TRIPLES "/home/diya_limbani/FastDevFs/test/CMakeLists.txt;20;add_test;/home/diya_limbani/FastDevFs/test/CMakeLists.txt;0;") diff --git a/build/test/Makefile b/build/test/Makefile index e79bde4..525d0b6 100644 --- a/build/test/Makefile +++ b/build/test/Makefile @@ -127,25 +127,25 @@ depend: .PHONY : depend # Convenience name for target. -test/CMakeFiles/fdfs_tests.dir/rule: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 test/CMakeFiles/fdfs_tests.dir/rule -.PHONY : test/CMakeFiles/fdfs_tests.dir/rule +test/CMakeFiles/run_tests.dir/rule: + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 test/CMakeFiles/run_tests.dir/rule +.PHONY : test/CMakeFiles/run_tests.dir/rule # Convenience name for target. -fdfs_tests: test/CMakeFiles/fdfs_tests.dir/rule -.PHONY : fdfs_tests +run_tests: test/CMakeFiles/run_tests.dir/rule +.PHONY : run_tests # fast build rule for target. -fdfs_tests/fast: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/build -.PHONY : fdfs_tests/fast +run_tests/fast: + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/build +.PHONY : run_tests/fast __/src/src/daemon/dir_manager.o: __/src/src/daemon/dir_manager.cpp.o .PHONY : __/src/src/daemon/dir_manager.o # target to build an object file __/src/src/daemon/dir_manager.cpp.o: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.o + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o .PHONY : __/src/src/daemon/dir_manager.cpp.o __/src/src/daemon/dir_manager.i: __/src/src/daemon/dir_manager.cpp.i @@ -153,7 +153,7 @@ __/src/src/daemon/dir_manager.i: __/src/src/daemon/dir_manager.cpp.i # target to preprocess a source file __/src/src/daemon/dir_manager.cpp.i: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.i + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.i .PHONY : __/src/src/daemon/dir_manager.cpp.i __/src/src/daemon/dir_manager.s: __/src/src/daemon/dir_manager.cpp.s @@ -161,39 +161,39 @@ __/src/src/daemon/dir_manager.s: __/src/src/daemon/dir_manager.cpp.s # target to generate assembly for a file __/src/src/daemon/dir_manager.cpp.s: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/dir_manager.cpp.s + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.s .PHONY : __/src/src/daemon/dir_manager.cpp.s -__/src/src/daemon/hash_store.o: __/src/src/daemon/hash_store.cpp.o -.PHONY : __/src/src/daemon/hash_store.o +__/src/src/daemon/hash.o: __/src/src/daemon/hash.cpp.o +.PHONY : __/src/src/daemon/hash.o # target to build an object file -__/src/src/daemon/hash_store.cpp.o: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.o -.PHONY : __/src/src/daemon/hash_store.cpp.o +__/src/src/daemon/hash.cpp.o: + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o +.PHONY : __/src/src/daemon/hash.cpp.o -__/src/src/daemon/hash_store.i: __/src/src/daemon/hash_store.cpp.i -.PHONY : __/src/src/daemon/hash_store.i +__/src/src/daemon/hash.i: __/src/src/daemon/hash.cpp.i +.PHONY : __/src/src/daemon/hash.i # target to preprocess a source file -__/src/src/daemon/hash_store.cpp.i: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.i -.PHONY : __/src/src/daemon/hash_store.cpp.i +__/src/src/daemon/hash.cpp.i: + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.i +.PHONY : __/src/src/daemon/hash.cpp.i -__/src/src/daemon/hash_store.s: __/src/src/daemon/hash_store.cpp.s -.PHONY : __/src/src/daemon/hash_store.s +__/src/src/daemon/hash.s: __/src/src/daemon/hash.cpp.s +.PHONY : __/src/src/daemon/hash.s # target to generate assembly for a file -__/src/src/daemon/hash_store.cpp.s: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/__/src/src/daemon/hash_store.cpp.s -.PHONY : __/src/src/daemon/hash_store.cpp.s +__/src/src/daemon/hash.cpp.s: + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.s +.PHONY : __/src/src/daemon/hash.cpp.s test_dir_manager.o: test_dir_manager.cpp.o .PHONY : test_dir_manager.o # target to build an object file test_dir_manager.cpp.o: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.o + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o .PHONY : test_dir_manager.cpp.o test_dir_manager.i: test_dir_manager.cpp.i @@ -201,7 +201,7 @@ test_dir_manager.i: test_dir_manager.cpp.i # target to preprocess a source file test_dir_manager.cpp.i: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.i + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.i .PHONY : test_dir_manager.cpp.i test_dir_manager.s: test_dir_manager.cpp.s @@ -209,7 +209,7 @@ test_dir_manager.s: test_dir_manager.cpp.s # target to generate assembly for a file test_dir_manager.cpp.s: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/test_dir_manager.cpp.s + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.s .PHONY : test_dir_manager.cpp.s test_hash_store.o: test_hash_store.cpp.o @@ -217,7 +217,7 @@ test_hash_store.o: test_hash_store.cpp.o # target to build an object file test_hash_store.cpp.o: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.o + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o .PHONY : test_hash_store.cpp.o test_hash_store.i: test_hash_store.cpp.i @@ -225,7 +225,7 @@ test_hash_store.i: test_hash_store.cpp.i # target to preprocess a source file test_hash_store.cpp.i: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.i + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/test_hash_store.cpp.i .PHONY : test_hash_store.cpp.i test_hash_store.s: test_hash_store.cpp.s @@ -233,7 +233,7 @@ test_hash_store.s: test_hash_store.cpp.s # target to generate assembly for a file test_hash_store.cpp.s: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/fdfs_tests.dir/build.make test/CMakeFiles/fdfs_tests.dir/test_hash_store.cpp.s + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/test_hash_store.cpp.s .PHONY : test_hash_store.cpp.s # Help Target @@ -245,13 +245,13 @@ help: @echo "... edit_cache" @echo "... rebuild_cache" @echo "... test" - @echo "... fdfs_tests" + @echo "... run_tests" @echo "... __/src/src/daemon/dir_manager.o" @echo "... __/src/src/daemon/dir_manager.i" @echo "... __/src/src/daemon/dir_manager.s" - @echo "... __/src/src/daemon/hash_store.o" - @echo "... __/src/src/daemon/hash_store.i" - @echo "... __/src/src/daemon/hash_store.s" + @echo "... __/src/src/daemon/hash.o" + @echo "... __/src/src/daemon/hash.i" + @echo "... __/src/src/daemon/hash.s" @echo "... test_dir_manager.o" @echo "... test_dir_manager.i" @echo "... test_dir_manager.s" diff --git a/build/test/fdfs_tests b/build/test/fdfs_tests deleted file mode 100755 index 7e0678f9288901ca81a449fec6ba4382c1a4f6fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 567368 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

  • ?>kZW2w6CEQ^`@AMCq55 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
    ~dsRr>0PLZHfN~7?u#dI2vNnl;)q{%PFZ`1 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

    %P}yX(rSp+pig1DCN=;Bc zoBMei%f8G9y7HQ;tMCgRimjhCzI5WeC)|vVt%Td%V~0> z?%USVfbLH-n+1_YOiB?76D$6btm|U+bxwDcPj{cn?QR8p+p?csgMMCy zkw4ncDMc;%nH~(`M#h_iwroGHIZtSt7obh~@l@BdviSefz-4fTk;J??;c4zQ#B zKAV>qKP|eGtk-HaSY4tV$3d8zrJp>XXnmURRx$+j?S&&y%m1D`HFoe(@iZST6T)() zt#%6zK1x*f8fET6z_?odGn#)w)%%9bLE!xKluWuYJtvc%pFTEnTJm!yzcIa4CVzhV zFw!mk5ksCiB7V}B*a&_m*r=}ga(Uvm?K5PdshB`xrizg}Qrg8G%1C*wBGyeiy->9Yu42n%{&Cxi zD0E@dlmhkgF#jrj;BGGU%kc?kqJ%a8*VhVgDyJfQfT7d67fPococL$;(W8(y=UYd0&XtTf7r+ zUNqriHl;gh8a@V2yYwiSWU`dT2?C2$EE~z+QN;v2!h}*V2CmTUuu`|a75uZL+8118R^yYQ!WAHx8J++>s!~&I zrcu8X7PumHc02c~FV-pt_h;U61DPeqhogg1FV8=?4APMEW>P4m6&gha^0EpXRJO?yaPb>iBu(wkNEvZPu9Pu*X{!A8 zo4gXWX$k9Kqq`qj6|Q2dBL^|xMbckK(#s=h7fF8>Nq-VaFNvf-ilje?q~D9A--)FE z9ZA0#NiT||7n08EFB*xL5tWJWLpK|&HthU!!~{1D12HisS4iyV+Lu&yrbCJ7trsjKe2R?c6<9Hl<{^FT2djOpH{!zf*=W z#xIGN`7L?kH4__Ld3B?F@io@VuTqzI5pzw+EX#NsVK7ER?di^W&qU0;YrKf*DG~E3 zT7pE$601zyYorJ#m2L~+gv}Z&4US8a48_LXCKO8DQEvhYmSAE1%KcrM2CQ4*xmYao z_Gx5EvT#f!xy|kzZfAv{;G`=Gp8aE&f?jVM*@S8e}=OnMAKa z%#0Nf`|Td#LkXqf;fGI@+(A-Z`hKLkgnZ&d)(E^3-2r^aVEW!BNwdnGYac&TGAsBP z;WLYmgw+ar-eIvTw5FO}kx3%fcl+Dq3heJvm&aeBbM+bej!W9^s~|PpeHNq&-Frc5 zq+1xIO5MC5HPk&5qe>aH%L{x+k#Y?yCz5#yT1pi0yiN@Rk-skg$)m8$V#PM zWxo@*WN&Lm{PW5;xX#O^3s_c{J?}O{zX|2i7LkLt%_8YPMA92Y(iM^P{*iR=NP6E$ zx@RQ4cO<=6B)vx@J&lu(uy0c%=_exT$0F(TBI$ETw~$xz2MjJ?Ok6IVk$Yy1TjT`E z!8As`DeyhIV8%ng!FFe~!9`-P&CkwN={G%9WMJk5)Fr)eWTRVFNet4+Bm%2-!2bAtnR>A@f408ZWW)*nU^sEA3998Qx3OorZ z`vW?W$d3sY3Vac;GWJ6Oc5j`e#yrxq1Y80EYkD#S+=%{disWMV_{k{WzoEamqZxuH zj=AaGIj{-STanJ($7@p+Zd$7<+zz<*y`t2m>(*Z{4?SPND`GR7)0=Oc`JJB6No`<{ zRC%}zw((pRX6EK?I2K4T=pM7`ej9)O{uPsIN^~DaBkRx8cLSW;%4_I2812%*{8M8M z-x{ph@pa;xx+Q&||8o7h1rvad0vr3=^;E9=q;Fzn-HQ{RPj^(KI*Smd z6R*<5z{Em=DIAzr_v(^m6T#$nH^ZLMPHmEZwaI>WGAoYxXy`c#6u@gV zVH{YpH0b9J5qjy18I3yx;=T5>pt#FhYo!H ztIZM%C^?9duO|&D8OUhTpJ;Z+!Y_VC8`Bdxr3}+&k`DcQ!uW0(o}OkrUEZ`=3!ctw z%8%V#JZ+nJj*2kK!)+K)+T`nAMw|GS_^tZ#$X5N6Sp8U<%52r4l)I^wfI)KF$!&rftFnx%>AcA*Y=E z`{?0N=CkD5{{1yqZHSN^AlWXsK6Y&(`*(}4Q>Mv`?BBmkuW#^J_cQzUx7{m&9Lq68 zux~FvC8XTB>5n;X@l-rF{UPb-38=pxcvKayAn6P=qEolwZ&;P+8$Q-E@1R1YiZip4kjSUH?d2;AoqZI9g2xX&>krWt?RI~cgX?s1{Al$|3e2Rp;}rP@tog9 zFCO5;o+n_)hpS(#_sT}ENO~xea6&S-R;o>^XeEDxir zei9*hJzkKPG8^T^u2I-bwhu0p=d~)oD<~ghk}husv4`{0BlzLvtN;BJB%>imTpRT~ z%b34m>|6v+T#B)WwDAq6fMNPW(i!`X?Y9#Dw#U!rAb^7?C-x@F(0D>m8bOo@w8#!@ zKuH`|rHe0?H5zR=FIImE9UL*aGTEUdHg(sc)WDB=Z+-rzv8l5vPa4pWSJlq#-@F96 zNDW-YxzgXB1RG#}lUV%&KDEtxJv5M_ib-dbC=^?v&Pr^pue+$Q81Sqc2%egfE_PSK zeFm>#pl(;m^W+8RBtVKbUsQp5P`BNjql6h*R&s9@M%Tdm1d{$TXG3$$`2&ZB8beCXNcWqTm5uC1x~EJpY%?Rl3-kJxYO_I`0%u9Td_>7tzPlhJu=s z&i*bl)9TK zKoqz)hRJO-cKNkz2*bItMzK`+#=#Ir0IwgbqNGWoTYyOG$K$#w zJIb8VKlAMr&_VpEAK6zF4prPMwn(dj+o3fEb zEIvVp(5C3|B-AlOET^1?*uOmr*Qht#TdyhUN%+ZP2^_Yu6ATa`oopJsE^8L--`pT^ zvgJcWs+Z;oVbkYiG1Q|WY(^9_MPljWyr?Vo40Fxa^%Hn*~;-)X7(5^;NGBUoFF zE-c{?S^wh6mX!z)-RIL=fqS`-+^SeA#~c-(MX~!MZHKbyBh2q%dO;+;Fp_>Xl3pH3 ze@Qy@=dFB>HBbNb&4{&$%e_pK(#M%iQA9WK-S07rZGrAZD=ho2!QWE-P5%p-73{C; za3E`^+vDxo=_4J31)YQh4e<0-C-a`jMWT*K{h=ZmrW zB)WqP#$@Pv=MbvtSe3-cc%s0rk_Iv|yz41f-&`4aD)TO6u)45f%#b+-N}N=uo-%qF zQ1=p@TPgf1O19lSh3-PTvydyY^~HK7Dd&gp=?(^(`^xAq5ZSG|vE&GKgJ>e*yadx> zbCa2m$W-VtHTAH}eGk#*ppZGa6h%yPQU8l!a{cZlX zF(2iV15E4T=D>> zC|D5_8_hd_-CAar4uD!D=3CCv^F!zzZBC$+KFCyl2=5nWmPwQ4y@^*Jf@%%oVnCRH z4<9F9z{uTD@UCwRFt-nlI5JD*pM!6PXWj;Z5ZO-d5#(2hELz@e>`Wo7$yF{bc<#t* z&P0eqnyf0>b;FmqH{CIof)8|P+tJq;LJgLeWL~Pex$Y-+7~7*b;Wt}59Wc8ZhaUzq z{{s%+Y*xtO$$^jn`0~tc*FDAIM%z)&4oS@Y3(}2HQ2kw2YpG zv^48tPfOn(BBV-JhFrEV8P63|DP;aQyV#vjO$`cP09Wc%VaRxWC-@_YS%`+rgi~R- zX!Ct;GFw{#CH`!l{VmyVm8&zkl37+h7%%y5d5hgqY7tn6TFa~<0mJ18K`~c|5o59_ zs$9K9Mpg(~$W6Wq?^ZiB)zH{UdnxI;sRS@lZ%5~A?6W{-}Bok zCu=gL{{~8-L}&FWqM5~R67@oY-kNc$tlq?HlRHC0h6an>i9xET8%ipDoYxDqbm$~p zQ-z&J>d*ytN2$(e_wlwzOC(R z-#sJm$f+HA_M6n9XZm3|E@t=7>RPINJG$xm(xLQHwr^Q|WI*hxjy*>VOmytY-f=wx zb{5|+do);2lRf(-dOpWQT32hXT=puU2XL~=cl+jkcg>G%ZT4qT*SU6b-{^O-`mW?J zdr|k}SL$)Kk5?z=*UjQ$V~1XxSoX;q&}+dtD-yHh1SB9~P8Ouk5e0~NJVWgn~3=aCwK zZd4@-Yz3v0uaZ)gr3bfJ#h%zo^*LQt=CobqRVE7U?I2b8N842%@Ks7w<>I!hO!8IQ zsmd{JRjECVMm{;0;@)i*|C!=O6?bj3So-HbRs7qZ+Zd>Y`fX70Vv5~O2u`na&P}f# zl}&#aN$6@oF_Jzml0H0=J~xs+E0X?OBz;>XeM=<0Q6#-*Bt49D z#Cs|@FOt0u&zdP0`upSNCSk@pPX2qBL=<6;?fkyJC|EQK+{>p!uw%KNw-ITjjpvta%6ThwtGBj*2u{9*GBayQbl{M zp*TOe_Dq_4h~b3$s|)dM2-C+!(tjbH?T>1Rekv2cnY}lT8s+W1Jyz&aJGa&|&Uj|y z4Q;>fDl|iH>#aF63(wnox5li;{7m?Hlh_p-G2;_{-XM1Q^CVJ(S5NpUKX&Pvq+?ST zRh~5DT5Q2z?%(`LK!3t-xOKh#EXK7lL(=&H)`iOb@MJsZR>(#x@;Ck3#$VK;>uo7> zhE^rMj%;YX-&D4pz0}TK$ckk*PL8&}k@Az|r!Qs^@atBzd_9$qQu%RhmcRQ~$`4lg z{+aUB;EyK!wD0+&S61xogJDSmAA$E)P(K*Ga=l zwrFh=uj#G2-d5?}gdFVAi~z3_e%|Kd{`!V*yX3YJYq)}b#Abf$4(-oJSLM*_%wd$d zy(w5$pTV1!bLj-bKew7q}NbiLfn%5ZZV9sit^PYO8#GWA!`ImPX{6 zu?(4z-kdDWH$w?b`x|N~zpya6*QgMZw9ZSy^z)=A`}y(oY{ByFfa_T>umAe$&>W#S zak*3H>1d&PjUvBSiN$k_(0P4{ObHnasQEc*Q#gy}LmNW+BeomrXR>z*vEM!yGi$q1 z=i13)dFeA0Yp@w&-n15E?GFUo#xUlNs#pI{w7}Mz5DBnQt-tAUsj4UAhLuFK4)=(u zz;42YRiO>;;>#=`*w)OZc~?moyUPxs zMz1OMX{??wJsBN)pL3*RH@VYQ1O8hNny^i62AmlhmNOtz!JAx#YGNRnMblYZgEyFj z=7wK{CoX}>h+-s7+UjF;kf_0H7k^v|fytVns?$_8krQglm7`>7%V{;kovy)=lz)4m zC@=Ie0bLnK^E(7fRi3aa_{oW0%WUS{%`h-o%Tz3K4T9JaPpyX6lEHqH% zU9uIcgNkDWbF^@`zbb+t+AME2eBz2c*X`5_VrNy<5g!%b%U1j?x0gU%t{kj=0nnM$ zb?;a$dFwzW69gpmtG6E-?%V+ygI!Y87BV~_9d5X|mqHdrTcwtB)v#A%?6OYqpNN)Q zBD=A)ae?~)(HuH9E*POcEkzxfnopcEUAmR|8Dn?Ns@mG(wxaKID#7w(Kno^D`(xjw+SPW4Euo z?ubm~m6Mn5fJwsd@0R%e-MJ?Od$WGFH`~g#Q{PZ4v#0x9Ki05+dV#WKZ-x7=oc&YH zli|Lr&HYdB=>DfuX8&_Oa&y^K?KLD1GkB_%cD}<%5IerFsHkPJwDa{k#vVhdap=&57Jtny!@9w!}&EbAE)|jSf;(`w|$9; zek`5^5s8nJtQYsC#^Xo`_xSNB#;X{&UspuNh5Jh{)+KF3?o6#ba_%Za;DdK|JWiTn{kiSibpXrWc=1O|>zlk7yMIXQ}DMuY4kgfKSa6zS#{@ zC<3)9dK@ab!jb^&&-;aaiMIHf<*tFtXIJPG3*i_92&*vezn^^Ley!!ddiGB>h$e1(iIXrrsSCW`^3m<@O+V5X+}5#igc2U(ebv z1cyrWlczu?8&NHNjcEnOhZ(!d%6)_jt%~~NjwNneI^$O(2!JK&5WGEqO!h0<;b)Lhx1d9!Us2Z8 zy>b=z@tyg(2mbA+&6X#-&JViHuGuF(t=q6GW`AEg?27n|X@6>1cG$E(UiSaRXWVe3{kLT>Tk+Qy#Cy$-T{WAH z6k##fOJi*UOWFHlU(-^0E}8B+hVIFDZu&5eqr-F`(z*78?2AUI%6HJA91^~P3<*jd z?Vx;&-_Y>iVh{BiQW$zP3Q+CQD7v&{RkmCyE+fo25M*ewpNGbUICfF zD(i4q-p0@4&@{M5FrfcbW9cC34vCR)S%nyE792QJHNwyX0rxG4Lq4J_e}_`E6_Sv0 zjf5`WPji?58l0su56^ltKf&5S$*oorYMQwu#I`O=LeNt7k|HJkIwFazH*-J1f`p1_ zo&7HXErQb?x4}N1gftylVYeeBq#4V)@Je2?k3#ia>^|k2^kNZ1f1m|b>aVUBk9V4( z-Lm`M?9ec7mb|u#*UfzN+bQbs*V1beMJN(|UavtG}5_m8rdMNp8`wsCL&%-sixU6oV;R`c2k8*W(8_vIldP zc~_0yOybLK?@9S=W*4oGH8Vw0JrJBs%_JMHZT14GNc>b=ds$V-?hUXlv*##aCKiN)G0 z9+m+TczAXWfpp0N*;+taD!Bk-6SCAbEz1DwkO8(aLxVeCJ2B|di;^5NYAJVLUHi2@%1&gd0doxpHg(Cg*; z5Da`FZwLUChV**d@PIm|fSZ6i9z~sKISU!OtxspD;>HZHfNqZsfgPU(cJdm48Qt!a z1y+>-Cf6)TtZxWxvn;SK0>&^lzCJ^;OWik~zQjozWPk)c`t>06j`S$FcSs7oWjk1Nu4px;79T z%Dn+gZ3;D8M`wTqv(+^OwoMjT$r^we{jB;T1FT~P*w&tYnvM;6wx}%Av$wCc`tGG` zBJ}fE7RY?Ad-&l6J-RCdlF9@}@ zWONm})OFFQQ{|J7^1d?#F9{!@hc(dc_j&N6{EMTdKZa%Hf2FqjkP|zrimVDe0t;M$ z|3nUIzka4G-e;8b#H&}!!6rJUg)n=DXNEJ538w!I?kezw){b|s1}HPfnvr?6l9zV1V{NJ*~gORp@4>jQR zT3$UrC4R6t{RBzrH)K%amU;5|$C1#>Q47MK-Kgzu z2&+b!s8OGI&f(07_uzST$Y?l>s3lGRwq0n`J73&2nffi6hVO0;zY94ou1@RY6S5zV zXzSxt`SpV(5SrbpdDdU<4uu?dqyg#t<`GejE3{F9jz+gbrqzJsb`D!zwzG9vbo%ub zZFCuyW_!T>I;53H*=D=N)i!BEf3HafP= zM$5NBxTx7@Y^WxyPWXwQqD#c}DDjSMs;#>rU^9Bewvx8FY`VSJGU~Vj1R7ZO zio1{RLRK7&%RrbO7D-n}(gPyto}?q}>iz8p4@x{=nONZ2)Ia;ahS*OZ1$-1S8$@D1 z6$Ty4fyd$Z8h~B7R$z^#ne}Z@VjgEb3J)V@w5Jn)@A}5v`}GaJ!Cyxh57xK2vHCJ& z&0)rxFN!kdr7qUo=SS+L${(rrb6h$nAT6=xF^c4*#jbpPsNFpimX%*lZTD+qP#R^; zQVafsl1Usx(M->Q+J^6~hDjQMT7&&CfrzA1NkPCOBn?8K) zTbH%*FJT&K=SwembGAAhEP)$j+ufRWjSU(3dwN@^?cZUcU-pr2{T)4MiEHicjAN0hp4-&1bX=2$+fxnPnFQ>42 zxxyVoW}KUDe^55Pio^a;wObZRFO8(%ARV4>u6cc1%li4oT9>$5M)^NjKhIk$@FD}= zV*MPHctvLozp#j+mCltN?02o7`-w**>*p>JCfz~Q8Zzls-&2t*YJ)tJ*3A;_21@AE z_kthgCmaf~b$LGgnXcmJ(6DNhN$d0pcA$_+ua^6ncP1}g9?)U4J2OG8HkkAjb5@J! zshdIb#-zKH&`r;zWo><&DnEffiAkR)+9)H4teV9Jr1NcuM49xxcU5h%{7RZQz4f9Y zVAAg-u_PLv+}>Ihwa%E-Mwk7n+2m3NOibF7M%-7v3;bN9MRa%l44L%AY`f>vZs2I& zQ9hi0FLYR&4V8b-45%Mh8Eiz|Qn$~y^lt4u+F`p0kFMHQ^>Y;3ZT(7_8wtEC;rZ9a=Bt1Eju8*Y0kk0bU?_M8&TkDecHN#LRe&_mV;iDOK+l%d8 z01NF0Vf+$X8YeDapq(=2Q+8NGIORfB<;XTT%=L%3SX0UARPt@?;?6f+-Qs$%{I7b< zvM;Lrxt^tmTDp2ftaQOQv0+38CAX?%IJx{gA~xhj`#sWr^DkvRNq5u%VO7a!%N{)< zwtH2{$XMNo4mw}v!=ZdQn;QOPj;!#AE&xYd^W8bhr(lysR}m!VQn{bGo&NM&vwco) zcJn>)CSL;}+b=x~K>}NLUn}wnP*HK=)?{$`jpNN1Xyf(sI$BGkW0$_CQ+2%B?%*Q{ zgt$m*hn3;7oqpsPGMJ`&30vWy_okRsiWClF+-RU zehdO|HMSA#xP7MiO&59)u7iE8kZo>-BFK4j`g-Blgn%2!*E9aW1W5{M3L^M>v967AOWq0IxNL78 z+b={SD-6RaKlI>WRAaKE8rKG}U_K7dcJ0&*sA!*hWWns+1{jgkZsCVE7ej3*H%Zue zdw%mJZ48CaR_z;hJ+Nnu4!izr7Mru%_}I=>m%8f}%FbhTN(NN4>*r;`jBNu}?E$adtr#MAr~R$k~I!u6&y9 zikm=_Ejb$s?)qoiHUr7kABcQ^ zY54u#+3&{&-=D?z!I{;VFEQYDmB#-kkQu5K7X)q>C}!z9BkB7i>1!hCTO#S(Bk5Zs z>F$yA^^tU4Bz=A)Jt~quK9U|BNgotR?-xn$9!YN>Nq32)H;$y6_r;WuWAFP`N=C`zG$<}wO(7#4=+zUkj4*B2oC2v6}MgU}7jYvziK)+}Oy;3rMjnGE{ zy~TS<{S+^&Kt83f_B+B%=@=Q_3U*-y*zL}G3bze&(AhwW`lOd3C7s=mM;JX<%s+02 zE+S*DdYhNIj{fd zyx6Aw$GFY8j)Try5c+|zDb;>auXtV)lHk93h2+?nemRnUh4f^`rmEYy ziG1A;5pRWwcPXeOsKzYnRPGWuazFo5ds(ZGqGo0C7F!GkCI9K`;Qh0O;%V$BJn|HQ z5=BwBi`2!mL6zlz*c!Ftea{qXdIc4`#t%GfXyX!WcP zCC`-tQ?5P50v_u|ORli901VNQL%e8y9ykMAalE1s)$v|m#_Hd;9C?uu7&M-!E|M!S z*38lTuLb~T#DcR&1)l=Es@Kmo7n#g{A0kiXkDE@n6GTUY-it}#U?yME@JZkbI~{?Ta@3&7yJYc%za>pc7+?5^v)+ z*k?8Oe|xR2N>vm`-rIh`zqcK`+v!Ir0vOL|k10xC z)cF^h_$7U_j%`OWMADCtj>@C9=r2bKjbUc$9+DF<0g>eiJUpbj zFy3Aq?`aF0F0m4l;sic{6sOP1Aw?bofEwfNIHsECRy@9LntXveYoy7GHd_ZxzW-m* z`Vv7dD3*t#-8hTyk8lF0~@Zkj^&Q@OJ@cA$>j< z(r3TK3lQj`$xa1_Bs#?)(67>WwMC$pi$LdZnkCA!_sXVIk@N+T^eLp*DIdE}oYGQ0 zGFiRJlxX|CWXjtfAbJCc5=ve5EFULUnauR`Iq1<``jjw&36PmAkAckWMx8a%=LfNM z(C02%dJ++tS(!SbP>e>m)+{$oV)3wzcctTbIGzW`i*2STt8PpY@#G#?GTGmYwT-Pt za%>?&&C}AlWb6>@cWZj?ZTY$M+)+bVGddayZry()$8Yb5s^TMMjP+zDG6CFYLJa_tX1Xd}i{v4SF9;Su26OKbh|BKV)hA z!yei6%1C-eB>g(+b<_I^_ldN3_&a}cr8B+{8MOe)HvHLE^cl_RK^)uI2T@)M7=q-RuLh;aggSOY!3DQb<-NZFU=gl2EBQZTD>Yyh!?-Ncu?9>!#;ziHMU+$RO*3d;SOV z`>1Id>JIda)C23L@zbcYM)|$Z&&lsDAStBx`MYM*??=*aN77G|UN^nBjnRU~4 z>fW``cEtwkpzZ&y^82av1LBUe18#X6{3a{RrSSie{5Jh1ho1kh$?tQ44NgBHXwL<$dfie|Ae4KSjW z%r-rjI6Kv-CAU2$knoJEZ)s-M-Uk@$OQa>!t`a4^rT3-o^;m!*p~eS zmiWhQEd@RL%`h_m>;38R4`-x*px-=r=ek)UL7g?~H@(}fgC+i#>Nig?p{ByOV2N8S zKS~6#hIQySFWl0SAJ%Gb$-jUFJeME-ukBCw0ZAc=ufU%tOt-`FDNO$w$^V#i&U(;# zC4k;1-YnAI;eP)7*ZR#knQy!W#;t5&8*EG5KY06EXnXi?zd|Exu~+|Z)oF=2H0oOuu32&ZX!7Yx>Qppd_T*3nE@pe~Y9qiKIu6&Y|bE=r<4CAgb>ECV&2W z{pKEQHtW`JCf~YlVgAf5Yte7c`gt7$|G!kfS^85z?=6J+YnGo&>g(2Te!Q-wJYR=? z!;+j!|Np1-n~nOS-#oeMSJWx|1>4qd4g`@QgWR)CR>(gVNk0@x-%mQC-wjl78%o-_*{kKJB_rD4`6Q}S3o(j`_qrV66#6sXK)2@TYZsg5E`D- z5xEYW3*5m!NY)HyU~_pXj&KCCW0wq7&E%fiuU5oURSNL4RBomfP+`2?Jh#g3@ha@2 zDiI&n&aQQ)q6>Dt=2gZH#7%6rX!d2Rnm_RB_Ic0A0m8dk49s(H5Tb&cL2Lnjyh=LG zS3GqIj)<0ZZlNl{9`QtbS4BkSs?=Dx=?l4L^x>xl_GDj80(Z*eCi)HgxMIsQhhGom+wDb?S&M#O44_3<>_AO%Y!u7 zOV5d<@5`i_*Yq)&UybS4gEXX&o)O7^F_LbKq@N=l;Ri3~jJeL|9fPlG_QhexZMUKD zIv>+S4RSB9nIpTzC{89;)F{%3ung9ZIX3+hUV7R1vYy=r6_9b2hGZaZ#laxmt>PJoBTSPTpc9mTc7lUb_?lAkSq<7 z^R0V9W<^+@sEe!9iMne2nO`Ttq5tO94OeP@oqUDF)v-hiL+Xjx@$FQvEBab zH#g6#D`EmHQrU9_B-Fk#d~)k-vS*M4Rw+q$sjsaI;EE#6x^vA$aZ zWt*iaB9`}JWYBnNL?)XaA~D%%`UCj$&V-Pd?#_P-%YL{k%6{bA$>+70u${-aRHJHl?q>4q zTxoZy^1Z;9+x=^eOzxidmhiLK|3o~F2te;9(DM*oC_kQGTf;v*fPa98zqyD1rnIov zctF>~j|=`R|8oEip7}uoue?SBcY{awIE{xZ`=NN-`SjfMX=_NImC0{RpN7w0SbtO| ze{TBJOu8}s?H1WO2WILwrVnbvU+~BtToCRzq$+i4K^S`|_j)}-DF1$ztw0EAHoj$L zYM52qcOHI#&kYxKt^7)(mlmSCJe&V4aXG5OG>Hts)Yd{Qg(0ytj+iW4SO=)%7pT!@ zFfkWtWrX9F>?%s>{wVgDkWwD(lTR!t`_<`u#zBHvTp&o+B%*Gu$=#%Itt zYXn!S7rWbRh3(UYXBdQ;ROfug;#MygqMF>~W&E|JLombc70`_={P22cfjg0LpumC9 z36c!v@3EXoPL4sTF8`_%1lP3U*XHLc#XoXeZ*=2Dfb0lp+YPqaS?u2D?{hFM@7FPd zHs0LzXyS6oipX+QU!wN3PM=Y-{jyGeU*JAn`fGDtPkb=&V$MsB-D`$mO4Ya!!bbn9 z`B1CKh2-KXsxto_HC<0IBn_=W_7``P2UPR9-mud$BVXxK1r_^|Vy!6XJm^DuN9VY| zXt654Xe-lx;)!7x^sAi`~hi9d{J#USnPgI>v#FF{u6hZ6`!FPbMxdo zuO&xw@g~)(5G2g!?DaZPj<(kCD!BG)5x#+{rA%1 z(#AK-L=h9`Xy!uZLOUj6ckSM>sRK&3?|pcz{(kxvyFw4d_O6W8Z%99SSH&9c;5ReG zhk5DaX(PO!jV@ej3_1M=n}(%OZ(q32{kfZZ&}XX~O|G7?A6ajIDI8C+v2oc}`26l! zDW=zy*pi=o!it2b<)V51z6lQqwa>f=i$Vd-y@%8m(T@)5$J_iSt%W1~5@{*sL1$KG zI`bH4bI+DqXD-J&!z4c?HS*8uj0ySPTk>;1e#U0jlx$C)+uwy{A22O$8_Lq>fl+H< zKyuVx8ilA;T{{8HPoB|CC!mS}^!X0h3!=W_N3x85x1y$d?=xeBnz!6SQd%!crjMoo ze8uRZ;gFFJNcMCwdRvt&UxH>gqnqHOSDQdv<=%{-Q22Sm4tHDPZeTivcVYEoEj^V~Edej`1zM#4D zfofy*f3{VB1N7Z=UnOs#d-Li$2upeH!Ow+IG+!cJ!m)N)VM7{A&w-RA0G9IC<3vv= z7&1W24|{vI`E5r4280t_MtEsSYr=utrl51Whv{HiEZ}NMxzYR+O3jV%vs79ehTVd+ zHVoHC(hp_o%t@C<((>I5;cOpCZ=0zzFa7zZA^dsikAt+}UmB@@aU?$$$=^7VK0cGy zrsaITh=eZ){nNwykLI$EJO*>Q@|cVsv!+#v4u4y(W}~{V+7aX=H6ZVB-i{}n^%*6* zg!)TzY|o5jzT?xV+}-XIPq!aN%4m_9)HN1vV{`Qf~O|6y$8~|m1N+>DG-KQbo)|EH%OXx?C zx=Vi%k|7(nbgD2U6n3te^t?#^ymTUyKPNpYNQ;=Rh@`V{=A_RcKe9iKtk-KKjtS#S z^J@2y1lBf-)y1F8#~Nz*sg;61k(DB&@9Js_^i%3ST_sGgviDYWn6KO$A@Tf?FWu*h zJ@G7QMLhcjIlIc*8I8ab@!Sc_7R1x^v4JgwWF_Y&SdARwdBxZGo`yv{$61XW;(0(dv}k*@ zcJMZhZACoQ1Uq*Ru>T9!Yl*}}|6S9y(2$!AU3w`a&VT0*Su%Mylb#pJpO=0!lRqc@ zMvxYnycbDl;mk=t735oxPU2TaBKaVh^ZQMZMys&A8@SH)Xk|r3yl$G-s=ONBET^*> zEu^*wifK=@(s<%iCSv`){5&0ZgM@QVMGPN{-I0KEA44I2fOFHM=t{=^s=&N599!I! z;;Q6{t!_}o=le$=4Ih5X;>c7&0_soO|n&%FO;BvHn36ct?2QViq8$!B&Cyd z^U1#ybS&9xp|9c+sE-hItf1RasKi*=Jpro*c>3alG*ACHktO&l@Q@UP7pLgpFLbb6 zRl76?MW}XLIr8D|8z}%Y;z

    #UJ;B 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 diff --git a/build/test/run_tests b/build/test/run_tests new file mode 100755 index 0000000000000000000000000000000000000000..6d4ff667d5897adac41b1b833dc9bfe452409503 GIT binary patch literal 792352 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 NLq3<+3NvERa6$-i^j-mOkT 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 z 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 z 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 K2 literal 0 HcmV?d00001 diff --git a/src/include/daemon/dir_manager.h b/src/include/daemon/dir_manager.h index d5f5de1..ab83172 100644 --- a/src/include/daemon/dir_manager.h +++ b/src/include/daemon/dir_manager.h @@ -1,40 +1,33 @@ #pragma once -#include -#include - -constexpr int FDFS_MAX_INODES = 1024; -constexpr int FDFS_MAX_DIR_ENTRIES = 64; -constexpr int FDFS_MAX_NAME_LEN = 64; - -using inode_t = uint64_t; - -/** - * Directory Tree ADT - * Static, thread-safe, no dynamic allocation - */ -class DirManager { -public: - DirManager(); - - inode_t resolve_path(const char* path); - bool add_entry(inode_t parent, const char* name, inode_t inode); - bool remove_entry(inode_t parent, const char* name); - -private: - struct DirEntry { - char name[FDFS_MAX_NAME_LEN]; - inode_t inode; - bool used; - }; - - struct DirNode { - inode_t inode; - DirEntry entries[FDFS_MAX_DIR_ENTRIES]; - }; - - DirNode dir_nodes[FDFS_MAX_INODES]; - bool inode_used[FDFS_MAX_INODES]; - - std::shared_mutex tree_lock; -}; \ No newline at end of file +#include +#include +#include "daemon/hash.h" + +#define MAX_NODES 10000 +#define NAME_SIZE 256 + +// directory node +typedef struct DirNode { + char name[NAME_SIZE]; + int parent; + int first_child; + int next_sibling; + bool in_use; + int next_free; +} DirNode; + +// directory manager +typedef struct DirManager { + DirNode nodes[MAX_NODES]; + int root; + int free_list; + HashTable hash; + pthread_rwlock_t rwlock; +} DirManager; + +// API +void dir_manager_init(DirManager* dm); +int insert_node(DirManager* dm, const char* path); +int lookup_node(DirManager* dm, const char* path); +bool remove_node(DirManager* dm, const char* path); diff --git a/src/include/daemon/hash.h b/src/include/daemon/hash.h new file mode 100644 index 0000000..ce507b5 --- /dev/null +++ b/src/include/daemon/hash.h @@ -0,0 +1,34 @@ +#pragma once + +#include +#include + +#define HASH_SIZE 4096 +#define MAX_ENTRIES 10000 +#define KEY_SIZE 1024 // full path key + +// single hash table entry (chained) +typedef struct HashEntry { + uint64_t hash; // hash of key + char key[KEY_SIZE]; // full key (path) + int value; // node index + int next; // next entry in chain +} HashEntry; + +// static hash table +typedef struct HashTable { + int buckets[HASH_SIZE]; + HashEntry entries[MAX_ENTRIES]; + int free_head; +} HashTable; + +// initialization +void hash_init(HashTable* ht); + +// incremental hash +uint64_t hash_combine(uint64_t parent_hash, const char* name); + +// operations (key-aware) +bool hash_insert(HashTable* ht, uint64_t hash, const char* key, int value); +int hash_lookup(HashTable* ht, uint64_t hash, const char* key); +bool hash_remove(HashTable* ht, uint64_t hash, const char* key); \ No newline at end of file diff --git a/src/include/daemon/hash_store.h b/src/include/daemon/hash_store.h deleted file mode 100644 index f028a5c..0000000 --- a/src/include/daemon/hash_store.h +++ /dev/null @@ -1,38 +0,0 @@ -#pragma once - -#include -#include - -constexpr int FDFS_HASH_BUCKETS = 128; -constexpr int FDFS_HASH_CHAINS = 1024; -constexpr int FDFS_HASH_LEN = 64; - -/** - * Hash Store ADT - * Static hash table with bucket + chain arrays - * Thread-safe - */ -class HashStore { -public: - HashStore(); - - bool insert(uint64_t key, const char* data); - bool verify(uint64_t key, const char* data); - bool remove(uint64_t key); - -private: - struct ChainNode { - uint64_t key; - char hash[FDFS_HASH_LEN]; - int next; - bool used; - }; - - int buckets[FDFS_HASH_BUCKETS]; // index into chain[] - ChainNode chain[FDFS_HASH_CHAINS]; - - std::mutex hash_lock; - - unsigned long compute_hash(const char* data); - int allocate_node(); -}; diff --git a/src/src/daemon/dir_manager.cpp b/src/src/daemon/dir_manager.cpp index 23ad1bf..1f131d1 100644 --- a/src/src/daemon/dir_manager.cpp +++ b/src/src/daemon/dir_manager.cpp @@ -1,101 +1,179 @@ #include "daemon/dir_manager.h" -#include -#include +#include +#include + +/* + * Root is node 0 and never deleted. + * Hash table maps full path → node index. + */ + +void dir_manager_init(DirManager* dm) { + hash_init(&dm->hash); + pthread_rwlock_init(&dm->rwlock, NULL); + + dm->root = 0; + dm->nodes[0].name[0] = '/'; + dm->nodes[0].parent = -1; + dm->nodes[0].first_child = -1; + dm->nodes[0].next_sibling = -1; + dm->nodes[0].in_use = true; + + dm->free_list = 1; + for (int i = 1; i < MAX_NODES - 1; i++) { + dm->nodes[i].next_free = i + 1; + dm->nodes[i].in_use = false; + } + dm->nodes[MAX_NODES - 1].next_free = -1; + dm->nodes[MAX_NODES - 1].in_use = false; +} -DirManager::DirManager() { - for (int i = 0; i < FDFS_MAX_INODES; i++) { - inode_used[i] = false; +int lookup_node(DirManager* dm, const char* path) { + pthread_rwlock_rdlock(&dm->rwlock); + + if (strcmp(path, "/") == 0) { + pthread_rwlock_unlock(&dm->rwlock); + return dm->root; } - inode_used[0] = true; - dir_nodes[0].inode = 0; + uint64_t h = 0; + char token[NAME_SIZE]; + int ti = 0; + + for (const char* p = path; ; ++p) { + if (*p == '/' || *p == '\0') { + if (ti > 0) { + token[ti] = '\0'; + h = hash_combine(h, token); + ti = 0; + } + if (*p == '\0') + break; + } else if (ti < NAME_SIZE - 1) { + token[ti++] = *p; + } + } - for (int i = 0; i < FDFS_MAX_DIR_ENTRIES; i++) - dir_nodes[0].entries[i].used = false; + int res = hash_lookup(&dm->hash, h, path); + pthread_rwlock_unlock(&dm->rwlock); + return res; } -inode_t DirManager::resolve_path(const char* path) { - std::shared_lock lock(tree_lock); +int insert_node(DirManager* dm, const char* path) { + pthread_rwlock_wrlock(&dm->rwlock); - if (strcmp(path, "/") == 0) - return 0; + if (strcmp(path, "/") == 0) { + pthread_rwlock_unlock(&dm->rwlock); + return -1; + } - inode_t current = 0; - const char* p = path; + uint64_t h = 0; + int parent = dm->root; + char token[NAME_SIZE]; + int ti = 0; - char token[FDFS_MAX_NAME_LEN]; - int idx = 0; + for (const char* p = path; ; ++p) { + if (*p == '/' || *p == '\0') { + if (ti > 0) { + token[ti] = '\0'; + uint64_t next_hash = hash_combine(h, token); - while (*p) { - if (*p == '/') { - token[idx] = '\0'; - idx = 0; + // build full path incrementally + char full_key[KEY_SIZE]; + snprintf(full_key, KEY_SIZE, "%.*s", + (int)(p - path), path); - if (token[0] != '\0') { - bool found = false; - for (int i = 0; i < FDFS_MAX_DIR_ENTRIES; i++) { - auto& e = dir_nodes[current].entries[i]; - if (e.used && strcmp(e.name, token) == 0) { - current = e.inode; - found = true; - break; + int node = hash_lookup(&dm->hash, next_hash, full_key); + + if (*p == '\0') { + if (node != -1 || dm->free_list == -1) { + pthread_rwlock_unlock(&dm->rwlock); + return -1; } + + int new_node = dm->free_list; + dm->free_list = dm->nodes[new_node].next_free; + + DirNode* n = &dm->nodes[new_node]; + strncpy(n->name, token, NAME_SIZE); + n->parent = parent; + n->first_child = -1; + n->next_sibling = dm->nodes[parent].first_child; + n->in_use = true; + + dm->nodes[parent].first_child = new_node; + hash_insert(&dm->hash, next_hash, full_key, new_node); + + pthread_rwlock_unlock(&dm->rwlock); + return new_node; + } + + if (node == -1) { + pthread_rwlock_unlock(&dm->rwlock); + return -1; } - if (!found) return static_cast(-1); - } - } else { - token[idx++] = *p; - } - p++; - } - token[idx] = '\0'; - if (token[0] != '\0') { - for (int i = 0; i < FDFS_MAX_DIR_ENTRIES; i++) { - auto& e = dir_nodes[current].entries[i]; - if (e.used && strcmp(e.name, token) == 0) - return e.inode; + parent = node; + h = next_hash; + ti = 0; + } + if (*p == '\0') + break; + } else if (ti < NAME_SIZE - 1) { + token[ti++] = *p; } - return static_cast(-1); } - return current; + pthread_rwlock_unlock(&dm->rwlock); + return -1; } -bool DirManager::add_entry(inode_t parent, const char* name, inode_t inode) { - std::unique_lock lock(tree_lock); +bool remove_node(DirManager* dm, const char* path) { + pthread_rwlock_wrlock(&dm->rwlock); - if (inode >= FDFS_MAX_INODES || inode_used[inode]) + int node = lookup_node(dm, path); + if (node <= 0) { + pthread_rwlock_unlock(&dm->rwlock); return false; + } - for (int i = 0; i < FDFS_MAX_DIR_ENTRIES; i++) { - if (!dir_nodes[parent].entries[i].used) { - strcpy(dir_nodes[parent].entries[i].name, name); - dir_nodes[parent].entries[i].inode = inode; - dir_nodes[parent].entries[i].used = true; - - inode_used[inode] = true; - dir_nodes[inode].inode = inode; + DirNode* n = &dm->nodes[node]; + if (n->first_child != -1) { + pthread_rwlock_unlock(&dm->rwlock); + return false; + } - for (int j = 0; j < FDFS_MAX_DIR_ENTRIES; j++) - dir_nodes[inode].entries[j].used = false; + uint64_t h = 0; + char token[NAME_SIZE]; + int ti = 0; - return true; + for (const char* p = path; ; ++p) { + if (*p == '/' || *p == '\0') { + if (ti > 0) { + token[ti] = '\0'; + h = hash_combine(h, token); + ti = 0; + } + if (*p == '\0') + break; + } else if (ti < NAME_SIZE - 1) { + token[ti++] = *p; } } - return false; -} -bool DirManager::remove_entry(inode_t parent, const char* name) { - std::unique_lock lock(tree_lock); + int parent = n->parent; + int* link = &dm->nodes[parent].first_child; + while (*link != -1 && *link != node) + link = &dm->nodes[*link].next_sibling; - for (int i = 0; i < FDFS_MAX_DIR_ENTRIES; i++) { - auto& e = dir_nodes[parent].entries[i]; - if (e.used && strcmp(e.name, name) == 0) { - inode_used[e.inode] = false; - e.used = false; - return true; - } - } - return false; + if (*link == node) + *link = n->next_sibling; + + hash_remove(&dm->hash, h, path); + + n->in_use = false; + n->next_free = dm->free_list; + dm->free_list = node; + + pthread_rwlock_unlock(&dm->rwlock); + return true; } diff --git a/src/src/daemon/hash.cpp b/src/src/daemon/hash.cpp new file mode 100644 index 0000000..5bb1932 --- /dev/null +++ b/src/src/daemon/hash.cpp @@ -0,0 +1,86 @@ +#include "daemon/hash.h" +#include + +static const uint64_t HASH_SEPARATOR = 1315423911ULL; + +void hash_init(HashTable* ht) { + for (int i = 0; i < HASH_SIZE; i++) + ht->buckets[i] = -1; + + for (int i = 0; i < MAX_ENTRIES - 1; i++) + ht->entries[i].next = i + 1; + + ht->entries[MAX_ENTRIES - 1].next = -1; + ht->free_head = 0; +} + +uint64_t hash_combine(uint64_t parent_hash, const char* name) { + uint64_t h = parent_hash; + + for (const unsigned char* p = (const unsigned char*)name; *p; ++p) + h ^= (h << 5) + (h >> 2) + *p; + + return h ^ HASH_SEPARATOR; +} + +bool hash_insert(HashTable* ht, uint64_t hash, + const char* key, int value) { + int bucket = hash % HASH_SIZE; + + // reject exact duplicate key + for (int i = ht->buckets[bucket]; i != -1; i = ht->entries[i].next) { + if (ht->entries[i].hash == hash && + strcmp(ht->entries[i].key, key) == 0) + return false; + } + + if (ht->free_head == -1) + return false; + + int idx = ht->free_head; + ht->free_head = ht->entries[idx].next; + + ht->entries[idx].hash = hash; + strncpy(ht->entries[idx].key, key, KEY_SIZE - 1); + ht->entries[idx].key[KEY_SIZE - 1] = '\0'; + ht->entries[idx].value = value; + + ht->entries[idx].next = ht->buckets[bucket]; + ht->buckets[bucket] = idx; + + return true; +} + +int hash_lookup(HashTable* ht, uint64_t hash, + const char* key) { + int bucket = hash % HASH_SIZE; + + for (int i = ht->buckets[bucket]; i != -1; i = ht->entries[i].next) { + if (ht->entries[i].hash == hash && + strcmp(ht->entries[i].key, key) == 0) + return ht->entries[i].value; + } + return -1; +} + +bool hash_remove(HashTable* ht, uint64_t hash, + const char* key) { + int bucket = hash % HASH_SIZE; + int prev = -1; + + for (int i = ht->buckets[bucket]; i != -1; prev = i, i = ht->entries[i].next) { + if (ht->entries[i].hash == hash && + strcmp(ht->entries[i].key, key) == 0) { + + if (prev == -1) + ht->buckets[bucket] = ht->entries[i].next; + else + ht->entries[prev].next = ht->entries[i].next; + + ht->entries[i].next = ht->free_head; + ht->free_head = i; + return true; + } + } + return false; +} diff --git a/src/src/daemon/hash_store.cpp b/src/src/daemon/hash_store.cpp deleted file mode 100644 index 87772d3..0000000 --- a/src/src/daemon/hash_store.cpp +++ /dev/null @@ -1,96 +0,0 @@ -#include "daemon/hash_store.h" -#include -#include - -HashStore::HashStore() { - for (int i = 0; i < FDFS_HASH_BUCKETS; i++) - buckets[i] = -1; - - for (int i = 0; i < FDFS_HASH_CHAINS; i++) - chain[i].used = false; -} - -unsigned long HashStore::compute_hash(const char* data) { - unsigned long hash = 5381; - int c; - - while ((c = *data++)) - hash = ((hash << 5) + hash) + c; - - return hash; -} - -int HashStore::allocate_node() { - for (int i = 0; i < FDFS_HASH_CHAINS; i++) { - if (!chain[i].used) { - chain[i].used = true; - chain[i].next = -1; - return i; - } - } - return -1; -} - -bool HashStore::insert(uint64_t key, const char* data) { - std::lock_guard lock(hash_lock); - - unsigned long h = compute_hash(data); - int bucket = h % FDFS_HASH_BUCKETS; - - int node = allocate_node(); - if (node == -1) - return false; - - chain[node].key = key; - snprintf(chain[node].hash, FDFS_HASH_LEN, "%lx", h); - - chain[node].next = buckets[bucket]; - buckets[bucket] = node; - - return true; -} - -bool HashStore::verify(uint64_t key, const char* data) { - std::lock_guard lock(hash_lock); - - unsigned long h = compute_hash(data); - char expected[FDFS_HASH_LEN]; - snprintf(expected, FDFS_HASH_LEN, "%lx", h); - - int bucket = h % FDFS_HASH_BUCKETS; - int curr = buckets[bucket]; - - while (curr != -1) { - if (chain[curr].used && - chain[curr].key == key && - strcmp(chain[curr].hash, expected) == 0) - return true; - - curr = chain[curr].next; - } - return false; -} - -bool HashStore::remove(uint64_t key) { - std::lock_guard lock(hash_lock); - - for (int b = 0; b < FDFS_HASH_BUCKETS; b++) { - int curr = buckets[b]; - int prev = -1; - - while (curr != -1) { - if (chain[curr].used && chain[curr].key == key) { - if (prev == -1) - buckets[b] = chain[curr].next; - else - chain[prev].next = chain[curr].next; - - chain[curr].used = false; - return true; - } - prev = curr; - curr = chain[curr].next; - } - } - return false; -} diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index cf50eaa..cbb81c3 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,20 +1,20 @@ -enable_testing() +cmake_minimum_required(VERSION 3.10) find_package(GTest REQUIRED) -include_directories(${GTEST_INCLUDE_DIRS}) -include_directories(${PROJECT_SOURCE_DIR}/src/include) -add_executable(fdfs_tests +add_executable(run_tests test_dir_manager.cpp test_hash_store.cpp ../src/src/daemon/dir_manager.cpp - ../src/src/daemon/hash_store.cpp + ../src/src/daemon/hash.cpp ) -target_link_libraries(fdfs_tests - gtest - gtest_main - pthread +target_include_directories(run_tests PRIVATE + ../src/include ) -add_test(NAME fdfs_tests COMMAND fdfs_tests) +target_link_libraries(run_tests + GTest::GTest + GTest::Main + pthread +) diff --git a/test/test_dir_manager.cpp b/test/test_dir_manager.cpp index 9c7b792..d8cff5b 100644 --- a/test/test_dir_manager.cpp +++ b/test/test_dir_manager.cpp @@ -1,11 +1,234 @@ #include +#include +#include +#include + #include "daemon/dir_manager.h" -TEST(DirManagerTest, AddAndResolve) { +/* + * Tests for DirManager ADT. + * Paths are treated as literal strings. + * No canonicalization (/, //, trailing slash) is assumed. + */ + +class DirManagerTest : public ::testing::Test { +protected: DirManager dm; - EXPECT_TRUE(dm.add_entry(0, "home", 1)); - EXPECT_TRUE(dm.add_entry(1, "file.txt", 2)); + void SetUp() override { + dir_manager_init(&dm); + } +}; + +/* ---------- Basic behavior ---------- */ + +TEST_F(DirManagerTest, RootExists) { + EXPECT_EQ(lookup_node(&dm, "/"), 0); +} + +TEST_F(DirManagerTest, InsertAndLookupSingleDir) { + int node = insert_node(&dm, "/home"); + EXPECT_NE(node, -1); + EXPECT_EQ(lookup_node(&dm, "/home"), node); +} + +/* ---------- Nested paths ---------- */ + +TEST_F(DirManagerTest, InsertNestedDirectories) { + EXPECT_NE(insert_node(&dm, "/home"), -1); + EXPECT_NE(insert_node(&dm, "/home/user"), -1); + EXPECT_NE(insert_node(&dm, "/home/user/docs"), -1); + + EXPECT_NE(lookup_node(&dm, "/home/user/docs"), -1); +} + +TEST_F(DirManagerTest, InsertWithoutParentFails) { + EXPECT_EQ(insert_node(&dm, "/a/b"), -1); +} + +/* ---------- Duplicate & idempotency ---------- */ + +TEST_F(DirManagerTest, DuplicateInsertFails) { + EXPECT_NE(insert_node(&dm, "/tmp"), -1); + EXPECT_EQ(insert_node(&dm, "/tmp"), -1); +} + +TEST_F(DirManagerTest, LookupIsIdempotent) { + insert_node(&dm, "/x"); + int first = lookup_node(&dm, "/x"); + int second = lookup_node(&dm, "/x"); + EXPECT_EQ(first, second); +} + +/* ---------- Removal semantics ---------- */ + +TEST_F(DirManagerTest, RemoveEmptyDirectory) { + insert_node(&dm, "/var"); + EXPECT_TRUE(remove_node(&dm, "/var")); + EXPECT_EQ(lookup_node(&dm, "/var"), -1); +} + +TEST_F(DirManagerTest, RemoveNonEmptyDirectoryFails) { + insert_node(&dm, "/etc"); + insert_node(&dm, "/etc/conf"); + + EXPECT_FALSE(remove_node(&dm, "/etc")); + EXPECT_NE(lookup_node(&dm, "/etc"), -1); +} + +TEST_F(DirManagerTest, RemoveRootFails) { + EXPECT_FALSE(remove_node(&dm, "/")); +} + +/* ---------- Freelist reuse ---------- */ + +TEST_F(DirManagerTest, RemoveThenReinsert) { + insert_node(&dm, "/tmp"); + EXPECT_TRUE(remove_node(&dm, "/tmp")); + EXPECT_NE(insert_node(&dm, "/tmp"), -1); +} + +/* ---------- Sibling integrity ---------- */ + +TEST_F(DirManagerTest, MultipleChildrenSameParent) { + insert_node(&dm, "/p"); + insert_node(&dm, "/p/a"); + insert_node(&dm, "/p/b"); + insert_node(&dm, "/p/c"); + + EXPECT_NE(lookup_node(&dm, "/p/a"), -1); + EXPECT_NE(lookup_node(&dm, "/p/b"), -1); + EXPECT_NE(lookup_node(&dm, "/p/c"), -1); +} + +TEST_F(DirManagerTest, RemoveOneSiblingDoesNotAffectOthers) { + insert_node(&dm, "/p"); + insert_node(&dm, "/p/a"); + insert_node(&dm, "/p/b"); + + EXPECT_TRUE(remove_node(&dm, "/p/a")); + EXPECT_EQ(lookup_node(&dm, "/p/a"), -1); + EXPECT_NE(lookup_node(&dm, "/p/b"), -1); +} + +/* ---------- Path edge cases (literal semantics) ---------- */ + +TEST_F(DirManagerTest, TrailingSlashIsDifferentPath) { + insert_node(&dm, "/data"); + + EXPECT_NE(lookup_node(&dm, "/data"), -1); + EXPECT_EQ(lookup_node(&dm, "/data/"), -1); +} + +TEST_F(DirManagerTest, MultipleSlashesAreDifferentPath) { + insert_node(&dm, "/a"); + insert_node(&dm, "/a//b"); + + EXPECT_NE(lookup_node(&dm, "/a//b"), -1); + EXPECT_EQ(lookup_node(&dm, "/a/b"), -1); +} + +TEST_F(DirManagerTest, EmptyPathFails) { + EXPECT_EQ(insert_node(&dm, ""), -1); + EXPECT_EQ(lookup_node(&dm, ""), -1); +} + +/* ---------- Bounds & safety ---------- */ + +TEST_F(DirManagerTest, VeryLongNameHandledSafely) { + std::string longName(300, 'a'); + std::string path = "/" + longName; + + // should not crash and should insert safely (name may be truncated) + int node = insert_node(&dm, path.c_str()); + EXPECT_NE(node, -1); + + // lookup using same path string should succeed + EXPECT_NE(lookup_node(&dm, path.c_str()), -1); +} + + +/* ---------- Transaction behavior ---------- */ + +TEST_F(DirManagerTest, FailedInsertIsAtomic) { + insert_node(&dm, "/a"); + + EXPECT_EQ(insert_node(&dm, "/a/b/c"), -1); + + EXPECT_NE(lookup_node(&dm, "/a"), -1); + EXPECT_EQ(lookup_node(&dm, "/a/b"), -1); +} + +/* ---------- Stress test ---------- */ + +TEST_F(DirManagerTest, ManyInsertsAndLookups) { + const int N = 1000; + std::vector paths; + + for (int i = 0; i < N; i++) { + paths.push_back("/dir" + std::to_string(i)); + } + + for (int i = 0; i < N; i++) { + EXPECT_NE(insert_node(&dm, paths[i].c_str()), -1); + } + + for (int i = 0; i < N; i++) { + EXPECT_NE(lookup_node(&dm, paths[i].c_str()), -1); + } +} + +/* ---------- Concurrency ---------- */ + +TEST_F(DirManagerTest, ConcurrentReadersDoNotBlock) { + insert_node(&dm, "/shared"); + + auto reader = [&]() { + for (int i = 0; i < 1000; i++) { + EXPECT_NE(lookup_node(&dm, "/shared"), -1); + } + }; + + std::vector threads; + for (int i = 0; i < 4; i++) + threads.emplace_back(reader); + + for (auto& t : threads) + t.join(); +} + +TEST_F(DirManagerTest, ReaderWriterInterleavingSafe) { + insert_node(&dm, "/x"); + + auto reader = [&]() { + for (int i = 0; i < 1000; i++) + lookup_node(&dm, "/x"); + }; + + auto writer = [&]() { + insert_node(&dm, "/y"); + }; + + std::thread t1(reader); + std::thread t2(writer); + + t1.join(); + t2.join(); + + EXPECT_NE(lookup_node(&dm, "/y"), -1); +} + +TEST_F(DirManagerTest, ConcurrentWritersSafe) { + auto writer = [&](const char* p) { + insert_node(&dm, p); + }; + + std::thread t1(writer, "/a"); + std::thread t2(writer, "/b"); + + t1.join(); + t2.join(); - EXPECT_EQ(dm.resolve_path("/home/file.txt"), 2); + EXPECT_NE(lookup_node(&dm, "/a"), -1); + EXPECT_NE(lookup_node(&dm, "/b"), -1); } diff --git a/test/test_hash_store.cpp b/test/test_hash_store.cpp index 34c2029..7db40f6 100644 --- a/test/test_hash_store.cpp +++ b/test/test_hash_store.cpp @@ -1,10 +1,211 @@ #include -#include "daemon/hash_store.h" +#include +#include -TEST(HashStoreTest, InsertAndVerify) { - HashStore hs; +#include +#include - EXPECT_TRUE(hs.insert(10, "hello")); - EXPECT_TRUE(hs.verify(10, "hello")); - EXPECT_FALSE(hs.verify(10, "world")); +#include + +#include "daemon/hash.h" + +/* + * Tests for static hash table. + * Hash is treated as an index; key is the identity. + * Collisions are resolved by chaining + key comparison. + */ + +class HashStoreTest : public ::testing::Test { +protected: + HashTable ht; + + void SetUp() override { + hash_init(&ht); + } +}; + +/* ---------- Basic behavior ---------- */ + +TEST_F(HashStoreTest, InsertLookupSingle) { + const char* key = "file"; + uint64_t h = hash_combine(0, key); + + EXPECT_TRUE(hash_insert(&ht, h, key, 10)); + EXPECT_EQ(hash_lookup(&ht, h, key), 10); +} + +TEST_F(HashStoreTest, LookupNonExistingReturnsMinusOne) { + const char* key = "ghost"; + uint64_t h = hash_combine(0, key); + + EXPECT_EQ(hash_lookup(&ht, h, key), -1); +} + +/* ---------- Duplicate handling ---------- */ + +TEST_F(HashStoreTest, DuplicateInsertAllowedOrRejectedButSafe) { + const char* key = "dup"; + uint64_t h = hash_combine(0, key); + + EXPECT_TRUE(hash_insert(&ht, h, key, 1)); + + bool second = hash_insert(&ht, h, key, 2); + + if (second) { + int v = hash_lookup(&ht, h, key); + EXPECT_TRUE(v == 1 || v == 2); + } else { + EXPECT_EQ(hash_lookup(&ht, h, key), 1); + } +} + +/* ---------- Remove semantics ---------- */ + +TEST_F(HashStoreTest, RemoveExistingEntry) { + const char* key = "tmp"; + uint64_t h = hash_combine(0, key); + + EXPECT_TRUE(hash_insert(&ht, h, key, 5)); + EXPECT_TRUE(hash_remove(&ht, h, key)); + EXPECT_EQ(hash_lookup(&ht, h, key), -1); +} + +TEST_F(HashStoreTest, RemoveNonExistingFailsGracefully) { + const char* key = "missing"; + uint64_t h = hash_combine(0, key); + + EXPECT_FALSE(hash_remove(&ht, h, key)); +} + +/* ---------- Freelist reuse ---------- */ + +TEST_F(HashStoreTest, RemoveThenReinsertUsesSlotSafely) { + const char* key1 = "a"; + const char* key2 = "b"; + + uint64_t h1 = hash_combine(0, key1); + uint64_t h2 = hash_combine(0, key2); + + EXPECT_TRUE(hash_insert(&ht, h1, key1, 1)); + EXPECT_TRUE(hash_remove(&ht, h1, key1)); + EXPECT_TRUE(hash_insert(&ht, h2, key2, 2)); + + EXPECT_EQ(hash_lookup(&ht, h1, key1), -1); + EXPECT_EQ(hash_lookup(&ht, h2, key2), 2); +} + +/* ---------- Collision behavior ---------- */ + +TEST_F(HashStoreTest, HandlesBucketCollisionsCorrectly) { + std::vector keys; + std::vector hashes; + + // force same bucket, different keys + for (int i = 0; i < 50; i++) { + keys.push_back("key_" + std::to_string(i)); + hashes.push_back(i * HASH_SIZE); + } + + for (int i = 0; i < 50; i++) { + EXPECT_TRUE(hash_insert(&ht, hashes[i], keys[i].c_str(), i)); + } + + for (int i = 0; i < 50; i++) { + EXPECT_EQ(hash_lookup(&ht, hashes[i], keys[i].c_str()), i); + } +} + +/* ---------- Incremental hashing ---------- */ + +TEST_F(HashStoreTest, HashCombineIsOrderSensitive) { + uint64_t h1 = hash_combine(0, "a"); + h1 = hash_combine(h1, "b"); + + uint64_t h2 = hash_combine(0, "b"); + h2 = hash_combine(h2, "a"); + + EXPECT_NE(h1, h2); +} + +TEST_F(HashStoreTest, HashCombineSeparatesComponents) { + uint64_t h1 = hash_combine(0, "ab"); + + uint64_t h2 = hash_combine(0, "a"); + h2 = hash_combine(h2, "b"); + + EXPECT_NE(h1, h2); +} + +/* ---------- Stress ---------- */ + +TEST_F(HashStoreTest, ManyInsertsAndLookups) { + const int N = 2000; + std::vector keys; + std::vector hashes; + + for (int i = 0; i < N; i++) { + keys.push_back("key_" + std::to_string(i)); + hashes.push_back(hash_combine(0, keys[i].c_str())); + } + + int inserted = 0; + for (int i = 0; i < N; i++) { + if (hash_insert(&ht, hashes[i], keys[i].c_str(), i)) + inserted++; + } + + // sanity: most inserts should succeed + EXPECT_GT(inserted, N * 0.9); + + // correctness: lookup(key) == value + for (int i = 0; i < N; i++) { + int v = hash_lookup(&ht, hashes[i], keys[i].c_str()); + if (v != -1) + EXPECT_EQ(v, i); + } +} + +/* ---------- Capacity limits ---------- */ + +TEST_F(HashStoreTest, TableEventuallyFillsUp) { + int success = 0; + + for (int i = 0; i < MAX_ENTRIES + 10; i++) { + std::string key = "k" + std::to_string(i); + uint64_t h = hash_combine(0, key.c_str()); + + if (hash_insert(&ht, h, key.c_str(), i)) + success++; + } + + EXPECT_EQ(success, MAX_ENTRIES); +} + + +TEST_F(HashStoreTest, HashCombinePerformance) { + const int ITERATIONS = 100; + const char* key = "very_long_directory_name_for_benchmarking"; + + uint64_t h = 0; + + auto start = std::chrono::steady_clock::now(); + + for (int i = 0; i < ITERATIONS; i++) { + h = hash_combine(h, key); + } + + auto end = std::chrono::steady_clock::now(); + + std::chrono::duration elapsed = end - start; + + double avg_time = elapsed.count() / ITERATIONS; + + // Print results (do NOT assert on timing) + std::cout << "\n[ HASH BENCHMARK ]\n"; + std::cout << "Iterations: " << ITERATIONS << "\n"; + std::cout << "Total time (µs): " << elapsed.count() << "\n"; + std::cout << "Avg time per hash (µs): " << avg_time << "\n"; + std::cout << "Final hash (prevent opt): " << h << "\n"; + + SUCCEED(); // benchmark only } From ce635a808b87142c0558a722afd60dbc9cb2158a Mon Sep 17 00:00:00 2001 From: Diya Limbani Date: Sun, 25 Jan 2026 14:07:18 +0530 Subject: [PATCH 05/15] Add persistence test --- build/CMakeFiles/Makefile.cmake | 82 ------------ build/CMakeFiles/Makefile2 | 4 +- build/CMakeFiles/Progress/1 | 1 - build/CMakeFiles/Progress/2 | 1 - build/CMakeFiles/Progress/3 | 1 - build/CMakeFiles/Progress/4 | 1 - build/CMakeFiles/Progress/5 | 1 - build/CMakeFiles/Progress/7 | 1 - build/CMakeFiles/Progress/count.txt | 1 - build/CMakeFiles/progress.marks | 2 +- build/test/CMakeFiles/progress.marks | 2 +- .../CMakeFiles/run_tests.dir/DependInfo.cmake | 1 + .../test/CMakeFiles/run_tests.dir/build.make | 22 +++- .../run_tests.dir/cmake_clean.cmake | 2 + build/test/CMakeFiles/run_tests.dir/link.txt | 2 +- .../CMakeFiles/run_tests.dir/progress.make | 1 + build/test/Makefile | 27 ++++ build/test/run_tests | Bin 792352 -> 810472 bytes test/CMakeLists.txt | 1 + test/persistence_test.cpp | 119 ++++++++++++++++++ test/test_dir_manager.cpp | 2 + 21 files changed, 177 insertions(+), 97 deletions(-) delete mode 100644 build/CMakeFiles/Progress/1 delete mode 100644 build/CMakeFiles/Progress/2 delete mode 100644 build/CMakeFiles/Progress/3 delete mode 100644 build/CMakeFiles/Progress/4 delete mode 100644 build/CMakeFiles/Progress/5 delete mode 100644 build/CMakeFiles/Progress/7 delete mode 100644 build/CMakeFiles/Progress/count.txt create mode 100644 test/persistence_test.cpp diff --git a/build/CMakeFiles/Makefile.cmake b/build/CMakeFiles/Makefile.cmake index 66e0499..cdf26dc 100644 --- a/build/CMakeFiles/Makefile.cmake +++ b/build/CMakeFiles/Makefile.cmake @@ -16,97 +16,22 @@ set(CMAKE_MAKEFILE_DEPENDS "/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestConfigVersion.cmake" "/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestTargets-none.cmake" "/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestTargets.cmake" - "/usr/share/cmake-3.28/Modules/CMakeCCompiler.cmake.in" - "/usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c" "/usr/share/cmake-3.28/Modules/CMakeCInformation.cmake" - "/usr/share/cmake-3.28/Modules/CMakeCXXCompiler.cmake.in" - "/usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp" "/usr/share/cmake-3.28/Modules/CMakeCXXInformation.cmake" "/usr/share/cmake-3.28/Modules/CMakeCommonLanguageInclude.cmake" - "/usr/share/cmake-3.28/Modules/CMakeCompilerIdDetection.cmake" - "/usr/share/cmake-3.28/Modules/CMakeDetermineCCompiler.cmake" - "/usr/share/cmake-3.28/Modules/CMakeDetermineCXXCompiler.cmake" - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompileFeatures.cmake" - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake" - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerId.cmake" - "/usr/share/cmake-3.28/Modules/CMakeDetermineSystem.cmake" - "/usr/share/cmake-3.28/Modules/CMakeFindBinUtils.cmake" "/usr/share/cmake-3.28/Modules/CMakeFindDependencyMacro.cmake" "/usr/share/cmake-3.28/Modules/CMakeGenericSystem.cmake" "/usr/share/cmake-3.28/Modules/CMakeInitializeConfigs.cmake" "/usr/share/cmake-3.28/Modules/CMakeLanguageInformation.cmake" - "/usr/share/cmake-3.28/Modules/CMakeParseImplicitIncludeInfo.cmake" - "/usr/share/cmake-3.28/Modules/CMakeParseImplicitLinkInfo.cmake" - "/usr/share/cmake-3.28/Modules/CMakeParseLibraryArchitecture.cmake" - "/usr/share/cmake-3.28/Modules/CMakeSystem.cmake.in" "/usr/share/cmake-3.28/Modules/CMakeSystemSpecificInformation.cmake" "/usr/share/cmake-3.28/Modules/CMakeSystemSpecificInitialize.cmake" - "/usr/share/cmake-3.28/Modules/CMakeTestCCompiler.cmake" - "/usr/share/cmake-3.28/Modules/CMakeTestCXXCompiler.cmake" - "/usr/share/cmake-3.28/Modules/CMakeTestCompilerCommon.cmake" - "/usr/share/cmake-3.28/Modules/CMakeUnixFindMake.cmake" "/usr/share/cmake-3.28/Modules/CheckCSourceCompiles.cmake" "/usr/share/cmake-3.28/Modules/CheckIncludeFile.cmake" "/usr/share/cmake-3.28/Modules/CheckLibraryExists.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/ADSP-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/ARMCC-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/ARMClang-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/AppleClang-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Borland-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" "/usr/share/cmake-3.28/Modules/Compiler/CMakeCommonCompilerMacros.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Clang-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Cray-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/CrayClang-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/GHS-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/GNU-C-DetermineCompiler.cmake" "/usr/share/cmake-3.28/Modules/Compiler/GNU-C.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" "/usr/share/cmake-3.28/Modules/Compiler/GNU-CXX.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/GNU-FindBinUtils.cmake" "/usr/share/cmake-3.28/Modules/Compiler/GNU.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/HP-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/IAR-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Intel-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/LCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/MSVC-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/NVHPC-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/OrangeC-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/PGI-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/PathScale-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/SCO-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/TI-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Tasking-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Watcom-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/XL-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/XLClang-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/zOS-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" "/usr/share/cmake-3.28/Modules/FindGTest.cmake" "/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake" "/usr/share/cmake-3.28/Modules/FindPackageMessage.cmake" @@ -114,8 +39,6 @@ set(CMAKE_MAKEFILE_DEPENDS "/usr/share/cmake-3.28/Modules/FindThreads.cmake" "/usr/share/cmake-3.28/Modules/GoogleTest.cmake" "/usr/share/cmake-3.28/Modules/Internal/CheckSourceCompiles.cmake" - "/usr/share/cmake-3.28/Modules/Internal/FeatureTesting.cmake" - "/usr/share/cmake-3.28/Modules/Platform/Linux-Determine-CXX.cmake" "/usr/share/cmake-3.28/Modules/Platform/Linux-GNU-C.cmake" "/usr/share/cmake-3.28/Modules/Platform/Linux-GNU-CXX.cmake" "/usr/share/cmake-3.28/Modules/Platform/Linux-GNU.cmake" @@ -132,11 +55,6 @@ set(CMAKE_MAKEFILE_OUTPUTS # Byproducts of CMake generate step: set(CMAKE_MAKEFILE_PRODUCTS - "CMakeFiles/3.28.3/CMakeSystem.cmake" - "CMakeFiles/3.28.3/CMakeCCompiler.cmake" - "CMakeFiles/3.28.3/CMakeCXXCompiler.cmake" - "CMakeFiles/3.28.3/CMakeCCompiler.cmake" - "CMakeFiles/3.28.3/CMakeCXXCompiler.cmake" "CMakeFiles/CMakeDirectoryInformation.cmake" "test/CMakeFiles/CMakeDirectoryInformation.cmake" ) diff --git a/build/CMakeFiles/Makefile2 b/build/CMakeFiles/Makefile2 index b9a3765..90b8b99 100644 --- a/build/CMakeFiles/Makefile2 +++ b/build/CMakeFiles/Makefile2 @@ -124,12 +124,12 @@ CMakeFiles/FastDevFS.dir/clean: test/CMakeFiles/run_tests.dir/all: $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/depend $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=6,7,8,9,10 "Built target run_tests" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=6,7,8,9,10,11 "Built target run_tests" .PHONY : test/CMakeFiles/run_tests.dir/all # Build rule for subdir invocation for target. test/CMakeFiles/run_tests.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles 5 + $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles 6 $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 test/CMakeFiles/run_tests.dir/all $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles 0 .PHONY : test/CMakeFiles/run_tests.dir/rule diff --git a/build/CMakeFiles/Progress/1 b/build/CMakeFiles/Progress/1 deleted file mode 100644 index 7b4d68d..0000000 --- a/build/CMakeFiles/Progress/1 +++ /dev/null @@ -1 +0,0 @@ -empty \ No newline at end of file diff --git a/build/CMakeFiles/Progress/2 b/build/CMakeFiles/Progress/2 deleted file mode 100644 index 7b4d68d..0000000 --- a/build/CMakeFiles/Progress/2 +++ /dev/null @@ -1 +0,0 @@ -empty \ No newline at end of file diff --git a/build/CMakeFiles/Progress/3 b/build/CMakeFiles/Progress/3 deleted file mode 100644 index 7b4d68d..0000000 --- a/build/CMakeFiles/Progress/3 +++ /dev/null @@ -1 +0,0 @@ -empty \ No newline at end of file diff --git a/build/CMakeFiles/Progress/4 b/build/CMakeFiles/Progress/4 deleted file mode 100644 index 7b4d68d..0000000 --- a/build/CMakeFiles/Progress/4 +++ /dev/null @@ -1 +0,0 @@ -empty \ No newline at end of file diff --git a/build/CMakeFiles/Progress/5 b/build/CMakeFiles/Progress/5 deleted file mode 100644 index 7b4d68d..0000000 --- a/build/CMakeFiles/Progress/5 +++ /dev/null @@ -1 +0,0 @@ -empty \ No newline at end of file diff --git a/build/CMakeFiles/Progress/7 b/build/CMakeFiles/Progress/7 deleted file mode 100644 index 7b4d68d..0000000 --- a/build/CMakeFiles/Progress/7 +++ /dev/null @@ -1 +0,0 @@ -empty \ No newline at end of file diff --git a/build/CMakeFiles/Progress/count.txt b/build/CMakeFiles/Progress/count.txt deleted file mode 100644 index f599e28..0000000 --- a/build/CMakeFiles/Progress/count.txt +++ /dev/null @@ -1 +0,0 @@ -10 diff --git a/build/CMakeFiles/progress.marks b/build/CMakeFiles/progress.marks index f599e28..b4de394 100644 --- a/build/CMakeFiles/progress.marks +++ b/build/CMakeFiles/progress.marks @@ -1 +1 @@ -10 +11 diff --git a/build/test/CMakeFiles/progress.marks b/build/test/CMakeFiles/progress.marks index 7ed6ff8..1e8b314 100644 --- a/build/test/CMakeFiles/progress.marks +++ b/build/test/CMakeFiles/progress.marks @@ -1 +1 @@ -5 +6 diff --git a/build/test/CMakeFiles/run_tests.dir/DependInfo.cmake b/build/test/CMakeFiles/run_tests.dir/DependInfo.cmake index 664e1c0..0c5a8de 100644 --- a/build/test/CMakeFiles/run_tests.dir/DependInfo.cmake +++ b/build/test/CMakeFiles/run_tests.dir/DependInfo.cmake @@ -10,6 +10,7 @@ set(CMAKE_DEPENDS_LANGUAGES set(CMAKE_DEPENDS_DEPENDENCY_FILES "/home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp" "test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o" "gcc" "test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o.d" "/home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp" "test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o" "gcc" "test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o.d" + "/home/diya_limbani/FastDevFs/test/persistence_test.cpp" "test/CMakeFiles/run_tests.dir/persistence_test.cpp.o" "gcc" "test/CMakeFiles/run_tests.dir/persistence_test.cpp.o.d" "/home/diya_limbani/FastDevFs/test/test_dir_manager.cpp" "test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o" "gcc" "test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o.d" "/home/diya_limbani/FastDevFs/test/test_hash_store.cpp" "test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o" "gcc" "test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o.d" ) diff --git a/build/test/CMakeFiles/run_tests.dir/build.make b/build/test/CMakeFiles/run_tests.dir/build.make index d161999..f183927 100644 --- a/build/test/CMakeFiles/run_tests.dir/build.make +++ b/build/test/CMakeFiles/run_tests.dir/build.make @@ -97,10 +97,24 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.s: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/run_tests.dir/test_hash_store.cpp.s" cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/test/test_hash_store.cpp -o CMakeFiles/run_tests.dir/test_hash_store.cpp.s +test/CMakeFiles/run_tests.dir/persistence_test.cpp.o: test/CMakeFiles/run_tests.dir/flags.make +test/CMakeFiles/run_tests.dir/persistence_test.cpp.o: /home/diya_limbani/FastDevFs/test/persistence_test.cpp +test/CMakeFiles/run_tests.dir/persistence_test.cpp.o: test/CMakeFiles/run_tests.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object test/CMakeFiles/run_tests.dir/persistence_test.cpp.o" + cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT test/CMakeFiles/run_tests.dir/persistence_test.cpp.o -MF CMakeFiles/run_tests.dir/persistence_test.cpp.o.d -o CMakeFiles/run_tests.dir/persistence_test.cpp.o -c /home/diya_limbani/FastDevFs/test/persistence_test.cpp + +test/CMakeFiles/run_tests.dir/persistence_test.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/run_tests.dir/persistence_test.cpp.i" + cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/test/persistence_test.cpp > CMakeFiles/run_tests.dir/persistence_test.cpp.i + +test/CMakeFiles/run_tests.dir/persistence_test.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/run_tests.dir/persistence_test.cpp.s" + cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/test/persistence_test.cpp -o CMakeFiles/run_tests.dir/persistence_test.cpp.s + test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o: test/CMakeFiles/run_tests.dir/flags.make test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o: test/CMakeFiles/run_tests.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o" cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o -MF CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o.d -o CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o -c /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.i: cmake_force @@ -114,7 +128,7 @@ test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.s: cmake_force test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o: test/CMakeFiles/run_tests.dir/flags.make test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o: test/CMakeFiles/run_tests.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building CXX object test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o" cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o -MF CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o.d -o CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o -c /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.i: cmake_force @@ -129,6 +143,7 @@ test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.s: cmake_force run_tests_OBJECTS = \ "CMakeFiles/run_tests.dir/test_dir_manager.cpp.o" \ "CMakeFiles/run_tests.dir/test_hash_store.cpp.o" \ +"CMakeFiles/run_tests.dir/persistence_test.cpp.o" \ "CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o" \ "CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o" @@ -137,13 +152,14 @@ run_tests_EXTERNAL_OBJECTS = test/run_tests: test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o test/run_tests: test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o +test/run_tests: test/CMakeFiles/run_tests.dir/persistence_test.cpp.o test/run_tests: test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o test/run_tests: test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o test/run_tests: test/CMakeFiles/run_tests.dir/build.make test/run_tests: /usr/lib/x86_64-linux-gnu/libgtest_main.a test/run_tests: /usr/lib/x86_64-linux-gnu/libgtest.a test/run_tests: test/CMakeFiles/run_tests.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Linking CXX executable run_tests" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Linking CXX executable run_tests" cd /home/diya_limbani/FastDevFs/build/test && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/run_tests.dir/link.txt --verbose=$(VERBOSE) # Rule to build all files generated by this target. diff --git a/build/test/CMakeFiles/run_tests.dir/cmake_clean.cmake b/build/test/CMakeFiles/run_tests.dir/cmake_clean.cmake index 0a7d04f..17f5e3f 100644 --- a/build/test/CMakeFiles/run_tests.dir/cmake_clean.cmake +++ b/build/test/CMakeFiles/run_tests.dir/cmake_clean.cmake @@ -3,6 +3,8 @@ file(REMOVE_RECURSE "CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o.d" "CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o" "CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o.d" + "CMakeFiles/run_tests.dir/persistence_test.cpp.o" + "CMakeFiles/run_tests.dir/persistence_test.cpp.o.d" "CMakeFiles/run_tests.dir/test_dir_manager.cpp.o" "CMakeFiles/run_tests.dir/test_dir_manager.cpp.o.d" "CMakeFiles/run_tests.dir/test_hash_store.cpp.o" diff --git a/build/test/CMakeFiles/run_tests.dir/link.txt b/build/test/CMakeFiles/run_tests.dir/link.txt index abf1a4e..0748d38 100644 --- a/build/test/CMakeFiles/run_tests.dir/link.txt +++ b/build/test/CMakeFiles/run_tests.dir/link.txt @@ -1 +1 @@ -/usr/bin/c++ CMakeFiles/run_tests.dir/test_dir_manager.cpp.o CMakeFiles/run_tests.dir/test_hash_store.cpp.o CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o -o run_tests -lpthread /usr/lib/x86_64-linux-gnu/libgtest_main.a /usr/lib/x86_64-linux-gnu/libgtest.a +/usr/bin/c++ CMakeFiles/run_tests.dir/test_dir_manager.cpp.o CMakeFiles/run_tests.dir/test_hash_store.cpp.o CMakeFiles/run_tests.dir/persistence_test.cpp.o CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o -o run_tests -lpthread /usr/lib/x86_64-linux-gnu/libgtest_main.a /usr/lib/x86_64-linux-gnu/libgtest.a diff --git a/build/test/CMakeFiles/run_tests.dir/progress.make b/build/test/CMakeFiles/run_tests.dir/progress.make index a7bea20..9c10aa6 100644 --- a/build/test/CMakeFiles/run_tests.dir/progress.make +++ b/build/test/CMakeFiles/run_tests.dir/progress.make @@ -3,4 +3,5 @@ CMAKE_PROGRESS_2 = 7 CMAKE_PROGRESS_3 = 8 CMAKE_PROGRESS_4 = 9 CMAKE_PROGRESS_5 = 10 +CMAKE_PROGRESS_6 = 11 diff --git a/build/test/Makefile b/build/test/Makefile index 525d0b6..55c83d3 100644 --- a/build/test/Makefile +++ b/build/test/Makefile @@ -188,6 +188,30 @@ __/src/src/daemon/hash.cpp.s: cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.s .PHONY : __/src/src/daemon/hash.cpp.s +persistence_test.o: persistence_test.cpp.o +.PHONY : persistence_test.o + +# target to build an object file +persistence_test.cpp.o: + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/persistence_test.cpp.o +.PHONY : persistence_test.cpp.o + +persistence_test.i: persistence_test.cpp.i +.PHONY : persistence_test.i + +# target to preprocess a source file +persistence_test.cpp.i: + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/persistence_test.cpp.i +.PHONY : persistence_test.cpp.i + +persistence_test.s: persistence_test.cpp.s +.PHONY : persistence_test.s + +# target to generate assembly for a file +persistence_test.cpp.s: + cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/persistence_test.cpp.s +.PHONY : persistence_test.cpp.s + test_dir_manager.o: test_dir_manager.cpp.o .PHONY : test_dir_manager.o @@ -252,6 +276,9 @@ help: @echo "... __/src/src/daemon/hash.o" @echo "... __/src/src/daemon/hash.i" @echo "... __/src/src/daemon/hash.s" + @echo "... persistence_test.o" + @echo "... persistence_test.i" + @echo "... persistence_test.s" @echo "... test_dir_manager.o" @echo "... test_dir_manager.i" @echo "... test_dir_manager.s" diff --git a/build/test/run_tests b/build/test/run_tests index 6d4ff667d5897adac41b1b833dc9bfe452409503..ca6ae3823f0aaaea84851d8a18a47b5809dcd8f0 100755 GIT binary patch literal 810472 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

    mHa2lu0q3Hdeu`iQ(I(9Y_nFK?eWuZA!yB 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ℜ%wB{ZXg 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 O!j?q+gM^u5clsCn%y~ip diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index cbb81c3..b122e84 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -5,6 +5,7 @@ find_package(GTest REQUIRED) add_executable(run_tests test_dir_manager.cpp test_hash_store.cpp + persistence_test.cpp ../src/src/daemon/dir_manager.cpp ../src/src/daemon/hash.cpp ) diff --git a/test/persistence_test.cpp b/test/persistence_test.cpp new file mode 100644 index 0000000..6a4812e --- /dev/null +++ b/test/persistence_test.cpp @@ -0,0 +1,119 @@ +#include + +#include +#include +#include +#include +#include + +#include "daemon/dir_manager.h" +#include "daemon/hash.h" + +/* + * System-level persistence tests. + * Verifies that DirManager and HashTable survive restart + * when backed by a file using mmap. + */ + +static const char* PERSIST_FILE = "/tmp/fastdevfs_persist_test.dat"; + +/* --------------------------------------------------------- + * Helper: map a file of given size + * --------------------------------------------------------- */ +static void* map_file(const char* path, size_t size, int& fd) { + fd = open(path, O_CREAT | O_RDWR | O_TRUNC, 0600); + if (fd == -1) + return MAP_FAILED; + + if (ftruncate(fd, size) != 0) + return MAP_FAILED; + + return mmap(nullptr, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); +} + +/* --------------------------------------------------------- + * DirManager persistence + * --------------------------------------------------------- */ +TEST(PersistenceTest, DirManagerPersistsAcrossRestart) { + int fd; + void* addr = map_file(PERSIST_FILE, sizeof(DirManager), fd); + ASSERT_NE(addr, MAP_FAILED); + + DirManager* dm = static_cast(addr); + + // initialize + mutate + dir_manager_init(dm); + insert_node(dm, "/home"); + insert_node(dm, "/home/user"); + insert_node(dm, "/var"); + + // flush + unmap (simulate shutdown) + msync(addr, sizeof(DirManager), MS_SYNC); + munmap(addr, sizeof(DirManager)); + close(fd); + + // remap (simulate restart) + fd = open(PERSIST_FILE, O_RDWR, 0600); + ASSERT_NE(fd, -1); + + addr = mmap(nullptr, sizeof(DirManager), + PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); + ASSERT_NE(addr, MAP_FAILED); + + DirManager* dm_after = static_cast(addr); + + // verify persistence + EXPECT_NE(lookup_node(dm_after, "/home"), -1); + EXPECT_NE(lookup_node(dm_after, "/home/user"), -1); + EXPECT_NE(lookup_node(dm_after, "/var"), -1); + + munmap(addr, sizeof(DirManager)); + close(fd); + unlink(PERSIST_FILE); +} + +/* --------------------------------------------------------- + * HashTable persistence + * --------------------------------------------------------- */ +TEST(PersistenceTest, HashTablePersistsAcrossRestart) { + int fd; + void* addr = map_file(PERSIST_FILE, sizeof(HashTable), fd); + ASSERT_NE(addr, MAP_FAILED); + + HashTable* ht = static_cast(addr); + + // initialize + mutate + hash_init(ht); + + const char* key1 = "alpha"; + const char* key2 = "beta"; + + uint64_t h1 = hash_combine(0, key1); + uint64_t h2 = hash_combine(0, key2); + + ASSERT_TRUE(hash_insert(ht, h1, key1, 11)); + ASSERT_TRUE(hash_insert(ht, h2, key2, 22)); + + // flush + unmap + msync(addr, sizeof(HashTable), MS_SYNC); + munmap(addr, sizeof(HashTable)); + close(fd); + + // remap + fd = open(PERSIST_FILE, O_RDWR, 0600); + ASSERT_NE(fd, -1); + + addr = mmap(nullptr, sizeof(HashTable), + PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); + ASSERT_NE(addr, MAP_FAILED); + + HashTable* ht_after = static_cast(addr); + + // verify persistence + EXPECT_EQ(hash_lookup(ht_after, h1, key1), 11); + EXPECT_EQ(hash_lookup(ht_after, h2, key2), 22); + + munmap(addr, sizeof(HashTable)); + close(fd); + unlink(PERSIST_FILE); +} diff --git a/test/test_dir_manager.cpp b/test/test_dir_manager.cpp index d8cff5b..349294c 100644 --- a/test/test_dir_manager.cpp +++ b/test/test_dir_manager.cpp @@ -232,3 +232,5 @@ TEST_F(DirManagerTest, ConcurrentWritersSafe) { EXPECT_NE(lookup_node(&dm, "/a"), -1); EXPECT_NE(lookup_node(&dm, "/b"), -1); } + + From 8083ffaf0d453b5905dc9b7004dfca98c2cac70f Mon Sep 17 00:00:00 2001 From: Diya Limbani Date: Sun, 25 Jan 2026 15:34:54 +0530 Subject: [PATCH 06/15] changed hash function to polynomial --- build/CMakeFiles/CMakeConfigureLog.yaml | 180 +-- .../run_tests.dir/compiler_depend.internal | 319 +++- .../run_tests.dir/compiler_depend.make | 1340 ++++++++++------- build/test/run_tests | Bin 810472 -> 806008 bytes src/include/daemon/dir_manager.h | 2 - src/include/daemon/hash.h | 6 +- src/src/daemon/dir_manager.cpp | 53 +- src/src/daemon/hash.cpp | 18 +- test/persistence_test.cpp | 16 +- test/test_dir_manager.cpp | 15 +- test/test_hash_store.cpp | 61 +- 11 files changed, 1244 insertions(+), 766 deletions(-) diff --git a/build/CMakeFiles/CMakeConfigureLog.yaml b/build/CMakeFiles/CMakeConfigureLog.yaml index 0f20705..022d036 100644 --- a/build/CMakeFiles/CMakeConfigureLog.yaml +++ b/build/CMakeFiles/CMakeConfigureLog.yaml @@ -61,8 +61,8 @@ events: checks: - "Detecting C compiler ABI info" directories: - source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-2P1v15" - binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-2P1v15" + source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-iuNE6f" + binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-iuNE6f" cmakeVariables: CMAKE_C_FLAGS: "" CMAKE_C_FLAGS_DEBUG: "-g" @@ -71,13 +71,13 @@ events: variable: "CMAKE_C_ABI_COMPILED" cached: true stdout: | - Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-2P1v15' + Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-iuNE6f' - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_2d014/fast - /usr/bin/gmake -f CMakeFiles/cmTC_2d014.dir/build.make CMakeFiles/cmTC_2d014.dir/build - gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-2P1v15' - Building C object CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o - /usr/bin/cc -v -o CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c + Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_19892/fast + /usr/bin/gmake -f CMakeFiles/cmTC_19892.dir/build.make CMakeFiles/cmTC_19892.dir/build + gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-iuNE6f' + Building C object CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o + /usr/bin/cc -v -o CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c Using built-in specs. COLLECT_GCC=/usr/bin/cc OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa @@ -87,8 +87,8 @@ events: Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_2d014.dir/' - /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_2d014.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cckcR9kO.s + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_19892.dir/' + /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_19892.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cclu5Mz8.s GNU C17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu) compiled by GNU C version 13.3.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP @@ -105,15 +105,15 @@ events: /usr/include End of search list. Compiler executable checksum: 38987c28e967c64056a6454abdef726e - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_2d014.dir/' - as -v --64 -o CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o /tmp/cckcR9kO.s + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_19892.dir/' + as -v --64 -o CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o /tmp/cclu5Mz8.s GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42 COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.' - Linking C executable cmTC_2d014 - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_2d014.dir/link.txt --verbose=1 - /usr/bin/cc -v CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o -o cmTC_2d014 + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.' + Linking C executable cmTC_19892 + /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_19892.dir/link.txt --verbose=1 + /usr/bin/cc -v CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o -o cmTC_19892 Using built-in specs. COLLECT_GCC=/usr/bin/cc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper @@ -126,10 +126,10 @@ events: gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_2d014' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_2d014.' - /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccgvNuzs.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_2d014 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_2d014' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_2d014.' - gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-2P1v15' + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_19892' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_19892.' + /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccRLLyZE.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_19892 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_19892' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_19892.' + gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-iuNE6f' exitCode: 0 - @@ -163,13 +163,13 @@ events: message: | Parsed C implicit link information: link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] - ignore line: [Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-2P1v15'] + ignore line: [Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-iuNE6f'] ignore line: [] - ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_2d014/fast] - ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_2d014.dir/build.make CMakeFiles/cmTC_2d014.dir/build] - ignore line: [gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-2P1v15'] - ignore line: [Building C object CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o] - ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c] + ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_19892/fast] + ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_19892.dir/build.make CMakeFiles/cmTC_19892.dir/build] + ignore line: [gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-iuNE6f'] + ignore line: [Building C object CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/cc] ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] @@ -179,8 +179,8 @@ events: ignore line: [Thread model: posix] ignore line: [Supported LTO compression algorithms: zlib zstd] ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_2d014.dir/'] - ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_2d014.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cckcR9kO.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_19892.dir/'] + ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_19892.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cclu5Mz8.s] ignore line: [GNU C17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu)] ignore line: [ compiled by GNU C version 13.3.0 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] ignore line: [] @@ -197,15 +197,15 @@ events: ignore line: [ /usr/include] ignore line: [End of search list.] ignore line: [Compiler executable checksum: 38987c28e967c64056a6454abdef726e] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_2d014.dir/'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o /tmp/cckcR9kO.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_19892.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o /tmp/cclu5Mz8.s] ignore line: [GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.'] - ignore line: [Linking C executable cmTC_2d014] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_2d014.dir/link.txt --verbose=1] - ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o -o cmTC_2d014 ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.'] + ignore line: [Linking C executable cmTC_19892] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_19892.dir/link.txt --verbose=1] + ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o -o cmTC_19892 ] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/cc] ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] @@ -218,13 +218,13 @@ events: ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_2d014' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_2d014.'] - link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccgvNuzs.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_2d014 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_19892' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_19892.'] + link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccRLLyZE.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_19892 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] arg [/usr/libexec/gcc/x86_64-linux-gnu/13/collect2] ==> ignore arg [-plugin] ==> ignore arg [/usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so] ==> ignore arg [-plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/ccgvNuzs.res] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccRLLyZE.res] ==> ignore arg [-plugin-opt=-pass-through=-lgcc] ==> ignore arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore arg [-plugin-opt=-pass-through=-lc] ==> ignore @@ -242,7 +242,7 @@ events: arg [-znow] ==> ignore arg [-zrelro] ==> ignore arg [-o] ==> ignore - arg [cmTC_2d014] ==> ignore + arg [cmTC_19892] ==> ignore arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] @@ -254,7 +254,7 @@ events: arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..] - arg [CMakeFiles/cmTC_2d014.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o] ==> ignore arg [-lgcc] ==> lib [gcc] arg [--push-state] ==> ignore arg [--as-needed] ==> ignore @@ -294,8 +294,8 @@ events: checks: - "Detecting CXX compiler ABI info" directories: - source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-NrjzVY" - binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-NrjzVY" + source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-P5sur1" + binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-P5sur1" cmakeVariables: CMAKE_CXX_FLAGS: "" CMAKE_CXX_FLAGS_DEBUG: "-g" @@ -304,13 +304,13 @@ events: variable: "CMAKE_CXX_ABI_COMPILED" cached: true stdout: | - Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-NrjzVY' + Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-P5sur1' - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_a35c9/fast - /usr/bin/gmake -f CMakeFiles/cmTC_a35c9.dir/build.make CMakeFiles/cmTC_a35c9.dir/build - gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-NrjzVY' - Building CXX object CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o - /usr/bin/c++ -v -o CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp + Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_253d1/fast + /usr/bin/gmake -f CMakeFiles/cmTC_253d1.dir/build.make CMakeFiles/cmTC_253d1.dir/build + gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-P5sur1' + Building CXX object CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o + /usr/bin/c++ -v -o CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp Using built-in specs. COLLECT_GCC=/usr/bin/c++ OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa @@ -320,8 +320,8 @@ events: Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a35c9.dir/' - /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_a35c9.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccZ6x6JC.s + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_253d1.dir/' + /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_253d1.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccUHbUyA.s GNU C++17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu) compiled by GNU C version 13.3.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP @@ -342,15 +342,15 @@ events: /usr/include End of search list. Compiler executable checksum: c81c05345ce537099dafd5580045814a - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a35c9.dir/' - as -v --64 -o CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccZ6x6JC.s + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_253d1.dir/' + as -v --64 -o CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccUHbUyA.s GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42 COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.' - Linking CXX executable cmTC_a35c9 - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a35c9.dir/link.txt --verbose=1 - /usr/bin/c++ -v CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_a35c9 + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.' + Linking CXX executable cmTC_253d1 + /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_253d1.dir/link.txt --verbose=1 + /usr/bin/c++ -v CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_253d1 Using built-in specs. COLLECT_GCC=/usr/bin/c++ COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper @@ -363,10 +363,10 @@ events: gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_a35c9' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_a35c9.' - /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccxwpVpW.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_a35c9 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_a35c9' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_a35c9.' - gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-NrjzVY' + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_253d1' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_253d1.' + /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccUmYJNO.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_253d1 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_253d1' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_253d1.' + gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-P5sur1' exitCode: 0 - @@ -406,13 +406,13 @@ events: message: | Parsed CXX implicit link information: link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] - ignore line: [Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-NrjzVY'] + ignore line: [Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-P5sur1'] ignore line: [] - ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_a35c9/fast] - ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_a35c9.dir/build.make CMakeFiles/cmTC_a35c9.dir/build] - ignore line: [gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-NrjzVY'] - ignore line: [Building CXX object CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o] - ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_253d1/fast] + ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_253d1.dir/build.make CMakeFiles/cmTC_253d1.dir/build] + ignore line: [gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-P5sur1'] + ignore line: [Building CXX object CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/c++] ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] @@ -422,8 +422,8 @@ events: ignore line: [Thread model: posix] ignore line: [Supported LTO compression algorithms: zlib zstd] ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a35c9.dir/'] - ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_a35c9.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccZ6x6JC.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_253d1.dir/'] + ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_253d1.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccUHbUyA.s] ignore line: [GNU C++17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu)] ignore line: [ compiled by GNU C version 13.3.0 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] ignore line: [] @@ -444,15 +444,15 @@ events: ignore line: [ /usr/include] ignore line: [End of search list.] ignore line: [Compiler executable checksum: c81c05345ce537099dafd5580045814a] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a35c9.dir/'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccZ6x6JC.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_253d1.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccUHbUyA.s] ignore line: [GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.'] - ignore line: [Linking CXX executable cmTC_a35c9] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a35c9.dir/link.txt --verbose=1] - ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_a35c9 ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [Linking CXX executable cmTC_253d1] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_253d1.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_253d1 ] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/c++] ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] @@ -465,13 +465,13 @@ events: ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_a35c9' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_a35c9.'] - link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccxwpVpW.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_a35c9 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_253d1' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_253d1.'] + link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccUmYJNO.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_253d1 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] arg [/usr/libexec/gcc/x86_64-linux-gnu/13/collect2] ==> ignore arg [-plugin] ==> ignore arg [/usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so] ==> ignore arg [-plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/ccxwpVpW.res] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccUmYJNO.res] ==> ignore arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore arg [-plugin-opt=-pass-through=-lgcc] ==> ignore arg [-plugin-opt=-pass-through=-lc] ==> ignore @@ -489,7 +489,7 @@ events: arg [-znow] ==> ignore arg [-zrelro] ==> ignore arg [-o] ==> ignore - arg [cmTC_a35c9] ==> ignore + arg [cmTC_253d1] ==> ignore arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] @@ -501,7 +501,7 @@ events: arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..] - arg [CMakeFiles/cmTC_a35c9.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore arg [-lstdc++] ==> lib [stdc++] arg [-lm] ==> lib [m] arg [-lgcc_s] ==> lib [gcc_s] @@ -540,8 +540,8 @@ events: - "/usr/share/cmake-3.28/Modules/FindGTest.cmake:194 (find_package)" - "test/CMakeLists.txt:3 (find_package)" directories: - source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-ggspOs" - binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-ggspOs" + source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-OwWPYZ" + binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-OwWPYZ" cmakeVariables: CMAKE_C_FLAGS: "" CMAKE_C_FLAGS_DEBUG: "-g" @@ -550,17 +550,17 @@ events: variable: "CMAKE_HAVE_LIBC_PTHREAD" cached: true stdout: | - Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-ggspOs' + Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-OwWPYZ' - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_519ac/fast - /usr/bin/gmake -f CMakeFiles/cmTC_519ac.dir/build.make CMakeFiles/cmTC_519ac.dir/build - gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-ggspOs' - Building C object CMakeFiles/cmTC_519ac.dir/src.c.o - /usr/bin/cc -DCMAKE_HAVE_LIBC_PTHREAD -o CMakeFiles/cmTC_519ac.dir/src.c.o -c /home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-ggspOs/src.c - Linking C executable cmTC_519ac - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_519ac.dir/link.txt --verbose=1 - /usr/bin/cc CMakeFiles/cmTC_519ac.dir/src.c.o -o cmTC_519ac - gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-ggspOs' + Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_9d966/fast + /usr/bin/gmake -f CMakeFiles/cmTC_9d966.dir/build.make CMakeFiles/cmTC_9d966.dir/build + gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-OwWPYZ' + Building C object CMakeFiles/cmTC_9d966.dir/src.c.o + /usr/bin/cc -DCMAKE_HAVE_LIBC_PTHREAD -o CMakeFiles/cmTC_9d966.dir/src.c.o -c /home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-OwWPYZ/src.c + Linking C executable cmTC_9d966 + /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_9d966.dir/link.txt --verbose=1 + /usr/bin/cc CMakeFiles/cmTC_9d966.dir/src.c.o -o cmTC_9d966 + gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-OwWPYZ' exitCode: 0 ... diff --git a/build/test/CMakeFiles/run_tests.dir/compiler_depend.internal b/build/test/CMakeFiles/run_tests.dir/compiler_depend.internal index 2563f14..35d76c3 100644 --- a/build/test/CMakeFiles/run_tests.dir/compiler_depend.internal +++ b/build/test/CMakeFiles/run_tests.dir/compiler_depend.internal @@ -1,41 +1,288 @@ # CMAKE generated file: DO NOT EDIT! # Generated by "Unix Makefiles" Generator, CMake Version 3.28 -test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o - /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp +test/CMakeFiles/run_tests.dir/persistence_test.cpp.o + /home/diya_limbani/FastDevFs/test/persistence_test.cpp /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h /home/diya_limbani/FastDevFs/src/include/daemon/hash.h + /usr/include/alloca.h + /usr/include/asm-generic/bitsperlong.h + /usr/include/asm-generic/errno-base.h + /usr/include/asm-generic/errno.h + /usr/include/asm-generic/int-ll64.h + /usr/include/asm-generic/posix_types.h + /usr/include/asm-generic/types.h + /usr/include/assert.h + /usr/include/c++/13/any + /usr/include/c++/13/array + /usr/include/c++/13/atomic + /usr/include/c++/13/backward/auto_ptr.h + /usr/include/c++/13/backward/binders.h + /usr/include/c++/13/bit + /usr/include/c++/13/bits/algorithmfwd.h + /usr/include/c++/13/bits/align.h + /usr/include/c++/13/bits/alloc_traits.h + /usr/include/c++/13/bits/allocated_ptr.h + /usr/include/c++/13/bits/allocator.h + /usr/include/c++/13/bits/atomic_base.h + /usr/include/c++/13/bits/atomic_lockfree_defines.h + /usr/include/c++/13/bits/basic_ios.h + /usr/include/c++/13/bits/basic_ios.tcc + /usr/include/c++/13/bits/basic_string.h + /usr/include/c++/13/bits/basic_string.tcc + /usr/include/c++/13/bits/char_traits.h + /usr/include/c++/13/bits/charconv.h + /usr/include/c++/13/bits/chrono.h + /usr/include/c++/13/bits/codecvt.h + /usr/include/c++/13/bits/concept_check.h + /usr/include/c++/13/bits/cpp_type_traits.h + /usr/include/c++/13/bits/cxxabi_forced.h + /usr/include/c++/13/bits/cxxabi_init_exception.h + /usr/include/c++/13/bits/enable_special_members.h + /usr/include/c++/13/bits/erase_if.h + /usr/include/c++/13/bits/exception.h + /usr/include/c++/13/bits/exception_defines.h + /usr/include/c++/13/bits/exception_ptr.h + /usr/include/c++/13/bits/functexcept.h + /usr/include/c++/13/bits/functional_hash.h + /usr/include/c++/13/bits/hash_bytes.h + /usr/include/c++/13/bits/hashtable.h + /usr/include/c++/13/bits/hashtable_policy.h + /usr/include/c++/13/bits/invoke.h + /usr/include/c++/13/bits/ios_base.h + /usr/include/c++/13/bits/istream.tcc + /usr/include/c++/13/bits/locale_classes.h + /usr/include/c++/13/bits/locale_classes.tcc + /usr/include/c++/13/bits/locale_conv.h + /usr/include/c++/13/bits/locale_facets.h + /usr/include/c++/13/bits/locale_facets.tcc + /usr/include/c++/13/bits/locale_facets_nonio.h + /usr/include/c++/13/bits/locale_facets_nonio.tcc + /usr/include/c++/13/bits/localefwd.h + /usr/include/c++/13/bits/memory_resource.h + /usr/include/c++/13/bits/memoryfwd.h + /usr/include/c++/13/bits/move.h + /usr/include/c++/13/bits/nested_exception.h + /usr/include/c++/13/bits/new_allocator.h + /usr/include/c++/13/bits/node_handle.h + /usr/include/c++/13/bits/ostream.tcc + /usr/include/c++/13/bits/ostream_insert.h + /usr/include/c++/13/bits/parse_numbers.h + /usr/include/c++/13/bits/postypes.h + /usr/include/c++/13/bits/predefined_ops.h + /usr/include/c++/13/bits/ptr_traits.h + /usr/include/c++/13/bits/quoted_string.h + /usr/include/c++/13/bits/range_access.h + /usr/include/c++/13/bits/refwrap.h + /usr/include/c++/13/bits/requires_hosted.h + /usr/include/c++/13/bits/shared_ptr.h + /usr/include/c++/13/bits/shared_ptr_atomic.h + /usr/include/c++/13/bits/shared_ptr_base.h + /usr/include/c++/13/bits/sstream.tcc + /usr/include/c++/13/bits/std_abs.h + /usr/include/c++/13/bits/std_function.h + /usr/include/c++/13/bits/std_mutex.h + /usr/include/c++/13/bits/stl_algo.h + /usr/include/c++/13/bits/stl_algobase.h + /usr/include/c++/13/bits/stl_bvector.h + /usr/include/c++/13/bits/stl_construct.h + /usr/include/c++/13/bits/stl_function.h + /usr/include/c++/13/bits/stl_heap.h + /usr/include/c++/13/bits/stl_iterator.h + /usr/include/c++/13/bits/stl_iterator_base_funcs.h + /usr/include/c++/13/bits/stl_iterator_base_types.h + /usr/include/c++/13/bits/stl_map.h + /usr/include/c++/13/bits/stl_multimap.h + /usr/include/c++/13/bits/stl_multiset.h + /usr/include/c++/13/bits/stl_pair.h + /usr/include/c++/13/bits/stl_raw_storage_iter.h + /usr/include/c++/13/bits/stl_relops.h + /usr/include/c++/13/bits/stl_set.h + /usr/include/c++/13/bits/stl_tempbuf.h + /usr/include/c++/13/bits/stl_tree.h + /usr/include/c++/13/bits/stl_uninitialized.h + /usr/include/c++/13/bits/stl_vector.h + /usr/include/c++/13/bits/stream_iterator.h + /usr/include/c++/13/bits/streambuf.tcc + /usr/include/c++/13/bits/streambuf_iterator.h + /usr/include/c++/13/bits/string_view.tcc + /usr/include/c++/13/bits/stringfwd.h + /usr/include/c++/13/bits/uniform_int_dist.h + /usr/include/c++/13/bits/unique_lock.h + /usr/include/c++/13/bits/unique_ptr.h + /usr/include/c++/13/bits/unordered_map.h + /usr/include/c++/13/bits/uses_allocator.h + /usr/include/c++/13/bits/uses_allocator_args.h + /usr/include/c++/13/bits/utility.h + /usr/include/c++/13/bits/vector.tcc + /usr/include/c++/13/cassert + /usr/include/c++/13/cctype + /usr/include/c++/13/cerrno + /usr/include/c++/13/clocale + /usr/include/c++/13/compare + /usr/include/c++/13/condition_variable + /usr/include/c++/13/cstddef + /usr/include/c++/13/cstdint /usr/include/c++/13/cstdio + /usr/include/c++/13/cstdlib + /usr/include/c++/13/cstring + /usr/include/c++/13/ctime + /usr/include/c++/13/cwchar + /usr/include/c++/13/cwctype + /usr/include/c++/13/cxxabi.h + /usr/include/c++/13/debug/assertions.h + /usr/include/c++/13/debug/debug.h + /usr/include/c++/13/exception + /usr/include/c++/13/ext/aligned_buffer.h + /usr/include/c++/13/ext/alloc_traits.h + /usr/include/c++/13/ext/atomicity.h + /usr/include/c++/13/ext/concurrence.h + /usr/include/c++/13/ext/numeric_traits.h + /usr/include/c++/13/ext/string_conversions.h + /usr/include/c++/13/ext/type_traits.h + /usr/include/c++/13/functional + /usr/include/c++/13/initializer_list + /usr/include/c++/13/iomanip + /usr/include/c++/13/ios + /usr/include/c++/13/iosfwd + /usr/include/c++/13/iostream + /usr/include/c++/13/istream + /usr/include/c++/13/iterator + /usr/include/c++/13/limits + /usr/include/c++/13/locale + /usr/include/c++/13/map + /usr/include/c++/13/memory + /usr/include/c++/13/mutex + /usr/include/c++/13/new + /usr/include/c++/13/optional + /usr/include/c++/13/ostream + /usr/include/c++/13/pstl/execution_defs.h + /usr/include/c++/13/pstl/glue_memory_defs.h /usr/include/c++/13/pstl/pstl_config.h + /usr/include/c++/13/ratio + /usr/include/c++/13/set + /usr/include/c++/13/sstream + /usr/include/c++/13/stdexcept + /usr/include/c++/13/stdlib.h + /usr/include/c++/13/streambuf + /usr/include/c++/13/string + /usr/include/c++/13/string_view + /usr/include/c++/13/system_error + /usr/include/c++/13/tuple + /usr/include/c++/13/type_traits + /usr/include/c++/13/typeinfo + /usr/include/c++/13/unordered_map + /usr/include/c++/13/utility + /usr/include/c++/13/variant + /usr/include/c++/13/vector + /usr/include/ctype.h + /usr/include/endian.h + /usr/include/errno.h + /usr/include/fcntl.h /usr/include/features-time64.h /usr/include/features.h + /usr/include/gtest/gtest-assertion-result.h + /usr/include/gtest/gtest-death-test.h + /usr/include/gtest/gtest-matchers.h + /usr/include/gtest/gtest-message.h + /usr/include/gtest/gtest-param-test.h + /usr/include/gtest/gtest-printers.h + /usr/include/gtest/gtest-test-part.h + /usr/include/gtest/gtest-typed-test.h + /usr/include/gtest/gtest.h + /usr/include/gtest/gtest_pred_impl.h + /usr/include/gtest/gtest_prod.h + /usr/include/gtest/internal/custom/gtest-port.h + /usr/include/gtest/internal/custom/gtest-printers.h + /usr/include/gtest/internal/gtest-death-test-internal.h + /usr/include/gtest/internal/gtest-filepath.h + /usr/include/gtest/internal/gtest-internal.h + /usr/include/gtest/internal/gtest-param-util.h + /usr/include/gtest/internal/gtest-port-arch.h + /usr/include/gtest/internal/gtest-port.h + /usr/include/gtest/internal/gtest-string.h + /usr/include/gtest/internal/gtest-type-util.h + /usr/include/libintl.h + /usr/include/linux/close_range.h + /usr/include/linux/errno.h + /usr/include/linux/falloc.h + /usr/include/linux/posix_types.h + /usr/include/linux/stat.h + /usr/include/linux/stddef.h + /usr/include/linux/types.h + /usr/include/locale.h /usr/include/pthread.h + /usr/include/regex.h /usr/include/sched.h + /usr/include/signal.h /usr/include/stdc-predef.h /usr/include/stdint.h /usr/include/stdio.h + /usr/include/stdlib.h /usr/include/string.h /usr/include/strings.h /usr/include/time.h + /usr/include/unistd.h + /usr/include/wchar.h + /usr/include/wctype.h + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h + /usr/include/x86_64-linux-gnu/asm/errno.h + /usr/include/x86_64-linux-gnu/asm/posix_types.h + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h + /usr/include/x86_64-linux-gnu/asm/types.h /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/x86_64-linux-gnu/bits/byteswap.h + /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/x86_64-linux-gnu/bits/endian.h /usr/include/x86_64-linux-gnu/bits/endianness.h + /usr/include/x86_64-linux-gnu/bits/environments.h + /usr/include/x86_64-linux-gnu/bits/errno.h + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h + /usr/include/x86_64-linux-gnu/bits/fcntl.h /usr/include/x86_64-linux-gnu/bits/floatn-common.h /usr/include/x86_64-linux-gnu/bits/floatn.h + /usr/include/x86_64-linux-gnu/bits/getopt_core.h + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/mman-linux.h + /usr/include/x86_64-linux-gnu/bits/mman-map-flags-generic.h + /usr/include/x86_64-linux-gnu/bits/mman-shared.h + /usr/include/x86_64-linux-gnu/bits/mman.h + /usr/include/x86_64-linux-gnu/bits/mman_ext.h + /usr/include/x86_64-linux-gnu/bits/posix_opt.h /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/x86_64-linux-gnu/bits/sched.h + /usr/include/x86_64-linux-gnu/bits/select.h /usr/include/x86_64-linux-gnu/bits/setjmp.h + /usr/include/x86_64-linux-gnu/bits/sigaction.h + /usr/include/x86_64-linux-gnu/bits/sigcontext.h + /usr/include/x86_64-linux-gnu/bits/sigevent-consts.h + /usr/include/x86_64-linux-gnu/bits/siginfo-arch.h + /usr/include/x86_64-linux-gnu/bits/siginfo-consts-arch.h + /usr/include/x86_64-linux-gnu/bits/siginfo-consts.h + /usr/include/x86_64-linux-gnu/bits/signal_ext.h + /usr/include/x86_64-linux-gnu/bits/signum-arch.h + /usr/include/x86_64-linux-gnu/bits/signum-generic.h + /usr/include/x86_64-linux-gnu/bits/sigstack.h + /usr/include/x86_64-linux-gnu/bits/sigstksz.h + /usr/include/x86_64-linux-gnu/bits/sigthread.h + /usr/include/x86_64-linux-gnu/bits/ss_flags.h + /usr/include/x86_64-linux-gnu/bits/stat.h + /usr/include/x86_64-linux-gnu/bits/statx-generic.h + /usr/include/x86_64-linux-gnu/bits/statx.h /usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/x86_64-linux-gnu/bits/stdint-least.h /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h /usr/include/x86_64-linux-gnu/bits/stdio_lim.h + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h /usr/include/x86_64-linux-gnu/bits/struct_mutex.h /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h + /usr/include/x86_64-linux-gnu/bits/struct_stat.h /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h /usr/include/x86_64-linux-gnu/bits/time.h /usr/include/x86_64-linux-gnu/bits/time64.h @@ -49,62 +296,72 @@ test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/__sigval_t.h /usr/include/x86_64-linux-gnu/bits/types/clock_t.h /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h + /usr/include/x86_64-linux-gnu/bits/types/error_t.h + /usr/include/x86_64-linux-gnu/bits/types/idtype_t.h /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h + /usr/include/x86_64-linux-gnu/bits/types/sig_atomic_t.h + /usr/include/x86_64-linux-gnu/bits/types/sigevent_t.h + /usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/sigval_t.h + /usr/include/x86_64-linux-gnu/bits/types/stack_t.h /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h + /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h + /usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h /usr/include/x86_64-linux-gnu/bits/types/time_t.h /usr/include/x86_64-linux-gnu/bits/types/timer_t.h + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h /usr/include/x86_64-linux-gnu/bits/typesizes.h + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h + /usr/include/x86_64-linux-gnu/bits/waitflags.h + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h + /usr/include/x86_64-linux-gnu/c++/13/bits/cxxabi_tweaks.h + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h + /usr/include/x86_64-linux-gnu/c++/13/bits/messages_members.h /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/time_members.h /usr/include/x86_64-linux-gnu/gnu/stubs-64.h /usr/include/x86_64-linux-gnu/gnu/stubs.h /usr/include/x86_64-linux-gnu/sys/cdefs.h + /usr/include/x86_64-linux-gnu/sys/mman.h + /usr/include/x86_64-linux-gnu/sys/select.h + /usr/include/x86_64-linux-gnu/sys/single_threaded.h + /usr/include/x86_64-linux-gnu/sys/stat.h + /usr/include/x86_64-linux-gnu/sys/types.h + /usr/include/x86_64-linux-gnu/sys/ucontext.h + /usr/include/x86_64-linux-gnu/sys/wait.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/float.h /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o - /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h - /usr/include/features-time64.h - /usr/include/features.h - /usr/include/stdc-predef.h - /usr/include/stdint.h - /usr/include/string.h - /usr/include/strings.h - /usr/include/x86_64-linux-gnu/bits/libc-header-start.h - /usr/include/x86_64-linux-gnu/bits/long-double.h - /usr/include/x86_64-linux-gnu/bits/stdint-intn.h - /usr/include/x86_64-linux-gnu/bits/stdint-least.h - /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h - /usr/include/x86_64-linux-gnu/bits/time64.h - /usr/include/x86_64-linux-gnu/bits/timesize.h - /usr/include/x86_64-linux-gnu/bits/types.h - /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h - /usr/include/x86_64-linux-gnu/bits/types/locale_t.h - /usr/include/x86_64-linux-gnu/bits/typesizes.h - /usr/include/x86_64-linux-gnu/bits/wchar.h - /usr/include/x86_64-linux-gnu/bits/wordsize.h - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h - /usr/include/x86_64-linux-gnu/gnu/stubs.h - /usr/include/x86_64-linux-gnu/sys/cdefs.h - /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h - /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h - /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h - test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o /home/diya_limbani/FastDevFs/test/test_dir_manager.cpp /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h diff --git a/build/test/CMakeFiles/run_tests.dir/compiler_depend.make b/build/test/CMakeFiles/run_tests.dir/compiler_depend.make index 95f8209..f4f41b2 100644 --- a/build/test/CMakeFiles/run_tests.dir/compiler_depend.make +++ b/build/test/CMakeFiles/run_tests.dir/compiler_depend.make @@ -1,109 +1,7 @@ # CMAKE generated file: DO NOT EDIT! # Generated by "Unix Makefiles" Generator, CMake Version 3.28 -test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp \ - /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ - /usr/include/c++/13/cstdio \ - /usr/include/c++/13/pstl/pstl_config.h \ - /usr/include/features-time64.h \ - /usr/include/features.h \ - /usr/include/pthread.h \ - /usr/include/sched.h \ - /usr/include/stdc-predef.h \ - /usr/include/stdint.h \ - /usr/include/stdio.h \ - /usr/include/string.h \ - /usr/include/strings.h \ - /usr/include/time.h \ - /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ - /usr/include/x86_64-linux-gnu/bits/cpu-set.h \ - /usr/include/x86_64-linux-gnu/bits/endian.h \ - /usr/include/x86_64-linux-gnu/bits/endianness.h \ - /usr/include/x86_64-linux-gnu/bits/floatn-common.h \ - /usr/include/x86_64-linux-gnu/bits/floatn.h \ - /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ - /usr/include/x86_64-linux-gnu/bits/long-double.h \ - /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ - /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ - /usr/include/x86_64-linux-gnu/bits/sched.h \ - /usr/include/x86_64-linux-gnu/bits/setjmp.h \ - /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ - /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ - /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ - /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ - /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ - /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \ - /usr/include/x86_64-linux-gnu/bits/time.h \ - /usr/include/x86_64-linux-gnu/bits/time64.h \ - /usr/include/x86_64-linux-gnu/bits/timesize.h \ - /usr/include/x86_64-linux-gnu/bits/timex.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/types/FILE.h \ - /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \ - /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \ - /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ - /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ - /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \ - /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ - /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \ - /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ - /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ - /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ - /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h \ - /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h \ - /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ - /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h - -test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp \ - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ - /usr/include/features-time64.h \ - /usr/include/features.h \ - /usr/include/stdc-predef.h \ - /usr/include/stdint.h \ - /usr/include/string.h \ - /usr/include/strings.h \ - /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ - /usr/include/x86_64-linux-gnu/bits/long-double.h \ - /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ - /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ - /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ - /usr/include/x86_64-linux-gnu/bits/time64.h \ - /usr/include/x86_64-linux-gnu/bits/timesize.h \ - /usr/include/x86_64-linux-gnu/bits/types.h \ - /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ - /usr/include/x86_64-linux-gnu/bits/typesizes.h \ - /usr/include/x86_64-linux-gnu/bits/wchar.h \ - /usr/include/x86_64-linux-gnu/bits/wordsize.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ - /usr/include/x86_64-linux-gnu/gnu/stubs.h \ - /usr/include/x86_64-linux-gnu/sys/cdefs.h \ - /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h \ - /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ - /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h - -test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o: /home/diya_limbani/FastDevFs/test/test_dir_manager.cpp \ +test/CMakeFiles/run_tests.dir/persistence_test.cpp.o: /home/diya_limbani/FastDevFs/test/persistence_test.cpp \ /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ /usr/include/alloca.h \ @@ -183,7 +81,6 @@ test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o: /home/diya_limbani/FastDev /usr/include/c++/13/bits/std_abs.h \ /usr/include/c++/13/bits/std_function.h \ /usr/include/c++/13/bits/std_mutex.h \ - /usr/include/c++/13/bits/std_thread.h \ /usr/include/c++/13/bits/stl_algo.h \ /usr/include/c++/13/bits/stl_algobase.h \ /usr/include/c++/13/bits/stl_bvector.h \ @@ -209,7 +106,6 @@ test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o: /home/diya_limbani/FastDev /usr/include/c++/13/bits/streambuf_iterator.h \ /usr/include/c++/13/bits/string_view.tcc \ /usr/include/c++/13/bits/stringfwd.h \ - /usr/include/c++/13/bits/this_thread_sleep.h \ /usr/include/c++/13/bits/uniform_int_dist.h \ /usr/include/c++/13/bits/unique_lock.h \ /usr/include/c++/13/bits/unique_ptr.h \ @@ -228,6 +124,7 @@ test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o: /home/diya_limbani/FastDev /usr/include/c++/13/cstdint \ /usr/include/c++/13/cstdio \ /usr/include/c++/13/cstdlib \ + /usr/include/c++/13/cstring \ /usr/include/c++/13/ctime \ /usr/include/c++/13/cwchar \ /usr/include/c++/13/cwctype \ @@ -270,7 +167,6 @@ test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o: /home/diya_limbani/FastDev /usr/include/c++/13/string \ /usr/include/c++/13/string_view \ /usr/include/c++/13/system_error \ - /usr/include/c++/13/thread \ /usr/include/c++/13/tuple \ /usr/include/c++/13/type_traits \ /usr/include/c++/13/typeinfo \ @@ -281,6 +177,7 @@ test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o: /home/diya_limbani/FastDev /usr/include/ctype.h \ /usr/include/endian.h \ /usr/include/errno.h \ + /usr/include/fcntl.h \ /usr/include/features-time64.h \ /usr/include/features.h \ /usr/include/gtest/gtest-assertion-result.h \ @@ -307,6 +204,7 @@ test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o: /home/diya_limbani/FastDev /usr/include/libintl.h \ /usr/include/linux/close_range.h \ /usr/include/linux/errno.h \ + /usr/include/linux/falloc.h \ /usr/include/linux/posix_types.h \ /usr/include/linux/stat.h \ /usr/include/linux/stddef.h \ @@ -339,6 +237,8 @@ test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o: /home/diya_limbani/FastDev /usr/include/x86_64-linux-gnu/bits/endianness.h \ /usr/include/x86_64-linux-gnu/bits/environments.h \ /usr/include/x86_64-linux-gnu/bits/errno.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl.h \ /usr/include/x86_64-linux-gnu/bits/floatn-common.h \ /usr/include/x86_64-linux-gnu/bits/floatn.h \ /usr/include/x86_64-linux-gnu/bits/getopt_core.h \ @@ -346,6 +246,11 @@ test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o: /home/diya_limbani/FastDev /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ /usr/include/x86_64-linux-gnu/bits/locale.h \ /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/mman-linux.h \ + /usr/include/x86_64-linux-gnu/bits/mman-map-flags-generic.h \ + /usr/include/x86_64-linux-gnu/bits/mman-shared.h \ + /usr/include/x86_64-linux-gnu/bits/mman.h \ + /usr/include/x86_64-linux-gnu/bits/mman_ext.h \ /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ @@ -406,6 +311,7 @@ test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o: /home/diya_limbani/FastDev /usr/include/x86_64-linux-gnu/bits/types/stack_t.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \ /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h \ @@ -442,6 +348,7 @@ test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o: /home/diya_limbani/FastDev /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ /usr/include/x86_64-linux-gnu/gnu/stubs.h \ /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/sys/mman.h \ /usr/include/x86_64-linux-gnu/sys/select.h \ /usr/include/x86_64-linux-gnu/sys/single_threaded.h \ /usr/include/x86_64-linux-gnu/sys/stat.h \ @@ -454,7 +361,8 @@ test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o: /home/diya_limbani/FastDev /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevFs/test/test_hash_store.cpp \ +test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o: /home/diya_limbani/FastDevFs/test/test_dir_manager.cpp \ + /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ /usr/include/alloca.h \ /usr/include/asm-generic/bitsperlong.h \ @@ -533,6 +441,7 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/include/c++/13/bits/std_abs.h \ /usr/include/c++/13/bits/std_function.h \ /usr/include/c++/13/bits/std_mutex.h \ + /usr/include/c++/13/bits/std_thread.h \ /usr/include/c++/13/bits/stl_algo.h \ /usr/include/c++/13/bits/stl_algobase.h \ /usr/include/c++/13/bits/stl_bvector.h \ @@ -558,6 +467,7 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/include/c++/13/bits/streambuf_iterator.h \ /usr/include/c++/13/bits/string_view.tcc \ /usr/include/c++/13/bits/stringfwd.h \ + /usr/include/c++/13/bits/this_thread_sleep.h \ /usr/include/c++/13/bits/uniform_int_dist.h \ /usr/include/c++/13/bits/unique_lock.h \ /usr/include/c++/13/bits/unique_ptr.h \ @@ -569,7 +479,6 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/include/c++/13/cassert \ /usr/include/c++/13/cctype \ /usr/include/c++/13/cerrno \ - /usr/include/c++/13/chrono \ /usr/include/c++/13/clocale \ /usr/include/c++/13/compare \ /usr/include/c++/13/condition_variable \ @@ -577,7 +486,6 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/include/c++/13/cstdint \ /usr/include/c++/13/cstdio \ /usr/include/c++/13/cstdlib \ - /usr/include/c++/13/cstring \ /usr/include/c++/13/ctime \ /usr/include/c++/13/cwchar \ /usr/include/c++/13/cwctype \ @@ -620,6 +528,7 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/include/c++/13/string \ /usr/include/c++/13/string_view \ /usr/include/c++/13/system_error \ + /usr/include/c++/13/thread \ /usr/include/c++/13/tuple \ /usr/include/c++/13/type_traits \ /usr/include/c++/13/typeinfo \ @@ -803,713 +712,1082 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h +test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevFs/test/test_hash_store.cpp \ + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ + /usr/include/alloca.h \ + /usr/include/asm-generic/bitsperlong.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/int-ll64.h \ + /usr/include/asm-generic/posix_types.h \ + /usr/include/asm-generic/types.h \ + /usr/include/assert.h \ + /usr/include/c++/13/any \ + /usr/include/c++/13/array \ + /usr/include/c++/13/atomic \ + /usr/include/c++/13/backward/auto_ptr.h \ + /usr/include/c++/13/backward/binders.h \ + /usr/include/c++/13/bit \ + /usr/include/c++/13/bits/algorithmfwd.h \ + /usr/include/c++/13/bits/align.h \ + /usr/include/c++/13/bits/alloc_traits.h \ + /usr/include/c++/13/bits/allocated_ptr.h \ + /usr/include/c++/13/bits/allocator.h \ + /usr/include/c++/13/bits/atomic_base.h \ + /usr/include/c++/13/bits/atomic_lockfree_defines.h \ + /usr/include/c++/13/bits/basic_ios.h \ + /usr/include/c++/13/bits/basic_ios.tcc \ + /usr/include/c++/13/bits/basic_string.h \ + /usr/include/c++/13/bits/basic_string.tcc \ + /usr/include/c++/13/bits/char_traits.h \ + /usr/include/c++/13/bits/charconv.h \ + /usr/include/c++/13/bits/chrono.h \ + /usr/include/c++/13/bits/codecvt.h \ + /usr/include/c++/13/bits/concept_check.h \ + /usr/include/c++/13/bits/cpp_type_traits.h \ + /usr/include/c++/13/bits/cxxabi_forced.h \ + /usr/include/c++/13/bits/cxxabi_init_exception.h \ + /usr/include/c++/13/bits/enable_special_members.h \ + /usr/include/c++/13/bits/erase_if.h \ + /usr/include/c++/13/bits/exception.h \ + /usr/include/c++/13/bits/exception_defines.h \ + /usr/include/c++/13/bits/exception_ptr.h \ + /usr/include/c++/13/bits/functexcept.h \ + /usr/include/c++/13/bits/functional_hash.h \ + /usr/include/c++/13/bits/hash_bytes.h \ + /usr/include/c++/13/bits/hashtable.h \ + /usr/include/c++/13/bits/hashtable_policy.h \ + /usr/include/c++/13/bits/invoke.h \ + /usr/include/c++/13/bits/ios_base.h \ + /usr/include/c++/13/bits/istream.tcc \ + /usr/include/c++/13/bits/locale_classes.h \ + /usr/include/c++/13/bits/locale_classes.tcc \ + /usr/include/c++/13/bits/locale_conv.h \ + /usr/include/c++/13/bits/locale_facets.h \ + /usr/include/c++/13/bits/locale_facets.tcc \ + /usr/include/c++/13/bits/locale_facets_nonio.h \ + /usr/include/c++/13/bits/locale_facets_nonio.tcc \ + /usr/include/c++/13/bits/localefwd.h \ + /usr/include/c++/13/bits/memory_resource.h \ + /usr/include/c++/13/bits/memoryfwd.h \ + /usr/include/c++/13/bits/move.h \ + /usr/include/c++/13/bits/nested_exception.h \ + /usr/include/c++/13/bits/new_allocator.h \ + /usr/include/c++/13/bits/node_handle.h \ + /usr/include/c++/13/bits/ostream.tcc \ + /usr/include/c++/13/bits/ostream_insert.h \ + /usr/include/c++/13/bits/parse_numbers.h \ + /usr/include/c++/13/bits/postypes.h \ + /usr/include/c++/13/bits/predefined_ops.h \ + /usr/include/c++/13/bits/ptr_traits.h \ + /usr/include/c++/13/bits/quoted_string.h \ + /usr/include/c++/13/bits/range_access.h \ + /usr/include/c++/13/bits/refwrap.h \ + /usr/include/c++/13/bits/requires_hosted.h \ + /usr/include/c++/13/bits/shared_ptr.h \ + /usr/include/c++/13/bits/shared_ptr_atomic.h \ + /usr/include/c++/13/bits/shared_ptr_base.h \ + /usr/include/c++/13/bits/sstream.tcc \ + /usr/include/c++/13/bits/std_abs.h \ + /usr/include/c++/13/bits/std_function.h \ + /usr/include/c++/13/bits/std_mutex.h \ + /usr/include/c++/13/bits/stl_algo.h \ + /usr/include/c++/13/bits/stl_algobase.h \ + /usr/include/c++/13/bits/stl_bvector.h \ + /usr/include/c++/13/bits/stl_construct.h \ + /usr/include/c++/13/bits/stl_function.h \ + /usr/include/c++/13/bits/stl_heap.h \ + /usr/include/c++/13/bits/stl_iterator.h \ + /usr/include/c++/13/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/13/bits/stl_iterator_base_types.h \ + /usr/include/c++/13/bits/stl_map.h \ + /usr/include/c++/13/bits/stl_multimap.h \ + /usr/include/c++/13/bits/stl_multiset.h \ + /usr/include/c++/13/bits/stl_pair.h \ + /usr/include/c++/13/bits/stl_raw_storage_iter.h \ + /usr/include/c++/13/bits/stl_relops.h \ + /usr/include/c++/13/bits/stl_set.h \ + /usr/include/c++/13/bits/stl_tempbuf.h \ + /usr/include/c++/13/bits/stl_tree.h \ + /usr/include/c++/13/bits/stl_uninitialized.h \ + /usr/include/c++/13/bits/stl_vector.h \ + /usr/include/c++/13/bits/stream_iterator.h \ + /usr/include/c++/13/bits/streambuf.tcc \ + /usr/include/c++/13/bits/streambuf_iterator.h \ + /usr/include/c++/13/bits/string_view.tcc \ + /usr/include/c++/13/bits/stringfwd.h \ + /usr/include/c++/13/bits/uniform_int_dist.h \ + /usr/include/c++/13/bits/unique_lock.h \ + /usr/include/c++/13/bits/unique_ptr.h \ + /usr/include/c++/13/bits/unordered_map.h \ + /usr/include/c++/13/bits/uses_allocator.h \ + /usr/include/c++/13/bits/uses_allocator_args.h \ + /usr/include/c++/13/bits/utility.h \ + /usr/include/c++/13/bits/vector.tcc \ + /usr/include/c++/13/cassert \ + /usr/include/c++/13/cctype \ + /usr/include/c++/13/cerrno \ + /usr/include/c++/13/chrono \ + /usr/include/c++/13/clocale \ + /usr/include/c++/13/compare \ + /usr/include/c++/13/condition_variable \ + /usr/include/c++/13/cstddef \ + /usr/include/c++/13/cstdint \ + /usr/include/c++/13/cstdio \ + /usr/include/c++/13/cstdlib \ + /usr/include/c++/13/cstring \ + /usr/include/c++/13/ctime \ + /usr/include/c++/13/cwchar \ + /usr/include/c++/13/cwctype \ + /usr/include/c++/13/cxxabi.h \ + /usr/include/c++/13/debug/assertions.h \ + /usr/include/c++/13/debug/debug.h \ + /usr/include/c++/13/exception \ + /usr/include/c++/13/ext/aligned_buffer.h \ + /usr/include/c++/13/ext/alloc_traits.h \ + /usr/include/c++/13/ext/atomicity.h \ + /usr/include/c++/13/ext/concurrence.h \ + /usr/include/c++/13/ext/numeric_traits.h \ + /usr/include/c++/13/ext/string_conversions.h \ + /usr/include/c++/13/ext/type_traits.h \ + /usr/include/c++/13/functional \ + /usr/include/c++/13/initializer_list \ + /usr/include/c++/13/iomanip \ + /usr/include/c++/13/ios \ + /usr/include/c++/13/iosfwd \ + /usr/include/c++/13/iostream \ + /usr/include/c++/13/istream \ + /usr/include/c++/13/iterator \ + /usr/include/c++/13/limits \ + /usr/include/c++/13/locale \ + /usr/include/c++/13/map \ + /usr/include/c++/13/memory \ + /usr/include/c++/13/mutex \ + /usr/include/c++/13/new \ + /usr/include/c++/13/optional \ + /usr/include/c++/13/ostream \ + /usr/include/c++/13/pstl/execution_defs.h \ + /usr/include/c++/13/pstl/glue_memory_defs.h \ + /usr/include/c++/13/pstl/pstl_config.h \ + /usr/include/c++/13/ratio \ + /usr/include/c++/13/set \ + /usr/include/c++/13/sstream \ + /usr/include/c++/13/stdexcept \ + /usr/include/c++/13/stdlib.h \ + /usr/include/c++/13/streambuf \ + /usr/include/c++/13/string \ + /usr/include/c++/13/string_view \ + /usr/include/c++/13/system_error \ + /usr/include/c++/13/tuple \ + /usr/include/c++/13/type_traits \ + /usr/include/c++/13/typeinfo \ + /usr/include/c++/13/unordered_map \ + /usr/include/c++/13/utility \ + /usr/include/c++/13/variant \ + /usr/include/c++/13/vector \ + /usr/include/ctype.h \ + /usr/include/endian.h \ + /usr/include/errno.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/gtest/gtest-assertion-result.h \ + /usr/include/gtest/gtest-death-test.h \ + /usr/include/gtest/gtest-matchers.h \ + /usr/include/gtest/gtest-message.h \ + /usr/include/gtest/gtest-param-test.h \ + /usr/include/gtest/gtest-printers.h \ + /usr/include/gtest/gtest-test-part.h \ + /usr/include/gtest/gtest-typed-test.h \ + /usr/include/gtest/gtest.h \ + /usr/include/gtest/gtest_pred_impl.h \ + /usr/include/gtest/gtest_prod.h \ + /usr/include/gtest/internal/custom/gtest-port.h \ + /usr/include/gtest/internal/custom/gtest-printers.h \ + /usr/include/gtest/internal/gtest-death-test-internal.h \ + /usr/include/gtest/internal/gtest-filepath.h \ + /usr/include/gtest/internal/gtest-internal.h \ + /usr/include/gtest/internal/gtest-param-util.h \ + /usr/include/gtest/internal/gtest-port-arch.h \ + /usr/include/gtest/internal/gtest-port.h \ + /usr/include/gtest/internal/gtest-string.h \ + /usr/include/gtest/internal/gtest-type-util.h \ + /usr/include/libintl.h \ + /usr/include/linux/close_range.h \ + /usr/include/linux/errno.h \ + /usr/include/linux/posix_types.h \ + /usr/include/linux/stat.h \ + /usr/include/linux/stddef.h \ + /usr/include/linux/types.h \ + /usr/include/locale.h \ + /usr/include/pthread.h \ + /usr/include/regex.h \ + /usr/include/sched.h \ + /usr/include/signal.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/time.h \ + /usr/include/unistd.h \ + /usr/include/wchar.h \ + /usr/include/wctype.h \ + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ + /usr/include/x86_64-linux-gnu/asm/errno.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \ + /usr/include/x86_64-linux-gnu/asm/types.h \ + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/confname.h \ + /usr/include/x86_64-linux-gnu/bits/cpu-set.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endianness.h \ + /usr/include/x86_64-linux-gnu/bits/environments.h \ + /usr/include/x86_64-linux-gnu/bits/errno.h \ + /usr/include/x86_64-linux-gnu/bits/floatn-common.h \ + /usr/include/x86_64-linux-gnu/bits/floatn.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_core.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \ + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h \ + /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/bits/sigaction.h \ + /usr/include/x86_64-linux-gnu/bits/sigcontext.h \ + /usr/include/x86_64-linux-gnu/bits/sigevent-consts.h \ + /usr/include/x86_64-linux-gnu/bits/siginfo-arch.h \ + /usr/include/x86_64-linux-gnu/bits/siginfo-consts-arch.h \ + /usr/include/x86_64-linux-gnu/bits/siginfo-consts.h \ + /usr/include/x86_64-linux-gnu/bits/signal_ext.h \ + /usr/include/x86_64-linux-gnu/bits/signum-arch.h \ + /usr/include/x86_64-linux-gnu/bits/signum-generic.h \ + /usr/include/x86_64-linux-gnu/bits/sigstack.h \ + /usr/include/x86_64-linux-gnu/bits/sigstksz.h \ + /usr/include/x86_64-linux-gnu/bits/sigthread.h \ + /usr/include/x86_64-linux-gnu/bits/ss_flags.h \ + /usr/include/x86_64-linux-gnu/bits/stat.h \ + /usr/include/x86_64-linux-gnu/bits/statx-generic.h \ + /usr/include/x86_64-linux-gnu/bits/statx.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/x86_64-linux-gnu/bits/struct_stat.h \ + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/time64.h \ + /usr/include/x86_64-linux-gnu/bits/timesize.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__sigval_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/idtype_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/sig_atomic_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigevent_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigval_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/stack_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/cxxabi_tweaks.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/messages_members.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/time_members.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/sys/single_threaded.h \ + /usr/include/x86_64-linux-gnu/sys/stat.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/ucontext.h \ + /usr/include/x86_64-linux-gnu/sys/wait.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/float.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -/usr/include/c++/13/cstring: - -/usr/include/c++/13/chrono: - -/usr/include/x86_64-linux-gnu/sys/ucontext.h: - -/usr/include/x86_64-linux-gnu/sys/types.h: - -/usr/include/x86_64-linux-gnu/sys/stat.h: - -/usr/include/x86_64-linux-gnu/sys/single_threaded.h: - -/usr/include/x86_64-linux-gnu/c++/13/bits/time_members.h: - -/usr/include/x86_64-linux-gnu/c++/13/bits/messages_members.h: - -/usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h: - -/usr/include/x86_64-linux-gnu/c++/13/bits/cxxabi_tweaks.h: - -/usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h: - -/usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h: - -/usr/include/x86_64-linux-gnu/bits/wctype-wchar.h: - -/usr/include/x86_64-linux-gnu/bits/waitflags.h: - -/usr/include/x86_64-linux-gnu/bits/unistd_ext.h: - -/usr/include/x86_64-linux-gnu/bits/uintn-identity.h: - -/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h: - -/usr/include/x86_64-linux-gnu/bits/types/stack_t.h: - -/usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h: - -/usr/include/x86_64-linux-gnu/bits/types/sigevent_t.h: - -/usr/include/x86_64-linux-gnu/bits/types/idtype_t.h: - -/usr/include/x86_64-linux-gnu/bits/types/__sigval_t.h: - -/usr/include/x86_64-linux-gnu/bits/struct_stat.h: - -/usr/include/x86_64-linux-gnu/bits/statx-generic.h: - -/usr/include/x86_64-linux-gnu/bits/types/sig_atomic_t.h: - -/usr/include/x86_64-linux-gnu/bits/ss_flags.h: - -/usr/include/x86_64-linux-gnu/bits/sigthread.h: - -/usr/include/x86_64-linux-gnu/bits/stat.h: - -/usr/include/x86_64-linux-gnu/bits/sigstksz.h: - -/usr/include/x86_64-linux-gnu/bits/siginfo-consts-arch.h: - -/usr/include/x86_64-linux-gnu/bits/siginfo-arch.h: - -/usr/include/x86_64-linux-gnu/bits/sigcontext.h: - -/usr/include/x86_64-linux-gnu/bits/sigaction.h: - -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: - -/usr/include/x86_64-linux-gnu/bits/locale.h: - -/usr/include/x86_64-linux-gnu/bits/getopt_core.h: - -/usr/include/x86_64-linux-gnu/bits/byteswap.h: - -/usr/include/x86_64-linux-gnu/asm/types.h: - -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/x86_64-linux-gnu/asm/bitsperlong.h: - -/usr/include/x86_64-linux-gnu/bits/statx.h: - -/usr/include/unistd.h: - -/usr/include/stdlib.h: - -/usr/include/regex.h: - -/usr/include/locale.h: - -/usr/include/linux/types.h: - -/usr/include/linux/stddef.h: - -/usr/include/linux/close_range.h: - -/usr/include/libintl.h: - -/usr/include/gtest/internal/gtest-type-util.h: - -/usr/include/gtest/internal/gtest-string.h: - -/usr/include/gtest/internal/gtest-port.h: - -/usr/include/gtest/internal/gtest-port-arch.h: - -/usr/include/gtest/internal/gtest-param-util.h: - -/usr/include/x86_64-linux-gnu/bits/sigevent-consts.h: - -/usr/include/gtest/internal/gtest-filepath.h: - -/usr/include/gtest/internal/gtest-death-test-internal.h: - -/usr/include/gtest/internal/custom/gtest-printers.h: - -/usr/include/gtest/internal/custom/gtest-port.h: - -/usr/include/gtest/gtest_prod.h: - -/usr/include/gtest/gtest_pred_impl.h: - -/usr/include/linux/stat.h: - -/usr/include/c++/13/bits/locale_facets.tcc: - -/usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h: - -/usr/include/x86_64-linux-gnu/bits/types/error_t.h: - -/usr/include/c++/13/bits/hashtable.h: - -/usr/include/c++/13/bits/functexcept.h: - -/usr/include/x86_64-linux-gnu/bits/libc-header-start.h: - -/usr/include/c++/13/bits/exception_ptr.h: - -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/c++/13/bits/exception_defines.h: - -/usr/include/c++/13/bits/erase_if.h: - -/usr/include/c++/13/bits/hashtable_policy.h: + +/usr/include/c++/13/chrono: + +/usr/include/c++/13/bits/this_thread_sleep.h: + +/usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h: + +/usr/include/x86_64-linux-gnu/sys/ucontext.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/x86_64-linux-gnu/sys/stat.h: + +/usr/include/x86_64-linux-gnu/sys/single_threaded.h: + +/usr/include/x86_64-linux-gnu/sys/mman.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/time_members.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/messages_members.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/cxxabi_tweaks.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/bits/wctype-wchar.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/unistd_ext.h: + +/usr/include/x86_64-linux-gnu/bits/uintn-identity.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/types/timer_t.h: + +/usr/include/x86_64-linux-gnu/bits/types/time_t.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h: + +/usr/include/x86_64-linux-gnu/bits/types/stack_t.h: + +/usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h: + +/usr/include/x86_64-linux-gnu/bits/types/sigevent_t.h: + +/usr/include/x86_64-linux-gnu/bits/types/locale_t.h: + +/usr/include/x86_64-linux-gnu/bits/types/idtype_t.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h: + +/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h: /usr/include/x86_64-linux-gnu/bits/types/clock_t.h: -/usr/include/c++/13/bits/cxxabi_init_exception.h: +/usr/include/x86_64-linux-gnu/bits/types/__sigval_t.h: -/usr/include/c++/13/typeinfo: +/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h: -/usr/include/c++/13/bits/cxxabi_forced.h: +/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h: -/usr/include/c++/13/bits/atomic_lockfree_defines.h: +/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h: -/usr/include/c++/13/bits/alloc_traits.h: +/usr/include/x86_64-linux-gnu/bits/types/__FILE.h: -/usr/include/c++/13/bits/concept_check.h: +/usr/include/x86_64-linux-gnu/bits/types/FILE.h: -/usr/include/c++/13/bits/align.h: +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/time64.h: + +/usr/include/x86_64-linux-gnu/bits/struct_stat.h: + +/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h: + +/usr/include/x86_64-linux-gnu/bits/struct_mutex.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h: + +/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h: + +/usr/include/x86_64-linux-gnu/bits/stdint-least.h: + +/usr/include/x86_64-linux-gnu/bits/statx-generic.h: + +/usr/include/x86_64-linux-gnu/bits/types/sig_atomic_t.h: + +/usr/include/x86_64-linux-gnu/bits/ss_flags.h: + +/usr/include/x86_64-linux-gnu/bits/sigthread.h: + +/usr/include/x86_64-linux-gnu/bits/stat.h: + +/usr/include/x86_64-linux-gnu/bits/sigstksz.h: + +/usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/siginfo-consts.h: + +/usr/include/x86_64-linux-gnu/bits/siginfo-consts-arch.h: + +/usr/include/x86_64-linux-gnu/bits/siginfo-arch.h: + +/usr/include/x86_64-linux-gnu/bits/sigcontext.h: + +/usr/include/x86_64-linux-gnu/bits/sigaction.h: + +/usr/include/c++/13/ctime: + +/usr/include/c++/13/cstdio: + +/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h: + +/usr/include/c++/13/bits/charconv.h: + +/usr/include/c++/13/clocale: + +/usr/include/c++/13/cerrno: + +/usr/include/c++/13/cstdint: + +/usr/include/c++/13/cstdlib: + +/usr/include/c++/13/cctype: + +/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h: + +/usr/include/c++/13/ext/atomicity.h: + +/usr/include/c++/13/variant: + +/usr/include/c++/13/bits/stl_function.h: + +/usr/include/x86_64-linux-gnu/bits/fcntl.h: + +/usr/include/c++/13/bits/uses_allocator_args.h: + +/usr/include/c++/13/bits/atomic_base.h: + +/usr/include/c++/13/cstring: /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h: /usr/include/c++/13/bits/unique_ptr.h: -/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h: +/usr/include/c++/13/bits/streambuf.tcc: -/usr/include/c++/13/cstdio: +/usr/include/c++/13/bits/unordered_map.h: -/usr/include/x86_64-linux-gnu/bits/signum-arch.h: +/usr/include/c++/13/bits/quoted_string.h: -/usr/include/x86_64-linux-gnu/bits/errno.h: +/usr/include/c++/13/bits/new_allocator.h: -/usr/include/c++/13/bits/stl_pair.h: +/usr/include/c++/13/bits/stl_uninitialized.h: -/usr/include/c++/13/bits/basic_string.tcc: +/usr/include/x86_64-linux-gnu/bits/types/sigval_t.h: -/usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h: +/usr/include/c++/13/bits/stl_map.h: -/usr/include/c++/13/any: +/usr/include/c++/13/locale: -/usr/include/c++/13/backward/auto_ptr.h: +/usr/include/c++/13/bits/stl_relops.h: -/usr/include/assert.h: +/usr/include/c++/13/bits/stream_iterator.h: -/usr/include/c++/13/bits/hash_bytes.h: +/usr/include/c++/13/bits/enable_special_members.h: + +/usr/include/c++/13/bits/stl_raw_storage_iter.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h: -/usr/include/c++/13/array: +/usr/include/asm-generic/errno.h: -/usr/include/x86_64-linux-gnu/sys/wait.h: +/usr/include/c++/13/bits/functexcept.h: -/usr/include/c++/13/bits/stl_iterator_base_funcs.h: +/usr/include/x86_64-linux-gnu/bits/libc-header-start.h: -/usr/include/asm-generic/errno-base.h: +/usr/include/c++/13/bits/stl_bvector.h: -/usr/include/c++/13/bits/exception.h: +/usr/include/gtest/gtest-printers.h: -/home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp: +/usr/include/c++/13/bits/stl_algobase.h: -/usr/include/alloca.h: +/usr/include/c++/13/bits/stl_algo.h: -/usr/include/linux/errno.h: +/usr/include/c++/13/cstddef: -/usr/include/c++/13/debug/debug.h: +/home/diya_limbani/FastDevFs/test/test_dir_manager.cpp: -/usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h: +/usr/include/c++/13/bits/uses_allocator.h: -/usr/include/x86_64-linux-gnu/bits/environments.h: +/usr/include/c++/13/bits/stl_multiset.h: -/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h: +/usr/include/c++/13/bits/postypes.h: -/usr/include/c++/13/bits/enable_special_members.h: +/usr/include/c++/13/bits/sstream.tcc: -/usr/include/c++/13/bits/stream_iterator.h: +/usr/include/c++/13/ratio: -/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h: +/usr/include/c++/13/bits/erase_if.h: -/usr/include/asm-generic/types.h: +/usr/include/c++/13/bits/stringfwd.h: -/usr/include/asm-generic/bitsperlong.h: +/usr/include/c++/13/bits/shared_ptr.h: -/usr/include/c++/13/cctype: +/usr/include/c++/13/bits/refwrap.h: -/usr/include/x86_64-linux-gnu/gnu/stubs.h: +/usr/include/c++/13/bits/std_mutex.h: -/usr/include/x86_64-linux-gnu/bits/endian.h: +/usr/include/c++/13/bits/stl_construct.h: -/usr/include/asm-generic/int-ll64.h: +/usr/include/c++/13/bits/range_access.h: -/usr/include/c++/13/bits/shared_ptr_atomic.h: +/usr/include/c++/13/compare: -/usr/include/c++/13/set: +/usr/include/c++/13/system_error: -/usr/include/c++/13/thread: +/usr/include/x86_64-linux-gnu/bits/mman-shared.h: -/usr/include/c++/13/bits/stl_bvector.h: +/usr/include/c++/13/bits/std_abs.h: -/usr/include/gtest/gtest-printers.h: +/usr/include/c++/13/bits/parse_numbers.h: -/usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h: +/usr/include/c++/13/bits/stl_set.h: -/usr/include/linux/posix_types.h: +/usr/include/c++/13/bits/ostream_insert.h: -/usr/include/c++/13/bits/ptr_traits.h: +/usr/include/c++/13/bits/ostream.tcc: -/usr/include/c++/13/bits/functional_hash.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h: -/usr/include/errno.h: +/usr/include/gtest/gtest-message.h: -/usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h: +/usr/include/c++/13/bits/move.h: -/usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h: +/usr/include/c++/13/bits/atomic_lockfree_defines.h: -/usr/include/x86_64-linux-gnu/bits/wordsize.h: +/usr/include/x86_64-linux-gnu/asm/errno.h: -/usr/include/c++/13/pstl/pstl_config.h: +/usr/include/c++/13/bits/basic_string.h: -/usr/include/x86_64-linux-gnu/bits/wchar.h: +/usr/include/libintl.h: -/usr/include/asm-generic/posix_types.h: +/usr/include/c++/13/atomic: -/usr/include/stdc-predef.h: +/usr/include/c++/13/bits/locale_facets.h: -/usr/include/x86_64-linux-gnu/bits/typesizes.h: +/usr/include/c++/13/backward/binders.h: -/usr/include/x86_64-linux-gnu/bits/types/timer_t.h: +/usr/include/gtest/internal/custom/gtest-port.h: -/usr/include/x86_64-linux-gnu/bits/types.h: +/usr/include/c++/13/bits/basic_ios.tcc: -/home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp: +/usr/include/c++/13/pstl/execution_defs.h: -/usr/include/x86_64-linux-gnu/bits/floatn.h: +/usr/include/linux/stddef.h: -/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h: +/usr/include/c++/13/bits/alloc_traits.h: -/usr/include/c++/13/memory: +/usr/include/c++/13/bits/concept_check.h: -/usr/include/x86_64-linux-gnu/asm/posix_types_64.h: +/usr/include/x86_64-linux-gnu/bits/long-double.h: -/usr/include/x86_64-linux-gnu/bits/cpu-set.h: +/usr/include/c++/13/bits/algorithmfwd.h: -/usr/include/c++/13/bits/chrono.h: +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: -/usr/include/x86_64-linux-gnu/bits/endianness.h: +/usr/include/c++/13/bits/node_handle.h: -/usr/include/c++/13/bits/basic_string.h: +/usr/include/asm-generic/posix_types.h: -/usr/include/c++/13/bits/locale_facets.h: +/usr/include/stdc-predef.h: -/usr/include/c++/13/bits/memoryfwd.h: +/usr/include/c++/13/bits/unique_lock.h: -/usr/include/x86_64-linux-gnu/bits/timex.h: +/usr/include/c++/13/mutex: -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: +/usr/include/c++/13/bits/allocated_ptr.h: -/usr/include/x86_64-linux-gnu/bits/types/FILE.h: +/usr/include/c++/13/bit: -/usr/include/x86_64-linux-gnu/bits/confname.h: +/usr/include/c++/13/bits/basic_string.tcc: -/usr/include/c++/13/bits/locale_facets_nonio.h: +/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h: -/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h: +/usr/include/c++/13/bits/string_view.tcc: -/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h: +/usr/include/gtest/gtest-death-test.h: -/usr/include/c++/13/bits/requires_hosted.h: +/usr/include/c++/13/bits/predefined_ops.h: -/usr/include/x86_64-linux-gnu/bits/floatn-common.h: +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: -/usr/include/x86_64-linux-gnu/bits/getopt_posix.h: +/usr/include/c++/13/condition_variable: -/usr/include/time.h: +/usr/include/x86_64-linux-gnu/bits/signum-generic.h: -/usr/include/x86_64-linux-gnu/bits/setjmp.h: +/usr/include/c++/13/iosfwd: -/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h: +/usr/include/c++/13/thread: -/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h: +/home/diya_limbani/FastDevFs/test/persistence_test.cpp: -/usr/include/features-time64.h: +/usr/include/x86_64-linux-gnu/bits/timesize.h: -/usr/include/c++/13/bits/istream.tcc: +/usr/include/c++/13/bits/locale_classes.h: -/usr/include/c++/13/bits/locale_conv.h: +/usr/include/gtest/internal/gtest-death-test-internal.h: -/usr/include/c++/13/cxxabi.h: +/usr/include/c++/13/bits/functional_hash.h: -/usr/include/x86_64-linux-gnu/bits/sigstack.h: +/usr/include/errno.h: -/home/diya_limbani/FastDevFs/src/include/daemon/hash.h: +/usr/include/c++/13/bits/localefwd.h: -/usr/include/wctype.h: +/usr/include/c++/13/bits/ptr_traits.h: -/usr/include/sched.h: +/usr/include/linux/posix_types.h: -/usr/include/c++/13/bits/algorithmfwd.h: +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: -/usr/include/x86_64-linux-gnu/bits/long-double.h: +/usr/include/c++/13/bits/exception_defines.h: -/usr/include/c++/13/bits/atomic_base.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h: -/usr/include/c++/13/bits/uses_allocator_args.h: +/usr/include/c++/13/bits/stl_vector.h: -/usr/include/c++/13/bits/charconv.h: +/usr/include/c++/13/bits/stl_tempbuf.h: -/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h: +/usr/include/c++/13/bits/stl_tree.h: -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: +/usr/include/c++/13/bits/codecvt.h: -/usr/include/c++/13/bits/invoke.h: +/usr/include/alloca.h: -/home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h: +/usr/include/assert.h: -/usr/include/gtest/gtest-death-test.h: +/usr/include/c++/13/backward/auto_ptr.h: -/usr/include/features.h: +/usr/include/c++/13/bits/basic_ios.h: -/usr/include/c++/13/ext/atomicity.h: +/usr/include/x86_64-linux-gnu/sys/select.h: -/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h: +/usr/include/c++/13/cwchar: -/usr/include/gtest/gtest.h: +/usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h: -/usr/include/pthread.h: +/usr/include/c++/13/any: -/usr/include/c++/13/atomic: +/usr/include/asm-generic/int-ll64.h: -/usr/include/c++/13/bits/locale_classes.h: +/usr/include/c++/13/bits/shared_ptr_atomic.h: -/usr/include/x86_64-linux-gnu/bits/timesize.h: +/usr/include/c++/13/set: -/usr/include/c++/13/bits/basic_ios.h: +/usr/include/x86_64-linux-gnu/bits/sigstack.h: -/usr/include/x86_64-linux-gnu/bits/time64.h: +/home/diya_limbani/FastDevFs/src/include/daemon/hash.h: -/usr/include/x86_64-linux-gnu/bits/siginfo-consts.h: +/usr/include/c++/13/cxxabi.h: -/usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h: +/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h: -/usr/include/gtest/gtest-typed-test.h: +/usr/include/asm-generic/bitsperlong.h: -/usr/include/string.h: +/usr/include/asm-generic/types.h: -/usr/include/c++/13/backward/binders.h: +/usr/include/x86_64-linux-gnu/sys/wait.h: -/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h: +/usr/include/c++/13/bits/stl_iterator_base_funcs.h: -/usr/include/x86_64-linux-gnu/bits/stdint-least.h: +/usr/include/asm-generic/errno-base.h: -/usr/include/c++/13/cerrno: +/usr/include/x86_64-linux-gnu/bits/endianness.h: -/usr/include/x86_64-linux-gnu/bits/select.h: +/usr/include/c++/13/bits/chrono.h: -/usr/include/x86_64-linux-gnu/bits/time.h: +/usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h: -/usr/include/x86_64-linux-gnu/bits/struct_mutex.h: +/usr/include/x86_64-linux-gnu/bits/signal_ext.h: -/usr/include/c++/13/bits/shared_ptr.h: +/usr/include/c++/13/bits/std_function.h: -/usr/include/x86_64-linux-gnu/bits/sched.h: +/usr/include/c++/13/bits/char_traits.h: -/usr/include/asm-generic/errno.h: +/usr/include/c++/13/bits/hashtable_policy.h: -/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h: +/usr/include/c++/13/bits/locale_conv.h: -/usr/include/c++/13/bits/range_access.h: +/usr/include/c++/13/bits/istream.tcc: -/usr/include/c++/13/compare: +/usr/include/c++/13/bits/exception_ptr.h: -/usr/include/c++/13/system_error: +/usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h: -/usr/include/c++/13/bits/basic_ios.tcc: +/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h: -/usr/include/c++/13/pstl/execution_defs.h: +/usr/include/c++/13/bits/stl_multimap.h: -/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h: +/usr/include/c++/13/bits/vector.tcc: -/usr/include/c++/13/bits/refwrap.h: +/usr/include/c++/13/optional: -/usr/include/c++/13/string_view: +/usr/include/c++/13/bits/streambuf_iterator.h: -/usr/include/c++/13/map: +/usr/include/c++/13/ostream: -/usr/include/x86_64-linux-gnu/sys/cdefs.h: +/usr/include/c++/13/cassert: -/usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h: +/usr/include/c++/13/bits/cpp_type_traits.h: -/usr/include/c++/13/bits/stl_multimap.h: +/usr/include/x86_64-linux-gnu/bits/mman-linux.h: -/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h: +/usr/include/c++/13/bits/cxxabi_forced.h: -/usr/include/c++/13/bit: +/usr/include/c++/13/bits/cxxabi_init_exception.h: -/usr/include/c++/13/bits/allocated_ptr.h: +/usr/include/c++/13/typeinfo: -/usr/include/c++/13/clocale: +/usr/include/c++/13/bits/exception.h: -/usr/include/x86_64-linux-gnu/bits/types/__FILE.h: +/usr/include/c++/13/array: -/usr/include/x86_64-linux-gnu/bits/types/locale_t.h: +/usr/include/c++/13/bits/hash_bytes.h: -/usr/include/c++/13/bits/stl_relops.h: +/usr/include/x86_64-linux-gnu/bits/types/error_t.h: -/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h: +/usr/include/c++/13/bits/hashtable.h: -/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h: +/usr/include/c++/13/bits/uniform_int_dist.h: -/usr/include/c++/13/bits/stl_tempbuf.h: +/usr/include/c++/13/bits/locale_classes.tcc: -/usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h: +/usr/include/x86_64-linux-gnu/bits/confname.h: -/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h: +/usr/include/c++/13/bits/locale_facets_nonio.h: -/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h: +/usr/include/c++/13/bits/locale_facets_nonio.tcc: -/usr/include/c++/13/bits/stl_algo.h: +/usr/include/c++/13/bits/stl_heap.h: -/usr/include/c++/13/cstddef: +/usr/include/c++/13/utility: -/usr/include/c++/13/ext/aligned_buffer.h: +/home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h: -/usr/include/x86_64-linux-gnu/bits/types/time_t.h: +/usr/include/c++/13/bits/invoke.h: -/usr/include/c++/13/bits/locale_facets_nonio.tcc: +/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h: -/usr/include/c++/13/bits/localefwd.h: +/usr/include/x86_64-linux-gnu/bits/environments.h: /usr/include/c++/13/streambuf: /usr/include/c++/13/bits/memory_resource.h: -/usr/include/c++/13/bits/this_thread_sleep.h: +/home/diya_limbani/FastDevFs/test/test_hash_store.cpp: -/usr/include/c++/13/bits/move.h: +/usr/include/c++/13/bits/shared_ptr_base.h: -/usr/include/c++/13/tuple: +/usr/include/wchar.h: -/usr/include/c++/13/bits/nested_exception.h: +/usr/include/c++/13/bits/memoryfwd.h: -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: +/usr/include/c++/13/debug/assertions.h: -/usr/include/c++/13/bits/node_handle.h: +/usr/include/x86_64-linux-gnu/bits/signum-arch.h: -/usr/include/c++/13/bits/ostream.tcc: +/usr/include/c++/13/bits/stl_pair.h: -/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h: +/usr/include/x86_64-linux-gnu/bits/errno.h: -/usr/include/gtest/gtest-message.h: +/usr/include/c++/13/ext/aligned_buffer.h: -/usr/include/c++/13/bits/postypes.h: +/usr/include/locale.h: -/usr/include/c++/13/bits/parse_numbers.h: +/usr/include/x86_64-linux-gnu/asm/bitsperlong.h: -/usr/include/c++/13/bits/std_abs.h: +/usr/include/c++/13/bits/align.h: -/usr/include/c++/13/bits/stl_multiset.h: +/usr/include/x86_64-linux-gnu/bits/mman.h: -/home/diya_limbani/FastDevFs/test/test_dir_manager.cpp: +/usr/include/c++/13/bits/utility.h: -/usr/include/c++/13/bits/uses_allocator.h: +/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h: -/usr/include/signal.h: +/usr/include/c++/13/ext/alloc_traits.h: -/usr/include/strings.h: +/usr/include/c++/13/new: -/usr/include/c++/13/iomanip: +/usr/include/c++/13/ext/concurrence.h: -/usr/include/c++/13/bits/predefined_ops.h: +/usr/include/linux/falloc.h: -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h: -/usr/include/c++/13/condition_variable: +/usr/include/c++/13/bits/stl_iterator.h: -/usr/include/x86_64-linux-gnu/bits/signum-generic.h: +/usr/include/c++/13/ext/numeric_traits.h: -/usr/include/c++/13/iosfwd: +/usr/include/gtest/gtest_pred_impl.h: -/usr/include/c++/13/bits/quoted_string.h: +/usr/include/x86_64-linux-gnu/bits/mman-map-flags-generic.h: -/usr/include/c++/13/bits/unordered_map.h: +/usr/include/c++/13/ext/string_conversions.h: -/home/diya_limbani/FastDevFs/test/test_hash_store.cpp: +/usr/include/c++/13/ext/type_traits.h: -/usr/include/wchar.h: +/usr/include/c++/13/functional: -/usr/include/c++/13/bits/shared_ptr_base.h: +/usr/include/c++/13/bits/std_thread.h: -/usr/include/c++/13/bits/sstream.tcc: +/usr/include/c++/13/initializer_list: -/usr/include/x86_64-linux-gnu/asm/posix_types.h: +/usr/include/c++/13/ios: -/usr/include/c++/13/cwctype: +/usr/include/c++/13/iostream: -/usr/include/c++/13/ratio: +/usr/include/c++/13/istream: -/usr/include/gtest/internal/gtest-internal.h: +/usr/include/c++/13/bits/ios_base.h: -/usr/include/gtest/gtest-test-part.h: +/usr/include/c++/13/iterator: -/usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h: +/usr/include/x86_64-linux-gnu/bits/posix_opt.h: -/usr/include/x86_64-linux-gnu/bits/signal_ext.h: +/usr/include/x86_64-linux-gnu/bits/types/wint_t.h: -/usr/include/c++/13/bits/char_traits.h: +/usr/include/c++/13/limits: -/usr/include/c++/13/bits/std_function.h: +/usr/include/gtest/gtest_prod.h: -/usr/include/c++/13/cstdint: +/usr/include/c++/13/memory: -/usr/include/c++/13/cstdlib: +/usr/include/x86_64-linux-gnu/bits/floatn.h: -/usr/include/c++/13/bits/std_mutex.h: +/usr/include/c++/13/exception: -/usr/include/c++/13/bits/stl_construct.h: +/usr/include/c++/13/pstl/glue_memory_defs.h: -/usr/include/c++/13/bits/stl_algobase.h: +/usr/include/c++/13/pstl/pstl_config.h: -/usr/include/c++/13/bits/stl_function.h: +/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h: -/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h: +/usr/include/c++/13/sstream: -/usr/include/c++/13/bits/utility.h: +/usr/include/c++/13/stdexcept: -/usr/include/c++/13/utility: +/usr/include/c++/13/stdlib.h: -/usr/include/c++/13/bits/stl_heap.h: +/usr/include/x86_64-linux-gnu/bits/stdint-intn.h: -/usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h: +/usr/include/c++/13/string: -/usr/include/stdio.h: +/usr/include/c++/13/map: -/usr/include/c++/13/bits/stl_iterator_base_types.h: +/usr/include/c++/13/string_view: -/usr/include/x86_64-linux-gnu/bits/types/sigval_t.h: +/usr/include/features-time64.h: -/usr/include/c++/13/bits/stl_map.h: +/usr/include/c++/13/bits/nested_exception.h: -/usr/include/c++/13/bits/new_allocator.h: +/usr/include/c++/13/tuple: -/usr/include/c++/13/bits/stl_uninitialized.h: +/usr/include/c++/13/type_traits: -/usr/include/c++/13/locale: +/usr/include/c++/13/bits/allocator.h: -/usr/include/c++/13/bits/stl_raw_storage_iter.h: +/usr/include/c++/13/unordered_map: -/usr/include/c++/13/bits/ostream_insert.h: +/usr/include/gtest/gtest-test-part.h: -/usr/include/c++/13/bits/stl_set.h: +/usr/include/gtest/internal/gtest-internal.h: -/usr/include/c++/13/bits/codecvt.h: +/usr/include/c++/13/vector: -/usr/include/c++/13/bits/stl_tree.h: +/usr/lib/gcc/x86_64-linux-gnu/13/include/float.h: -/usr/include/c++/13/bits/stl_vector.h: +/usr/include/ctype.h: -/usr/include/c++/13/bits/streambuf.tcc: +/usr/include/fcntl.h: -/usr/include/stdint.h: +/usr/include/features.h: -/usr/include/endian.h: +/usr/include/gtest/gtest-assertion-result.h: -/usr/include/c++/13/bits/streambuf_iterator.h: +/usr/include/gtest/gtest-matchers.h: -/usr/include/c++/13/ostream: +/usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h: -/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h: +/usr/include/gtest/gtest-param-test.h: -/usr/include/c++/13/bits/string_view.tcc: +/usr/include/gtest/gtest-typed-test.h: -/usr/include/c++/13/bits/stringfwd.h: +/usr/include/gtest/gtest.h: -/usr/include/c++/13/bits/locale_classes.tcc: +/usr/include/gtest/internal/custom/gtest-printers.h: -/usr/include/c++/13/bits/uniform_int_dist.h: +/usr/include/x86_64-linux-gnu/bits/sigevent-consts.h: -/usr/include/c++/13/bits/unique_lock.h: +/usr/include/gtest/internal/gtest-filepath.h: -/usr/include/c++/13/mutex: +/usr/include/gtest/internal/gtest-param-util.h: -/usr/include/c++/13/optional: +/usr/include/gtest/internal/gtest-port-arch.h: -/usr/include/c++/13/bits/vector.tcc: +/usr/include/gtest/internal/gtest-port.h: -/usr/include/c++/13/variant: +/usr/include/gtest/internal/gtest-string.h: -/usr/include/c++/13/bits/cpp_type_traits.h: +/usr/include/gtest/internal/gtest-type-util.h: -/usr/include/c++/13/cassert: +/usr/include/linux/close_range.h: -/usr/include/c++/13/ctime: +/usr/include/c++/13/debug/debug.h: -/usr/include/x86_64-linux-gnu/sys/select.h: +/usr/include/linux/errno.h: -/usr/include/c++/13/cwchar: +/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h: -/usr/include/c++/13/debug/assertions.h: +/usr/include/c++/13/bits/locale_facets.tcc: -/usr/include/c++/13/pstl/glue_memory_defs.h: +/usr/include/linux/stat.h: -/usr/include/c++/13/exception: +/usr/include/linux/types.h: -/usr/include/c++/13/ext/alloc_traits.h: +/usr/include/pthread.h: -/usr/include/c++/13/new: +/usr/include/regex.h: -/usr/include/c++/13/ext/concurrence.h: +/usr/include/wctype.h: -/usr/include/c++/13/bits/stl_iterator.h: +/usr/include/sched.h: -/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h: +/usr/include/c++/13/iomanip: -/usr/include/c++/13/ext/numeric_traits.h: +/usr/include/strings.h: -/usr/include/c++/13/ext/string_conversions.h: +/usr/include/signal.h: -/usr/include/c++/13/ext/type_traits.h: +/usr/include/endian.h: -/usr/include/c++/13/functional: +/usr/include/stdint.h: -/usr/include/c++/13/bits/std_thread.h: +/usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h: -/usr/include/c++/13/initializer_list: +/usr/include/c++/13/bits/stl_iterator_base_types.h: -/usr/include/c++/13/ios: +/usr/include/stdio.h: -/usr/include/c++/13/iostream: +/usr/include/stdlib.h: -/usr/include/c++/13/istream: +/usr/include/string.h: -/usr/include/c++/13/bits/ios_base.h: +/usr/include/x86_64-linux-gnu/bits/statx.h: -/usr/include/c++/13/iterator: +/usr/include/unistd.h: -/usr/include/x86_64-linux-gnu/bits/types/wint_t.h: +/usr/include/x86_64-linux-gnu/bits/mman_ext.h: -/usr/include/c++/13/limits: +/usr/include/c++/13/cwctype: -/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h: +/usr/include/x86_64-linux-gnu/asm/posix_types.h: -/usr/include/c++/13/sstream: +/usr/include/x86_64-linux-gnu/asm/types.h: -/usr/include/c++/13/stdexcept: +/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h: -/usr/include/c++/13/stdlib.h: +/usr/include/x86_64-linux-gnu/bits/byteswap.h: -/usr/include/x86_64-linux-gnu/bits/stdint-intn.h: +/usr/include/x86_64-linux-gnu/asm/posix_types_64.h: -/usr/include/c++/13/string: +/usr/include/x86_64-linux-gnu/bits/cpu-set.h: -/usr/include/c++/13/type_traits: +/usr/include/x86_64-linux-gnu/bits/endian.h: -/usr/include/c++/13/bits/allocator.h: +/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h: -/usr/include/c++/13/unordered_map: +/usr/include/c++/13/bits/requires_hosted.h: -/usr/include/c++/13/vector: +/usr/include/x86_64-linux-gnu/bits/floatn-common.h: -/usr/lib/gcc/x86_64-linux-gnu/13/include/float.h: +/usr/include/x86_64-linux-gnu/bits/getopt_core.h: -/usr/include/ctype.h: +/usr/include/x86_64-linux-gnu/bits/locale.h: -/usr/include/gtest/gtest-assertion-result.h: +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: -/usr/include/gtest/gtest-matchers.h: +/usr/include/x86_64-linux-gnu/bits/sched.h: -/usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h: +/usr/include/x86_64-linux-gnu/bits/time.h: -/usr/include/gtest/gtest-param-test.h: +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/getopt_posix.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: diff --git a/build/test/run_tests b/build/test/run_tests index ca6ae3823f0aaaea84851d8a18a47b5809dcd8f0..bef827578fa76417f331d67cfc7a6f6e55851801 100755 GIT binary patch delta 253247 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 R&UFm>TDOX`-oRkZ{|9xc+@k;h delta 254729 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

    05f2Js0_ri& z>;*T$daaQ^g#OZZKp=~Jr75c(=U=U1%;qZ4D3%j?WmBV0|4rfBIVbnG31g&jR z5Kf2l;S#tGK7tvremg7}!qz^thtU7W;E2X!I@}1~g(>h`m)5wOi$m z^l#`5SHiY%GYo{s;0$;hw&_G`ABjH{j)ypc zVcE_kgsosA90k+iGMF=(6%q6p!-xr6Lys<`g8?uC&VX@n15AWzFdZsgNe`Ptk5GnY z*cz_vO8*bWu^W#FcoW9Kn*IoYfiN9L!W{So^cc%z1zSVcZYTg-!wC2ajDzpPM3@ZI zVK&TxwY!u46-5~UTf_O?9SFd&8IK5f9>&3PJrDr>U^)zgIdC=fc$EPJwuU({7HWzs4*Fec*R65LO;QJm?SO zUUM+S;z-8hG|Yf)Ut(69!q5tv!c-UnAHYcXauEF-E`urXHq3@K2Qq-Y&QJ?G!Od_a zv<+h9gI(YzxB;faG??SS(Rwf=(Ns(Z{ox@v1?Iq&FeI4S3cd-?!JE)^8dWod0SV5B zLGWuB4l532#DksSZWs?WcmleIQ$@qD91MkyU>qqpqTqcP4~K>@z`$sD8*0#VIzLi} zGY7zVa8rb$tby7r8Y5gb8%x34b7(^&$sm%(IGQ0C-hKs3LH~(Zb}pOKlc+N28BYJt z!{IZFA$1-mnN5k|=txWi*Dqjfe}jZk2!OX1Gk?F$fE7phJB;-oP$Dw)fML`K*C)gUrCd2uVFLmhaU^3hdGvEcN ztf2}}v^kstN5Vw-Hq3+DVE~F>gX7?!51A`q7~BXKI&j>^(RLlCna_L;o5F)1VL3xlnmh)a2zbVfehh?a1-1NQ{g43LC0Mj?h7&T zXP6KUf`M=x41+^AQYCQI7nDr;Z=&RIG0cOTp%=X<4|akbzF{E)<6#ucf$=bKGm67? zFaz4YWg3oB97<0d_9#jM{oy&~-7IyoJMiF(VTUgh#f}jo`)~X>71zBHa)A!E^94_y}%= zo=a$aTj>?B7Yu>nFcPkXYhVi84)4Nqu+}!x!xy2aBbtQ=4nMdahQMPm66V1*ut^dE z;LGqFTm~P(?a*^6(=qge)wYu!2Ea%d0oT9{a63E=&p~Ae>7g%lc)m$@!{Gi+z7YB6zFx3NeA|U zHb%nlU?+G1j)eY)82R8-xCx$ykKl~M6!cxH z_&VGKZ(U}+4kukf5PS?hV`)s8bXyntPr?2A9D+xCu77fdKe2)ZjAcj>6la54;WoVKog4!2p;7H^FRp7TPFShb$D7 zyorMF<}C)MRrLSVd(;IUiT9}r*z+$&rZ}ckXoo-lO$p(F2MB=Sj}Wk$I)>|D8ccv0 zFa;`)slv7R!#L=hi$9bfh|7W5(EB6qwmo5pci>3C5e;p546!gAX2LY+u?_+G%wt;eQ_{|2N+XiIFCg>f(fu`JZ;21Pmh3Ua5uE^fygu%1T$egd;~LKg->C* zJUs-amCw^RN><2o=-D`uD{?I3Gew#}zYTq1!bZkuzH937IpMG$v{xY8)i6gxPC{;c{Q{rw8N$_9Qwm37!2cK7)*fkVH%8uzJ8cqhC@w;!#o)d zZQr99^oF+f9PNSOFc@aQaOkjgKoAaJxCsWq-7pqjfVPfUD1q?KoS1>OE@%$JyJCSK zpg-}Ue>bXX3*iBI`Z5>_H^XF@3hg~<6EGgO{tg>U;<2oQNak_K|B}$gN7g%hQpQ8 zAI8H3mMVFJv6 zsWLnyPtSlsFbDdNppou^qv-#cIAU?Q?}lU07~1)MNP^^8N)AI|9*l>!Jy;5QL;qJ$ z0LH>Nm<Hl6hd?)1Tp)fp*?gZoceoh|D zhMviob_$9?+f)vs!El%ZW1;U)2!a97HjM!WhQcW65946M3^LpgBk+gWa1HdIMgLF4 z5j%@IglSNNL33!`2Z#vcBqI@!LcF>cn&7O+b|g_ z2gwJ@m-S^haQNWJhMl1D2HgVM;5cZ9kvdwK?^XgS@uMgx^oKz(3QkF-|JxT)7kGri%`gp~gBkEPv@NCtM+k>OFdIh5>m|g4 z_N6q!qhzp*wgVHEQ^KFg=xr2+$uJg%uB0&@!#{>=$#-aD#~fs^iaI+^2}Pdnbpin& z5&>qc#e^rZz(-g{@)IVLG%OX5#bD@X%x=*3IlbWwCHj&!0OMf-Ool1Y_bbBFk@qzP z`~}Nyra)&Y=(ku7%j66@qNt7JM?_kpT zo%Fki2Yq+v>Dwjup!fwcf_9j^k4AbCCR1XV@DmohghJ2}jl=&?o_-95LJfu=CgEii zft_GfDsux2KSEt*5br1!fc9f30@IGuE3V*w0?R?$N#ww^Q*_6x@C>~RCZDBh{viA} zEF^iJ{-1{@el3{~<{WgsE$=8GK!zTH9 zz+cF1%5hJa0nfp3N3(q0JBN}q&)37D?+f{QCd_U@!oRuZ<;k01c-wqkc|bhQj7Gvx zxDF=6WSGz?U-x@Rc;|e5Bn*O4(BD5_e+1*9*CWEafa+m-!Vf=u6eOw+1VI&NF2>~!;V7~5~PsxJw_1!Rh7>8R6$oORxgTAAX zr;{=7kWPU1SM&8w3TH@ouSTN6`JW8l3*Xemg-shw#8IhaxErRyG#L9jPmh)1z!B`k z(J9}llo0yEaF`vAf-q=0M|rKpo0YGxgxRwxIgFZvB{@lz0hht>1z3`kRI$7cVWd0f ze-aku>(Lyk@?T7bP+7t`V2)BL(fN8D%wCqSyK|(nr*1fl6$<^J?*{}(uBK7JjP*1s zj%H=2YtWBkhwacC5R5%Y9dm|D;R^%npzRn{ z$k8qOnH~=lpnTnW!l``S!;2E1q2w^(Y`z}L(XOa-yfYkT{FcxDKWDt`=c!8=1Y==1 z+ziuT22_5>q|grC>!1*93Zvj7$qSU+js-5#P3w{lPJ#ZHX&cZtle(_Q_4Rx`6)GA9 z4H3X+aW6onMu8s8*|4bR z3iM;pzfOT3z}c|ux&?YV4E5&QnVb#tTX1pf`OU`3}Cg zy-_+|EYQ6;6qeSvK#zmUpaQ)DXTq|1V^#*sm=D*OL(p{i;Ae2YnL?^q_WFHi>vJ zXjg$AAIC5N6JZogjbr|g#c=_T1eguepz8+=EYK5X!=_N#U7-6z8w`ea7zTaeeCQ8j zVG!I1L*aH94v)bom;qy94vdHHs~u#F!)rA|DfESDFaT!25SR_8KxGdlgEn{@+Myy) z0D3@w=mUdbCm0HYU^pBHqhKVAg)3n^jCbHjz>x@(VJb|67hnd=hS|_{4GQeVBG3k# zLOb+_zAza2!!Q^G=fhAK3&Y_?7zMY(Sa=M^Lq`UV1ROaq8M=Rn0?-R8`wDbF=nsQn z5F7_XVI&NPD`6Cjhp{jb#=}&Y058B~m<`jQ>sks1Jz@5~0*5{hhb#AJfAyfA9JdKYU=+-N>!5FHfxa6? z!R+rze+0{HLoUpLb_dVr+LMR?`@sxo`w3J3ObJ-s+KwYYu6AKRR=3G;B#YJXG{~aV z&a2MGokEe*WC$~0I!r!8cRfv2q|=yT)GxFN7gEO|dQ4TopaM({6JWN+wa!4p znom)5eGN>2X)pt3LYs@OS71q(pz_3u7|Lcv+*3u=KJKsGb-8lW&h{7 z5alruc_zdU+Ib#CgQ2x`ePk}-^~eBbz>p`jTAtP343!3?V+CY`9x%3%u5W~Ca1$#b zn-B3=0R=%Hg%J~ObYWy{s_Qw>)`n+M9IR|?ZP5_Mx6^fZSLmnf!7!=|382j%O{IS~ z6k+A!--CE8R6?OQjDmhJ0S3b~7zUL99&%yf5!(|*U`B6U&x7H-3^;KASxAJ2pcqtMMiIG?7)APO%muIl z^L|h$kNv>#S9k=7c|UC&a+vS4Cy+7Ib$FPr$3fd{j~K?D zw5qsQ%UB1+HeflJE4q5QRTZ~STFc^B`&Xjb(u`=;(u`UhHLcw{nwdq-dUwENm`S3Qs527%|)QTAxl~L&e_W2&;b~{8eH7r6`Hj$Bmux z31UF8mxz_ICJQ1v1zWchYuxMNQn8n?pC#5b(eSJhYrt9Znjxl|SB5ePGQupe&Ge!n z)NGhhmctsHF87h`ujl{6+WWxgSiSM%_nz%}?#IlGSPb)+g_dTdk;LOqGk=;TB#Dv# ziTRV3WD9BeXf4SlNh3*;mV~slN|H27k|KsBNm}J2*|P8ZI_EmJ-Jj|E{k>kl`}Nw+ zeZ8+g=Q`K13~-&;i$^O_f!ba0RQ}F#C}K%)f~~HV z`M1vtoC*;iumj+S?7D(hMv7J66tbiuQ*qGcgpet@hI7BT)L1ma@{9wB-nfmoMpiB(8!> zbZdm&&|_g(i!Y$aA7Bq30<^7cZ@jkW1J5IfaY?NPHTVg+yDw=Q-pm0 zc5-3#1=g#Bf7q7h2aH$kaUQgf$Gq@hZeabOyC9vW9fj=-TFJ@d zw1<-dx^NWbDBvL!1H&;yv4Cp_;X8)#70}>g%DY*|AO-8c!upE3c=x-I zlDrz@3IRKvjw=_39``hFhR-ZIquf`T>-36Nl>zBP$_f`~#~&E*f$SDrML6HSk1n&V zLW(?rs@|_h@{|*Zjhtubb9fj|D^4Iz`)MtUeoX}@p!l_lrl+Jn-mQO4p(hm-c^*ZJ z3&)$$uPNyyf~tfg+%o`$(d%D&8hMuB)H=Wl5uVLBZ+Ack`~c2dJw_{wr8>{TaQI_X zw-^=pHFYV5{R1>yC#r@ru0@nl(SVwLeW|=jLyU!Hyqut-H&45tjn(`n(4P*V`R1$*1q?5!U6_QHX%4ElpbzSb?JaYIaJ z<-9Y_=X}jBqZMdeozKSk+^=c*DHSnwVa@~eqEZW|l2gi|OQ&G<07dOOH^}IZyN8AFx@Eg+cNB z8LD04sZZJG5K)-p8pyqJ9!`7Dp#+c6LFgd4bPnxDOL?MkNz0M*o;Y7A=c94HLeA&o ze7T&j!TBL?pQ}rT!&U5dj|Mj?4fyj5| z%#SmeQ)(%EeoS4VD5Dadqj9cC%CB@@RB^uaf>8~p#uw1oj!}yXaC8Rs;RL>LD@eT_ z%eao|%SblP4DYO)tt#O}rlLdzz_y1F{abgt?`N3N%ys2Ic|S;yS<_w77_3FDtXk z77*8Q?Hf+Rj#Cyhk84{%Vvp-Oz-gD`bWSsst#)wnxUK`7PCQOYTzOmRtY`p5C-CxdrFTLKVvLVJeO$P>>OD4sF| zpz{e`$o80Xo}kzO#Z;DnOgy0riPJQg(@YgGAWKi^LgIAo2|A~ls*pG1+5=nc8BX_~ zpd^phe<^(zyXn&plv+xsI&*>|Jb(}zK$POK-8dgx0fqAS=rd1>ER67q+S;b;_#R28Ar=$}Wqbi-I5Rdi3!jIb9f#5{^ zNV6&+%J;(PkF=`-s(ltxYkw4@8@|>?eYgWTDrP#~it+qM8eRjIPif2iJ!-pCw7vqO zk{YmliY`<@wHw38j#FYeZ@;#jd>huxika~c2>OY#f?@e5ZFw`GK0nd-6%hGq!tzhl zqUIH;+WbB1!JowP-mkRfj4tTgkJHMUXm^j(4xJp;$z`2HhA3W_5W6`Z=B z3hIVMME_zd8vHrnM_4$F--9Y*)D!$P@q0AR$Nr10`QT6Z7h7wf3Yx|-ANq-{dK%X33F2&%(sE2l zXv8s3eS0*3OW=+u_B6ETgD3+rrNC2P-5jj}@Ou;bxQ-p=niEN<>e!Kib0e|c|9($H z^3}E7*B`%B{)Y>LORFy`E;^{}z+#tbb=+CvZpU48Bqi0gBi(Z_sAkgCx^}&~vjVP2 zq(LIdn9Z$g2i>p(jYVSip z3Sr!Jz6l+?24UhjHvJZ8SUo$)Q1z*GJ=+^o54%LvcEf?gj?!JOaNFMt^Rgy1ydI)< z1ba2SMvvD+-Y-% zs|oEudR-oxUN{1K<&oPRDo6El=MWs55mZ|K1_gxM_3FG-VbGQwU^v>W)toMI8sD5cMPORt>w~cczutE( zWRjcHa8C1^(;QAaMbk=7AB(0P*V<8mKS!eie?_k-hSCub`%Zue>WhzkK)iw8WJiNI z3ZnK&5IsSJT_-xDLAaPWk4Vf1aXy+>H-IM}Uq`zdz|&PN=^WC)jO$UJ<0wxYYzNK( z)#fy)WTrAfO<^h(lxy4dG_xW6+J8eSbwzLWtmucY>{`?IhH$!HYx$3VM;j5g*H!mMS{?zX@VnSMSSm7>j&j;FmM*jORQz!E z7hF(Z60Tt&I36B9h*_~Tyb&aK;wQH`eJ_?)a{6;D?clUw8#;=#d7n0=SDlbr{n6{& zU|?dSJ`e-jP?yF~zPAkxZw$9qwxPL=5vx1nXg$)vpthy-;h%8l0EEYaP}OrD#1IhW z%&C`*Cjr7~*&f96ZA;6?Rc>)EJ!Rm5X(0GVAj}cBXMi|mh$SFO46zx+B|{tl5!6m} z&VvXAvF{>heJ4KuGMx4xS{h;?h_)cOTi7!|bTPyd5dA5v;j{;_%y0&RSZg>lKx{FbB_MVh&Snq?4Cerd6NYmh#2c2|eE`JAhI1aoe#5DE zH(vD^PJ0j~hBFYvWy6^PBJ^glwgg0D5GZN=nwbc}23YKS@e+L*&qE_3o+4TT93UX2w1n}LcpA&-GC^xEf}OST zVtnrV+Iap@49oF!w6)#H4gT49y39(^9mIY#`0YASpH=`T3P{T-H+ruq&4$t;QR=V+N-g~O)~zO#MpRPb3vhX`Qi?|Ad64@6pSsWC zNx(mFHyjmM4Dgy{3Xb6m<(+)d3%`biTO)_>?kp|0`KrEkJMC+LWeKSh@K$+0>NWP%h4c$29=iM zl3r1Cm;Xw!=Ytq-Guq~KH3!T4&hGC%M&H34f3l|1mf4=F7_8dym`@S8w3!2BcNTf^|-IBMle zV+uT}W<$&`OR)m2y~8OY){cz2ZA5AL7=Tvgo zSlpTaLfb*6uWNC++-7wgVfZVA${JvG6r!fk)u1IyP~`V}w{V4g#8m>8_AoC<8SLvB7WcCfPCGGOdrWo!d5E^q~g{PO{Fi7P-{ z8-e9Gu+zX+IIuEc%N$tP{rJq+fkgw$c3>TWEgIth`vJ^!U@5@nJFpqRG8|YYu-TQc z28itnV5djY_BcBtJ!DjA`L!zEx?1;w*8o`Mf)@d+2dr}S^TsB=N_M#ly%@?HJFv#U z8aS{xVD&UsQPn*GhB*X>01I(olYn_0SO%~l2gVz!SPpC*u(Ina*DCVQ19-6thz1Yr zyaOu+R^q@e0z2!#LdGDv4$KFv*nzbNR+R1l69FD^V8ehN0)`8NIyls+zz#UD`M?St z*fL;y9oPn7yMei3N5!8F<^$X*Am_pu?;(@#z)l0pb6{n_wmGn{vFMQwEE-sDB@As5 zTR{Tc05FDg#R8#uuF;`f(t7wC2p&6thmE{|CTs>c?ARpW9O6*MaWIwvj6+-*TLP@e zfvp3^5!P}jKP%?}v$hPoc}hwhBGo6?F7b_3UDnM5g1FCZ?W6CtZ|&i(6COJ+RPqD8#~!uf_p+K`$5#7q7w#%j4v(k1dI=M>MVF2 zfwfhL#;nPBt_`e5C9EE>oJw+u;I#s_7ua9a_ICRk%IRU(p$BiZo4YfxW6l{mek&sN z=B;)cSM)?WdaK>Xb!Z~Rbhc+j^ozW#*K?u7+zPnFIaBbkB$9S?w!_^kz<*3f^w-WD z(MSrt4JF?80Cl>}?lbBv_&nVT+O`e@N@&;s*x)uc8#a7Rg_l#o-qRR!qw47vygV0tvKk9Kjo!AGY!J>nyeA8G3csfFK;iA;GAdp5A&s=v8Egm=D>VSV+n;4JOkiKkBjd6iVm@e+EvWIo<3& z?jfnA<$ij+o85x`>}EG}_nXS}KYrBz3*GEc>e}6I=JHRYQQgr&4@A<+?l9(UO4~W@ z+>{P>ha;1k(gjXuPowZ2_B7X_>9nv13ST^f&hZwi=4!HJko?#?V#>t{F^Vfgbsipl|Y4FfnBYY(i* zfh7Vv3k=WM)WLGYfVFxGHz$>_RAAA-8dk!1!=*Sa*Zhj|GJvfCHW9&ANH+lM_!R9) zM9-M?6kR}?o(q}Um5eo*4LM+y9p(+2wgIbCNzM;!C$I>?xaN67r$S)E80#CF8{q02 z9O~^>lXu-eI@FTEV0{V14vr zntTWMu*J0S4qSBd7MGSUq+bWyjp@fb>}y^1o}W^$^5KZQE z4N(@S2Z%Ou8nlcG`r~rpUqI*)N()EH&l2?MRKVS%UwuHz*T@-460=+*&i?ZEPYb*zNNLAMZC&*gOP zPP<)r26*AX_=v_|gD22VmQ(xyyJf&E8a}`dcY&Na05vy@b`9X}yqwMqKp77$r{KF# z-Lt6AU1(H^FJikQWd>afY03g*@*>T-%Wjum2%edzu=DG{JL16dfSq<=g}}}Oix<1B zTMW#%qH1^Mou^tmu#hKFaE+;HtR7nc_H+og2bS!>5`hhKV8eiocVMZ&W>muXB0C>g z1~3i+_sZU(>H6xs0*qx~+{BClp1y;NG>f$a>`b~rL+ zz&iq0vp>+u`11lA81NFs4#IGqMso+D0{6a5YngnQE-^W96-5rVqiSZXDlPvz0Da=2 z#oY75>9%KVo5l}D_kWnOAmI*srL_DRdUFUm)mMYjsm8xTX9nBxUEnP$K}%@1tJ8XA7LeM7^Uf2%tVE7UhHaDhv8#Q9(suA$X;qr;tFLj`xE z(Y1e-&fRUtyC=Ph-$d80+&;v}wj%sOm;Ph|Pe>-D_$2J?H{6=*&F`*^+e>I@E3vxng~3 zd4GuLYyTWIXXy;GH7pmdrvXFluFYVP=Ym1=voO-6%yTaYS`_%S%VM!b5VJPWCWzf; z#ClW}nD-~Qjp0wzZ(Zz0 zGW=BM9bLevZ zW$>+N6Gh#J{HM{h`w;N6@6giwcrvt^3K*VBk;4HOZKm$SF+BHtm*xyd1k&E6<-_e3 z={fIWZUjqwa0IqJi%B#v1Wg@`?FF_QSV$$T2pI3pSGy8+9#}rGT9q)~Y%I@#H3qg# zV-@2~9Kg*E!Jfc!9oP_H8ywgqVCx)M2Cy{_YzZ(faD{`&e;vRTRX}(QY?%Wq1h&M1 z6$8t5U>AWca$q6Pp-Ve3AF%niIl%S+Gk|f}`QS7W*z8JJV_?I8p$ccEprbECRU!@N z2>8L{gF8SjWDdMb1u6D$*T5|lJJL=_55aDSeip#NwkIt?=LS}}8Z&^k2i8qVX}Kl9 zQXO*ZfK38c5lsXR*m#FrA+XUJtC&F+155$fOfqSY^dhj?TPb{$9Up$6k`eBOJ)g%o zv6V)R!le21R$4d;Z8&5btsP~@glB9k)lW7c$D`G5$Zpt1r@-q~0-g23MYoN%qXQnGQKRjs$Pg$F zx}xan$(lVu&qnsS+iCS^%o}m%1yNV@2NXI+k%Py89KVBRae4qhwK@hvf2$8^53?sy z-LY5~_5j6?MVI&G)3mXeT|PkT$D+Bc%cnhKm5sXa#MSvDiXVr$$pbWV9Js?QS~|`i z;2QENof)U3+Kq?Q?9XZNc#I|w&{`%Nd_jAdoJbK9IR7uG%LL>wk!DVSjgSCZIsrq_ z`7fwo0e9KI$*(POEo{;{+gOjqY` zX;-R}4V?;E|Dn=yT-B|hbC1z)gK^7x7tnw)G;=EQ&vVn#sklFE{5_qTio%VdPSapw z^kEu44PK6+mD3>A{s`^Rhfnl&63SC+CO?8XPF-fA3%5E>LuaBOqiEwy zsO5WU|4gV238vtOkroD1_lFVZj1Zd3Y1|3=_+jKSlIo^GJnsa>ry+DHGzVm)|D^P5 zbrnrkJ&-%nvh|qRounOUc0%MNYN`}XtGRUO`tDb4Ojy?f?{UDlYu`|(kvyql*vOs)Am`ocN#81 z8!{6?OTKdN#7>=sw*MEZ`zW-A)6hquHUBKlc@&d{;k5BlWWW0??RnI`wS_VA^h3%B z&-r+qDSH#6)~}`IJGikt@{pd0cAIUthW_N)Xi2Hqn)5HN&khe!Ioa1y{%lN8@1s*- zx-OPb@MCsgkb@sXcT4-TlpcM|?gM%k(?kA?Wh0N-v7jU7*b#vt7fPwa9D6{(Fj_bV z>OF1RI0vE1^U^7#fyLlAO}FF0ADoUCn|uE%rH9j%{GN2!i@t=nv+1yRFGXg+-uTi| zx-|p*dnqde{GxwK>75L_6X*q2!qda$9|hnTO%&UK%wIKA)~n%aPVh3CG?E zT%XTQrI#mQT3a&DZgA5fpv{2t!2^Z06@x-0EE!P97X0&+mA}uSA2gM^uD5-3?|eH3 zIWCxw9MPrLb2`II1@qCohf>rNARC8J!V`*I&g8%_+VOz`94~li3&VhpH5|>Duz(}Q-I;&(5E1EH*I7x zrwQ%XWQ&C$JGP=e3zdzPAcL)#vhvS4zt(gv6L(Ul7TPxi-~D%a8~79S*MrpcDO6hA ze{j1$tTn~|N10vtAJ{2wOB*%mS_JaQP1ItM-2<6UT!is3F`gDKvTp^si^*YlTDi#X z?phW_F;BzefgNbh)94w4Y0uM8-r14PacbQ{b+ha?O$JGqzWl(I-q;%cbj-&^`xY7w z5qzJYm4!B(c?+%2LeU4&r7Rfe*@+^bL1!OCW1j)JtTQcq215kwaWw=DXL}VfXDsg{ zjH_Mf1jL{fkqu|Z`>9hl3ObOovSB2nJ8j}LuR9&&^kR3qq}fT&f=s=grg6IBc3R5m z?%Qemv(UbaLKlPdCsI33XD8BNPPZk}ti_65z+_lo`h(NXeJT7or0beer{~ab;_#?g z^&8&=-EXp=!@G)$eQ5o2P#!>+Asoy??SfFQr)cF8^w&G^&y_oXrY(V`vgWjO2`*zR z2GA+c;fGpQ^tpa0_{Ckgxfno^&m($w(&Xo1F9RajeZva+oz6XPcc&xIqc3!BMW>#( z2ZUd2Rq-m4^;_*mpKV1+OYNla_SkUL^ygOKE%_X`TLWm*Qah$;aZJSncy8o-p_c>s zG;Va;#_3VhhoKW2FeDI%U?5E-6tX|<02%Ic=oi9v-e9_*Mfxm*M*Dkc@-n6IG05;? z*H_Jv_gqZ7mo90Mq!%!3m)s|<{--h8ft(lMK!4f=rYkXp&b*+^by?01px|xcI3HYq zT>}he#6bfrxA17&-?sIO%Vm$67(FM^k@7ze#x!{bs{B8vCM>-ToqEi(Amq z7f~h7(#;cS&I+*ap#3Y5TiJw)A%}A-Em5;+~Xg^sS|r|P$I+MOo7jOtx6 zo@Ty`8=Jk@*fazRe6Zqt7}`Ca*1wGA(T6U*jC_M0pvWA%UCp=$%F3VMW_K)whbSLC znq#+s(CQor^_xPwa?k_&Qs^p>B~z%~DvSetY4R#`*H)>taFyLOs;}&OB9B+Npu90< za%x%mT)qPRGlE`5qorS0*{z@(z8a>+<7L2V^wNGbjmg#z)6&&&t{>ETojdr|( z!Kg2tdj+K%pGLuJFx;SYYPfj|OLH)dGf#8*3ep)C3)5)S8Wp1TYvB3lN2p+pigM(u zm|zt>CVfdwp8BcDQ$1+<523$3M#EpV!y`hl#c32UexAoK!kC{5e)Js50^ikn4y}FF zj;Wanxd^VQwfFJ$Gm8Fs)eeET!E2Fk`?(ammWAhXwZ>5DS~Q1k9dz5sW1{g~+O-w~ z;*pMYYAqVjkkzX(RIm;)8#0&9tV1w*Q@hu3gVz{)rt%Akp!@L@9;M^SBexFT zMbro0M?7luy_aYBK6>$W%m#YXE-1Rv@Gj_enC(pw>tVL_0*YUcF4LP9qTH_0S+sFI zN;2>nDp;>${RZH;XQ}%e_5<)`BgmTkyX)_A1}_Yyw}xOE{U=Z`!#6;6*iwq$fJ;_y zn!5q2tvl1&4Hy>3V^3Cdsb@!dchV(YDD+KxK*O*~Jno!BityCJf4Tf&x^oLEuTmNEi1pkW3K-meM4~aO*=9=Q7(YB?m-KxcuL1cf{vq2cB^cpiR$^uz?a}%^+xpY z-9+0r!pY4&=;%f~$}j0j-QNPv?*-mMR1)aKTVOAGfjqg0eF7!rqWFc_R<;ky5_D`Z zwb{h+%|(0@Xcw5SAqjLQmuq!3MZAsMpadHFHll)OuCv}oKoe-s+mKqbhR(f>>0j$t zsl_Ih(X35?&%aJ9H>r$HF`2fWg5SYh0r|eem9l{*zoWQYm>l*d9ef9sayxb34B;bh z)7Z_(;da`>@J8cWaY(+d4^`eH6T+OrjNv+jSZ*LOje2dJ=D?zm+? zV_@B0Rz8^P>eK+Lor`A`-L_$P>P{24!ISy#Q`R=Lymjx>`fVu2w)bfd(|PaHscm+< znA6w;SM^!cA&)mfHERu?^CpVxe>C)RdR49e6yUkQ z4_o>}>gx^mKw!^h$y=nb+^k2AiX*=o;^PBhKp*N3)zK<^Br-kps(P4SC z_I)UIrAzNaY2XJGnWxBUc_8;gSQ)Sljr}mto$H`t{`83zK&pY`T%$AT`6jZ9ThPQ zMZ6V)yh36i1_3U*|94!MdeQJ5sJg`OX#EbflI|4#A+l_Bm^yt3Z@W_#lSRjA(}!p@ zJ;;?0vh^uykq>T9n#E-F8CnT4xaZ&H#V{KbJV0Nr!#?6^?l}toNXbt82(oK_rz}mL z02#R9&oZ(<#$8ZP8u~Hl^B2k}{bPF~=rc^$`@4*4f1>!KJ^>w4T1HQ5`g_o>(H^?| z39Kj5fSn+5vodq1BKI(PAdJpwviqkXC)KC1pDONlCTBFDqnd2D3uIXY4c?`=>zQod zlnOK%^%=;s(UkBRBG8+bGCBTw+Wr};zBgU^3{~GMh9Y*OHha^k-Qcc>p#{4!qZrtg zHtt448SSUboCd{E(&s9R)t^JGb6eV_$%s85qvNT|9>rbEWb3Z9MU%l_fE?YOV!uEZ zi8PZ*Zx31yvIa)B8#(6J(VQ>r@TGfsg4BaNdzEC;UNkK~t}3^2(|SKiKM{O(FV=&E z^`uREky$VDe97kSpqMYw#Ck~+yDkY$EGNLUF&>GBm7}9zZ{SyXLQyM;`agjo?Ts%n zr1heMY~#=Xy7VRHCcP-W0OZAiG_*jGOPS2Pm$oyRNEetKKaL{y;ql*!ag?wR15IjY zn!C>)8@_woKUc>82FSGt8v}&LDoM3?&U$&K35!84+py6bz7eXx^vvtp+NV4 z+|~m3NZzY3pizgxc%C2N{=#K_9pK*LvQ7oK@wL=N7a|Du;M*{7S`pxW*0y#AxXV1& zp8@WlJk|o2d%wpz$fmyybf?etTIGT6Uu|n+ko%BreH7&W#I|1K@A*%--ABFFvmW>7 zUTclVz1eH+u=k^)*|d25xre>p>|w88_ORCrJ=Si{e_o(_yKTJ@=zi61G|GabXN_&kwZn0^Gm3tX~4$-@B~K z0q##-*4u%)XbS@pyWqAW!2MycRUF`6A8bA6az7tzt#!FGg01uHz*~Xt+?rg%7i(Gz zg4_#gS}z2-e-E~P4gzzH+r28p+Us^NN)NG0-R{3?T3H_ViJI0)58PXCyZ;HXzO&t@ zL#(s5`|A+vT`%A=ulu`N)*Ch4J8M}xYPjF3Wt|OvIZ(x;*CXx)UhA0v_wTl~FW||5 zPij~%2D(prtzCicFTB>pK=&3zGRVEsYklVK3~r9c{YDMz8;?8vxf&KWc_~FL)X-&X z)aEhE`Xs=8#%28x;Qq#CJ>hcayDXBTH)?Y~cFzcK7rLxN0d72PL44M_tbe4^yU#;= z@LDgRJ$S9-0WY}ztYJ}*8@cQa;#__VVz)}&eSx3!xDOAmVJ)-W@aS!uJ$frxJJD*q z`|CjK>3~kSaahl$ce&ifLENeh zY)vh)TLz}T5@Kx%aA$>Bp9Z-9u8Er34ZS}C-MD{Q734k>Vr>p`e-nbhAe)nJ_u*RB zVvl=QE$dZ}`|VoRd>f(v!gg;BwJzE2)uGnYUiZ_XRsq+@^EKSh)wXula9<9!zOCW@ zIn-Jf4ER{E`?uOwR!#T!wXIb()7_uewu)+ggn2bu?mGdUZ^w=!0q%k@>q`VFj62QB zFzW*sCjV%tpVqPF2D#s?!%i)$V|^Lq&ZuK;V%ILX-FbDbl^*w+x)%07e5S62?UDYf zV-?tQQJyni_sVOm6*b%ouCd;&;XYT_`hi1P7VP$C)U!6$bf3P)`mCnA@EYr#kXz6L zYPnC;v$oZ8@2O{fRm;7pp0y$r@Nc2+o%O9%wcQ))Tia{9m(;hO2>YGh`_}G6h-DB> zI)r7A^NaBB`5)~%OOM+(;ja!Qqpfaz<41eYEx|3jV)lgNrc4TMik+?dQA|^BOC$qy zGD|0`b+U((JLnIcMEDfdT_+QDvY3-3+OCrmItgy3z;-$r%1M8ktCRIQ*{_pJI*E!> zB7HbXrfE7^u9J^-at2BIK(F$C;YeMIZITX|sAmve`kghUs=-!+b%{@i zVAurB4@s>mH$>!C3V*MpD;;vayS2U6&uaallFnER8rQ-rN3sZ>7J+aUz~On$_1xR8 z`so*kYC|P?8qfVer@s0ajVc{s_iDK?ekp(>N7CGIEf<%D>v*N(;Y>}>mUM)q@6XZr zTbhoxUJ-`1NHewzohoUsOpkK(|Iy%8?X?kmeo0?kP}RYf;+Sy|`Ksb{)M;ny|7PF| zF;I=6=SJq;obJ6tM=<;}209!)B^~verma_WWVcVyv}>*4N*d3BMSs8OSwCyOQ-8*| zYW35t@nRrL6!WfPVDFe}4Oq)Wzt0)XPm|Q?z~vFu>7!HZ76YDNv_N}Fod%+YRc8QC z1V#U2(JQ%%{+c1x=p%otRg$iPIcK%N21%U`gz)_?4rdh%5&cfTYW{dho%;T}{#T## zw=%`R1yPJXrv;q`vXcMT0PAlP{Y|1*bQS%?e*dGd^0!WlfyuvVffbTE9f(Z)9|N4f z)u6wQU`&bT50TWVAAh@3U*~Tnih)z2Snqc&=rpjjhtq({-%1nx)uLB;75!|#LtpZ@ z)`@}Pe`tY4k~$q&$9H2moNeHc=tuBUEF6iFI`zXkSJgN9Ti#?H!h@n1bY2TO4W!*t z)qu(k|2m5PV$sXLihfwfD*9LQx5kTsr2lGx*^)XPh`yjHD))g>d)*FmQ_ zlKML8OG$nwJ+wn!Jkp8pR*l1c6+A_7r+ofZoNg1k2y0`V2AzcVPws;_ozOD48ffl6kSE$*R%Q(X9!+V zV97uKDhj^at9K|xaHm80SCO|8s&^E4!e6$PtT^$z(3cRG}F75PHJ)BX2U z?cY|S&Op0?7Y%YB(^~GEhDtihuV-jxrj{C`Y3KNqE&8WLFI?`cL?7{&sa`?L>J8+J zfiz9arirjx?Nva*-`WFYRX4M<;$$d>@xiRY_sWSpYnpUr$Ec%B; z&m%W(N?)}S3 zA#&%}Nm6G78rP~`KTK}qc8lJH3VofwDZw;v^#=T6V7}ZjZj#jLz!^{V`l+JtmpjPG zl8*AX)C$Idi-FY}$fRzG-fM#^@>3Vt^o;)1ck3d-GbLZsnS9CB%V!Agl+VA4yzfqB zC*5)?q-cia90u|QcgkA>s&^H1^#8cq^6{O^Bs7RgZ8b|dh4WsMn6Sxrg^fw?QS(Sz9C=mB8R*W?-$HbSw2H> z-w;Rnt|ITx(RNZC@;QQY9u@Y((^qNn9EZ4HaN|;ngU%7U#GzN@kn^q9_8T~^?8$;( z>9r{Wm<%(7&UVBp$03(5bebcB5{I1cm1-SH$FI_AhRHZb=-m#3Mb#Uyd~2#TY^4Z( z#jb-cQZ&jRClC6Jpzl>}Fw@~cir__#kmm@V>abH}>^N}WTCvagmG~p~{HHa;+4=GA z$oQsGztGM>#rKSsbK-^KKw&-oMAF|to?zliuk)8ne*P4^#K7U4wxx*2&N|My3SM*- z-1nN4ydttX|CIk_C`WPxR|NlCrwtUzGgpIW2yW;ip}oVZc3S`IT0i4TqsHqTK63tt zp>fmteG~Dr1&4nkJsar_Pv0#D{NpvAJwc~h3$J~JpE_0JVbgRPH(RI4k5-lUN}I|T z`ILW`$8&s9NS&k&6+Nia!Z|w4O|P0kqRBwyv;QyhX86jPqV4!obz1Tmr>M2;jH(%A zN(RZIP*g?Xf90#>GUXJgd`^=Y<}t(^N^r7Hc|NXlse02U@uTB)_Kx zl9%Z;|0SK47=>|~4wE$Q6-{S9qf_G`#u+^1xvqKcGrAk+wA8&eB}KZm2xcm|Ch7Ut zYySUDK1T{(^sD4|PNyk;t^faOXPel`)^^gZTrn8--2XR2mJAa`(#eXXlf}hqJ0>8l zL@s&0#xo=>TFrBrN+WEp5#;5nII<-z39o9fMC5#uaiL_Ke{EGcuaq=SQ+{b6B^g@2C{m|>!F|%8 z{PQ&KYpT;!Nwd>5ogTJOpTwCKxIokSBA6@&bN-|86rnkGd}N4&`Ql)XIG8GO8Iooj zJCcfnXc+?JOIj$Y@i059s)I$sFOk%ejQvk)xiF!%dsvh!4(7a}XSHD)bZV`Umf?S0 z11SoC+H0Ejy{glE!83#|lGMLe_#&UNPV^+r5q^sBb0wc5;VTEZW#)>9$ub_t@$iPj zZw3uXQzT85G(*yCNpmF4l{8<{LP?7xEs@kh1Xa%nlTfC9sN1&BgjTtMS5x9(m^hgF z|DS`pXa1Xq?1OQz@J#g%9+F;^D|KHYjW9#r!(O?=kpkt2d^Uc{R6#jYbt-(zC%rms zlEzb0tMW@sqmm56WNu(d#>P$qnS5lMMk#V}M$U{(aUz)dfUf%zNsXaI;g^V^RMXAG zVDb#Dmm&N(nMC9Yzht`Rr#kqZN<<)A1X3IVapFj>WRQG?PZ0^;;dL8F>FHEM@wB81 zElj|okgl{o0Y6kferrrG@3jH0vFgri>ySimjwjeeDQ*JKq`F|km4N=O;HxVd`gJjG@PM|o4L&h)b7MmojR_T3bd>|L9lqpk^-g~c%H;E#Y^ zyZ~2*W*sSP@-29r;DuV;+JQ8{s%xb!*F_H&{FLD11+OW1ZQSdz{kZjNfJnEV6-I(E z3N^#Rhlc8SL-1r7vapa*9sE@x8!|(fS_=$LEbOWbWN0fDc{2E$dSu$7a5TA=Xw9rp zA`E;dpboxfF6T*$C zf#ttlH`-RBa2U8lL2=gB(s;5gLAgidJB4aI_XApemp38ZEJ2wl{P749=QG}sPjDTr z=ahd-a5Hq8Hiq`D{4z^hCX4-71rPgBMIzlAE|JCZG^LQ5uS0}&r0QsRjm8TFmv`aT zM8SO@Yk9xe*)Dj>Cspy9SSHSa%Gs&$lgc_8_kF_1{!}ye7>5K;`Ap-Z1%IQyIJ8^i zW=Os-T;s`~YkZTw_E_Ht9#)|7C4#TO#xbrY@F;h`X5>kUQ?Lk_Jx%=@yW4nUT_xYp zCZz3r-)TAiRFsdc7(-buMeyz#wi@8;7shkHqq>8=u@OaBtI9_hdL z&Q_iBAyFFl)u%l}P@3Fuy2Pm;+jHH6QWZ7UZpjOL>$B_Feq(F*L%N~s|CZIfg~kgX zqJ_|luzXr?s#Hr*OXk@R>Ub+gj4r3S_j+GLjADjC%io`-4TJQ|sxCf*W$Em?cP4Eg<{j?J z7)%lOd1t!v@1w={K`kYPzDF8iChexLv~8!I${0tThC?qk6`Q_5FL@@_9RcU8Ikb8N zDhf3;!h5a{*4--SqNP4pVyhbNvN_Ualg0Ucg8LJ+n|{Gd1P?1-I+Fx^A3*)>#dtUeivRHPY;l$(T8Hjqukj8wk{lxHs{KpLW?JO z*Sd0_piUD}mk-fgBn@B0=#E4BkF{r*uAGa@>BL0u!_L}>#OhhDjRrHfPI~}e2PACm z^q@Bq)_pW|GTcPEaIy;P_Q@&}*A#9MiPUF`LT63!K8%?E0V-XZ5iif@V_>Sz+B|-X z)3EiV;O6n0>8iUF-oP>o1dW}nsoIWtJol;C89a^g29{YUSl1|ARE)Zo?-|;ZiZV~r zRVx9tj!b90Ypn)dsrytEq6n3!-U>mx(vR^K%5?*W+N)t!Mjccq~!*}58^-80&0ruR2q6#Ov4-H%r5 zBqB{wi;?t>*X}gwRUBc*>oNe9gtl{^P-qVjtcu@inXu$nWmvbp zrNjP_1D^<-OVF|_4M;~V%4FRcz&OF30ZbO$8NgJ*odL`g+yro!a;uTmKyDha1D-w( ziC->x3zj3eiTJtsI^ws>Xl(-CQeJjB1K!Gkn}A_Qm0R@u7C`A>*l5RQoT(Z4p(qJ>(B|aPm>gs9#8gOJ7yBt_<04~wCHvu zOe+7icp!F7Km+>faqqQlW8TIV z$QUAv%&U1VXN^&KUCTVrA0hZ|rI!9Z*ld6FKRWQne%(#54?L%ZuBT(7_5g5}U-*ia zZz}ja;GDhpKJ9;;;77%dS+jXs7sIOmjk3{hxOpsWo)X-+S=(PWTsxN|@%B~BKh&wgk^5B3<9)*P%X)L39Xv%y*B-AQEN3>2gInI6WlB|G58JJw7=%Hhw(QRIA?F( z5|}0I9|~^X*YuX`8@;FGWAJ7P_s2M{7e+D|Dp2yw*(hwKkxzK9ZP;hK&L>k=3md;y z(zDEVy|39Z>#O#R`{^UFZ{9BKMcu2GHVn5d?0vF41k^5B)`P%RhfQB45^=Ib-sD@( z63|R_>+s6rV{7aO+Txmzv?HdqzY3h?i=+XX-my#MS8vktxPef|qHk5aV=VJV&IG(Y zp2%JR^g*4mkzXyiS*vaE1Hg4lIVBPshiFay%$twEPjpc-rReb*w!(pPQ8HvCi4y!a zkxx0OJv%64*ft|CkL2$Z`G2&0x>fU-F5)<0r0mog-z{rrjLXjpZazIQ_&(sONz0S* z?Sa}*^G_wV@>tefEi!?$w>qOo>V>Z3Yw}&HutCuVT>n}M?2hJX+%Gm1{JnIWpLJZ1sbLl*N07;;1e1p95EI z%`tEIua-~8uU6<7nhSLA{o0Uu?PKcVO@oioNFB*wr{L`m>5Oj^yv5hrPBcIH$6<;- zO>q4hDILEREDFWK2;ERsq5A=C$h@Zt75NRoxn%j<^*FLdCzkb%mQT&B+FC~no?F?W z@i4YT7+XHl8846wjtTy8vBo0=uX|8uY&k;O12|WKd7p)6KI*u{@_gC6ITEt~mT>V- z;5bZseu8HQu0~cXxuG*dNj`AhOb&{sS-EbaS>uqlnCs{{@dlTLI6tWTEbD3D9JCUd z)juQnPLV&@R|oBW!F}KHP+~pzj;l`k0GzXKkv#0HB{K5_&u^}~wP{JO0q4>d$=Afj z=My5I(m>Z(h}enxUfcIM;yM60?4(+itLd2 zR@XT6gy7p9ljnDV^C+O#40gqDP)f$%Dh3{j`E^aT68xqkTEVQ-x>N8>;JO}PQxXlX zd@ADReUdSjEw14p?oK3 zGH!WPyX=$ojAv#ob42Ts_nEBJeEc-!R0@pSerB7f?X%HSA#APD^0Ag#qtI0{cXZb+fIx4vNnAg-(=&xG7%XVGvw&L$p;G9jWT$5zI6W0C# z=O#7sBhf5!%zu6Zu9{kR?Lj}W*!7&wDO()WrJF|~2 zXtc2Z0?rOv5xN58J*yS@o6g>RX*xjUX8`94wqzCL^@6Vi&d(cC9Cts*w0z9}%)#rF zXhY!+f2UBl7vS%Iz~%tP~O``=b zaE!`X8pj3AG4t6e3TAz+X-M8bbO6H!=>U$>;kRxBu6la8cIaWjZ}?Nor*zakp|LnR zNpQW$pe25BSQwkYU_)jP0#mU^S%I5S`adGkN&0q#Xx2HeV`#n%GlNiH;B3)+Y-cQH z0_V1nQ?A>{wPNRp*fA^rjh(>%D*NeIJ{3T-P)AQNI0N&kd>g@MY6Z*hm@FI=`7l|9 zrz2)rmw>BI`nPsyqS%SNpzZ6=e$p#$0`3JvwdNsJE8|&Fxa=5~qW{vZ+0+uI%px%%;B>fsf89J9P? zO${z-&HT$c=vzcH7dZFuoEcijC-}F(*@N-&QND>)+fv>7%zD2DBEJMUdzS5(j(?=_ z1j{TwogfNfWm=(76ih3-MR2qD^iGj~oN-l@=W)iaeRoPnB}OFn3Z64d2W^$$ZU52o zJ$Gt(GgW&5IJ<1V{rpIR{Da8Pk_kpLvD5gnvXgF^9aBuZ8UzN9YALcOgo()}tzelY zinoZNB>Xgjk4FN>HMwiKb|`m)uH8nus;t?9$KA+-3mPWcy*mB`gCpUWhhR4g-UP4G zxnyB-ed;0j7~m{#R-u|6`3i6@Ku5XZ^=sppAZsoga=o}V2*YSiTHc;D7k?TPVu|EWOTP~T|T&ABMZmq>&aLF#btt)Yo zC~N_)T1}I0M8f%OcigQmX;*cFbks`D>A2r3Ho5_?gTh*l#RAE|InV8m_X@8GzD3?v zm}XKcxY_f>bg5Qul`k$%$92ZGWSpoOR^dh69!xan0#}9ItqXgl0|4i~{E75s&Bezf zB5!u;Fd4V-=mP7{C~Khke#Yt_^-+BHm2)zJ<(Yno3z zO;<<|+~=72tra_Fx1wvM$^QhLi#T(aE`%BAlD#V5a4V%)OQIL4W8YCzjdLK<4Ao^m zr@Buhjsa(ri`HqACJHxWmdkj~e|01OPUK${+-!?xl_h{VQ;w9ob!FJ5H zJu%Wdo@88&oy&2?^<%a`GWGKbaLy_JLmdRO?N{Sky0GR$)(+zP-M~4g>>G6bj}&|n zaJG};xaNPa@pQ|4F=ZxNzEG{OL3W=pQGP^l-`T1~KOp$FQyOn38J7ya;5Cgm5&Sx= zNmd2>o^gy_=K4dzxKUn^m`?N&aE{P2$Gh3{z*UJa=sM~q8MFu!T)s2Gl~^5*8~hF( zpP~ z&ZZA_Orix}qVaU=VR^zmNAs;yU~t*ZS7D}g)VW4ykSfFN2wf!Wap3Ietlio`Gs)l! z;LYHYCBt`D!9(k5`LOd`093{klJR_DtbIcRrt9Pheny^CHx&8k`r1&g<92B%aL(9# z(tev{{339UkQJakZ^$_Ew+<);+>pozcP8UD;W`pmK93MXgMf312MyJ&AX)I|1vk5~ znJU{Sc-%f+W%@sUoCkP18(JnWSHi_mi)(cW%w|JobeRX7<-7l=Ltv(smw6#^$@xy;&5*a*ucepZE3|yNWj2a>R)^O5PAN37%%{etHCl~y-K2Hn?xcT_jnlh; zb0~bx^su*pK^zYYo_kyyR+SHY8E`J}wr@D3Xbq;)_K1St@d)m$;FffClR`tNQr9*<2f*RK*(|2+WiHb<+DR|#;Zg=zNyZ@ zY?ERlF%~$N*zERU?(df>d8MpccWj>zVwC~f%+n%PA$K?^r?tGfey;@1u4i|z+DR{nyxGgu$lu*UyY8Fl%~I$j*= z4!jvO%-(f3FwQfmsbH|7TzNPZA_}Aw@V><{7vClFshxFCjS%^hjH^m**;ZRLpS2Fu zf>si6cEKn6tC*sv1Lw-N9M6Xji=DXTx@_1YULAGY=|*FAk~Zypn!@WMsO$9LGDciG z3$o)(XKhrE!=s=(MrZP}`Zv@?7I# zH|tQFtrLx>w*lu2oGYj96Wr_?a!@kf4P12xsY5e2`G;{epohgvQEt>O$jyS)O7LXf z?H|V*65CmV$H|Im(+FN*Ts5CJamGFtIqolx3GQ4_*tmn1cP@`f6@20#9o?}~rbWP; zp;TsL%y_|fX?Z*flATRV5ZZLq3TCg-n?zwOaPH#~@MA$_b+II&dBRk3=HQ(REy%bQj5#wMRbDY%ln3$9Q`m za2@?8`3%mR@BW5}<~zW-P-e4|SERJZ#NrUg)vo=m+Kyjt*?FkpW3b?HWx7^OAAK4) z?02`!*4QR$yF?-PQ{8#Z;>dQL^#iv=$Lp~)YWptcMqh%>$>jizV7qkDI;#^lx-z=-U0DfooMVrIHzyV zSxK0RUk<$3UL;D#LEr~r2&He`+T#;+YF`#cL%d`=&Jqc59t%jqHNrW>><% zeH&3oFZSsIJ`V!7H(Y-OTy}Alx#mT+10=vJt7-JcY3z=h@l}Ndg!9~GZL3rL8R&0W zUEC)1+Ja+bD}4*zN^jix&}%2PQl3RP^DeYjM?T@0q)SewS$hJzvgKx-cPm<-ZF&#;OSM$~2H&z*UdFbeAJn)1IqU%wp z@GNk>H)pkUqMY4?vuat^%zpJwg6n0d+LuTtJkgI&X?qyy*$vpB-?|BXM)4c%?HJlpZLjhEtB5Yp6wR5gWh5}}Wl|%0W0pP7 z{3R;Id<%dP3MdBCgXivXSI_?>X(liEl4XbJA!-SZAduEnEFY9aic9137f z9jkY99{Aj&B0#6V`t=Zcdx7dB;Ckl{YHFuSPf;izCy|p_F3ES=Q2-0Jcf8$BIJ=qN zfio70z5@DBuZlui@11}Ey@JdWKyg~$D*WxOd1DFBWWm#LN<&lj5(Ti}3`g=_XSoi6 z(I`ipLED0sX+ocijcQZG;?6k6JulltZ!Ae~m{*lAAZ7x##A!*Y&C zvXz#Xy-7H09P^53d{!*uoFJU!1|9uGh6=8nE}4;LP5j+YI5R4IRTyoB+rL6MCqO@w zpnOh%&(7YG<^b}jTyLRI^LjFr%P@)aIRYxbD=IcegywxDg1v|DCBnVxx36$eH~t3n zxgQE2wOmAB;q(4R!5cDv7V;nku<5p0t>O!aP;#wA7!HO0BwRADazA1D(<-6RTCElE zzPkn2Zv0;0`jH^5rE1-VOvN3pNs!cwaJFqKO0e?TBshJEEJAWY1AagRdyiFoe_^B_ z|53sB6V5hthKLPwA$TR>Y!b&ht#A~4#(1`+9&95-sCK(}N17|%aUOVU#yv-WoZh_b z!o?7pT^kV79wJ>gKsf4sSK3Bq052LSl7@L;17CbQF_s{PEifKTX4NMzAS7to^Vzn z|E!2=FU`Jl4!C}HOKY9f3`wGMr+CLZQ0)c6$tDf|{aqW)r2-0I0d-CYrPlN%GbxkU zaeK6(H?~@KKass0s*MGH;dQ@~*$5;fs#)0B^;~}10>i%^U>--@<&L|3C!9%u51g*y| zNdzZwTr{izMe9(ZWBPHU1W<+UCY(Jl!K#uMfS#|2^NNCGrsEt(fPSS&8O03~3*}?* z*ao)kNjM9Rv{H5)xV@38%{`)!-f2vI7`Y&X?graNgU4qmocUGxrnseU7%uV)ACepj zNwCujcs4dhq(HAx!1bELmcTzEoKKO&U=xzmvW|0taFQEz^jl*?5TU~esT*cm&G#Vr<7x`#2BH_ z565X8(vNUY(l27nI`EcB!1Irb7h!42*-JQQX7)uX2Zy2i==+3EzBMd-gK*L;=;%Fx zD!5XXL@2bnqiKY*fNhvh(n@U(aQ)JQdc{YCdr7zYeAkZ^J}sAXil_|NI@2Gz4QHMIQ-jSq@UQ+7A9((2)K+By`8{kDB;Zi{>5U^p^PWczsZP@hb`YO z2hg*KBY2f-5h(0~=$*z(8ugo0YQy^pXHmIfl1Vz8+wRfFI(oM@l@;$f1A4jelSW^_ zn@?aq-ZEd+3En&LM9r==yBPPhta!g@Q)F5EUcx!&>>W8f2xl$xqs8EJA@w5Y?aKrj zKOlT^uZWA?jbc8QaN^U+(QkG|3P0y93Sbw=wk8Y@Nd(8i%ySb6rt5d4eQer--dN>f zpNiWL1H}`-^=pXgY-b4fj8OIFNs_1xoK^`S=EID8W?D{f%-bm=)theCjDAq?q@yBJ ztC4iV6DfiEA&hizTz>afKre%L2^D{Ea+?^oKyD3Tyd3u&lUjx;5{K6 z08P715k3WLg3p^andYzP0x<=n+v(iN2OP(mvq!<(t0~&cf`4&s(Pn zesZNKp`~fL;Psr)9g+|CK)cT*bp!A!8ziN=-@5z^ z;dADP;uaVyc&GmuADu#k^_L~W5GZu(W5Q^`LBS*B$9bJ_FDa3G^)2`#XbYx`lY9pr z6&@EJ`fWzdj*h@Dpu*Ks^f2%y7m6$YDR6sdX8oC-G3jzsTr@=<;XQ3Az{`gW$p`Hj zPbQqLtlw%>h1PkDXm^X%B`-Bg=!>ilT{ps+f7U7HPffnAn~X((-ua%29^w+hy_(ND zZS*@^wI!T2O$!%G)P;aN z!r2n`ai(3M*RM$Rh6g)OBHM#?>5XGn!mNtguorOs2D3WSn;etqb3PUg;K)v3Hf)Q_ zj;BDgXMxK~!nK8jKLj7>1g;kMj^NuxK;H~j#c=0i5&Yy^9+(HEfC4_&B3`b^4aR0)rmE79zc-1CI97`@nD#e5C= z30;aeAJI9&$3FPo0=RyjP3x++i zFT@RW{(Y}fWY(N76u)#9t5L(~Jr5Gjo)}|oQFQoeE5PQMGEj9q@SIWNU#EeuB%Bq;2P&Ln5c4DO>Dd0QOPh6{5&jvyMXlFCpGG+G zF)Q{{i~5TE;bg>1->*A}VxEO^*nbxXC0Y^AN@Q5pdm6aia-IaPUyalJYhXP7K_`GC zDrpdqN&zfj_Tl12GlcViGR>MW{DyFL1pUs4x_-iQk^p<#OlRP^-e``hUR_<7Mgh#| zQiin2+FAU7a8~FtT1xGj9S5F{1FPDCmRcx^CSX<<26dVe&U}hp!a(w!XDNW)D&H^p z)CZP$mvB}n3f<`d@Q=ah&>3N^Cata;4?aH-?roLTuRgAl zaHq!e5<$QAr~>*C&Wbu0#W8D(%Q&9^&#^YGoB$ttTXmlogilV@NKU`wM8igpQ2=Wi zVI5@12d>|mQ4fz@EEY<&x`RW3C*kV7fG5Rq9w%H2p+NIDg_jI2^k8b^tW}_o31@Zm zlZ$ExcZrBiwhqY+V4UWmlC62DafEyI1~NuZo`i%?MJL-@Yb^UBMew?NwfK!xut!Mq zfa|wi5|DM931^inpAwU51zsgrRMzhwX({RH;WV>_?T4^_6Q^0gSB4* zoJS4_uCt+cE``cX@8dU8p#dPQoZ251jO0mm6dxTmVM?{F63tdf0+&?(U8Tqn6Y3*sxU zfGMo0$uWdeEc0ryZIU$|HkNP}oM3Hxdjq(Bw?ud2y3~{4EG%|c2G`^_ zQUEiuH+|0nZeLlj8MuDAN;?@pD85q4z+z;5VC5ZT8yIY&KJHOx!Q^ zFjQNnF^5)oQ(~sSE7_>sx*@=&i+inyyOeO&UB3XSy6*$MeVI**x1eJ%o!>~8qAOyC za?s@+!ddr8--`xXk6s0CAF6Fc6{Kekd_qVkpN107{GDUMzbyDK7Wx6s_ZZq~Te}O4 zE}s>_S|Qh>dNq+)=?8DMYxOAMEO^Z}p}#?XXqlw!(Wtnpo*dd%lHwt0b68Xv&J_X5wqB*0{-@H62o zNxxaHoyuy)lJ7m%RkI zeJ=R|aC<7L>qg;Y&yTGjobxC9SIHk;BHS)GoffvPNBsd23c@6UZiBA3Nd)A3eS&Kz z`7(eXA1E2EGmv`;XTfRsCZ2XK9Wpy7SU&t%hpzMTa?Nov5s+)7a$N>|2jSuwUw~ra zlOiey6t(h2RKcy%X1^`L&KYI2isa6R4 zD1eQd@wjkU2!$>o!r@;fWm>V^zEvuamDU2qd=IBS1 zh*^HSNJ_AZ^#H<|qkSfJD(C}+k~uRV>AD?4Z_k$XB|MRL$?6A(%R}&J3g9Gu^^0)O z#$pF>dw<3y2*_$6Hhd3!MtmrOlhNDODb~4!dzHL5=%Q|mX2y96V8N>~pjWqVwG%1s zEh*cBVejLFGrhe(V>57j*G$D-LO*$klpD{KpmNQRI!)z|aB}<9NYO~$_#q15Ja%x0`DQTMNI0k1K2=qc z28oQ@*N5CiIOVaEpC%^LYWyt^r;7>hh!R~i#othXw;w3J!N;OPRw;4Zc2J>@nfe2@ z>}x34%S3eSl)*_v)9*a0#1?x+Lwn9-7VxaBzvKytT2DA@o`7#bQ~l{Z$ArF3rFsj=fn)Ak|oL*EImL-P22Vxt)A#Pe{%J%LqM(;Mg8n)Z_V_44B!QHsd(`W7tl zsc_Seo2tcIcsOMv4zJz@r56y+yzN~O`+)1`f3;ak{!I9%S^M&45>9-A&I8{_^1g#VgpXu2N>_SWbqSpf*XhXPo@ z1r#S;eY!}vm(}5-ke=f1dqC&|D3(3I=Ly244qgHZxi0KlhxTjW`BoiV_Y09!gn5P( za7+cB(?bdkjXk_)I^nEwf0$4`Th5`caar ztNPJq?2lAJt9>c#GGauR*6^*yz_YF4_)y@1Rzi;!(V0s)i?=uMe+c@#UP4dXXuao0 zp|9xJcN10q3MDQ$oZdL2a>q;5vxqvMa2EBj)$;5FeR4%BQY(O(14 zwhGN9=16>UFaavxOGuR;B_?*hKP&?Ba8q7+ zxI>2{BB0=0aXwQBPb8JH(E-xgmX8S6_Di;IM3yQf$m`1tp*Pmn-VCz?crJEQYL(F7 zsL)^hU4(0X+zH%n6`mxVl`6#4khTi%czC5w&Ty;pI!OUul`ud&r)#v>wZ*rB$21qg z_sEa)0OQ^~!z_B^q}Z1XeFEGboy8qP%wRowFKd`~zJ=1y9J z-s_Kx-~^0}lA&mO!ddXh)uQ2O;G;la=v7?Qp`wn9_dJb&i~*wQ)KY?P10(xD!3p3I zCq#hyS&i>S(V7@_!az<(!damb7XZee;Z3Ox>j;!mn2`MJmY zpR)P1#LV3)*{iemZGg+A0M}a6X9$-o-@c}T>>0?qsuzr_LU)p5Ridm-vJ0H`I9)( zC96oaC7km=!KgnuK=E0j1?iF} znq@l(ms1i|Yn&I730s7vk~~AW`0T6n#^usMxlHgx(_N2yaoIq%8#~M zUlJZ0?suGgkNv;@J3=^_H0TVsYK7+1FJb`|FkBdgCpIJ|jC(Erc6wts7;f!^=NnI0W&6BR z-(LlvzOA?ln+WF|&$4zI{090MYbyLk@^|7-*O^=Q7tNvoR>-l|hz}7iDqobS&VWp@ zjux@Hze&uQ*5^)pdpJ#&zbsb1!LuD5tRtLNE`-XGAi8NCe2Od$ej}Vz4myX16&F0< zvY0>lHfhl@3UxLT&Nj>#EcEJ!mk8%17FZi5nqEOR;s&nK&}azZ%xC>B25!Dqjq*s1 z^F0RBc-@dPhni15LvCOA?lDStJjfcn5#c{194|ND1VUAv* zG1I_5h2LT7lJT<@@)rUxvKHtr5YC3PZ$h3;;|s>^CHR%VYc>}CXV7)~j&MqMLubYz z3DByrcbG78utiB%5waQQf>(6`y|Ky8z+^h{cvdM=8iWgvJmfA_INoy);T$t&ugKIL z2HVZPt5MenIVcNT`yN4*u{6r@(uL0(2Bq0`b^v#(J?uHl!zK~V`sEB3!*-Hr&Q9Rj(62rCgq0Nj z&Du!GstCL);p9I9oq$yXk3$4|XU=lq?_(lQi|9eZS)q(!VyP<-aGr5*oKc=8<(Z;z zh^V|2Dkl@prn4`bn#=SYGi4cKPHG`ho|7~&qN91k*Hp3 zL#1~J7nj<}ZzMV&S43zjyr2{*vC+b#9u3U-=>Z<&24t7mw9iH)+1QA~bChb8u zi^-cH^aDZv6Y%cv0^KJN?Uy~gm#i!Ex)V-(f=)}T(>6;2oa>*EbWDNZgTVK`Du8-N ztLsFe@Rh}JLpWDo&8@waKLRiGZW!%-ZJ<@Aw3LTQR;$?!xMSgu6V8^%|5PmTBFb?? zv$R2UT-7RNB-p-dt}Ef5iv;fiMKx=tCImchj4;+&gDV`91SX(Eu9K9NVg%2K5&8)j zpT7Y7(n7K18Tj`5gnOp%L^TUPLy(8DWra~;CtfS9F;}WX={szebF`-b zR%oTwmCGWW1s70b#gBUNGT=37$ik2IqYf#KZI9Y^^{Xg+vc1NX#v(E#CWdrlHw&Jb zE=a&*N8?SxS#U+P0yTio1U~sbQAmB^GVrV(f@`nf#!6C3*8jEDU{Ql9K&rm``He(n zuav0TKiH%ckq7jx%NfvSye3&*yOijaPFL`7GA>~*N@qhJBAk5iAm_uE5|BmjfxiDp5u;gjy_rX1n)akp#A!~(HJK|A z?K8qzOzaMEsdV5isv@I;tLTj>V$ki^q0Khn_NIy(s)>SuEb*-vVeB*~ocTssfHOo3JitmsgXR(LN=7~JeBsUZX!1-6FU3KA^YxNda6V5yf(U~iUR8>!avD2kf zs>bd^xHn&tIg{VWycyQ~)a!(^_O?rvP89lNi@q`8OfM&0uN`!~%e0N6swjlu{maD| z+THq!aQ5hv)--tZ4Z?1>RkgGvoD-Ucz3Vj8@Sb77b8+5XyIXSwr{kK##FFnK!fFUu zO7qA3Xh|+0oE6$>P51u7jJ)w^=^CP1jFktOgmcUo?D$QBq}{-itc?SI5bot!V`(Cv z1bw}l!l%DA_PWEvX@ueQmdtF12+x=;(Nv6&Q8?$ogh9p2T}yM0gEMMLa0aS6Rd1|G zbfe=U-=SbHeJP*On^!>b^}GrYbA~C1e=hEC9{@bjOeF@H?P^PKT4QO2PKlDv2Etjb zy354SA0gU);Q7{`%UX3{mTbwe4<(utFlBw@NRLr4TRG3_!0acS#f-B$LUoe_w=bp6 zA)HfLh#|Lb@!tjdFEA558|oGjPNw%h8rh<*@JzNmU^3yJg`SigJ&uyS5A+4!ifIm` zo$gvs(sIxm#!n=i`8c@rC=EIkc(|uSe2My^L!aTrb9jmn zt&)7!ra!8o(9iT{6t0!ew!ojeM;K`9@(kge;G#mt@4I%e_d-zJxI7$aKh@Eqt}t?A50ca?Cqk@6V3vMTYdh^Z^&(T zIaX)sC!%MM-mz8$YD!C_2>;}voUNp zv?;x@aSE+baW?QItZoFr@fpHdv#hC7mUN=@D)4cKC9Rb~->V5E1;_9k#ms0U<~yex z31^N^Vdk~L*{^Xm5z8-qK>JWno_XK7>%x@$x=S}f#UBCUDaORj~jk|oe z2*-?hVooiuw*e1ei$N-qyukD-M>X693T82B=m}`gwoWU-6RJy*xE0YJAe`;+Eap;m z4sSQ;zgjHzNt7Sw6ydDyCF|sA*VZ1NpkvQ!yet7uV3nj}ktE;wf^cTE)3RifHlk4S zOG4j8ew?XSu|IkqI?j6yxP7qtATuEP!apVHTHfQ#o5U{Iwvz-qGezJ~xX3ud*#UAb z2WZk+#QWC>;aM0olW-OjgL|YjUDH8tFJPPz`g%@*mGz0KB48LM{xy9g%-A>@5A3C2 z&gl%RBVEHRrQoWwyGV^%^w${;GVvb5#j`Kd8(-=@6a5yX*J;*O7-wh7csLgsb1&g+ z@6}$Nd#ycNY*H$b{R$A=!df}}&0|L$baJHX4FMbE`q8G&D zIzX*?gp(cWIVZb_z5xVmK!n13C4y!|Epv|ajUUim=4PTnf+ zFa_CLm1d6E3V{IvXm_+f;jDJf?Lx0r@k-ENLO)ows7Un&^I6nZ_-JD=k#I^*tdnJR zz&o3xq*wf5#N!ie{Aj$Urfg+Wd&I56)^1>5BAnIBjTK|mLvq#w&-$0(zrc8fz$-s1 zgoh=VKBR!;TSKSDgcJXulWon8K8OfOZ;QS<@x4bPIJu`pz%B^(^%4P7h6%3KMJnN( zfWYIT$;U{*62iH459D&|9;8MWjE;fP?AJwbHt?i$Vf1sZa9AP1PG`b7LvrpAoLdQg zh5&c01;!b`i`|tmoFcrAfDhji&Q#}lPu<=kz&>Of06u%Y&_4zGCxIvbAh_oA4}?p1 zA-s=pOc*J3v~C0Y7vWqr6j<%A0li(L9P#L5>3i1FL%I_hv@uhwP(_>GSH!%qQxwsu zmKT6G8Z8zZf@r1siG_2l<1?+yQDPT%r}vXG22}ajdZv5c77)(Lue6Hu7B5=-ehTJn z%C|mw?U=DuxfZ`og1cgKj2dkM@Eur}QMcMpIJ-{<_D5tO4K4Z$AA5hq?Sy;9JWJfL zgqXw`C-kONwdk_Jt%#h1?YEjQrwR9xX3Y#$xm|>XTL!+JaHdbiJ*K)sv6gV|E$3Ku z`+34iIjTFXk66&vSyXp~b&@KiKUG~`8gTaJBTVMyd%?k@6wDU3Px@R2Zcq4hr2@ky zOu$Tx4o{yTocVlym$=7NnD#BgS$tumQOe{sR~gCe~ALv{yEnC&Lu>!ciwgzD3&Pf zTf7{tBHT0h97$MNIL$@ES#bV7v4l4~C;85RyG3vUn&5zE2geyhI7hgeA*N9;o;Mu8Z$CsLWTCy4E)K0R4i)^sW=Xy73Yi8xU@Z+E0$%W_ zWb6ebES#EIRy6G<)`WcTOXT>!D1bG+`l<*}7kLJF>YIXdi^tC&z?0_)16|U4=pNxy zn)*TfXg6;m@RMT%_Zkmw1Ae6d&jo*#fRSD_+Hgh_rL0h1WieeVWP42$Rx>(o=-VTt zo9+w~6D1&8=17V5Sh%p$bQs`)EHQ{KN1rB~YqLUZ1L_Ap>vTU`SVuFD1V-lGOL}^< zFPG?zqoiTNo#tD-$4`?Mtg(Hh;1=LxFfpi3wt{eWrc7&TrV#Y@XG<$lyG#7dZMCS) zxt0E4C9*q+dFn!mhlPli>%?A3z@GxX&gw@V1AeHx*sBrfD^fmjVrmu$pSBY0yefDn z$G#}wGeih%6a(Ln2o3HNMuWnNXUHJJrGURcZ=94|Yn|kPQuGMV5*`PiF3uxBxL52l zrCia>ocHVj9#|`YSJ6_)CC0rx>^zob(r5}bZh}N~G6?5nzlPaob)U}&=e!D71>ZkT z_{{7rZWsWcPJ}akwnaaUaNFD}^$j`@NL2UPOLWDD)obclGyC-_|6&<_v{+hncBK)Lng# zf;lUnv*zjlB%CEWSjZv~-c#y9!R;+O9n4W;7o3maz1B3tM#9;!4)*ik0CrK6g4b!p(= z6~Xof`sW#E`*q0!MeYxx;csB@6X9$iyI0WQVG(GrIrTRw^=L%;HU)dd)f<6b+woP> zWKwXKdmoY5SvclA5z?LqZtq1q3OoZt&Q_wN6KA#%yU1ZQ5ciUi@)W(Xx~u6!b8A~*9*LsZ*{VTKKCQBzpfkgBb>#=%$IJ+f$}0} zCg`&slX~w6#P1V4=+v}UtjkP=fkL8hIJ)B_2=__|`dr#Vg@9i|QPOn(06dxc68vcA zu+21ayfkkY5w*YSdASrIrd;QdP@~tUc;j)Da8@DkiKK;G-g|EJHiLC(^QZ)WPTQsV zQB5WRUytskYVr=@Y_e<|#J$anrZqH_)Bb?bK?2#Ox z9*Fmhn;}(X653G-rL|wez4Qjx&>NS_i3FGoW8h(8Gfy_`p=RCrq!1OwgRK431`QMnInp3 zL(xryvtgTCyD!cG&$7-t_k4o+>%+G_2gi629?9KoQ|ak&hH~V8m&DFfKRe^ot-C~^|coi+UE%V84Y^* zQFGl5ywK{1FBiO?Gad72I>d>lT7@$<-)bvXn(-$}<0(9*79Pr#~k}$upbM_L>2}t%TY3fNzu;ZLY1bcjTS?I&iS4uoKrR~N(5tf zq|?kG1=t$g+EdGMMwraTl%tCg92ikt-#x%jFBiSgZaU`(_tJq)bK1;we@?_~vraWk zCY;r>Zz$g*^mJ+#U4k^|Rb`ftisUZSj0QuBG?ZC_-OK{!{7JJX8~ zTows^&>3Jg=2yU|1qO;aP-xr>BH)&8l3RK&&qmfj{;cJC~M#LCc-(zxh^Z=Yf9bP&k>yQm9V=( z3Wd|qgf*jX?SvOaJ^S3xCxml81<;k!RmSLCp||@=?Mx=IOIbm|UZSii``-!YMA@T^ zR5OpF#oxPBq9s`!nZ**kj)FP%sgh#bnQ**I<{ZTy+H;xcwCtqdT4OCIoYRnjil7lJ z`L&1BQYbDW*BYzTOCrWTBvzksZ+Jb4-q_P~XG!H$6^gtC{G}rTOogQHfZM14%fBpq z?9)dh3Fm~`d#V-^PARGABrK8aYX|`!aRgQ^<)}wOiL%~Ts&@Fc>$jPF$3 zTCaiLJ~p!z^o7`gc02eaye8rUR_ccnPJOJPGZTF*8jX0*JVdb1({3f4)0a>~?6d^* zF{?zt(^ix80O3q;?`(OMaPC~?d$T6Av?rCE<9v$<`4FIktdgrK0{chU&E{xJ%97g% z-~t+hwVPCEGR2g=nW}?N5d55V;PFqwIU`P?iq|66_jR#!0;cP31-q4IEV1ixjDk7Z z(v0Gj;;=Q6zQA;`$41Fs=RLxi{=fkNT7caVrsrg2UIfL!cEvgNeM8dK+&b+2Ht>9F zWm*-bd*Hf<`fHhqV!6-FP>1sVM4{zU40wjzD+ zL9o55zmssURcJ2-t1m*katUI)(63+QNiO!kxqm|Nr!pZOJIce6K zYpJ&-!YIsNs(|LEZEI?Fo}^&*>QrmGau1?~W7b&DBOLdlRlS7ZoSjmg_mC#iY4;A? zEo^|w>WenoO3CFTuK1{F@#fY1fBlXC3(76;&lmd3aksBK7#=Jj9=XQ zA~+p=Kh37W!1Jvuk6tF6-5}t7bBl&FT0QPUgqGhF&(>BOMZgPfL{XgxnGF0=7r_T0 zW%Gge8zZ<5Y5oBIR=VKcJP5B!Roo;R#axvDEfA9kXH%zblakN~CE)|JuPwD2!SoaYH=?d;=5 zkso;U^_-X|q#c=q2)!tPBiMVq9yMD?-!A(Q+`(EDykV+`;Vk$f#{BBPxxo8aQ$UeBgnrLiQBC zpuZF$^yeXIwh8MfTz7H1@}8C2+kVdd6sLO zH@!NM%ig(1*xAeC?-9;9JKX9OYpP&{()W^%0@pqK93hTd#Sjrj$4NVm(!GO zuAR%7ih%NTYY#tKCe{$nu591=TD<^0>Z-TUn@555JMHsLV%!@pE~7VAKG({GW5DyQ z3L|Ep(Ayh3CIPR9-laARr-0{JQ=zjy^)w^pz7uO|qBfY!RI1K*OSqGVqZ`r4gfnIy z1$Sxp8OjiLLTSPtC7hEp(el9%@a7m|sUu+t{5$^oJO9vgjCd=tXG z?2GKm6r7PM!$DhUtzm5gUJ(ly%KKx}wksX}E%}9rC^5QtO4zP$WIQMG~*{s|fcJ6L!Ufb)$mc>q{ZDr>W);&Www2z)5TL z?+9n>1ulsqli@1SUqRsM;>G4};P!g|JAwzDr!lRpHRBmX7}d78EqZ(n!8p>O^KUtX zv!a!(0o_KzIs0u}Uk0Cq2(D4652iax`W_MiG3P{ZHc~bXc+m>!gkY%UM1CUz?CIMk zgtJ0X*4QHx_)3g@XpY5`@613zwzYjS1Oc4}6}Lp`!_uwI7%Q$GBNlgR63!`3eogAi z)kr`(@J}%vrk0*fcs%DN6(5iEDKOeg0iKgoJ&LG@&~Man>Q$u(#vBo$_P6Rs0?)%d zQUJ=#C=}}itW*1&2xnc=a4zDas6?0N3;$fdG#pUGd7N+>g!8%Arkg=?3(m%B0xNzi zvI?!qi^6?jlD^C=qF|HN#921&knRPZV^zqFjtRYe5APP>sTjX%-Eq#$>q&*|9;$X( zjD4NeGT?ID>)NpQ5b%;OOOEJn+_>Yyr|5mbsoCsTDXv=_Ld(6-}9+hLAyS863)ZD=d6{+WsI|=ra#gftCd|xdPRRi zt9GY2dDMBpB1A3V_Y&^u*mNDeaSk>cTD&Y)I4$@FoW9k8&|Jd3n87zdk!*E!BhQE~ zMHp)iMd52kI7%Gwojl~lY5OG%WC&ijH zNg~{{Rgd=c=9QCQCGEpulf}U8v#wi#XRj3c-jEbiq}IQY-$;4;d`LUOS(1H-^*-SK ztm29N3iySv;`v{O8VlwhK*vg($$;Py^o@+rr|HqR=fw`_p3)?>ZST~(dv{E0o8Gq1 zt?8k<5$@=)(C!lM@2-jI=9V+bD}0HeTVvcTH=<9MCML68$#SLI-#2>Dh%rOWyj5-` zGqZ-9VqOpPMTNRv@5YDCpHQXo{EYhkP(c; zq5ImqWx~wh9lo-m%^mn#+ruWhWldCfcbS*SihofcZRogR_l+B!IcD%sb8fA#n#ro; zCWlUUcRwm&%Kz+32~|&br<6AJTM(~^OgGJMiYEGMm^NQh5{o*NtQ7ikw0pUPd1n&| zD40vuuQuMj*K9vQsw6)aT{;vt!QEQI^e^z$_#0EjmuTOp;{&1mNp9J&XW#Kfo2-F8 zpUIf&CYtQeqbrAcPIixlo7>C!YMR_vNUe7saSOuDqP@gCJDOa^_L2Dc8$Y>vZST3Y%1sgH4sy?sXKIYJyXV*o}(%!~wqgp_xCq zH6zUaSKLaWOXu8sBFywVeLX{A7u|bHnWW*I|1JFOOwO~uQlTrqyYnK=`i}_AIpD^I zevI&qEb+{p{@Q<6#=<&=`b7C&4l@-h`&*do+P>=M=C9mxp~bH6W~zEm`dm{t!siQh zui#r*s!Gp)%$xy_xD7nd{%=KL%PzN~$*JqV{-6At)ycb-QKfj-s_3lwW2%=7#bx=r zMpWtjPyRE1UhTS}$Hx11Mw-)KQ6;x%TXcFTda`e;Ya;S}ndXiezN4nhA8wUU-eYub z)Rc&&ik@o1Xw!3+ZyNDW`R|!V<+O_NzZ>ljm3_iDKddU{(Ep~cWfJB_N3GcOq%TZT zYuly18P?3-ICO5dZ$p@AJHS`2m?_$>Ci}0R9 zw|J>wQy%ffnT>1R=+GwPD-msSrcr~J|6FuwQ|NaaNdrLfYnZ%?ZnMzgrM}grrLDb~ z=UWtRwzYPfncwSCbrQ4AcPQfj<;i81`l8In(xhWxldol{_IlszrA)~6$C;a!`ns4+ zPg8|3G2dq*|7QnbOG|$RQ+E)x(W7_x(oE7is@(qFI8^;xM;$5+U3*hK*>{tfwS;1{ z&Z92eA3JH@EgbmBedBKgv|QKpna9r+uxX%!Mm%lGhOa zmqIzUIgwI3b2!|T`}+sD#c;(UoNdv$y%W`uK)dTE;awVmq8s?ZlIqcn{ay+Z+2hj@A^+BtzeGya?6;U`=}#X ztF-@Q*@!;9|E|tz(A#%?s8)i%R+L%Lk9x#oll+ZKnARt#)0uOZTfBolr50uF7q$Hj zjXRqxojlst*}Qz2T&(DX>oaLfs3N%IMt_xv5_b>yTT2B;yZ+F`WdAVgz`FjJP@t*5 zPS}5x+Day-Ep?%&BKRrH>(~85(_hu}Y3{H1KMT^_c0};!KGzqT(%k=JiO|+o{ #include -/* - * Root is node 0 and never deleted. - * Hash table maps full path → node index. - */ - void dir_manager_init(DirManager* dm) { hash_init(&dm->hash); pthread_rwlock_init(&dm->rwlock, NULL); @@ -24,7 +19,6 @@ void dir_manager_init(DirManager* dm) { dm->nodes[i].in_use = false; } dm->nodes[MAX_NODES - 1].next_free = -1; - dm->nodes[MAX_NODES - 1].in_use = false; } int lookup_node(DirManager* dm, const char* path) { @@ -35,25 +29,9 @@ int lookup_node(DirManager* dm, const char* path) { return dm->root; } - uint64_t h = 0; - char token[NAME_SIZE]; - int ti = 0; - - for (const char* p = path; ; ++p) { - if (*p == '/' || *p == '\0') { - if (ti > 0) { - token[ti] = '\0'; - h = hash_combine(h, token); - ti = 0; - } - if (*p == '\0') - break; - } else if (ti < NAME_SIZE - 1) { - token[ti++] = *p; - } - } - + uint64_t h = hash_path_poly(path); int res = hash_lookup(&dm->hash, h, path); + pthread_rwlock_unlock(&dm->rwlock); return res; } @@ -66,7 +44,6 @@ int insert_node(DirManager* dm, const char* path) { return -1; } - uint64_t h = 0; int parent = dm->root; char token[NAME_SIZE]; int ti = 0; @@ -75,14 +52,13 @@ int insert_node(DirManager* dm, const char* path) { if (*p == '/' || *p == '\0') { if (ti > 0) { token[ti] = '\0'; - uint64_t next_hash = hash_combine(h, token); - // build full path incrementally char full_key[KEY_SIZE]; snprintf(full_key, KEY_SIZE, "%.*s", (int)(p - path), path); - int node = hash_lookup(&dm->hash, next_hash, full_key); + uint64_t h = hash_path_poly(full_key); + int node = hash_lookup(&dm->hash, h, full_key); if (*p == '\0') { if (node != -1 || dm->free_list == -1) { @@ -101,7 +77,7 @@ int insert_node(DirManager* dm, const char* path) { n->in_use = true; dm->nodes[parent].first_child = new_node; - hash_insert(&dm->hash, next_hash, full_key, new_node); + hash_insert(&dm->hash, h, full_key, new_node); pthread_rwlock_unlock(&dm->rwlock); return new_node; @@ -113,7 +89,6 @@ int insert_node(DirManager* dm, const char* path) { } parent = node; - h = next_hash; ti = 0; } if (*p == '\0') @@ -142,23 +117,7 @@ bool remove_node(DirManager* dm, const char* path) { return false; } - uint64_t h = 0; - char token[NAME_SIZE]; - int ti = 0; - - for (const char* p = path; ; ++p) { - if (*p == '/' || *p == '\0') { - if (ti > 0) { - token[ti] = '\0'; - h = hash_combine(h, token); - ti = 0; - } - if (*p == '\0') - break; - } else if (ti < NAME_SIZE - 1) { - token[ti++] = *p; - } - } + uint64_t h = hash_path_poly(path); int parent = n->parent; int* link = &dm->nodes[parent].first_child; diff --git a/src/src/daemon/hash.cpp b/src/src/daemon/hash.cpp index 5bb1932..c25d43d 100644 --- a/src/src/daemon/hash.cpp +++ b/src/src/daemon/hash.cpp @@ -1,8 +1,6 @@ #include "daemon/hash.h" #include -static const uint64_t HASH_SEPARATOR = 1315423911ULL; - void hash_init(HashTable* ht) { for (int i = 0; i < HASH_SIZE; i++) ht->buckets[i] = -1; @@ -14,20 +12,21 @@ void hash_init(HashTable* ht) { ht->free_head = 0; } -uint64_t hash_combine(uint64_t parent_hash, const char* name) { - uint64_t h = parent_hash; - - for (const unsigned char* p = (const unsigned char*)name; *p; ++p) - h ^= (h << 5) + (h >> 2) + *p; +// Polynomial rolling hash on FULL PATH +uint64_t hash_path_poly(const char* path) { + const uint64_t P = 131; + uint64_t h = 0; - return h ^ HASH_SEPARATOR; + for (const unsigned char* p = (const unsigned char*)path; *p; ++p) { + h = (h * P + *p) % MAX_ENTRIES; + } + return h; } bool hash_insert(HashTable* ht, uint64_t hash, const char* key, int value) { int bucket = hash % HASH_SIZE; - // reject exact duplicate key for (int i = ht->buckets[bucket]; i != -1; i = ht->entries[i].next) { if (ht->entries[i].hash == hash && strcmp(ht->entries[i].key, key) == 0) @@ -47,7 +46,6 @@ bool hash_insert(HashTable* ht, uint64_t hash, ht->entries[idx].next = ht->buckets[bucket]; ht->buckets[bucket] = idx; - return true; } diff --git a/test/persistence_test.cpp b/test/persistence_test.cpp index 6a4812e..06c3bd8 100644 --- a/test/persistence_test.cpp +++ b/test/persistence_test.cpp @@ -11,8 +11,13 @@ /* * System-level persistence tests. + * * Verifies that DirManager and HashTable survive restart * when backed by a file using mmap. + * + * NOTE: + * - pthread locks are NOT persistent and must be re-initialized + * - structural data (nodes, hash entries) must survive */ static const char* PERSIST_FILE = "/tmp/fastdevfs_persist_test.dat"; @@ -41,8 +46,9 @@ TEST(PersistenceTest, DirManagerPersistsAcrossRestart) { DirManager* dm = static_cast(addr); - // initialize + mutate + // first-time initialization dir_manager_init(dm); + insert_node(dm, "/home"); insert_node(dm, "/home/user"); insert_node(dm, "/var"); @@ -62,6 +68,9 @@ TEST(PersistenceTest, DirManagerPersistsAcrossRestart) { DirManager* dm_after = static_cast(addr); + // IMPORTANT: reinitialize lock ONLY + pthread_rwlock_init(&dm_after->rwlock, nullptr); + // verify persistence EXPECT_NE(lookup_node(dm_after, "/home"), -1); EXPECT_NE(lookup_node(dm_after, "/home/user"), -1); @@ -82,14 +91,13 @@ TEST(PersistenceTest, HashTablePersistsAcrossRestart) { HashTable* ht = static_cast(addr); - // initialize + mutate hash_init(ht); const char* key1 = "alpha"; const char* key2 = "beta"; - uint64_t h1 = hash_combine(0, key1); - uint64_t h2 = hash_combine(0, key2); + uint64_t h1 = hash_path_poly(key1); + uint64_t h2 = hash_path_poly(key2); ASSERT_TRUE(hash_insert(ht, h1, key1, 11)); ASSERT_TRUE(hash_insert(ht, h2, key2, 22)); diff --git a/test/test_dir_manager.cpp b/test/test_dir_manager.cpp index 349294c..76acd9e 100644 --- a/test/test_dir_manager.cpp +++ b/test/test_dir_manager.cpp @@ -7,8 +7,12 @@ /* * Tests for DirManager ADT. - * Paths are treated as literal strings. - * No canonicalization (/, //, trailing slash) is assumed. + * + * Design assumptions: + * - Paths are treated as literal strings + * - No canonicalization (/, //, trailing slash) + * - Hashing is full-path based + * - Concurrency is handled via RW locks */ class DirManagerTest : public ::testing::Test { @@ -43,6 +47,7 @@ TEST_F(DirManagerTest, InsertNestedDirectories) { } TEST_F(DirManagerTest, InsertWithoutParentFails) { + // parent "/a" does not exist EXPECT_EQ(insert_node(&dm, "/a/b"), -1); } @@ -139,15 +144,11 @@ TEST_F(DirManagerTest, VeryLongNameHandledSafely) { std::string longName(300, 'a'); std::string path = "/" + longName; - // should not crash and should insert safely (name may be truncated) int node = insert_node(&dm, path.c_str()); EXPECT_NE(node, -1); - - // lookup using same path string should succeed EXPECT_NE(lookup_node(&dm, path.c_str()), -1); } - /* ---------- Transaction behavior ---------- */ TEST_F(DirManagerTest, FailedInsertIsAtomic) { @@ -232,5 +233,3 @@ TEST_F(DirManagerTest, ConcurrentWritersSafe) { EXPECT_NE(lookup_node(&dm, "/a"), -1); EXPECT_NE(lookup_node(&dm, "/b"), -1); } - - diff --git a/test/test_hash_store.cpp b/test/test_hash_store.cpp index 7db40f6..237a36c 100644 --- a/test/test_hash_store.cpp +++ b/test/test_hash_store.cpp @@ -4,7 +4,6 @@ #include #include - #include #include "daemon/hash.h" @@ -28,7 +27,7 @@ class HashStoreTest : public ::testing::Test { TEST_F(HashStoreTest, InsertLookupSingle) { const char* key = "file"; - uint64_t h = hash_combine(0, key); + uint64_t h = hash_path_poly(key); EXPECT_TRUE(hash_insert(&ht, h, key, 10)); EXPECT_EQ(hash_lookup(&ht, h, key), 10); @@ -36,7 +35,7 @@ TEST_F(HashStoreTest, InsertLookupSingle) { TEST_F(HashStoreTest, LookupNonExistingReturnsMinusOne) { const char* key = "ghost"; - uint64_t h = hash_combine(0, key); + uint64_t h = hash_path_poly(key); EXPECT_EQ(hash_lookup(&ht, h, key), -1); } @@ -45,7 +44,7 @@ TEST_F(HashStoreTest, LookupNonExistingReturnsMinusOne) { TEST_F(HashStoreTest, DuplicateInsertAllowedOrRejectedButSafe) { const char* key = "dup"; - uint64_t h = hash_combine(0, key); + uint64_t h = hash_path_poly(key); EXPECT_TRUE(hash_insert(&ht, h, key, 1)); @@ -63,7 +62,7 @@ TEST_F(HashStoreTest, DuplicateInsertAllowedOrRejectedButSafe) { TEST_F(HashStoreTest, RemoveExistingEntry) { const char* key = "tmp"; - uint64_t h = hash_combine(0, key); + uint64_t h = hash_path_poly(key); EXPECT_TRUE(hash_insert(&ht, h, key, 5)); EXPECT_TRUE(hash_remove(&ht, h, key)); @@ -72,7 +71,7 @@ TEST_F(HashStoreTest, RemoveExistingEntry) { TEST_F(HashStoreTest, RemoveNonExistingFailsGracefully) { const char* key = "missing"; - uint64_t h = hash_combine(0, key); + uint64_t h = hash_path_poly(key); EXPECT_FALSE(hash_remove(&ht, h, key)); } @@ -83,8 +82,8 @@ TEST_F(HashStoreTest, RemoveThenReinsertUsesSlotSafely) { const char* key1 = "a"; const char* key2 = "b"; - uint64_t h1 = hash_combine(0, key1); - uint64_t h2 = hash_combine(0, key2); + uint64_t h1 = hash_path_poly(key1); + uint64_t h2 = hash_path_poly(key2); EXPECT_TRUE(hash_insert(&ht, h1, key1, 1)); EXPECT_TRUE(hash_remove(&ht, h1, key1)); @@ -103,7 +102,7 @@ TEST_F(HashStoreTest, HandlesBucketCollisionsCorrectly) { // force same bucket, different keys for (int i = 0; i < 50; i++) { keys.push_back("key_" + std::to_string(i)); - hashes.push_back(i * HASH_SIZE); + hashes.push_back(hash_path_poly(keys[i].c_str())); } for (int i = 0; i < 50; i++) { @@ -115,25 +114,14 @@ TEST_F(HashStoreTest, HandlesBucketCollisionsCorrectly) { } } -/* ---------- Incremental hashing ---------- */ - -TEST_F(HashStoreTest, HashCombineIsOrderSensitive) { - uint64_t h1 = hash_combine(0, "a"); - h1 = hash_combine(h1, "b"); +/* ---------- Hash properties ---------- */ - uint64_t h2 = hash_combine(0, "b"); - h2 = hash_combine(h2, "a"); - - EXPECT_NE(h1, h2); +TEST_F(HashStoreTest, HashIsOrderSensitive) { + EXPECT_NE(hash_path_poly("a/b"), hash_path_poly("b/a")); } -TEST_F(HashStoreTest, HashCombineSeparatesComponents) { - uint64_t h1 = hash_combine(0, "ab"); - - uint64_t h2 = hash_combine(0, "a"); - h2 = hash_combine(h2, "b"); - - EXPECT_NE(h1, h2); +TEST_F(HashStoreTest, HashSeparatesComponents) { + EXPECT_NE(hash_path_poly("ab"), hash_path_poly("a/b")); } /* ---------- Stress ---------- */ @@ -145,7 +133,7 @@ TEST_F(HashStoreTest, ManyInsertsAndLookups) { for (int i = 0; i < N; i++) { keys.push_back("key_" + std::to_string(i)); - hashes.push_back(hash_combine(0, keys[i].c_str())); + hashes.push_back(hash_path_poly(keys[i].c_str())); } int inserted = 0; @@ -154,10 +142,8 @@ TEST_F(HashStoreTest, ManyInsertsAndLookups) { inserted++; } - // sanity: most inserts should succeed EXPECT_GT(inserted, N * 0.9); - // correctness: lookup(key) == value for (int i = 0; i < N; i++) { int v = hash_lookup(&ht, hashes[i], keys[i].c_str()); if (v != -1) @@ -172,7 +158,7 @@ TEST_F(HashStoreTest, TableEventuallyFillsUp) { for (int i = 0; i < MAX_ENTRIES + 10; i++) { std::string key = "k" + std::to_string(i); - uint64_t h = hash_combine(0, key.c_str()); + uint64_t h = hash_path_poly(key.c_str()); if (hash_insert(&ht, h, key.c_str(), i)) success++; @@ -181,31 +167,26 @@ TEST_F(HashStoreTest, TableEventuallyFillsUp) { EXPECT_EQ(success, MAX_ENTRIES); } +/* ---------- Performance (non-failing benchmark) ---------- */ -TEST_F(HashStoreTest, HashCombinePerformance) { +TEST_F(HashStoreTest, HashPathPerformance) { const int ITERATIONS = 100; const char* key = "very_long_directory_name_for_benchmarking"; uint64_t h = 0; - auto start = std::chrono::steady_clock::now(); for (int i = 0; i < ITERATIONS; i++) { - h = hash_combine(h, key); + h ^= hash_path_poly(key); } auto end = std::chrono::steady_clock::now(); - std::chrono::duration elapsed = end - start; - double avg_time = elapsed.count() / ITERATIONS; - - // Print results (do NOT assert on timing) std::cout << "\n[ HASH BENCHMARK ]\n"; - std::cout << "Iterations: " << ITERATIONS << "\n"; - std::cout << "Total time (µs): " << elapsed.count() << "\n"; - std::cout << "Avg time per hash (µs): " << avg_time << "\n"; + std::cout << "Avg time per hash (µs): " + << elapsed.count() / ITERATIONS << "\n"; std::cout << "Final hash (prevent opt): " << h << "\n"; - SUCCEED(); // benchmark only + SUCCEED(); } From a43d6a78a9d52205b185c5ce68956e527a1a5f4c Mon Sep 17 00:00:00 2001 From: Diya Limbani Date: Thu, 5 Feb 2026 22:30:50 +0530 Subject: [PATCH 07/15] added fuse functions --- CMakeLists.txt | 8 + build/CMakeFiles/CMakeConfigureLog.yaml | 180 ++-- .../CMakeFiles/FastDevFS.dir/DependInfo.cmake | 6 + build/CMakeFiles/FastDevFS.dir/build.make | 100 ++- .../FastDevFS.dir/cmake_clean.cmake | 12 + .../FastDevFS.dir/compiler_depend.internal | 590 +++++++++++- .../FastDevFS.dir/compiler_depend.make | 840 +++++++++++++++--- build/CMakeFiles/FastDevFS.dir/link.txt | 2 +- build/CMakeFiles/FastDevFS.dir/progress.make | 6 + build/CMakeFiles/Makefile2 | 6 +- build/CMakeFiles/progress.marks | 2 +- build/FastDevFS | Bin 17488 -> 22496 bytes build/Makefile | 162 ++++ .../run_tests.dir/compiler_depend.internal | 104 +++ .../run_tests.dir/compiler_depend.make | 828 +++++++++-------- .../CMakeFiles/run_tests.dir/progress.make | 12 +- main.cpp | 133 ++- src/include/fuse_functions/access.h | 13 + src/include/fuse_functions/getattr.h | 10 +- src/include/fuse_functions/mkdir.h | 13 + src/include/fuse_functions/opendir.h | 12 +- src/include/fuse_functions/readdir.h | 20 +- src/include/fuse_functions/rmdir.h | 13 + src/include/fuse_functions/statfs.h | 13 + src/src/daemon/hash.cpp | 2 +- src/src/fuse_functions/access.cpp | 23 + src/src/fuse_functions/getattr.cpp | 37 +- src/src/fuse_functions/mkdir.cpp | 44 + src/src/fuse_functions/opendir.cpp | 21 +- src/src/fuse_functions/readdir.cpp | 43 +- src/src/fuse_functions/rmdir.cpp | 35 + src/src/fuse_functions/statfs.cpp | 28 + 32 files changed, 2653 insertions(+), 665 deletions(-) create mode 100644 src/include/fuse_functions/access.h create mode 100644 src/include/fuse_functions/mkdir.h create mode 100644 src/include/fuse_functions/rmdir.h create mode 100644 src/include/fuse_functions/statfs.h create mode 100644 src/src/fuse_functions/access.cpp create mode 100644 src/src/fuse_functions/mkdir.cpp create mode 100644 src/src/fuse_functions/rmdir.cpp create mode 100644 src/src/fuse_functions/statfs.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 4588f7d..55bea03 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,9 +8,17 @@ pkg_check_modules(FUSE3 REQUIRED fuse3) add_executable(FastDevFS main.cpp + src/src/fuse_functions/getattr.cpp src/src/fuse_functions/readdir.cpp src/src/fuse_functions/opendir.cpp + src/src/fuse_functions/mkdir.cpp + src/src/fuse_functions/rmdir.cpp + src/src/fuse_functions/access.cpp + src/src/fuse_functions/statfs.cpp + + src/src/daemon/dir_manager.cpp + src/src/daemon/hash.cpp ) target_include_directories(FastDevFS PRIVATE diff --git a/build/CMakeFiles/CMakeConfigureLog.yaml b/build/CMakeFiles/CMakeConfigureLog.yaml index 022d036..5b8938b 100644 --- a/build/CMakeFiles/CMakeConfigureLog.yaml +++ b/build/CMakeFiles/CMakeConfigureLog.yaml @@ -61,8 +61,8 @@ events: checks: - "Detecting C compiler ABI info" directories: - source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-iuNE6f" - binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-iuNE6f" + source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-u56iWJ" + binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-u56iWJ" cmakeVariables: CMAKE_C_FLAGS: "" CMAKE_C_FLAGS_DEBUG: "-g" @@ -71,13 +71,13 @@ events: variable: "CMAKE_C_ABI_COMPILED" cached: true stdout: | - Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-iuNE6f' + Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-u56iWJ' - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_19892/fast - /usr/bin/gmake -f CMakeFiles/cmTC_19892.dir/build.make CMakeFiles/cmTC_19892.dir/build - gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-iuNE6f' - Building C object CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o - /usr/bin/cc -v -o CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c + Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_f1564/fast + /usr/bin/gmake -f CMakeFiles/cmTC_f1564.dir/build.make CMakeFiles/cmTC_f1564.dir/build + gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-u56iWJ' + Building C object CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o + /usr/bin/cc -v -o CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c Using built-in specs. COLLECT_GCC=/usr/bin/cc OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa @@ -87,8 +87,8 @@ events: Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_19892.dir/' - /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_19892.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cclu5Mz8.s + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f1564.dir/' + /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_f1564.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccs6Ujf9.s GNU C17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu) compiled by GNU C version 13.3.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP @@ -105,15 +105,15 @@ events: /usr/include End of search list. Compiler executable checksum: 38987c28e967c64056a6454abdef726e - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_19892.dir/' - as -v --64 -o CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o /tmp/cclu5Mz8.s + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f1564.dir/' + as -v --64 -o CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o /tmp/ccs6Ujf9.s GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42 COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.' - Linking C executable cmTC_19892 - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_19892.dir/link.txt --verbose=1 - /usr/bin/cc -v CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o -o cmTC_19892 + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.' + Linking C executable cmTC_f1564 + /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f1564.dir/link.txt --verbose=1 + /usr/bin/cc -v CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o -o cmTC_f1564 Using built-in specs. COLLECT_GCC=/usr/bin/cc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper @@ -126,10 +126,10 @@ events: gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_19892' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_19892.' - /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccRLLyZE.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_19892 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_19892' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_19892.' - gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-iuNE6f' + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f1564' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_f1564.' + /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccgKdcAD.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_f1564 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f1564' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_f1564.' + gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-u56iWJ' exitCode: 0 - @@ -163,13 +163,13 @@ events: message: | Parsed C implicit link information: link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] - ignore line: [Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-iuNE6f'] + ignore line: [Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-u56iWJ'] ignore line: [] - ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_19892/fast] - ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_19892.dir/build.make CMakeFiles/cmTC_19892.dir/build] - ignore line: [gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-iuNE6f'] - ignore line: [Building C object CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o] - ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c] + ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_f1564/fast] + ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_f1564.dir/build.make CMakeFiles/cmTC_f1564.dir/build] + ignore line: [gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-u56iWJ'] + ignore line: [Building C object CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/cc] ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] @@ -179,8 +179,8 @@ events: ignore line: [Thread model: posix] ignore line: [Supported LTO compression algorithms: zlib zstd] ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_19892.dir/'] - ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_19892.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cclu5Mz8.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f1564.dir/'] + ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_f1564.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccs6Ujf9.s] ignore line: [GNU C17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu)] ignore line: [ compiled by GNU C version 13.3.0 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] ignore line: [] @@ -197,15 +197,15 @@ events: ignore line: [ /usr/include] ignore line: [End of search list.] ignore line: [Compiler executable checksum: 38987c28e967c64056a6454abdef726e] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_19892.dir/'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o /tmp/cclu5Mz8.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f1564.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o /tmp/ccs6Ujf9.s] ignore line: [GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.'] - ignore line: [Linking C executable cmTC_19892] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_19892.dir/link.txt --verbose=1] - ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o -o cmTC_19892 ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.'] + ignore line: [Linking C executable cmTC_f1564] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f1564.dir/link.txt --verbose=1] + ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o -o cmTC_f1564 ] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/cc] ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] @@ -218,13 +218,13 @@ events: ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_19892' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_19892.'] - link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccRLLyZE.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_19892 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f1564' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_f1564.'] + link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccgKdcAD.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_f1564 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] arg [/usr/libexec/gcc/x86_64-linux-gnu/13/collect2] ==> ignore arg [-plugin] ==> ignore arg [/usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so] ==> ignore arg [-plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/ccRLLyZE.res] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccgKdcAD.res] ==> ignore arg [-plugin-opt=-pass-through=-lgcc] ==> ignore arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore arg [-plugin-opt=-pass-through=-lc] ==> ignore @@ -242,7 +242,7 @@ events: arg [-znow] ==> ignore arg [-zrelro] ==> ignore arg [-o] ==> ignore - arg [cmTC_19892] ==> ignore + arg [cmTC_f1564] ==> ignore arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] @@ -254,7 +254,7 @@ events: arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..] - arg [CMakeFiles/cmTC_19892.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o] ==> ignore arg [-lgcc] ==> lib [gcc] arg [--push-state] ==> ignore arg [--as-needed] ==> ignore @@ -294,8 +294,8 @@ events: checks: - "Detecting CXX compiler ABI info" directories: - source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-P5sur1" - binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-P5sur1" + source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-d9quLz" + binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-d9quLz" cmakeVariables: CMAKE_CXX_FLAGS: "" CMAKE_CXX_FLAGS_DEBUG: "-g" @@ -304,13 +304,13 @@ events: variable: "CMAKE_CXX_ABI_COMPILED" cached: true stdout: | - Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-P5sur1' + Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-d9quLz' - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_253d1/fast - /usr/bin/gmake -f CMakeFiles/cmTC_253d1.dir/build.make CMakeFiles/cmTC_253d1.dir/build - gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-P5sur1' - Building CXX object CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o - /usr/bin/c++ -v -o CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp + Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_1e1d1/fast + /usr/bin/gmake -f CMakeFiles/cmTC_1e1d1.dir/build.make CMakeFiles/cmTC_1e1d1.dir/build + gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-d9quLz' + Building CXX object CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o + /usr/bin/c++ -v -o CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp Using built-in specs. COLLECT_GCC=/usr/bin/c++ OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa @@ -320,8 +320,8 @@ events: Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_253d1.dir/' - /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_253d1.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccUHbUyA.s + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1e1d1.dir/' + /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_1e1d1.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cch6PYhL.s GNU C++17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu) compiled by GNU C version 13.3.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP @@ -342,15 +342,15 @@ events: /usr/include End of search list. Compiler executable checksum: c81c05345ce537099dafd5580045814a - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_253d1.dir/' - as -v --64 -o CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccUHbUyA.s + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1e1d1.dir/' + as -v --64 -o CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o /tmp/cch6PYhL.s GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42 COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.' - Linking CXX executable cmTC_253d1 - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_253d1.dir/link.txt --verbose=1 - /usr/bin/c++ -v CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_253d1 + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.' + Linking CXX executable cmTC_1e1d1 + /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_1e1d1.dir/link.txt --verbose=1 + /usr/bin/c++ -v CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_1e1d1 Using built-in specs. COLLECT_GCC=/usr/bin/c++ COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper @@ -363,10 +363,10 @@ events: gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_253d1' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_253d1.' - /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccUmYJNO.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_253d1 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_253d1' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_253d1.' - gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-P5sur1' + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_1e1d1' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_1e1d1.' + /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccd8u9NF.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_1e1d1 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_1e1d1' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_1e1d1.' + gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-d9quLz' exitCode: 0 - @@ -406,13 +406,13 @@ events: message: | Parsed CXX implicit link information: link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] - ignore line: [Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-P5sur1'] + ignore line: [Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-d9quLz'] ignore line: [] - ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_253d1/fast] - ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_253d1.dir/build.make CMakeFiles/cmTC_253d1.dir/build] - ignore line: [gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-P5sur1'] - ignore line: [Building CXX object CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o] - ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_1e1d1/fast] + ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_1e1d1.dir/build.make CMakeFiles/cmTC_1e1d1.dir/build] + ignore line: [gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-d9quLz'] + ignore line: [Building CXX object CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/c++] ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] @@ -422,8 +422,8 @@ events: ignore line: [Thread model: posix] ignore line: [Supported LTO compression algorithms: zlib zstd] ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_253d1.dir/'] - ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_253d1.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccUHbUyA.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1e1d1.dir/'] + ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_1e1d1.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cch6PYhL.s] ignore line: [GNU C++17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu)] ignore line: [ compiled by GNU C version 13.3.0 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] ignore line: [] @@ -444,15 +444,15 @@ events: ignore line: [ /usr/include] ignore line: [End of search list.] ignore line: [Compiler executable checksum: c81c05345ce537099dafd5580045814a] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_253d1.dir/'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccUHbUyA.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1e1d1.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o /tmp/cch6PYhL.s] ignore line: [GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.'] - ignore line: [Linking CXX executable cmTC_253d1] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_253d1.dir/link.txt --verbose=1] - ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_253d1 ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [Linking CXX executable cmTC_1e1d1] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_1e1d1.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_1e1d1 ] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/c++] ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] @@ -465,13 +465,13 @@ events: ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_253d1' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_253d1.'] - link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccUmYJNO.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_253d1 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_1e1d1' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_1e1d1.'] + link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccd8u9NF.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_1e1d1 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] arg [/usr/libexec/gcc/x86_64-linux-gnu/13/collect2] ==> ignore arg [-plugin] ==> ignore arg [/usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so] ==> ignore arg [-plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/ccUmYJNO.res] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccd8u9NF.res] ==> ignore arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore arg [-plugin-opt=-pass-through=-lgcc] ==> ignore arg [-plugin-opt=-pass-through=-lc] ==> ignore @@ -489,7 +489,7 @@ events: arg [-znow] ==> ignore arg [-zrelro] ==> ignore arg [-o] ==> ignore - arg [cmTC_253d1] ==> ignore + arg [cmTC_1e1d1] ==> ignore arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] @@ -501,7 +501,7 @@ events: arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..] - arg [CMakeFiles/cmTC_253d1.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore arg [-lstdc++] ==> lib [stdc++] arg [-lm] ==> lib [m] arg [-lgcc_s] ==> lib [gcc_s] @@ -540,8 +540,8 @@ events: - "/usr/share/cmake-3.28/Modules/FindGTest.cmake:194 (find_package)" - "test/CMakeLists.txt:3 (find_package)" directories: - source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-OwWPYZ" - binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-OwWPYZ" + source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-fQGn68" + binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-fQGn68" cmakeVariables: CMAKE_C_FLAGS: "" CMAKE_C_FLAGS_DEBUG: "-g" @@ -550,17 +550,17 @@ events: variable: "CMAKE_HAVE_LIBC_PTHREAD" cached: true stdout: | - Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-OwWPYZ' + Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-fQGn68' - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_9d966/fast - /usr/bin/gmake -f CMakeFiles/cmTC_9d966.dir/build.make CMakeFiles/cmTC_9d966.dir/build - gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-OwWPYZ' - Building C object CMakeFiles/cmTC_9d966.dir/src.c.o - /usr/bin/cc -DCMAKE_HAVE_LIBC_PTHREAD -o CMakeFiles/cmTC_9d966.dir/src.c.o -c /home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-OwWPYZ/src.c - Linking C executable cmTC_9d966 - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_9d966.dir/link.txt --verbose=1 - /usr/bin/cc CMakeFiles/cmTC_9d966.dir/src.c.o -o cmTC_9d966 - gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-OwWPYZ' + Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_ebbcd/fast + /usr/bin/gmake -f CMakeFiles/cmTC_ebbcd.dir/build.make CMakeFiles/cmTC_ebbcd.dir/build + gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-fQGn68' + Building C object CMakeFiles/cmTC_ebbcd.dir/src.c.o + /usr/bin/cc -DCMAKE_HAVE_LIBC_PTHREAD -o CMakeFiles/cmTC_ebbcd.dir/src.c.o -c /home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-fQGn68/src.c + Linking C executable cmTC_ebbcd + /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_ebbcd.dir/link.txt --verbose=1 + /usr/bin/cc CMakeFiles/cmTC_ebbcd.dir/src.c.o -o cmTC_ebbcd + gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-fQGn68' exitCode: 0 ... diff --git a/build/CMakeFiles/FastDevFS.dir/DependInfo.cmake b/build/CMakeFiles/FastDevFS.dir/DependInfo.cmake index 023adfe..7ec3e69 100644 --- a/build/CMakeFiles/FastDevFS.dir/DependInfo.cmake +++ b/build/CMakeFiles/FastDevFS.dir/DependInfo.cmake @@ -9,9 +9,15 @@ set(CMAKE_DEPENDS_LANGUAGES # The set of dependency files which are needed: set(CMAKE_DEPENDS_DEPENDENCY_FILES "/home/diya_limbani/FastDevFs/main.cpp" "CMakeFiles/FastDevFS.dir/main.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/main.cpp.o.d" + "/home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp" "CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o.d" + "/home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp" "CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o.d" + "/home/diya_limbani/FastDevFs/src/src/fuse_functions/access.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o.d" "/home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o.d" + "/home/diya_limbani/FastDevFs/src/src/fuse_functions/mkdir.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o.d" "/home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o.d" "/home/diya_limbani/FastDevFs/src/src/fuse_functions/readdir.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o.d" + "/home/diya_limbani/FastDevFs/src/src/fuse_functions/rmdir.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o.d" + "/home/diya_limbani/FastDevFs/src/src/fuse_functions/statfs.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o.d" ) # Targets to which this target links which contain Fortran sources. diff --git a/build/CMakeFiles/FastDevFS.dir/build.make b/build/CMakeFiles/FastDevFS.dir/build.make index 284ebaa..ed133ff 100644 --- a/build/CMakeFiles/FastDevFS.dir/build.make +++ b/build/CMakeFiles/FastDevFS.dir/build.make @@ -125,12 +125,102 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.s: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.s" /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.s +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o: CMakeFiles/FastDevFS.dir/flags.make +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/mkdir.cpp +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o: CMakeFiles/FastDevFS.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o -c /home/diya_limbani/FastDevFs/src/src/fuse_functions/mkdir.cpp + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/fuse_functions/mkdir.cpp > CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.i + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/fuse_functions/mkdir.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.s + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o: CMakeFiles/FastDevFS.dir/flags.make +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/rmdir.cpp +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o: CMakeFiles/FastDevFS.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o -c /home/diya_limbani/FastDevFs/src/src/fuse_functions/rmdir.cpp + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/fuse_functions/rmdir.cpp > CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.i + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/fuse_functions/rmdir.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.s + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o: CMakeFiles/FastDevFS.dir/flags.make +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/access.cpp +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o: CMakeFiles/FastDevFS.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o -c /home/diya_limbani/FastDevFs/src/src/fuse_functions/access.cpp + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/fuse_functions/access.cpp > CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.i + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/fuse_functions/access.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.s + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: CMakeFiles/FastDevFS.dir/flags.make +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/statfs.cpp +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: CMakeFiles/FastDevFS.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o -c /home/diya_limbani/FastDevFs/src/src/fuse_functions/statfs.cpp + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/fuse_functions/statfs.cpp > CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.i + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/fuse_functions/statfs.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.s + +CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o: CMakeFiles/FastDevFS.dir/flags.make +CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp +CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o: CMakeFiles/FastDevFS.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o -c /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp + +CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp > CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.i + +CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp -o CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.s + +CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o: CMakeFiles/FastDevFS.dir/flags.make +CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp +CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o: CMakeFiles/FastDevFS.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o -c /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp + +CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp > CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.i + +CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp -o CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.s + # Object files for target FastDevFS FastDevFS_OBJECTS = \ "CMakeFiles/FastDevFS.dir/main.cpp.o" \ "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o" \ "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o" \ -"CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o" +"CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o" \ +"CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o" \ +"CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o" \ +"CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o" \ +"CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o" \ +"CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o" \ +"CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o" # External object files for target FastDevFS FastDevFS_EXTERNAL_OBJECTS = @@ -139,9 +229,15 @@ FastDevFS: CMakeFiles/FastDevFS.dir/main.cpp.o FastDevFS: CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o FastDevFS: CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o FastDevFS: CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o +FastDevFS: CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o +FastDevFS: CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o +FastDevFS: CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o +FastDevFS: CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o +FastDevFS: CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o +FastDevFS: CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o FastDevFS: CMakeFiles/FastDevFS.dir/build.make FastDevFS: CMakeFiles/FastDevFS.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Linking CXX executable FastDevFS" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Linking CXX executable FastDevFS" $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/FastDevFS.dir/link.txt --verbose=$(VERBOSE) # Rule to build all files generated by this target. diff --git a/build/CMakeFiles/FastDevFS.dir/cmake_clean.cmake b/build/CMakeFiles/FastDevFS.dir/cmake_clean.cmake index 6276624..ed24946 100644 --- a/build/CMakeFiles/FastDevFS.dir/cmake_clean.cmake +++ b/build/CMakeFiles/FastDevFS.dir/cmake_clean.cmake @@ -1,12 +1,24 @@ file(REMOVE_RECURSE "CMakeFiles/FastDevFS.dir/main.cpp.o" "CMakeFiles/FastDevFS.dir/main.cpp.o.d" + "CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o" + "CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o.d" + "CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o" + "CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o.d" + "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o" + "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o.d" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o.d" + "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o" + "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o.d" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o.d" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o.d" + "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o" + "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o.d" + "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o" + "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o.d" "FastDevFS" "FastDevFS.pdb" ) diff --git a/build/CMakeFiles/FastDevFS.dir/compiler_depend.internal b/build/CMakeFiles/FastDevFS.dir/compiler_depend.internal index 4a17802..ad512d5 100644 --- a/build/CMakeFiles/FastDevFS.dir/compiler_depend.internal +++ b/build/CMakeFiles/FastDevFS.dir/compiler_depend.internal @@ -3,9 +3,15 @@ CMakeFiles/FastDevFS.dir/main.cpp.o /home/diya_limbani/FastDevFs/main.cpp + /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h + /home/diya_limbani/FastDevFs/src/include/fuse_functions/access.h /home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h + /home/diya_limbani/FastDevFs/src/include/fuse_functions/mkdir.h /home/diya_limbani/FastDevFs/src/include/fuse_functions/opendir.h /home/diya_limbani/FastDevFs/src/include/fuse_functions/readdir.h + /home/diya_limbani/FastDevFs/src/include/fuse_functions/rmdir.h + /home/diya_limbani/FastDevFs/src/include/fuse_functions/statfs.h /usr/include/alloca.h /usr/include/asm-generic/bitsperlong.h /usr/include/asm-generic/errno-base.h @@ -227,11 +233,229 @@ CMakeFiles/FastDevFS.dir/main.cpp.o /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/x86_64-linux-gnu/sys/uio.h /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o + /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp + /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h + /usr/include/c++/13/cstdio + /usr/include/c++/13/pstl/pstl_config.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/pthread.h + /usr/include/sched.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/stdio.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/time.h + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/x86_64-linux-gnu/bits/cpu-set.h + /usr/include/x86_64-linux-gnu/bits/endian.h + /usr/include/x86_64-linux-gnu/bits/endianness.h + /usr/include/x86_64-linux-gnu/bits/floatn-common.h + /usr/include/x86_64-linux-gnu/bits/floatn.h + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h + /usr/include/x86_64-linux-gnu/bits/sched.h + /usr/include/x86_64-linux-gnu/bits/setjmp.h + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h + /usr/include/x86_64-linux-gnu/bits/stdint-least.h + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h + /usr/include/x86_64-linux-gnu/bits/time.h + /usr/include/x86_64-linux-gnu/bits/time64.h + /usr/include/x86_64-linux-gnu/bits/timesize.h + /usr/include/x86_64-linux-gnu/bits/timex.h + /usr/include/x86_64-linux-gnu/bits/types.h + /usr/include/x86_64-linux-gnu/bits/types/FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h + /usr/include/x86_64-linux-gnu/bits/types/time_t.h + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h + /usr/include/x86_64-linux-gnu/bits/typesizes.h + /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h + /usr/include/x86_64-linux-gnu/gnu/stubs.h + /usr/include/x86_64-linux-gnu/sys/cdefs.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o + /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h + /usr/include/x86_64-linux-gnu/bits/stdint-least.h + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h + /usr/include/x86_64-linux-gnu/bits/time64.h + /usr/include/x86_64-linux-gnu/bits/timesize.h + /usr/include/x86_64-linux-gnu/bits/types.h + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/typesizes.h + /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h + /usr/include/x86_64-linux-gnu/gnu/stubs.h + /usr/include/x86_64-linux-gnu/sys/cdefs.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o + /home/diya_limbani/FastDevFs/src/src/fuse_functions/access.cpp + /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h + /home/diya_limbani/FastDevFs/src/include/fuse_functions/access.h + /usr/include/asm-generic/bitsperlong.h + /usr/include/asm-generic/errno-base.h + /usr/include/asm-generic/errno.h + /usr/include/asm-generic/int-ll64.h + /usr/include/asm-generic/posix_types.h + /usr/include/asm-generic/types.h + /usr/include/c++/13/cerrno + /usr/include/c++/13/pstl/pstl_config.h + /usr/include/endian.h + /usr/include/errno.h + /usr/include/fcntl.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/fuse3/fuse.h + /usr/include/fuse3/fuse_common.h + /usr/include/fuse3/fuse_log.h + /usr/include/fuse3/fuse_opt.h + /usr/include/fuse3/libfuse_config.h + /usr/include/linux/errno.h + /usr/include/linux/falloc.h + /usr/include/linux/posix_types.h + /usr/include/linux/stat.h + /usr/include/linux/stddef.h + /usr/include/linux/types.h + /usr/include/pthread.h + /usr/include/sched.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/time.h + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h + /usr/include/x86_64-linux-gnu/asm/errno.h + /usr/include/x86_64-linux-gnu/asm/posix_types.h + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h + /usr/include/x86_64-linux-gnu/asm/types.h + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/x86_64-linux-gnu/bits/byteswap.h + /usr/include/x86_64-linux-gnu/bits/cpu-set.h + /usr/include/x86_64-linux-gnu/bits/endian.h + /usr/include/x86_64-linux-gnu/bits/endianness.h + /usr/include/x86_64-linux-gnu/bits/errno.h + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h + /usr/include/x86_64-linux-gnu/bits/fcntl.h + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h + /usr/include/x86_64-linux-gnu/bits/sched.h + /usr/include/x86_64-linux-gnu/bits/select.h + /usr/include/x86_64-linux-gnu/bits/setjmp.h + /usr/include/x86_64-linux-gnu/bits/stat.h + /usr/include/x86_64-linux-gnu/bits/statvfs.h + /usr/include/x86_64-linux-gnu/bits/statx-generic.h + /usr/include/x86_64-linux-gnu/bits/statx.h + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h + /usr/include/x86_64-linux-gnu/bits/stdint-least.h + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h + /usr/include/x86_64-linux-gnu/bits/struct_stat.h + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h + /usr/include/x86_64-linux-gnu/bits/time.h + /usr/include/x86_64-linux-gnu/bits/time64.h + /usr/include/x86_64-linux-gnu/bits/timesize.h + /usr/include/x86_64-linux-gnu/bits/timex.h + /usr/include/x86_64-linux-gnu/bits/types.h + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h + /usr/include/x86_64-linux-gnu/bits/types/error_t.h + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h + /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h + /usr/include/x86_64-linux-gnu/bits/types/time_t.h + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h + /usr/include/x86_64-linux-gnu/bits/typesizes.h + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h + /usr/include/x86_64-linux-gnu/bits/uio-ext.h + /usr/include/x86_64-linux-gnu/bits/uio_lim.h + /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h + /usr/include/x86_64-linux-gnu/gnu/stubs.h + /usr/include/x86_64-linux-gnu/sys/cdefs.h + /usr/include/x86_64-linux-gnu/sys/select.h + /usr/include/x86_64-linux-gnu/sys/stat.h + /usr/include/x86_64-linux-gnu/sys/statvfs.h + /usr/include/x86_64-linux-gnu/sys/types.h + /usr/include/x86_64-linux-gnu/sys/uio.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o /home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp + /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h /home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h /usr/include/asm-generic/bitsperlong.h /usr/include/asm-generic/errno-base.h @@ -259,6 +483,8 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o /usr/include/linux/stat.h /usr/include/linux/stddef.h /usr/include/linux/types.h + /usr/include/pthread.h + /usr/include/sched.h /usr/include/stdc-predef.h /usr/include/stdint.h /usr/include/string.h @@ -273,6 +499,7 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h /usr/include/x86_64-linux-gnu/bits/byteswap.h /usr/include/x86_64-linux-gnu/bits/confname.h + /usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/x86_64-linux-gnu/bits/endian.h /usr/include/x86_64-linux-gnu/bits/endianness.h /usr/include/x86_64-linux-gnu/bits/environments.h @@ -284,9 +511,12 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o /usr/include/x86_64-linux-gnu/bits/libc-header-start.h /usr/include/x86_64-linux-gnu/bits/long-double.h /usr/include/x86_64-linux-gnu/bits/posix_opt.h + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h + /usr/include/x86_64-linux-gnu/bits/sched.h /usr/include/x86_64-linux-gnu/bits/select.h + /usr/include/x86_64-linux-gnu/bits/setjmp.h /usr/include/x86_64-linux-gnu/bits/stat.h /usr/include/x86_64-linux-gnu/bits/statvfs.h /usr/include/x86_64-linux-gnu/bits/statx-generic.h @@ -310,8 +540,10 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o /usr/include/x86_64-linux-gnu/bits/types/error_t.h /usr/include/x86_64-linux-gnu/bits/types/locale_t.h /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h @@ -338,12 +570,15 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/x86_64-linux-gnu/sys/uio.h /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o - /home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp - /home/diya_limbani/FastDevFs/src/include/fuse_functions/opendir.h +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o + /home/diya_limbani/FastDevFs/src/src/fuse_functions/mkdir.cpp + /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h + /home/diya_limbani/FastDevFs/src/include/fuse_functions/mkdir.h /usr/include/asm-generic/bitsperlong.h /usr/include/asm-generic/errno-base.h /usr/include/asm-generic/errno.h @@ -369,6 +604,8 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o /usr/include/linux/stat.h /usr/include/linux/stddef.h /usr/include/linux/types.h + /usr/include/pthread.h + /usr/include/sched.h /usr/include/stdc-predef.h /usr/include/stdint.h /usr/include/string.h @@ -381,6 +618,7 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o /usr/include/x86_64-linux-gnu/asm/types.h /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h /usr/include/x86_64-linux-gnu/bits/byteswap.h + /usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/x86_64-linux-gnu/bits/endian.h /usr/include/x86_64-linux-gnu/bits/endianness.h /usr/include/x86_64-linux-gnu/bits/errno.h @@ -388,9 +626,12 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o /usr/include/x86_64-linux-gnu/bits/fcntl.h /usr/include/x86_64-linux-gnu/bits/libc-header-start.h /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h + /usr/include/x86_64-linux-gnu/bits/sched.h /usr/include/x86_64-linux-gnu/bits/select.h + /usr/include/x86_64-linux-gnu/bits/setjmp.h /usr/include/x86_64-linux-gnu/bits/stat.h /usr/include/x86_64-linux-gnu/bits/statvfs.h /usr/include/x86_64-linux-gnu/bits/statx-generic.h @@ -414,8 +655,10 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o /usr/include/x86_64-linux-gnu/bits/types/error_t.h /usr/include/x86_64-linux-gnu/bits/types/locale_t.h /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h @@ -441,12 +684,15 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/x86_64-linux-gnu/sys/uio.h /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o - /home/diya_limbani/FastDevFs/src/src/fuse_functions/readdir.cpp - /home/diya_limbani/FastDevFs/src/include/fuse_functions/readdir.h +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o + /home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp + /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h + /home/diya_limbani/FastDevFs/src/include/fuse_functions/opendir.h /usr/include/asm-generic/bitsperlong.h /usr/include/asm-generic/errno-base.h /usr/include/asm-generic/errno.h @@ -472,6 +718,8 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o /usr/include/linux/stat.h /usr/include/linux/stddef.h /usr/include/linux/types.h + /usr/include/pthread.h + /usr/include/sched.h /usr/include/stdc-predef.h /usr/include/stdint.h /usr/include/string.h @@ -484,6 +732,7 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o /usr/include/x86_64-linux-gnu/asm/types.h /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h /usr/include/x86_64-linux-gnu/bits/byteswap.h + /usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/x86_64-linux-gnu/bits/endian.h /usr/include/x86_64-linux-gnu/bits/endianness.h /usr/include/x86_64-linux-gnu/bits/errno.h @@ -491,9 +740,12 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o /usr/include/x86_64-linux-gnu/bits/fcntl.h /usr/include/x86_64-linux-gnu/bits/libc-header-start.h /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h + /usr/include/x86_64-linux-gnu/bits/sched.h /usr/include/x86_64-linux-gnu/bits/select.h + /usr/include/x86_64-linux-gnu/bits/setjmp.h /usr/include/x86_64-linux-gnu/bits/stat.h /usr/include/x86_64-linux-gnu/bits/statvfs.h /usr/include/x86_64-linux-gnu/bits/statx-generic.h @@ -517,6 +769,332 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o /usr/include/x86_64-linux-gnu/bits/types/error_t.h /usr/include/x86_64-linux-gnu/bits/types/locale_t.h /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h + /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h + /usr/include/x86_64-linux-gnu/bits/types/time_t.h + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h + /usr/include/x86_64-linux-gnu/bits/typesizes.h + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h + /usr/include/x86_64-linux-gnu/bits/uio-ext.h + /usr/include/x86_64-linux-gnu/bits/uio_lim.h + /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h + /usr/include/x86_64-linux-gnu/gnu/stubs.h + /usr/include/x86_64-linux-gnu/sys/cdefs.h + /usr/include/x86_64-linux-gnu/sys/select.h + /usr/include/x86_64-linux-gnu/sys/stat.h + /usr/include/x86_64-linux-gnu/sys/statvfs.h + /usr/include/x86_64-linux-gnu/sys/types.h + /usr/include/x86_64-linux-gnu/sys/uio.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o + /home/diya_limbani/FastDevFs/src/src/fuse_functions/readdir.cpp + /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h + /home/diya_limbani/FastDevFs/src/include/fuse_functions/readdir.h + /usr/include/asm-generic/bitsperlong.h + /usr/include/asm-generic/errno-base.h + /usr/include/asm-generic/errno.h + /usr/include/asm-generic/int-ll64.h + /usr/include/asm-generic/posix_types.h + /usr/include/asm-generic/types.h + /usr/include/c++/13/cerrno + /usr/include/c++/13/cstring + /usr/include/c++/13/pstl/pstl_config.h + /usr/include/endian.h + /usr/include/errno.h + /usr/include/fcntl.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/fuse3/fuse.h + /usr/include/fuse3/fuse_common.h + /usr/include/fuse3/fuse_log.h + /usr/include/fuse3/fuse_opt.h + /usr/include/fuse3/libfuse_config.h + /usr/include/linux/errno.h + /usr/include/linux/falloc.h + /usr/include/linux/posix_types.h + /usr/include/linux/stat.h + /usr/include/linux/stddef.h + /usr/include/linux/types.h + /usr/include/pthread.h + /usr/include/sched.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/time.h + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h + /usr/include/x86_64-linux-gnu/asm/errno.h + /usr/include/x86_64-linux-gnu/asm/posix_types.h + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h + /usr/include/x86_64-linux-gnu/asm/types.h + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/x86_64-linux-gnu/bits/byteswap.h + /usr/include/x86_64-linux-gnu/bits/cpu-set.h + /usr/include/x86_64-linux-gnu/bits/endian.h + /usr/include/x86_64-linux-gnu/bits/endianness.h + /usr/include/x86_64-linux-gnu/bits/errno.h + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h + /usr/include/x86_64-linux-gnu/bits/fcntl.h + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h + /usr/include/x86_64-linux-gnu/bits/sched.h + /usr/include/x86_64-linux-gnu/bits/select.h + /usr/include/x86_64-linux-gnu/bits/setjmp.h + /usr/include/x86_64-linux-gnu/bits/stat.h + /usr/include/x86_64-linux-gnu/bits/statvfs.h + /usr/include/x86_64-linux-gnu/bits/statx-generic.h + /usr/include/x86_64-linux-gnu/bits/statx.h + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h + /usr/include/x86_64-linux-gnu/bits/stdint-least.h + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h + /usr/include/x86_64-linux-gnu/bits/struct_stat.h + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h + /usr/include/x86_64-linux-gnu/bits/time.h + /usr/include/x86_64-linux-gnu/bits/time64.h + /usr/include/x86_64-linux-gnu/bits/timesize.h + /usr/include/x86_64-linux-gnu/bits/timex.h + /usr/include/x86_64-linux-gnu/bits/types.h + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h + /usr/include/x86_64-linux-gnu/bits/types/error_t.h + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h + /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h + /usr/include/x86_64-linux-gnu/bits/types/time_t.h + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h + /usr/include/x86_64-linux-gnu/bits/typesizes.h + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h + /usr/include/x86_64-linux-gnu/bits/uio-ext.h + /usr/include/x86_64-linux-gnu/bits/uio_lim.h + /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h + /usr/include/x86_64-linux-gnu/gnu/stubs.h + /usr/include/x86_64-linux-gnu/sys/cdefs.h + /usr/include/x86_64-linux-gnu/sys/select.h + /usr/include/x86_64-linux-gnu/sys/stat.h + /usr/include/x86_64-linux-gnu/sys/statvfs.h + /usr/include/x86_64-linux-gnu/sys/types.h + /usr/include/x86_64-linux-gnu/sys/uio.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o + /home/diya_limbani/FastDevFs/src/src/fuse_functions/rmdir.cpp + /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h + /home/diya_limbani/FastDevFs/src/include/fuse_functions/rmdir.h + /usr/include/asm-generic/bitsperlong.h + /usr/include/asm-generic/errno-base.h + /usr/include/asm-generic/errno.h + /usr/include/asm-generic/int-ll64.h + /usr/include/asm-generic/posix_types.h + /usr/include/asm-generic/types.h + /usr/include/c++/13/cerrno + /usr/include/c++/13/cstring + /usr/include/c++/13/pstl/pstl_config.h + /usr/include/endian.h + /usr/include/errno.h + /usr/include/fcntl.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/fuse3/fuse.h + /usr/include/fuse3/fuse_common.h + /usr/include/fuse3/fuse_log.h + /usr/include/fuse3/fuse_opt.h + /usr/include/fuse3/libfuse_config.h + /usr/include/linux/errno.h + /usr/include/linux/falloc.h + /usr/include/linux/posix_types.h + /usr/include/linux/stat.h + /usr/include/linux/stddef.h + /usr/include/linux/types.h + /usr/include/pthread.h + /usr/include/sched.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/time.h + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h + /usr/include/x86_64-linux-gnu/asm/errno.h + /usr/include/x86_64-linux-gnu/asm/posix_types.h + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h + /usr/include/x86_64-linux-gnu/asm/types.h + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/x86_64-linux-gnu/bits/byteswap.h + /usr/include/x86_64-linux-gnu/bits/cpu-set.h + /usr/include/x86_64-linux-gnu/bits/endian.h + /usr/include/x86_64-linux-gnu/bits/endianness.h + /usr/include/x86_64-linux-gnu/bits/errno.h + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h + /usr/include/x86_64-linux-gnu/bits/fcntl.h + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h + /usr/include/x86_64-linux-gnu/bits/sched.h + /usr/include/x86_64-linux-gnu/bits/select.h + /usr/include/x86_64-linux-gnu/bits/setjmp.h + /usr/include/x86_64-linux-gnu/bits/stat.h + /usr/include/x86_64-linux-gnu/bits/statvfs.h + /usr/include/x86_64-linux-gnu/bits/statx-generic.h + /usr/include/x86_64-linux-gnu/bits/statx.h + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h + /usr/include/x86_64-linux-gnu/bits/stdint-least.h + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h + /usr/include/x86_64-linux-gnu/bits/struct_stat.h + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h + /usr/include/x86_64-linux-gnu/bits/time.h + /usr/include/x86_64-linux-gnu/bits/time64.h + /usr/include/x86_64-linux-gnu/bits/timesize.h + /usr/include/x86_64-linux-gnu/bits/timex.h + /usr/include/x86_64-linux-gnu/bits/types.h + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h + /usr/include/x86_64-linux-gnu/bits/types/error_t.h + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h + /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h + /usr/include/x86_64-linux-gnu/bits/types/time_t.h + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h + /usr/include/x86_64-linux-gnu/bits/typesizes.h + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h + /usr/include/x86_64-linux-gnu/bits/uio-ext.h + /usr/include/x86_64-linux-gnu/bits/uio_lim.h + /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h + /usr/include/x86_64-linux-gnu/gnu/stubs.h + /usr/include/x86_64-linux-gnu/sys/cdefs.h + /usr/include/x86_64-linux-gnu/sys/select.h + /usr/include/x86_64-linux-gnu/sys/stat.h + /usr/include/x86_64-linux-gnu/sys/statvfs.h + /usr/include/x86_64-linux-gnu/sys/types.h + /usr/include/x86_64-linux-gnu/sys/uio.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o + /home/diya_limbani/FastDevFs/src/src/fuse_functions/statfs.cpp + /home/diya_limbani/FastDevFs/src/include/fuse_functions/statfs.h + /usr/include/asm-generic/bitsperlong.h + /usr/include/asm-generic/int-ll64.h + /usr/include/asm-generic/posix_types.h + /usr/include/asm-generic/types.h + /usr/include/c++/13/cstring + /usr/include/c++/13/pstl/pstl_config.h + /usr/include/endian.h + /usr/include/fcntl.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/fuse3/fuse.h + /usr/include/fuse3/fuse_common.h + /usr/include/fuse3/fuse_log.h + /usr/include/fuse3/fuse_opt.h + /usr/include/fuse3/libfuse_config.h + /usr/include/linux/falloc.h + /usr/include/linux/posix_types.h + /usr/include/linux/stat.h + /usr/include/linux/stddef.h + /usr/include/linux/types.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/time.h + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h + /usr/include/x86_64-linux-gnu/asm/posix_types.h + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h + /usr/include/x86_64-linux-gnu/asm/types.h + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/x86_64-linux-gnu/bits/byteswap.h + /usr/include/x86_64-linux-gnu/bits/endian.h + /usr/include/x86_64-linux-gnu/bits/endianness.h + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h + /usr/include/x86_64-linux-gnu/bits/fcntl.h + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h + /usr/include/x86_64-linux-gnu/bits/select.h + /usr/include/x86_64-linux-gnu/bits/stat.h + /usr/include/x86_64-linux-gnu/bits/statvfs.h + /usr/include/x86_64-linux-gnu/bits/statx-generic.h + /usr/include/x86_64-linux-gnu/bits/statx.h + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h + /usr/include/x86_64-linux-gnu/bits/stdint-least.h + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h + /usr/include/x86_64-linux-gnu/bits/struct_stat.h + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h + /usr/include/x86_64-linux-gnu/bits/time.h + /usr/include/x86_64-linux-gnu/bits/time64.h + /usr/include/x86_64-linux-gnu/bits/timesize.h + /usr/include/x86_64-linux-gnu/bits/timex.h + /usr/include/x86_64-linux-gnu/bits/types.h + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h diff --git a/build/CMakeFiles/FastDevFS.dir/compiler_depend.make b/build/CMakeFiles/FastDevFS.dir/compiler_depend.make index 742a53d..c9d5f82 100644 --- a/build/CMakeFiles/FastDevFS.dir/compiler_depend.make +++ b/build/CMakeFiles/FastDevFS.dir/compiler_depend.make @@ -2,9 +2,15 @@ # Generated by "Unix Makefiles" Generator, CMake Version 3.28 CMakeFiles/FastDevFS.dir/main.cpp.o: /home/diya_limbani/FastDevFs/main.cpp \ + /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ + /home/diya_limbani/FastDevFs/src/include/fuse_functions/access.h \ /home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h \ + /home/diya_limbani/FastDevFs/src/include/fuse_functions/mkdir.h \ /home/diya_limbani/FastDevFs/src/include/fuse_functions/opendir.h \ /home/diya_limbani/FastDevFs/src/include/fuse_functions/readdir.h \ + /home/diya_limbani/FastDevFs/src/include/fuse_functions/rmdir.h \ + /home/diya_limbani/FastDevFs/src/include/fuse_functions/statfs.h \ /usr/include/alloca.h \ /usr/include/asm-generic/bitsperlong.h \ /usr/include/asm-generic/errno-base.h \ @@ -226,10 +232,225 @@ CMakeFiles/FastDevFS.dir/main.cpp.o: /home/diya_limbani/FastDevFs/main.cpp \ /usr/include/x86_64-linux-gnu/sys/types.h \ /usr/include/x86_64-linux-gnu/sys/uio.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp \ + /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ + /usr/include/c++/13/cstdio \ + /usr/include/c++/13/pstl/pstl_config.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/pthread.h \ + /usr/include/sched.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/x86_64-linux-gnu/bits/cpu-set.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endianness.h \ + /usr/include/x86_64-linux-gnu/bits/floatn-common.h \ + /usr/include/x86_64-linux-gnu/bits/floatn.h \ + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/time64.h \ + /usr/include/x86_64-linux-gnu/bits/timesize.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp \ + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/x86_64-linux-gnu/bits/time64.h \ + /usr/include/x86_64-linux-gnu/bits/timesize.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/access.cpp \ + /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ + /home/diya_limbani/FastDevFs/src/include/fuse_functions/access.h \ + /usr/include/asm-generic/bitsperlong.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/int-ll64.h \ + /usr/include/asm-generic/posix_types.h \ + /usr/include/asm-generic/types.h \ + /usr/include/c++/13/cerrno \ + /usr/include/c++/13/pstl/pstl_config.h \ + /usr/include/endian.h \ + /usr/include/errno.h \ + /usr/include/fcntl.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/fuse3/fuse.h \ + /usr/include/fuse3/fuse_common.h \ + /usr/include/fuse3/fuse_log.h \ + /usr/include/fuse3/fuse_opt.h \ + /usr/include/fuse3/libfuse_config.h \ + /usr/include/linux/errno.h \ + /usr/include/linux/falloc.h \ + /usr/include/linux/posix_types.h \ + /usr/include/linux/stat.h \ + /usr/include/linux/stddef.h \ + /usr/include/linux/types.h \ + /usr/include/pthread.h \ + /usr/include/sched.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ + /usr/include/x86_64-linux-gnu/asm/errno.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \ + /usr/include/x86_64-linux-gnu/asm/types.h \ + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/cpu-set.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endianness.h \ + /usr/include/x86_64-linux-gnu/bits/errno.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl.h \ + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/bits/stat.h \ + /usr/include/x86_64-linux-gnu/bits/statvfs.h \ + /usr/include/x86_64-linux-gnu/bits/statx-generic.h \ + /usr/include/x86_64-linux-gnu/bits/statx.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/x86_64-linux-gnu/bits/struct_stat.h \ + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/time64.h \ + /usr/include/x86_64-linux-gnu/bits/timesize.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ + /usr/include/x86_64-linux-gnu/bits/uio-ext.h \ + /usr/include/x86_64-linux-gnu/bits/uio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/sys/stat.h \ + /usr/include/x86_64-linux-gnu/sys/statvfs.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/uio.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp \ + /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ /home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h \ /usr/include/asm-generic/bitsperlong.h \ /usr/include/asm-generic/errno-base.h \ @@ -250,19 +471,366 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o: /home/diya_limban /usr/include/fuse3/fuse_log.h \ /usr/include/fuse3/fuse_opt.h \ /usr/include/fuse3/libfuse_config.h \ - /usr/include/linux/close_range.h \ + /usr/include/linux/close_range.h \ + /usr/include/linux/errno.h \ + /usr/include/linux/falloc.h \ + /usr/include/linux/posix_types.h \ + /usr/include/linux/stat.h \ + /usr/include/linux/stddef.h \ + /usr/include/linux/types.h \ + /usr/include/pthread.h \ + /usr/include/sched.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/time.h \ + /usr/include/unistd.h \ + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ + /usr/include/x86_64-linux-gnu/asm/errno.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \ + /usr/include/x86_64-linux-gnu/asm/types.h \ + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/confname.h \ + /usr/include/x86_64-linux-gnu/bits/cpu-set.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endianness.h \ + /usr/include/x86_64-linux-gnu/bits/environments.h \ + /usr/include/x86_64-linux-gnu/bits/errno.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_core.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \ + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/bits/stat.h \ + /usr/include/x86_64-linux-gnu/bits/statvfs.h \ + /usr/include/x86_64-linux-gnu/bits/statx-generic.h \ + /usr/include/x86_64-linux-gnu/bits/statx.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/x86_64-linux-gnu/bits/struct_stat.h \ + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/time64.h \ + /usr/include/x86_64-linux-gnu/bits/timesize.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ + /usr/include/x86_64-linux-gnu/bits/uio-ext.h \ + /usr/include/x86_64-linux-gnu/bits/uio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/sys/stat.h \ + /usr/include/x86_64-linux-gnu/sys/statvfs.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/uio.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/mkdir.cpp \ + /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ + /home/diya_limbani/FastDevFs/src/include/fuse_functions/mkdir.h \ + /usr/include/asm-generic/bitsperlong.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/int-ll64.h \ + /usr/include/asm-generic/posix_types.h \ + /usr/include/asm-generic/types.h \ + /usr/include/c++/13/cerrno \ + /usr/include/c++/13/cstring \ + /usr/include/c++/13/pstl/pstl_config.h \ + /usr/include/endian.h \ + /usr/include/errno.h \ + /usr/include/fcntl.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/fuse3/fuse.h \ + /usr/include/fuse3/fuse_common.h \ + /usr/include/fuse3/fuse_log.h \ + /usr/include/fuse3/fuse_opt.h \ + /usr/include/fuse3/libfuse_config.h \ + /usr/include/linux/errno.h \ + /usr/include/linux/falloc.h \ + /usr/include/linux/posix_types.h \ + /usr/include/linux/stat.h \ + /usr/include/linux/stddef.h \ + /usr/include/linux/types.h \ + /usr/include/pthread.h \ + /usr/include/sched.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ + /usr/include/x86_64-linux-gnu/asm/errno.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \ + /usr/include/x86_64-linux-gnu/asm/types.h \ + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/cpu-set.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endianness.h \ + /usr/include/x86_64-linux-gnu/bits/errno.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl.h \ + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/bits/stat.h \ + /usr/include/x86_64-linux-gnu/bits/statvfs.h \ + /usr/include/x86_64-linux-gnu/bits/statx-generic.h \ + /usr/include/x86_64-linux-gnu/bits/statx.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/x86_64-linux-gnu/bits/struct_stat.h \ + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/time64.h \ + /usr/include/x86_64-linux-gnu/bits/timesize.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ + /usr/include/x86_64-linux-gnu/bits/uio-ext.h \ + /usr/include/x86_64-linux-gnu/bits/uio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/sys/stat.h \ + /usr/include/x86_64-linux-gnu/sys/statvfs.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/uio.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp \ + /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ + /home/diya_limbani/FastDevFs/src/include/fuse_functions/opendir.h \ + /usr/include/asm-generic/bitsperlong.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/int-ll64.h \ + /usr/include/asm-generic/posix_types.h \ + /usr/include/asm-generic/types.h \ + /usr/include/c++/13/cerrno \ + /usr/include/c++/13/cstring \ + /usr/include/c++/13/pstl/pstl_config.h \ + /usr/include/endian.h \ + /usr/include/errno.h \ + /usr/include/fcntl.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/fuse3/fuse.h \ + /usr/include/fuse3/fuse_common.h \ + /usr/include/fuse3/fuse_log.h \ + /usr/include/fuse3/fuse_opt.h \ + /usr/include/fuse3/libfuse_config.h \ + /usr/include/linux/errno.h \ + /usr/include/linux/falloc.h \ + /usr/include/linux/posix_types.h \ + /usr/include/linux/stat.h \ + /usr/include/linux/stddef.h \ + /usr/include/linux/types.h \ + /usr/include/pthread.h \ + /usr/include/sched.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ + /usr/include/x86_64-linux-gnu/asm/errno.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \ + /usr/include/x86_64-linux-gnu/asm/types.h \ + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/cpu-set.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endianness.h \ + /usr/include/x86_64-linux-gnu/bits/errno.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl.h \ + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/bits/stat.h \ + /usr/include/x86_64-linux-gnu/bits/statvfs.h \ + /usr/include/x86_64-linux-gnu/bits/statx-generic.h \ + /usr/include/x86_64-linux-gnu/bits/statx.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/x86_64-linux-gnu/bits/struct_stat.h \ + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/time64.h \ + /usr/include/x86_64-linux-gnu/bits/timesize.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ + /usr/include/x86_64-linux-gnu/bits/uio-ext.h \ + /usr/include/x86_64-linux-gnu/bits/uio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/sys/stat.h \ + /usr/include/x86_64-linux-gnu/sys/statvfs.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/uio.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/readdir.cpp \ + /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ + /home/diya_limbani/FastDevFs/src/include/fuse_functions/readdir.h \ + /usr/include/asm-generic/bitsperlong.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/int-ll64.h \ + /usr/include/asm-generic/posix_types.h \ + /usr/include/asm-generic/types.h \ + /usr/include/c++/13/cerrno \ + /usr/include/c++/13/cstring \ + /usr/include/c++/13/pstl/pstl_config.h \ + /usr/include/endian.h \ + /usr/include/errno.h \ + /usr/include/fcntl.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/fuse3/fuse.h \ + /usr/include/fuse3/fuse_common.h \ + /usr/include/fuse3/fuse_log.h \ + /usr/include/fuse3/fuse_opt.h \ + /usr/include/fuse3/libfuse_config.h \ /usr/include/linux/errno.h \ /usr/include/linux/falloc.h \ /usr/include/linux/posix_types.h \ /usr/include/linux/stat.h \ /usr/include/linux/stddef.h \ /usr/include/linux/types.h \ + /usr/include/pthread.h \ + /usr/include/sched.h \ /usr/include/stdc-predef.h \ /usr/include/stdint.h \ /usr/include/string.h \ /usr/include/strings.h \ /usr/include/time.h \ - /usr/include/unistd.h \ /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ /usr/include/x86_64-linux-gnu/asm/errno.h \ /usr/include/x86_64-linux-gnu/asm/posix_types.h \ @@ -270,21 +838,20 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/asm/types.h \ /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ /usr/include/x86_64-linux-gnu/bits/byteswap.h \ - /usr/include/x86_64-linux-gnu/bits/confname.h \ + /usr/include/x86_64-linux-gnu/bits/cpu-set.h \ /usr/include/x86_64-linux-gnu/bits/endian.h \ /usr/include/x86_64-linux-gnu/bits/endianness.h \ - /usr/include/x86_64-linux-gnu/bits/environments.h \ /usr/include/x86_64-linux-gnu/bits/errno.h \ /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ /usr/include/x86_64-linux-gnu/bits/fcntl.h \ - /usr/include/x86_64-linux-gnu/bits/getopt_core.h \ - /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \ /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ /usr/include/x86_64-linux-gnu/bits/long-double.h \ - /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ /usr/include/x86_64-linux-gnu/bits/stat.h \ /usr/include/x86_64-linux-gnu/bits/statvfs.h \ /usr/include/x86_64-linux-gnu/bits/statx-generic.h \ @@ -308,8 +875,10 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ @@ -321,7 +890,6 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ /usr/include/x86_64-linux-gnu/bits/uio-ext.h \ /usr/include/x86_64-linux-gnu/bits/uio_lim.h \ - /usr/include/x86_64-linux-gnu/bits/unistd_ext.h \ /usr/include/x86_64-linux-gnu/bits/wchar.h \ /usr/include/x86_64-linux-gnu/bits/wordsize.h \ /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ @@ -336,11 +904,14 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/sys/types.h \ /usr/include/x86_64-linux-gnu/sys/uio.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp \ - /home/diya_limbani/FastDevFs/src/include/fuse_functions/opendir.h \ +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/rmdir.cpp \ + /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ + /home/diya_limbani/FastDevFs/src/include/fuse_functions/rmdir.h \ /usr/include/asm-generic/bitsperlong.h \ /usr/include/asm-generic/errno-base.h \ /usr/include/asm-generic/errno.h \ @@ -366,6 +937,8 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o: /home/diya_limban /usr/include/linux/stat.h \ /usr/include/linux/stddef.h \ /usr/include/linux/types.h \ + /usr/include/pthread.h \ + /usr/include/sched.h \ /usr/include/stdc-predef.h \ /usr/include/stdint.h \ /usr/include/string.h \ @@ -378,6 +951,7 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/asm/types.h \ /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/cpu-set.h \ /usr/include/x86_64-linux-gnu/bits/endian.h \ /usr/include/x86_64-linux-gnu/bits/endianness.h \ /usr/include/x86_64-linux-gnu/bits/errno.h \ @@ -385,9 +959,12 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/bits/fcntl.h \ /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ /usr/include/x86_64-linux-gnu/bits/stat.h \ /usr/include/x86_64-linux-gnu/bits/statvfs.h \ /usr/include/x86_64-linux-gnu/bits/statx-generic.h \ @@ -411,8 +988,10 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ @@ -438,22 +1017,19 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/sys/types.h \ /usr/include/x86_64-linux-gnu/sys/uio.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/readdir.cpp \ - /home/diya_limbani/FastDevFs/src/include/fuse_functions/readdir.h \ +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/statfs.cpp \ + /home/diya_limbani/FastDevFs/src/include/fuse_functions/statfs.h \ /usr/include/asm-generic/bitsperlong.h \ - /usr/include/asm-generic/errno-base.h \ - /usr/include/asm-generic/errno.h \ /usr/include/asm-generic/int-ll64.h \ /usr/include/asm-generic/posix_types.h \ /usr/include/asm-generic/types.h \ - /usr/include/c++/13/cerrno \ /usr/include/c++/13/cstring \ /usr/include/c++/13/pstl/pstl_config.h \ /usr/include/endian.h \ - /usr/include/errno.h \ /usr/include/fcntl.h \ /usr/include/features-time64.h \ /usr/include/features.h \ @@ -462,7 +1038,6 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limban /usr/include/fuse3/fuse_log.h \ /usr/include/fuse3/fuse_opt.h \ /usr/include/fuse3/libfuse_config.h \ - /usr/include/linux/errno.h \ /usr/include/linux/falloc.h \ /usr/include/linux/posix_types.h \ /usr/include/linux/stat.h \ @@ -474,7 +1049,6 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limban /usr/include/strings.h \ /usr/include/time.h \ /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ - /usr/include/x86_64-linux-gnu/asm/errno.h \ /usr/include/x86_64-linux-gnu/asm/posix_types.h \ /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \ /usr/include/x86_64-linux-gnu/asm/types.h \ @@ -482,7 +1056,6 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/bits/byteswap.h \ /usr/include/x86_64-linux-gnu/bits/endian.h \ /usr/include/x86_64-linux-gnu/bits/endianness.h \ - /usr/include/x86_64-linux-gnu/bits/errno.h \ /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ /usr/include/x86_64-linux-gnu/bits/fcntl.h \ /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ @@ -510,7 +1083,6 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ - /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \ @@ -546,6 +1118,8 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limban /home/diya_limbani/FastDevFs/src/src/fuse_functions/readdir.cpp: +/home/diya_limbani/FastDevFs/src/src/fuse_functions/mkdir.cpp: + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h: /usr/include/x86_64-linux-gnu/bits/posix_opt.h: @@ -556,7 +1130,7 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limban /usr/include/c++/13/cstring: -/usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h: +/home/diya_limbani/FastDevFs/src/src/fuse_functions/access.cpp: /home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp: @@ -572,8 +1146,6 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h: -/usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h: - /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h: /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h: @@ -594,10 +1166,6 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h: -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: - -/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h: - /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h: /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h: @@ -614,6 +1182,8 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h: +/home/diya_limbani/FastDevFs/src/src/fuse_functions/statfs.cpp: + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h: /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h: @@ -700,11 +1270,9 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/asm/errno.h: -/usr/include/c++/13/bits/stl_construct.h: - -/usr/include/x86_64-linux-gnu/sys/uio.h: +/usr/include/stdlib.h: -/usr/include/c++/13/bits/stl_algobase.h: +/usr/include/stdio.h: /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h: @@ -714,6 +1282,16 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limban /usr/include/c++/13/stdexcept: +/home/diya_limbani/FastDevFs/src/include/fuse_functions/access.h: + +/usr/include/time.h: + +/usr/include/c++/13/bits/memoryfwd.h: + +/usr/include/wchar.h: + +/usr/include/c++/13/bits/memory_resource.h: + /usr/include/x86_64-linux-gnu/bits/environments.h: /usr/include/c++/13/bits/invoke.h: @@ -724,9 +1302,7 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limban /usr/include/c++/13/bits/allocator.h: -/usr/include/c++/13/bits/locale_classes.h: - -/usr/include/ctype.h: +/usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h: /usr/include/x86_64-linux-gnu/bits/types/clock_t.h: @@ -738,61 +1314,69 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limban /usr/include/c++/13/bits/ios_base.h: -/home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h: +/usr/include/c++/13/bits/nested_exception.h: -/home/diya_limbani/FastDevFs/src/include/fuse_functions/opendir.h: +/usr/include/c++/13/bits/istream.tcc: -/usr/include/pthread.h: +/usr/include/c++/13/bits/exception_ptr.h: -/usr/include/c++/13/bits/nested_exception.h: +/usr/include/c++/13/bits/cxxabi_forced.h: -/usr/include/c++/13/bits/memory_resource.h: +/usr/include/alloca.h: -/usr/include/wchar.h: +/home/diya_limbani/FastDevFs/src/include/fuse_functions/readdir.h: -/usr/include/x86_64-linux-gnu/sys/statvfs.h: +/usr/include/c++/13/bits/hash_bytes.h: -/usr/include/c++/13/bits/ostream_insert.h: +/home/diya_limbani/FastDevFs/src/include/fuse_functions/opendir.h: -/usr/include/c++/13/cwctype: +/home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h: -/usr/include/c++/13/bits/predefined_ops.h: +/home/diya_limbani/FastDevFs/src/include/fuse_functions/rmdir.h: -/usr/include/c++/13/iosfwd: +/usr/include/c++/13/bits/locale_classes.h: -/usr/include/c++/13/bits/stl_iterator_base_funcs.h: +/usr/include/ctype.h: -/usr/include/asm-generic/errno.h: +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: -/usr/include/c++/13/cwchar: +/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h: -/usr/include/x86_64-linux-gnu/asm/posix_types_64.h: +/home/diya_limbani/FastDevFs/src/include/fuse_functions/mkdir.h: -/usr/include/asm-generic/types.h: +/usr/include/c++/13/debug/assertions.h: -/usr/include/asm-generic/errno-base.h: +/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h: -/usr/include/c++/13/bits/hash_bytes.h: +/usr/include/c++/13/tuple: -/usr/include/x86_64-linux-gnu/bits/time64.h: +/usr/include/c++/13/bits/exception_defines.h: -/usr/include/c++/13/bits/basic_ios.h: +/usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h: -/usr/include/c++/13/bits/istream.tcc: +/home/diya_limbani/FastDevFs/src/include/fuse_functions/statfs.h: -/usr/include/c++/13/bits/exception_ptr.h: +/usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h: -/usr/include/alloca.h: +/home/diya_limbani/FastDevFs/src/include/daemon/hash.h: -/usr/include/c++/13/bits/move.h: +/usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h: -/usr/include/c++/13/bits/basic_string.tcc: +/usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h: -/usr/include/c++/13/bit: +/usr/include/c++/13/bits/ptr_traits.h: -/usr/include/x86_64-linux-gnu/sys/single_threaded.h: +/usr/include/linux/falloc.h: -/usr/include/c++/13/type_traits: +/usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h: + +/usr/include/c++/13/bits/basic_ios.tcc: + +/usr/include/linux/stddef.h: + +/usr/include/c++/13/bits/stl_construct.h: + +/usr/include/c++/13/bits/move.h: /usr/include/x86_64-linux-gnu/bits/types.h: @@ -802,7 +1386,11 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limban /usr/include/fuse3/libfuse_config.h: -/home/diya_limbani/FastDevFs/src/include/fuse_functions/readdir.h: +/usr/include/errno.h: + +/usr/include/c++/13/bits/functional_hash.h: + +/home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h: /usr/include/c++/13/bits/locale_facets.tcc: @@ -812,73 +1400,97 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limban /usr/include/features.h: -/usr/include/c++/13/bits/stringfwd.h: +/usr/include/c++/13/cwctype: -/usr/include/x86_64-linux-gnu/bits/endianness.h: +/usr/include/c++/13/bits/predefined_ops.h: -/usr/include/c++/13/bits/basic_string.h: +/usr/include/c++/13/iosfwd: -/usr/include/asm-generic/posix_types.h: +/usr/include/c++/13/cwchar: -/usr/include/stdc-predef.h: +/usr/include/x86_64-linux-gnu/sys/statvfs.h: -/usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h: +/usr/include/c++/13/bits/ostream_insert.h: -/usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h: +/usr/include/x86_64-linux-gnu/bits/uintn-identity.h: -/usr/include/c++/13/bits/ptr_traits.h: +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: -/usr/include/linux/falloc.h: +/usr/include/c++/13/bits/exception.h: -/usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h: +/usr/include/c++/13/streambuf: -/usr/include/c++/13/bits/basic_ios.tcc: +/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h: -/usr/include/linux/stddef.h: +/usr/include/c++/13/bits/localefwd.h: -/usr/include/c++/13/bits/stl_iterator_base_types.h: +/usr/include/linux/posix_types.h: /usr/include/asm-generic/int-ll64.h: -/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h: - -/usr/include/linux/posix_types.h: - -/usr/include/c++/13/bits/localefwd.h: +/home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp: -/usr/include/c++/13/bits/exception_defines.h: +/usr/include/x86_64-linux-gnu/asm/posix_types_64.h: -/usr/include/c++/13/bits/locale_facets.h: +/usr/include/asm-generic/errno-base.h: -/usr/include/c++/13/bits/memoryfwd.h: +/usr/include/asm-generic/types.h: -/usr/include/time.h: +/usr/include/pthread.h: -/usr/include/c++/13/bits/cxxabi_forced.h: +/usr/include/x86_64-linux-gnu/bits/time64.h: -/home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp: +/usr/include/c++/13/bits/basic_ios.h: -/usr/include/c++/13/string: +/usr/include/c++/13/bits/basic_string.tcc: -/usr/include/x86_64-linux-gnu/bits/uintn-identity.h: +/usr/include/c++/13/bit: -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: +/usr/include/x86_64-linux-gnu/sys/single_threaded.h: -/usr/include/c++/13/streambuf: +/usr/include/c++/13/type_traits: -/usr/include/c++/13/bits/exception.h: +/usr/include/c++/13/ios: /usr/include/c++/13/bits/concept_check.h: /usr/include/c++/13/bits/alloc_traits.h: +/usr/include/c++/13/bits/stringfwd.h: + +/usr/include/x86_64-linux-gnu/bits/endianness.h: + +/usr/include/c++/13/bits/basic_string.h: + +/usr/include/asm-generic/posix_types.h: + +/usr/include/stdc-predef.h: + +/usr/include/c++/13/bits/locale_facets.h: + +/usr/include/x86_64-linux-gnu/sys/uio.h: + +/usr/include/c++/13/bits/stl_algobase.h: + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h: +/usr/include/c++/13/bits/functexcept.h: + /usr/include/c++/13/bits/stl_iterator.h: -/usr/include/c++/13/bits/functexcept.h: +/home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp: -/usr/include/c++/13/ios: +/usr/include/c++/13/string: + +/home/diya_limbani/FastDevFs/src/src/fuse_functions/rmdir.cpp: + +/home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp: + +/usr/include/asm-generic/errno.h: + +/usr/include/c++/13/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/13/bits/stl_iterator_base_types.h: /usr/include/c++/13/bits/std_abs.h: @@ -886,6 +1498,12 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limban /usr/include/c++/13/bits/uses_allocator.h: +/usr/include/x86_64-linux-gnu/bits/errno.h: + +/usr/include/wctype.h: + +/usr/include/c++/13/exception: + /usr/include/x86_64-linux-gnu/bits/long-double.h: /usr/include/c++/13/bits/new_allocator.h: @@ -904,8 +1522,6 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limban /usr/include/c++/13/cerrno: -/usr/include/stdio.h: - /usr/include/c++/13/clocale: /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h: @@ -914,24 +1530,14 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h: -/usr/include/c++/13/bits/charconv.h: - /usr/include/c++/13/bits/stl_pair.h: +/usr/include/c++/13/bits/charconv.h: + /usr/include/c++/13/cstdio: /usr/include/c++/13/cstdlib: -/usr/include/c++/13/debug/assertions.h: - -/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h: - -/usr/include/c++/13/tuple: - -/usr/include/c++/13/bits/functional_hash.h: - -/usr/include/errno.h: - /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h: /usr/include/c++/13/ext/numeric_traits.h: @@ -1008,20 +1614,12 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limban /usr/include/linux/types.h: -/usr/include/sched.h: - -/usr/include/stdint.h: - -/usr/include/stdlib.h: - -/usr/include/x86_64-linux-gnu/bits/errno.h: - -/usr/include/c++/13/exception: - -/usr/include/wctype.h: - /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h: +/usr/include/x86_64-linux-gnu/asm/bitsperlong.h: + /usr/include/locale.h: -/usr/include/x86_64-linux-gnu/asm/bitsperlong.h: +/usr/include/sched.h: + +/usr/include/stdint.h: diff --git a/build/CMakeFiles/FastDevFS.dir/link.txt b/build/CMakeFiles/FastDevFS.dir/link.txt index 26a740f..1e9de7d 100644 --- a/build/CMakeFiles/FastDevFS.dir/link.txt +++ b/build/CMakeFiles/FastDevFS.dir/link.txt @@ -1 +1 @@ -/usr/bin/c++ CMakeFiles/FastDevFS.dir/main.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o -o FastDevFS -lfuse3 -lpthread +/usr/bin/c++ CMakeFiles/FastDevFS.dir/main.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o -o FastDevFS -lfuse3 -lpthread diff --git a/build/CMakeFiles/FastDevFS.dir/progress.make b/build/CMakeFiles/FastDevFS.dir/progress.make index 33e6bff..eeadf29 100644 --- a/build/CMakeFiles/FastDevFS.dir/progress.make +++ b/build/CMakeFiles/FastDevFS.dir/progress.make @@ -3,4 +3,10 @@ CMAKE_PROGRESS_2 = 2 CMAKE_PROGRESS_3 = 3 CMAKE_PROGRESS_4 = 4 CMAKE_PROGRESS_5 = 5 +CMAKE_PROGRESS_6 = 6 +CMAKE_PROGRESS_7 = 7 +CMAKE_PROGRESS_8 = 8 +CMAKE_PROGRESS_9 = 9 +CMAKE_PROGRESS_10 = 10 +CMAKE_PROGRESS_11 = 11 diff --git a/build/CMakeFiles/Makefile2 b/build/CMakeFiles/Makefile2 index 90b8b99..249e605 100644 --- a/build/CMakeFiles/Makefile2 +++ b/build/CMakeFiles/Makefile2 @@ -98,12 +98,12 @@ test/clean: test/CMakeFiles/run_tests.dir/clean CMakeFiles/FastDevFS.dir/all: $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/depend $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=1,2,3,4,5 "Built target FastDevFS" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9,10,11 "Built target FastDevFS" .PHONY : CMakeFiles/FastDevFS.dir/all # Build rule for subdir invocation for target. CMakeFiles/FastDevFS.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles 5 + $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles 11 $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/FastDevFS.dir/all $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles 0 .PHONY : CMakeFiles/FastDevFS.dir/rule @@ -124,7 +124,7 @@ CMakeFiles/FastDevFS.dir/clean: test/CMakeFiles/run_tests.dir/all: $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/depend $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=6,7,8,9,10,11 "Built target run_tests" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=12,13,14,15,16,17 "Built target run_tests" .PHONY : test/CMakeFiles/run_tests.dir/all # Build rule for subdir invocation for target. diff --git a/build/CMakeFiles/progress.marks b/build/CMakeFiles/progress.marks index b4de394..98d9bcb 100644 --- a/build/CMakeFiles/progress.marks +++ b/build/CMakeFiles/progress.marks @@ -1 +1 @@ -11 +17 diff --git a/build/FastDevFS b/build/FastDevFS index 1a56e0710def9ae7d50e9797abc7a050f6002519..4bf8eccf8fdc9c9075e512e40a28d57c316a9389 100755 GIT binary patch literal 22496 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 diff --git a/build/Makefile b/build/Makefile index 1ca0903..7774f33 100644 --- a/build/Makefile +++ b/build/Makefile @@ -176,6 +176,78 @@ main.cpp.s: $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/main.cpp.s .PHONY : main.cpp.s +src/src/daemon/dir_manager.o: src/src/daemon/dir_manager.cpp.o +.PHONY : src/src/daemon/dir_manager.o + +# target to build an object file +src/src/daemon/dir_manager.cpp.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o +.PHONY : src/src/daemon/dir_manager.cpp.o + +src/src/daemon/dir_manager.i: src/src/daemon/dir_manager.cpp.i +.PHONY : src/src/daemon/dir_manager.i + +# target to preprocess a source file +src/src/daemon/dir_manager.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.i +.PHONY : src/src/daemon/dir_manager.cpp.i + +src/src/daemon/dir_manager.s: src/src/daemon/dir_manager.cpp.s +.PHONY : src/src/daemon/dir_manager.s + +# target to generate assembly for a file +src/src/daemon/dir_manager.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.s +.PHONY : src/src/daemon/dir_manager.cpp.s + +src/src/daemon/hash.o: src/src/daemon/hash.cpp.o +.PHONY : src/src/daemon/hash.o + +# target to build an object file +src/src/daemon/hash.cpp.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o +.PHONY : src/src/daemon/hash.cpp.o + +src/src/daemon/hash.i: src/src/daemon/hash.cpp.i +.PHONY : src/src/daemon/hash.i + +# target to preprocess a source file +src/src/daemon/hash.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.i +.PHONY : src/src/daemon/hash.cpp.i + +src/src/daemon/hash.s: src/src/daemon/hash.cpp.s +.PHONY : src/src/daemon/hash.s + +# target to generate assembly for a file +src/src/daemon/hash.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.s +.PHONY : src/src/daemon/hash.cpp.s + +src/src/fuse_functions/access.o: src/src/fuse_functions/access.cpp.o +.PHONY : src/src/fuse_functions/access.o + +# target to build an object file +src/src/fuse_functions/access.cpp.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o +.PHONY : src/src/fuse_functions/access.cpp.o + +src/src/fuse_functions/access.i: src/src/fuse_functions/access.cpp.i +.PHONY : src/src/fuse_functions/access.i + +# target to preprocess a source file +src/src/fuse_functions/access.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.i +.PHONY : src/src/fuse_functions/access.cpp.i + +src/src/fuse_functions/access.s: src/src/fuse_functions/access.cpp.s +.PHONY : src/src/fuse_functions/access.s + +# target to generate assembly for a file +src/src/fuse_functions/access.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.s +.PHONY : src/src/fuse_functions/access.cpp.s + src/src/fuse_functions/getattr.o: src/src/fuse_functions/getattr.cpp.o .PHONY : src/src/fuse_functions/getattr.o @@ -200,6 +272,30 @@ src/src/fuse_functions/getattr.cpp.s: $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.s .PHONY : src/src/fuse_functions/getattr.cpp.s +src/src/fuse_functions/mkdir.o: src/src/fuse_functions/mkdir.cpp.o +.PHONY : src/src/fuse_functions/mkdir.o + +# target to build an object file +src/src/fuse_functions/mkdir.cpp.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o +.PHONY : src/src/fuse_functions/mkdir.cpp.o + +src/src/fuse_functions/mkdir.i: src/src/fuse_functions/mkdir.cpp.i +.PHONY : src/src/fuse_functions/mkdir.i + +# target to preprocess a source file +src/src/fuse_functions/mkdir.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.i +.PHONY : src/src/fuse_functions/mkdir.cpp.i + +src/src/fuse_functions/mkdir.s: src/src/fuse_functions/mkdir.cpp.s +.PHONY : src/src/fuse_functions/mkdir.s + +# target to generate assembly for a file +src/src/fuse_functions/mkdir.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.s +.PHONY : src/src/fuse_functions/mkdir.cpp.s + src/src/fuse_functions/opendir.o: src/src/fuse_functions/opendir.cpp.o .PHONY : src/src/fuse_functions/opendir.o @@ -248,6 +344,54 @@ src/src/fuse_functions/readdir.cpp.s: $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.s .PHONY : src/src/fuse_functions/readdir.cpp.s +src/src/fuse_functions/rmdir.o: src/src/fuse_functions/rmdir.cpp.o +.PHONY : src/src/fuse_functions/rmdir.o + +# target to build an object file +src/src/fuse_functions/rmdir.cpp.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o +.PHONY : src/src/fuse_functions/rmdir.cpp.o + +src/src/fuse_functions/rmdir.i: src/src/fuse_functions/rmdir.cpp.i +.PHONY : src/src/fuse_functions/rmdir.i + +# target to preprocess a source file +src/src/fuse_functions/rmdir.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.i +.PHONY : src/src/fuse_functions/rmdir.cpp.i + +src/src/fuse_functions/rmdir.s: src/src/fuse_functions/rmdir.cpp.s +.PHONY : src/src/fuse_functions/rmdir.s + +# target to generate assembly for a file +src/src/fuse_functions/rmdir.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.s +.PHONY : src/src/fuse_functions/rmdir.cpp.s + +src/src/fuse_functions/statfs.o: src/src/fuse_functions/statfs.cpp.o +.PHONY : src/src/fuse_functions/statfs.o + +# target to build an object file +src/src/fuse_functions/statfs.cpp.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o +.PHONY : src/src/fuse_functions/statfs.cpp.o + +src/src/fuse_functions/statfs.i: src/src/fuse_functions/statfs.cpp.i +.PHONY : src/src/fuse_functions/statfs.i + +# target to preprocess a source file +src/src/fuse_functions/statfs.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.i +.PHONY : src/src/fuse_functions/statfs.cpp.i + +src/src/fuse_functions/statfs.s: src/src/fuse_functions/statfs.cpp.s +.PHONY : src/src/fuse_functions/statfs.s + +# target to generate assembly for a file +src/src/fuse_functions/statfs.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.s +.PHONY : src/src/fuse_functions/statfs.cpp.s + # Help Target help: @echo "The following are some of the valid targets for this Makefile:" @@ -262,15 +406,33 @@ help: @echo "... main.o" @echo "... main.i" @echo "... main.s" + @echo "... src/src/daemon/dir_manager.o" + @echo "... src/src/daemon/dir_manager.i" + @echo "... src/src/daemon/dir_manager.s" + @echo "... src/src/daemon/hash.o" + @echo "... src/src/daemon/hash.i" + @echo "... src/src/daemon/hash.s" + @echo "... src/src/fuse_functions/access.o" + @echo "... src/src/fuse_functions/access.i" + @echo "... src/src/fuse_functions/access.s" @echo "... src/src/fuse_functions/getattr.o" @echo "... src/src/fuse_functions/getattr.i" @echo "... src/src/fuse_functions/getattr.s" + @echo "... src/src/fuse_functions/mkdir.o" + @echo "... src/src/fuse_functions/mkdir.i" + @echo "... src/src/fuse_functions/mkdir.s" @echo "... src/src/fuse_functions/opendir.o" @echo "... src/src/fuse_functions/opendir.i" @echo "... src/src/fuse_functions/opendir.s" @echo "... src/src/fuse_functions/readdir.o" @echo "... src/src/fuse_functions/readdir.i" @echo "... src/src/fuse_functions/readdir.s" + @echo "... src/src/fuse_functions/rmdir.o" + @echo "... src/src/fuse_functions/rmdir.i" + @echo "... src/src/fuse_functions/rmdir.s" + @echo "... src/src/fuse_functions/statfs.o" + @echo "... src/src/fuse_functions/statfs.i" + @echo "... src/src/fuse_functions/statfs.s" .PHONY : help diff --git a/build/test/CMakeFiles/run_tests.dir/compiler_depend.internal b/build/test/CMakeFiles/run_tests.dir/compiler_depend.internal index 35d76c3..e03df5f 100644 --- a/build/test/CMakeFiles/run_tests.dir/compiler_depend.internal +++ b/build/test/CMakeFiles/run_tests.dir/compiler_depend.internal @@ -1,6 +1,110 @@ # CMAKE generated file: DO NOT EDIT! # Generated by "Unix Makefiles" Generator, CMake Version 3.28 +test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o + /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp + /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h + /usr/include/c++/13/cstdio + /usr/include/c++/13/pstl/pstl_config.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/pthread.h + /usr/include/sched.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/stdio.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/time.h + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/x86_64-linux-gnu/bits/cpu-set.h + /usr/include/x86_64-linux-gnu/bits/endian.h + /usr/include/x86_64-linux-gnu/bits/endianness.h + /usr/include/x86_64-linux-gnu/bits/floatn-common.h + /usr/include/x86_64-linux-gnu/bits/floatn.h + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h + /usr/include/x86_64-linux-gnu/bits/sched.h + /usr/include/x86_64-linux-gnu/bits/setjmp.h + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h + /usr/include/x86_64-linux-gnu/bits/stdint-least.h + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h + /usr/include/x86_64-linux-gnu/bits/time.h + /usr/include/x86_64-linux-gnu/bits/time64.h + /usr/include/x86_64-linux-gnu/bits/timesize.h + /usr/include/x86_64-linux-gnu/bits/timex.h + /usr/include/x86_64-linux-gnu/bits/types.h + /usr/include/x86_64-linux-gnu/bits/types/FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h + /usr/include/x86_64-linux-gnu/bits/types/time_t.h + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h + /usr/include/x86_64-linux-gnu/bits/typesizes.h + /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h + /usr/include/x86_64-linux-gnu/gnu/stubs.h + /usr/include/x86_64-linux-gnu/sys/cdefs.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o + /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h + /usr/include/x86_64-linux-gnu/bits/stdint-least.h + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h + /usr/include/x86_64-linux-gnu/bits/time64.h + /usr/include/x86_64-linux-gnu/bits/timesize.h + /usr/include/x86_64-linux-gnu/bits/types.h + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/typesizes.h + /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h + /usr/include/x86_64-linux-gnu/gnu/stubs.h + /usr/include/x86_64-linux-gnu/sys/cdefs.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + test/CMakeFiles/run_tests.dir/persistence_test.cpp.o /home/diya_limbani/FastDevFs/test/persistence_test.cpp /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h diff --git a/build/test/CMakeFiles/run_tests.dir/compiler_depend.make b/build/test/CMakeFiles/run_tests.dir/compiler_depend.make index f4f41b2..e09a802 100644 --- a/build/test/CMakeFiles/run_tests.dir/compiler_depend.make +++ b/build/test/CMakeFiles/run_tests.dir/compiler_depend.make @@ -1,6 +1,108 @@ # CMAKE generated file: DO NOT EDIT! # Generated by "Unix Makefiles" Generator, CMake Version 3.28 +test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp \ + /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ + /usr/include/c++/13/cstdio \ + /usr/include/c++/13/pstl/pstl_config.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/pthread.h \ + /usr/include/sched.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/x86_64-linux-gnu/bits/cpu-set.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endianness.h \ + /usr/include/x86_64-linux-gnu/bits/floatn-common.h \ + /usr/include/x86_64-linux-gnu/bits/floatn.h \ + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/time64.h \ + /usr/include/x86_64-linux-gnu/bits/timesize.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp \ + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/x86_64-linux-gnu/bits/time64.h \ + /usr/include/x86_64-linux-gnu/bits/timesize.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + test/CMakeFiles/run_tests.dir/persistence_test.cpp.o: /home/diya_limbani/FastDevFs/test/persistence_test.cpp \ /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ @@ -1066,8 +1168,6 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/include/c++/13/bits/this_thread_sleep.h: -/usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h: - /usr/include/x86_64-linux-gnu/sys/ucontext.h: /usr/include/x86_64-linux-gnu/sys/types.h: @@ -1078,104 +1178,40 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/include/x86_64-linux-gnu/sys/mman.h: -/usr/include/x86_64-linux-gnu/sys/cdefs.h: - -/usr/include/x86_64-linux-gnu/gnu/stubs.h: - /usr/include/x86_64-linux-gnu/c++/13/bits/time_members.h: -/usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h: - /usr/include/x86_64-linux-gnu/c++/13/bits/messages_members.h: /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h: /usr/include/x86_64-linux-gnu/c++/13/bits/cxxabi_tweaks.h: -/usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h: - /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h: -/usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h: - /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h: -/usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h: - -/usr/include/x86_64-linux-gnu/bits/wordsize.h: - /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h: -/usr/include/x86_64-linux-gnu/bits/wchar.h: - /usr/include/x86_64-linux-gnu/bits/waitflags.h: /usr/include/x86_64-linux-gnu/bits/unistd_ext.h: /usr/include/x86_64-linux-gnu/bits/uintn-identity.h: -/usr/include/x86_64-linux-gnu/bits/typesizes.h: - -/usr/include/x86_64-linux-gnu/bits/types/timer_t.h: - -/usr/include/x86_64-linux-gnu/bits/types/time_t.h: - /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h: -/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h: - -/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h: - /usr/include/x86_64-linux-gnu/bits/types/stack_t.h: /usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h: /usr/include/x86_64-linux-gnu/bits/types/sigevent_t.h: -/usr/include/x86_64-linux-gnu/bits/types/locale_t.h: - /usr/include/x86_64-linux-gnu/bits/types/idtype_t.h: -/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h: - -/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h: - -/usr/include/x86_64-linux-gnu/bits/types/clock_t.h: - /usr/include/x86_64-linux-gnu/bits/types/__sigval_t.h: -/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h: - -/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h: - -/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h: - -/usr/include/x86_64-linux-gnu/bits/types/__FILE.h: - -/usr/include/x86_64-linux-gnu/bits/types/FILE.h: - -/usr/include/x86_64-linux-gnu/bits/types.h: - -/usr/include/x86_64-linux-gnu/bits/time64.h: - /usr/include/x86_64-linux-gnu/bits/struct_stat.h: -/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h: - -/usr/include/x86_64-linux-gnu/bits/struct_mutex.h: - -/usr/include/x86_64-linux-gnu/bits/timex.h: - -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: - -/usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h: - -/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h: - -/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h: - -/usr/include/x86_64-linux-gnu/bits/stdint-least.h: - /usr/include/x86_64-linux-gnu/bits/statx-generic.h: /usr/include/x86_64-linux-gnu/bits/types/sig_atomic_t.h: @@ -1188,10 +1224,6 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/include/x86_64-linux-gnu/bits/sigstksz.h: -/usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h: - -/usr/include/x86_64-linux-gnu/bits/siginfo-consts.h: - /usr/include/x86_64-linux-gnu/bits/siginfo-consts-arch.h: /usr/include/x86_64-linux-gnu/bits/siginfo-arch.h: @@ -1200,594 +1232,668 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/include/x86_64-linux-gnu/bits/sigaction.h: -/usr/include/c++/13/ctime: +/usr/include/x86_64-linux-gnu/bits/posix_opt.h: -/usr/include/c++/13/cstdio: +/usr/include/x86_64-linux-gnu/bits/mman_ext.h: -/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h: +/usr/include/x86_64-linux-gnu/bits/mman-shared.h: -/usr/include/c++/13/bits/charconv.h: +/usr/include/x86_64-linux-gnu/bits/mman-linux.h: -/usr/include/c++/13/clocale: +/usr/include/x86_64-linux-gnu/bits/locale.h: -/usr/include/c++/13/cerrno: +/usr/include/x86_64-linux-gnu/bits/getopt_core.h: -/usr/include/c++/13/cstdint: +/usr/include/x86_64-linux-gnu/bits/fcntl.h: -/usr/include/c++/13/cstdlib: +/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h: -/usr/include/c++/13/cctype: +/usr/include/x86_64-linux-gnu/bits/byteswap.h: -/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h: +/usr/include/x86_64-linux-gnu/asm/types.h: -/usr/include/c++/13/ext/atomicity.h: +/usr/include/x86_64-linux-gnu/asm/errno.h: -/usr/include/c++/13/variant: +/usr/include/x86_64-linux-gnu/asm/bitsperlong.h: -/usr/include/c++/13/bits/stl_function.h: +/usr/include/x86_64-linux-gnu/bits/statx.h: -/usr/include/x86_64-linux-gnu/bits/fcntl.h: +/usr/include/unistd.h: -/usr/include/c++/13/bits/uses_allocator_args.h: +/usr/include/stdlib.h: -/usr/include/c++/13/bits/atomic_base.h: +/usr/include/regex.h: -/usr/include/c++/13/cstring: +/usr/include/locale.h: -/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h: +/usr/include/linux/types.h: -/usr/include/c++/13/bits/unique_ptr.h: +/usr/include/linux/stddef.h: -/usr/include/c++/13/bits/streambuf.tcc: +/usr/include/linux/falloc.h: -/usr/include/c++/13/bits/unordered_map.h: +/usr/include/linux/close_range.h: -/usr/include/c++/13/bits/quoted_string.h: +/usr/include/libintl.h: -/usr/include/c++/13/bits/new_allocator.h: +/usr/include/gtest/internal/gtest-type-util.h: -/usr/include/c++/13/bits/stl_uninitialized.h: +/usr/include/gtest/internal/gtest-string.h: -/usr/include/x86_64-linux-gnu/bits/types/sigval_t.h: +/usr/include/gtest/internal/gtest-port.h: -/usr/include/c++/13/bits/stl_map.h: +/usr/include/gtest/internal/gtest-port-arch.h: -/usr/include/c++/13/locale: +/usr/include/gtest/internal/gtest-param-util.h: -/usr/include/c++/13/bits/stl_relops.h: +/usr/include/x86_64-linux-gnu/bits/sigevent-consts.h: -/usr/include/c++/13/bits/stream_iterator.h: +/usr/include/gtest/internal/gtest-filepath.h: -/usr/include/c++/13/bits/enable_special_members.h: +/usr/include/gtest/internal/gtest-death-test-internal.h: -/usr/include/c++/13/bits/stl_raw_storage_iter.h: +/usr/include/gtest/internal/custom/gtest-printers.h: -/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h: +/usr/include/gtest/internal/custom/gtest-port.h: -/usr/include/asm-generic/errno.h: +/usr/include/gtest/gtest_prod.h: -/usr/include/c++/13/bits/functexcept.h: +/usr/include/linux/stat.h: -/usr/include/x86_64-linux-gnu/bits/libc-header-start.h: +/usr/include/c++/13/bits/locale_facets.tcc: -/usr/include/c++/13/bits/stl_bvector.h: +/usr/include/c++/13/thread: -/usr/include/gtest/gtest-printers.h: +/home/diya_limbani/FastDevFs/test/persistence_test.cpp: -/usr/include/c++/13/bits/stl_algobase.h: +/usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h: -/usr/include/c++/13/bits/stl_algo.h: +/usr/include/x86_64-linux-gnu/bits/mman-map-flags-generic.h: -/usr/include/c++/13/cstddef: +/usr/include/gtest/gtest_pred_impl.h: -/home/diya_limbani/FastDevFs/test/test_dir_manager.cpp: +/usr/include/x86_64-linux-gnu/bits/types/error_t.h: -/usr/include/c++/13/bits/uses_allocator.h: +/usr/include/c++/13/bits/hashtable.h: -/usr/include/c++/13/bits/stl_multiset.h: +/usr/include/c++/13/bits/functexcept.h: -/usr/include/c++/13/bits/postypes.h: +/usr/include/x86_64-linux-gnu/bits/libc-header-start.h: -/usr/include/c++/13/bits/sstream.tcc: +/usr/include/c++/13/bits/exception_ptr.h: -/usr/include/c++/13/ratio: +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/c++/13/bits/exception_defines.h: /usr/include/c++/13/bits/erase_if.h: -/usr/include/c++/13/bits/stringfwd.h: +/usr/include/c++/13/bits/hashtable_policy.h: -/usr/include/c++/13/bits/shared_ptr.h: +/usr/include/x86_64-linux-gnu/bits/types/clock_t.h: -/usr/include/c++/13/bits/refwrap.h: +/usr/include/c++/13/bits/cxxabi_init_exception.h: -/usr/include/c++/13/bits/std_mutex.h: +/usr/include/c++/13/typeinfo: -/usr/include/c++/13/bits/stl_construct.h: +/usr/include/c++/13/bits/cxxabi_forced.h: -/usr/include/c++/13/bits/range_access.h: +/usr/include/c++/13/bits/atomic_lockfree_defines.h: -/usr/include/c++/13/compare: +/usr/include/c++/13/bits/alloc_traits.h: -/usr/include/c++/13/system_error: +/usr/include/c++/13/bits/concept_check.h: -/usr/include/x86_64-linux-gnu/bits/mman-shared.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h: -/usr/include/c++/13/bits/std_abs.h: +/usr/include/c++/13/cstdio: -/usr/include/c++/13/bits/parse_numbers.h: +/usr/include/x86_64-linux-gnu/bits/signum-arch.h: -/usr/include/c++/13/bits/stl_set.h: +/usr/include/x86_64-linux-gnu/bits/errno.h: -/usr/include/c++/13/bits/ostream_insert.h: +/usr/include/c++/13/bits/stl_pair.h: -/usr/include/c++/13/bits/ostream.tcc: +/usr/include/c++/13/bits/basic_string.tcc: -/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h: +/usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h: -/usr/include/gtest/gtest-message.h: +/usr/include/c++/13/any: -/usr/include/c++/13/bits/move.h: +/usr/include/c++/13/backward/auto_ptr.h: -/usr/include/c++/13/bits/atomic_lockfree_defines.h: +/usr/include/assert.h: -/usr/include/x86_64-linux-gnu/asm/errno.h: +/usr/include/c++/13/bits/hash_bytes.h: -/usr/include/c++/13/bits/basic_string.h: +/usr/include/c++/13/array: -/usr/include/libintl.h: +/usr/include/x86_64-linux-gnu/sys/wait.h: -/usr/include/c++/13/atomic: +/usr/include/c++/13/bits/stl_iterator_base_funcs.h: -/usr/include/c++/13/bits/locale_facets.h: +/usr/include/asm-generic/errno-base.h: -/usr/include/c++/13/backward/binders.h: +/usr/include/c++/13/bits/exception.h: -/usr/include/gtest/internal/custom/gtest-port.h: +/home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp: -/usr/include/c++/13/bits/basic_ios.tcc: +/usr/include/alloca.h: -/usr/include/c++/13/pstl/execution_defs.h: +/usr/include/x86_64-linux-gnu/bits/mman.h: -/usr/include/linux/stddef.h: +/usr/include/c++/13/bits/align.h: -/usr/include/c++/13/bits/alloc_traits.h: +/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h: -/usr/include/c++/13/bits/concept_check.h: +/usr/include/c++/13/bits/unique_ptr.h: -/usr/include/x86_64-linux-gnu/bits/long-double.h: +/usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h: -/usr/include/c++/13/bits/algorithmfwd.h: +/usr/include/x86_64-linux-gnu/bits/environments.h: -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: +/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h: -/usr/include/c++/13/bits/node_handle.h: +/usr/include/c++/13/bits/enable_special_members.h: -/usr/include/asm-generic/posix_types.h: +/usr/include/c++/13/bits/stream_iterator.h: -/usr/include/stdc-predef.h: +/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h: -/usr/include/c++/13/bits/unique_lock.h: +/usr/include/asm-generic/types.h: -/usr/include/c++/13/mutex: +/usr/include/asm-generic/bitsperlong.h: -/usr/include/c++/13/bits/allocated_ptr.h: +/usr/include/c++/13/cctype: -/usr/include/c++/13/bit: +/usr/include/x86_64-linux-gnu/gnu/stubs.h: -/usr/include/c++/13/bits/basic_string.tcc: +/usr/include/x86_64-linux-gnu/bits/endian.h: -/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h: +/usr/include/asm-generic/int-ll64.h: -/usr/include/c++/13/bits/string_view.tcc: +/usr/include/c++/13/bits/shared_ptr_atomic.h: -/usr/include/gtest/gtest-death-test.h: +/usr/include/c++/13/set: -/usr/include/c++/13/bits/predefined_ops.h: +/usr/include/c++/13/bits/stl_bvector.h: -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: +/usr/include/gtest/gtest-printers.h: -/usr/include/c++/13/condition_variable: +/usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h: -/usr/include/x86_64-linux-gnu/bits/signum-generic.h: +/usr/include/linux/posix_types.h: -/usr/include/c++/13/iosfwd: +/usr/include/c++/13/bits/ptr_traits.h: -/usr/include/c++/13/thread: +/usr/include/c++/13/bits/functional_hash.h: -/home/diya_limbani/FastDevFs/test/persistence_test.cpp: +/usr/include/errno.h: -/usr/include/x86_64-linux-gnu/bits/timesize.h: +/usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h: -/usr/include/c++/13/bits/locale_classes.h: +/usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h: -/usr/include/gtest/internal/gtest-death-test-internal.h: +/usr/include/x86_64-linux-gnu/bits/wordsize.h: -/usr/include/c++/13/bits/functional_hash.h: +/usr/include/c++/13/pstl/pstl_config.h: -/usr/include/errno.h: +/usr/include/x86_64-linux-gnu/bits/wchar.h: -/usr/include/c++/13/bits/localefwd.h: +/usr/include/asm-generic/posix_types.h: -/usr/include/c++/13/bits/ptr_traits.h: +/usr/include/stdc-predef.h: -/usr/include/linux/posix_types.h: +/usr/include/x86_64-linux-gnu/bits/typesizes.h: -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: +/usr/include/x86_64-linux-gnu/bits/types/timer_t.h: -/usr/include/c++/13/bits/exception_defines.h: +/usr/include/x86_64-linux-gnu/bits/types.h: -/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h: +/home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp: -/usr/include/c++/13/bits/stl_vector.h: +/usr/include/x86_64-linux-gnu/bits/floatn.h: -/usr/include/c++/13/bits/stl_tempbuf.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h: -/usr/include/c++/13/bits/stl_tree.h: +/usr/include/c++/13/memory: -/usr/include/c++/13/bits/codecvt.h: +/usr/include/x86_64-linux-gnu/asm/posix_types_64.h: -/usr/include/alloca.h: +/usr/include/x86_64-linux-gnu/bits/cpu-set.h: -/usr/include/assert.h: +/usr/include/c++/13/bits/chrono.h: -/usr/include/c++/13/backward/auto_ptr.h: +/usr/include/x86_64-linux-gnu/bits/endianness.h: -/usr/include/c++/13/bits/basic_ios.h: +/usr/include/c++/13/bits/basic_string.h: -/usr/include/x86_64-linux-gnu/sys/select.h: +/usr/include/c++/13/bits/locale_facets.h: -/usr/include/c++/13/cwchar: +/usr/include/c++/13/bits/memoryfwd.h: -/usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h: +/usr/include/x86_64-linux-gnu/bits/timex.h: -/usr/include/c++/13/any: +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: -/usr/include/asm-generic/int-ll64.h: +/usr/include/x86_64-linux-gnu/bits/types/FILE.h: -/usr/include/c++/13/bits/shared_ptr_atomic.h: +/usr/include/x86_64-linux-gnu/bits/confname.h: -/usr/include/c++/13/set: +/usr/include/c++/13/bits/locale_facets_nonio.h: + +/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h: + +/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h: + +/usr/include/c++/13/bits/requires_hosted.h: + +/usr/include/x86_64-linux-gnu/bits/floatn-common.h: + +/usr/include/x86_64-linux-gnu/bits/getopt_posix.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h: + +/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h: + +/usr/include/features-time64.h: + +/usr/include/c++/13/bits/istream.tcc: + +/usr/include/c++/13/bits/locale_conv.h: + +/usr/include/c++/13/cxxabi.h: /usr/include/x86_64-linux-gnu/bits/sigstack.h: /home/diya_limbani/FastDevFs/src/include/daemon/hash.h: -/usr/include/c++/13/cxxabi.h: +/usr/include/wctype.h: -/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h: +/usr/include/sched.h: -/usr/include/asm-generic/bitsperlong.h: +/usr/include/c++/13/bits/algorithmfwd.h: -/usr/include/asm-generic/types.h: +/usr/include/x86_64-linux-gnu/bits/long-double.h: -/usr/include/x86_64-linux-gnu/sys/wait.h: +/usr/include/c++/13/bits/atomic_base.h: -/usr/include/c++/13/bits/stl_iterator_base_funcs.h: +/usr/include/c++/13/bits/uses_allocator_args.h: -/usr/include/asm-generic/errno-base.h: +/usr/include/c++/13/bits/charconv.h: -/usr/include/x86_64-linux-gnu/bits/endianness.h: +/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h: -/usr/include/c++/13/bits/chrono.h: +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: -/usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h: +/usr/include/c++/13/bits/invoke.h: -/usr/include/x86_64-linux-gnu/bits/signal_ext.h: +/home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h: -/usr/include/c++/13/bits/std_function.h: +/usr/include/gtest/gtest-death-test.h: -/usr/include/c++/13/bits/char_traits.h: +/usr/include/features.h: -/usr/include/c++/13/bits/hashtable_policy.h: +/usr/include/c++/13/ext/atomicity.h: -/usr/include/c++/13/bits/locale_conv.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h: -/usr/include/c++/13/bits/istream.tcc: +/usr/include/gtest/gtest.h: -/usr/include/c++/13/bits/exception_ptr.h: +/usr/include/pthread.h: -/usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h: +/usr/include/c++/13/atomic: -/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h: +/usr/include/c++/13/bits/locale_classes.h: -/usr/include/c++/13/bits/stl_multimap.h: +/usr/include/x86_64-linux-gnu/bits/timesize.h: -/usr/include/c++/13/bits/vector.tcc: +/usr/include/c++/13/bits/basic_ios.h: -/usr/include/c++/13/optional: +/usr/include/x86_64-linux-gnu/bits/time64.h: -/usr/include/c++/13/bits/streambuf_iterator.h: +/usr/include/x86_64-linux-gnu/bits/siginfo-consts.h: -/usr/include/c++/13/ostream: +/usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h: -/usr/include/c++/13/cassert: +/usr/include/gtest/gtest-typed-test.h: -/usr/include/c++/13/bits/cpp_type_traits.h: +/usr/include/string.h: -/usr/include/x86_64-linux-gnu/bits/mman-linux.h: +/usr/include/c++/13/backward/binders.h: -/usr/include/c++/13/bits/cxxabi_forced.h: +/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h: -/usr/include/c++/13/bits/cxxabi_init_exception.h: +/usr/include/x86_64-linux-gnu/bits/stdint-least.h: -/usr/include/c++/13/typeinfo: +/usr/include/c++/13/cerrno: -/usr/include/c++/13/bits/exception.h: +/usr/include/x86_64-linux-gnu/bits/select.h: -/usr/include/c++/13/array: +/usr/include/x86_64-linux-gnu/bits/time.h: -/usr/include/c++/13/bits/hash_bytes.h: +/usr/include/x86_64-linux-gnu/bits/struct_mutex.h: -/usr/include/x86_64-linux-gnu/bits/types/error_t.h: +/usr/include/c++/13/bits/shared_ptr.h: -/usr/include/c++/13/bits/hashtable.h: +/usr/include/x86_64-linux-gnu/bits/sched.h: -/usr/include/c++/13/bits/uniform_int_dist.h: +/usr/include/asm-generic/errno.h: -/usr/include/c++/13/bits/locale_classes.tcc: +/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h: -/usr/include/x86_64-linux-gnu/bits/confname.h: +/usr/include/c++/13/bits/range_access.h: -/usr/include/c++/13/bits/locale_facets_nonio.h: +/usr/include/c++/13/compare: -/usr/include/c++/13/bits/locale_facets_nonio.tcc: +/usr/include/c++/13/system_error: -/usr/include/c++/13/bits/stl_heap.h: +/usr/include/c++/13/bits/basic_ios.tcc: + +/usr/include/c++/13/pstl/execution_defs.h: + +/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h: + +/usr/include/c++/13/bits/refwrap.h: + +/usr/include/c++/13/string_view: + +/usr/include/c++/13/map: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h: + +/usr/include/c++/13/bits/stl_multimap.h: + +/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h: + +/usr/include/c++/13/bit: + +/usr/include/c++/13/bits/allocated_ptr.h: + +/usr/include/c++/13/clocale: + +/usr/include/x86_64-linux-gnu/bits/types/__FILE.h: + +/usr/include/x86_64-linux-gnu/bits/types/locale_t.h: + +/usr/include/c++/13/bits/stl_relops.h: + +/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h: + +/usr/include/c++/13/bits/stl_tempbuf.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h: + +/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h: + +/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h: + +/usr/include/c++/13/bits/stl_algo.h: -/usr/include/c++/13/utility: +/usr/include/c++/13/cstddef: -/home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h: +/usr/include/c++/13/ext/aligned_buffer.h: -/usr/include/c++/13/bits/invoke.h: +/usr/include/x86_64-linux-gnu/bits/types/time_t.h: -/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h: +/usr/include/c++/13/bits/locale_facets_nonio.tcc: -/usr/include/x86_64-linux-gnu/bits/environments.h: +/usr/include/c++/13/bits/localefwd.h: /usr/include/c++/13/streambuf: /usr/include/c++/13/bits/memory_resource.h: -/home/diya_limbani/FastDevFs/test/test_hash_store.cpp: +/usr/include/c++/13/bits/move.h: -/usr/include/c++/13/bits/shared_ptr_base.h: +/usr/include/c++/13/tuple: -/usr/include/wchar.h: +/usr/include/c++/13/bits/nested_exception.h: -/usr/include/c++/13/bits/memoryfwd.h: +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: -/usr/include/c++/13/debug/assertions.h: +/usr/include/c++/13/bits/node_handle.h: -/usr/include/x86_64-linux-gnu/bits/signum-arch.h: +/usr/include/c++/13/bits/ostream.tcc: -/usr/include/c++/13/bits/stl_pair.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h: -/usr/include/x86_64-linux-gnu/bits/errno.h: +/usr/include/gtest/gtest-message.h: -/usr/include/c++/13/ext/aligned_buffer.h: +/usr/include/c++/13/bits/postypes.h: -/usr/include/locale.h: +/usr/include/c++/13/bits/parse_numbers.h: -/usr/include/x86_64-linux-gnu/asm/bitsperlong.h: +/usr/include/c++/13/bits/std_abs.h: -/usr/include/c++/13/bits/align.h: +/usr/include/c++/13/bits/stl_multiset.h: -/usr/include/x86_64-linux-gnu/bits/mman.h: +/home/diya_limbani/FastDevFs/test/test_dir_manager.cpp: -/usr/include/c++/13/bits/utility.h: +/usr/include/c++/13/bits/uses_allocator.h: -/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h: +/usr/include/signal.h: -/usr/include/c++/13/ext/alloc_traits.h: +/usr/include/strings.h: -/usr/include/c++/13/new: +/usr/include/c++/13/iomanip: -/usr/include/c++/13/ext/concurrence.h: +/usr/include/c++/13/bits/predefined_ops.h: -/usr/include/linux/falloc.h: +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: -/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h: +/usr/include/c++/13/condition_variable: -/usr/include/c++/13/bits/stl_iterator.h: +/usr/include/x86_64-linux-gnu/bits/signum-generic.h: -/usr/include/c++/13/ext/numeric_traits.h: +/usr/include/c++/13/iosfwd: -/usr/include/gtest/gtest_pred_impl.h: +/usr/include/c++/13/bits/quoted_string.h: -/usr/include/x86_64-linux-gnu/bits/mman-map-flags-generic.h: +/usr/include/c++/13/bits/unordered_map.h: -/usr/include/c++/13/ext/string_conversions.h: +/home/diya_limbani/FastDevFs/test/test_hash_store.cpp: -/usr/include/c++/13/ext/type_traits.h: +/usr/include/wchar.h: -/usr/include/c++/13/functional: +/usr/include/c++/13/bits/shared_ptr_base.h: -/usr/include/c++/13/bits/std_thread.h: +/usr/include/c++/13/bits/sstream.tcc: -/usr/include/c++/13/initializer_list: +/usr/include/x86_64-linux-gnu/asm/posix_types.h: -/usr/include/c++/13/ios: +/usr/include/c++/13/cwctype: -/usr/include/c++/13/iostream: +/usr/include/c++/13/ratio: -/usr/include/c++/13/istream: +/usr/include/gtest/internal/gtest-internal.h: -/usr/include/c++/13/bits/ios_base.h: +/usr/include/gtest/gtest-test-part.h: -/usr/include/c++/13/iterator: +/usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h: -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: +/usr/include/x86_64-linux-gnu/bits/signal_ext.h: -/usr/include/x86_64-linux-gnu/bits/types/wint_t.h: +/usr/include/c++/13/bits/char_traits.h: -/usr/include/c++/13/limits: +/usr/include/c++/13/bits/std_function.h: -/usr/include/gtest/gtest_prod.h: +/usr/include/c++/13/cstdint: -/usr/include/c++/13/memory: +/usr/include/c++/13/cstdlib: -/usr/include/x86_64-linux-gnu/bits/floatn.h: +/usr/include/c++/13/bits/std_mutex.h: -/usr/include/c++/13/exception: +/usr/include/c++/13/bits/stl_construct.h: -/usr/include/c++/13/pstl/glue_memory_defs.h: +/usr/include/c++/13/bits/stl_algobase.h: -/usr/include/c++/13/pstl/pstl_config.h: +/usr/include/c++/13/bits/stl_function.h: -/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h: +/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h: -/usr/include/c++/13/sstream: +/usr/include/c++/13/bits/utility.h: -/usr/include/c++/13/stdexcept: +/usr/include/c++/13/utility: -/usr/include/c++/13/stdlib.h: +/usr/include/c++/13/bits/stl_heap.h: -/usr/include/x86_64-linux-gnu/bits/stdint-intn.h: +/usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h: -/usr/include/c++/13/string: +/usr/include/stdio.h: -/usr/include/c++/13/map: +/usr/include/c++/13/bits/stl_iterator_base_types.h: -/usr/include/c++/13/string_view: +/usr/include/x86_64-linux-gnu/bits/types/sigval_t.h: -/usr/include/features-time64.h: +/usr/include/c++/13/bits/stl_map.h: -/usr/include/c++/13/bits/nested_exception.h: +/usr/include/c++/13/bits/new_allocator.h: -/usr/include/c++/13/tuple: +/usr/include/c++/13/bits/stl_uninitialized.h: -/usr/include/c++/13/type_traits: +/usr/include/c++/13/locale: -/usr/include/c++/13/bits/allocator.h: +/usr/include/c++/13/bits/stl_raw_storage_iter.h: -/usr/include/c++/13/unordered_map: +/usr/include/c++/13/bits/ostream_insert.h: -/usr/include/gtest/gtest-test-part.h: +/usr/include/c++/13/bits/stl_set.h: -/usr/include/gtest/internal/gtest-internal.h: +/usr/include/c++/13/bits/codecvt.h: -/usr/include/c++/13/vector: +/usr/include/c++/13/bits/stl_tree.h: -/usr/lib/gcc/x86_64-linux-gnu/13/include/float.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h: -/usr/include/ctype.h: +/usr/include/c++/13/bits/stl_vector.h: -/usr/include/fcntl.h: +/usr/include/c++/13/bits/streambuf.tcc: -/usr/include/features.h: +/usr/include/stdint.h: -/usr/include/gtest/gtest-assertion-result.h: +/usr/include/endian.h: -/usr/include/gtest/gtest-matchers.h: +/usr/include/c++/13/bits/streambuf_iterator.h: -/usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h: +/usr/include/c++/13/ostream: -/usr/include/gtest/gtest-param-test.h: +/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h: -/usr/include/gtest/gtest-typed-test.h: +/usr/include/c++/13/bits/string_view.tcc: -/usr/include/gtest/gtest.h: +/usr/include/c++/13/bits/stringfwd.h: -/usr/include/gtest/internal/custom/gtest-printers.h: +/usr/include/c++/13/bits/locale_classes.tcc: -/usr/include/x86_64-linux-gnu/bits/sigevent-consts.h: +/usr/include/c++/13/bits/uniform_int_dist.h: -/usr/include/gtest/internal/gtest-filepath.h: +/usr/include/c++/13/bits/unique_lock.h: -/usr/include/gtest/internal/gtest-param-util.h: +/usr/include/c++/13/mutex: -/usr/include/gtest/internal/gtest-port-arch.h: +/usr/include/c++/13/optional: -/usr/include/gtest/internal/gtest-port.h: +/usr/include/c++/13/bits/vector.tcc: -/usr/include/gtest/internal/gtest-string.h: +/usr/include/c++/13/variant: -/usr/include/gtest/internal/gtest-type-util.h: +/usr/include/c++/13/bits/cpp_type_traits.h: -/usr/include/linux/close_range.h: +/usr/include/c++/13/cassert: -/usr/include/c++/13/debug/debug.h: +/usr/include/c++/13/cstring: -/usr/include/linux/errno.h: +/usr/include/c++/13/ctime: -/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h: +/usr/include/x86_64-linux-gnu/sys/select.h: -/usr/include/c++/13/bits/locale_facets.tcc: +/usr/include/c++/13/cwchar: -/usr/include/linux/stat.h: +/usr/include/c++/13/debug/assertions.h: -/usr/include/linux/types.h: +/usr/include/linux/errno.h: -/usr/include/pthread.h: +/usr/include/c++/13/debug/debug.h: -/usr/include/regex.h: +/usr/include/c++/13/pstl/glue_memory_defs.h: -/usr/include/wctype.h: +/usr/include/c++/13/exception: -/usr/include/sched.h: +/usr/include/c++/13/ext/alloc_traits.h: -/usr/include/c++/13/iomanip: +/usr/include/c++/13/new: -/usr/include/strings.h: +/usr/include/c++/13/ext/concurrence.h: -/usr/include/signal.h: +/usr/include/c++/13/bits/stl_iterator.h: -/usr/include/endian.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h: -/usr/include/stdint.h: +/usr/include/c++/13/ext/numeric_traits.h: -/usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h: +/usr/include/c++/13/ext/string_conversions.h: -/usr/include/c++/13/bits/stl_iterator_base_types.h: +/usr/include/c++/13/ext/type_traits.h: -/usr/include/stdio.h: +/usr/include/c++/13/functional: -/usr/include/stdlib.h: +/usr/include/c++/13/bits/std_thread.h: -/usr/include/string.h: +/usr/include/c++/13/initializer_list: -/usr/include/x86_64-linux-gnu/bits/statx.h: +/usr/include/c++/13/ios: -/usr/include/unistd.h: +/usr/include/c++/13/iostream: -/usr/include/x86_64-linux-gnu/bits/mman_ext.h: +/usr/include/c++/13/istream: -/usr/include/c++/13/cwctype: +/usr/include/c++/13/bits/ios_base.h: -/usr/include/x86_64-linux-gnu/asm/posix_types.h: +/usr/include/c++/13/iterator: -/usr/include/x86_64-linux-gnu/asm/types.h: +/usr/include/x86_64-linux-gnu/bits/types/wint_t.h: -/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h: +/usr/include/c++/13/limits: -/usr/include/x86_64-linux-gnu/bits/byteswap.h: +/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h: -/usr/include/x86_64-linux-gnu/asm/posix_types_64.h: +/usr/include/c++/13/sstream: -/usr/include/x86_64-linux-gnu/bits/cpu-set.h: +/usr/include/c++/13/stdexcept: -/usr/include/x86_64-linux-gnu/bits/endian.h: +/usr/include/c++/13/stdlib.h: -/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h: +/usr/include/x86_64-linux-gnu/bits/stdint-intn.h: -/usr/include/c++/13/bits/requires_hosted.h: +/usr/include/c++/13/string: -/usr/include/x86_64-linux-gnu/bits/floatn-common.h: +/usr/include/c++/13/type_traits: -/usr/include/x86_64-linux-gnu/bits/getopt_core.h: +/usr/include/c++/13/bits/allocator.h: -/usr/include/x86_64-linux-gnu/bits/locale.h: +/usr/include/c++/13/unordered_map: -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: +/usr/include/c++/13/vector: -/usr/include/x86_64-linux-gnu/bits/sched.h: +/usr/lib/gcc/x86_64-linux-gnu/13/include/float.h: -/usr/include/x86_64-linux-gnu/bits/time.h: +/usr/include/ctype.h: -/usr/include/x86_64-linux-gnu/bits/select.h: +/usr/include/fcntl.h: -/usr/include/x86_64-linux-gnu/bits/getopt_posix.h: +/usr/include/gtest/gtest-assertion-result.h: -/usr/include/time.h: +/usr/include/gtest/gtest-matchers.h: -/usr/include/x86_64-linux-gnu/bits/setjmp.h: +/usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h: + +/usr/include/gtest/gtest-param-test.h: diff --git a/build/test/CMakeFiles/run_tests.dir/progress.make b/build/test/CMakeFiles/run_tests.dir/progress.make index 9c10aa6..b38f4eb 100644 --- a/build/test/CMakeFiles/run_tests.dir/progress.make +++ b/build/test/CMakeFiles/run_tests.dir/progress.make @@ -1,7 +1,7 @@ -CMAKE_PROGRESS_1 = 6 -CMAKE_PROGRESS_2 = 7 -CMAKE_PROGRESS_3 = 8 -CMAKE_PROGRESS_4 = 9 -CMAKE_PROGRESS_5 = 10 -CMAKE_PROGRESS_6 = 11 +CMAKE_PROGRESS_1 = 12 +CMAKE_PROGRESS_2 = 13 +CMAKE_PROGRESS_3 = 14 +CMAKE_PROGRESS_4 = 15 +CMAKE_PROGRESS_5 = 16 +CMAKE_PROGRESS_6 = 17 diff --git a/main.cpp b/main.cpp index ec05e5e..cd0d4b2 100644 --- a/main.cpp +++ b/main.cpp @@ -1,34 +1,113 @@ +// #define FUSE_USE_VERSION 31 + +// #include +// #include +// #include "src/include/fuse_functions/getattr.h" +// #include "src/include/fuse_functions/readdir.h" +// #include "src/include/fuse_functions/opendir.h" + +// using namespace std; + +// // int get_attr(const char* path, struct stat* stbuf, struct fuse_file_info* fi){ +// // cout<<"getattr called for path: "< -#include -#include "src/include/fuse_functions/getattr.h" -#include "src/include/fuse_functions/readdir.h" -#include "src/include/fuse_functions/opendir.h" +#include +#include + +#include "daemon/dir_manager.h" +#include "fuse_functions/getattr.h" +#include "fuse_functions/readdir.h" +#include "fuse_functions/opendir.h" +#include "fuse_functions/mkdir.h" +#include "fuse_functions/rmdir.h" +#include "fuse_functions/access.h" +#include "fuse_functions/statfs.h" using namespace std; -// int get_attr(const char* path, struct stat* stbuf, struct fuse_file_info* fi){ -// cout<<"getattr called for path: "< + +/* + * access FUSE callback + * Checks existence and basic permissions + */ +int fdfs_access(const char* path, int mask); + +#endif // FASTDEVFS_ACCESS_H diff --git a/src/include/fuse_functions/getattr.h b/src/include/fuse_functions/getattr.h index ad3517c..ddfb70b 100644 --- a/src/include/fuse_functions/getattr.h +++ b/src/include/fuse_functions/getattr.h @@ -4,6 +4,12 @@ #define FUSE_USE_VERSION 31 #include -int fastdevfs_getattr(const char* path, struct stat* stbuf, struct fuse_file_info* fi); +/* + * getattr FUSE callback + * Uses DirManager ADT to resolve paths + */ +int fdfs_getattr(const char* path, + struct stat* stbuf, + struct fuse_file_info* fi); -#endif \ No newline at end of file +#endif // FASTDEVFS_GETATTR_H diff --git a/src/include/fuse_functions/mkdir.h b/src/include/fuse_functions/mkdir.h new file mode 100644 index 0000000..61c9dfd --- /dev/null +++ b/src/include/fuse_functions/mkdir.h @@ -0,0 +1,13 @@ +#ifndef FASTDEVFS_MKDIR_H +#define FASTDEVFS_MKDIR_H + +#define FUSE_USE_VERSION 31 +#include + +/* + * mkdir FUSE callback + * Creates a directory using DirManager ADT + */ +int fdfs_mkdir(const char* path, mode_t mode); + +#endif // FASTDEVFS_MKDIR_H diff --git a/src/include/fuse_functions/opendir.h b/src/include/fuse_functions/opendir.h index ab7650f..c2b1310 100644 --- a/src/include/fuse_functions/opendir.h +++ b/src/include/fuse_functions/opendir.h @@ -4,9 +4,11 @@ #define FUSE_USE_VERSION 31 #include -int fastdevfs_opendir( - const char* path, - struct fuse_file_info* fi -); +/* + * opendir FUSE callback + * Verifies directory existence using DirManager ADT + */ +int fdfs_opendir(const char* path, + struct fuse_file_info* fi); -#endif +#endif // FASTDEVFS_OPENDIR_H diff --git a/src/include/fuse_functions/readdir.h b/src/include/fuse_functions/readdir.h index 07c93a4..3178631 100644 --- a/src/include/fuse_functions/readdir.h +++ b/src/include/fuse_functions/readdir.h @@ -4,13 +4,15 @@ #define FUSE_USE_VERSION 31 #include -int fastdevfs_readdir( - const char* path, - void* buf, - fuse_fill_dir_t filler, - off_t offset, - struct fuse_file_info* fi, - enum fuse_readdir_flags flags -); +/* + * readdir FUSE callback + * Lists directory contents using DirManager ADT + */ +int fdfs_readdir(const char* path, + void* buf, + fuse_fill_dir_t filler, + off_t offset, + struct fuse_file_info* fi, + enum fuse_readdir_flags flags); -#endif +#endif // FASTDEVFS_READDIR_H diff --git a/src/include/fuse_functions/rmdir.h b/src/include/fuse_functions/rmdir.h new file mode 100644 index 0000000..204e07b --- /dev/null +++ b/src/include/fuse_functions/rmdir.h @@ -0,0 +1,13 @@ +#ifndef FASTDEVFS_RMDIR_H +#define FASTDEVFS_RMDIR_H + +#define FUSE_USE_VERSION 31 +#include + +/* + * rmdir FUSE callback + * Removes an empty directory using DirManager ADT + */ +int fdfs_rmdir(const char* path); + +#endif // FASTDEVFS_RMDIR_H diff --git a/src/include/fuse_functions/statfs.h b/src/include/fuse_functions/statfs.h new file mode 100644 index 0000000..cd40739 --- /dev/null +++ b/src/include/fuse_functions/statfs.h @@ -0,0 +1,13 @@ +#ifndef FASTDEVFS_STATFS_H +#define FASTDEVFS_STATFS_H + +#define FUSE_USE_VERSION 31 +#include + +/* + * statfs FUSE callback + * Reports filesystem statistics + */ +int fdfs_statfs(const char* path, struct statvfs* stbuf); + +#endif // FASTDEVFS_STATFS_H diff --git a/src/src/daemon/hash.cpp b/src/src/daemon/hash.cpp index c25d43d..3538d96 100644 --- a/src/src/daemon/hash.cpp +++ b/src/src/daemon/hash.cpp @@ -24,7 +24,7 @@ uint64_t hash_path_poly(const char* path) { } bool hash_insert(HashTable* ht, uint64_t hash, - const char* key, int value) { + const char* key, int value) { int bucket = hash % HASH_SIZE; for (int i = ht->buckets[bucket]; i != -1; i = ht->entries[i].next) { diff --git a/src/src/fuse_functions/access.cpp b/src/src/fuse_functions/access.cpp new file mode 100644 index 0000000..f5c205f --- /dev/null +++ b/src/src/fuse_functions/access.cpp @@ -0,0 +1,23 @@ +#include "fuse_functions/access.h" +#include "daemon/dir_manager.h" + +#include + +/* + * Global DirManager instance + */ +extern DirManager* g_dir_manager; + +int fdfs_access(const char* path, int mask) +{ + (void) mask; // permissions not enforced yet + + // Check if path exists + int node = lookup_node(g_dir_manager, path); + if (node == -1) { + return -ENOENT; + } + + // Allow all access for now + return 0; +} diff --git a/src/src/fuse_functions/getattr.cpp b/src/src/fuse_functions/getattr.cpp index a77abc1..15f1678 100644 --- a/src/src/fuse_functions/getattr.cpp +++ b/src/src/fuse_functions/getattr.cpp @@ -1,22 +1,35 @@ #include "fuse_functions/getattr.h" +#include "daemon/dir_manager.h" + #include #include #include -using namespace std; - -int fastdevfs_getattr(const char* path, struct stat* stbuf, struct fuse_file_info* fi) { - // cout<<"getattr called for path: "<st_mode = S_IFDIR | 0755; - stbuf->st_nlink = 2; - stbuf->st_uid = getuid(); - stbuf->st_gid = getgid(); - return 0; + // Ask DirManager if path exists + int node = lookup_node(g_dir_manager, path); + if (node == -1) { + return -ENOENT; } - return -ENOENT; -} \ No newline at end of file + + // Currently, everything is a directory + stbuf->st_mode = S_IFDIR | 0755; + stbuf->st_nlink = 2; + stbuf->st_size = 4096; + stbuf->st_uid = getuid(); + stbuf->st_gid = getgid(); + + return 0; +} diff --git a/src/src/fuse_functions/mkdir.cpp b/src/src/fuse_functions/mkdir.cpp new file mode 100644 index 0000000..d4ec1fd --- /dev/null +++ b/src/src/fuse_functions/mkdir.cpp @@ -0,0 +1,44 @@ +#include "fuse_functions/mkdir.h" +#include "daemon/dir_manager.h" + +#include +#include + +/* + * Global DirManager instance + * (defined in main.cpp) + */ +extern DirManager* g_dir_manager; + +int fdfs_mkdir(const char* path, mode_t mode) +{ + (void) mode; // permissions not handled yet + + // Disallow creating root + if (strcmp(path, "/") == 0) { + return -EEXIST; + } + + /* + * insert_node returns: + * - node index on success + * - -1 on failure + */ + int node = insert_node(g_dir_manager, path); + if (node == -1) { + /* + * Possible reasons: + * - parent does not exist + * - directory already exists + * - no free nodes left + * + * We conservatively return EEXIST or ENOENT. + */ + if (lookup_node(g_dir_manager, path) != -1) { + return -EEXIST; + } + return -ENOENT; + } + + return 0; +} diff --git a/src/src/fuse_functions/opendir.cpp b/src/src/fuse_functions/opendir.cpp index 55ab438..7794b82 100644 --- a/src/src/fuse_functions/opendir.cpp +++ b/src/src/fuse_functions/opendir.cpp @@ -1,18 +1,25 @@ #include "fuse_functions/opendir.h" +#include "daemon/dir_manager.h" + #include #include -int fastdevfs_opendir( - const char* path, - struct fuse_file_info* fi -) { +/* + * Global DirManager instance + * (defined in main.cpp) + */ +extern DirManager* g_dir_manager; + +int fdfs_opendir(const char* path, + struct fuse_file_info* fi) +{ (void) fi; - // Only support the root directory for now - if (strcmp(path, "/") != 0) { + // Ask ADT whether directory exists + int node = lookup_node(g_dir_manager, path); + if (node == -1) { return -ENOENT; } - // Allow opening the root directory return 0; } diff --git a/src/src/fuse_functions/readdir.cpp b/src/src/fuse_functions/readdir.cpp index bf65634..36a3e23 100644 --- a/src/src/fuse_functions/readdir.cpp +++ b/src/src/fuse_functions/readdir.cpp @@ -1,27 +1,48 @@ #include "fuse_functions/readdir.h" +#include "daemon/dir_manager.h" + #include #include -int fastdevfs_readdir( - const char* path, - void* buf, - fuse_fill_dir_t filler, - off_t offset, - struct fuse_file_info* fi, - enum fuse_readdir_flags flags -) { +/* + * Global DirManager instance + * (defined in main.cpp) + */ +extern DirManager* g_dir_manager; + +int fdfs_readdir(const char* path, + void* buf, + fuse_fill_dir_t filler, + off_t offset, + struct fuse_file_info* fi, + enum fuse_readdir_flags flags) +{ (void) offset; (void) fi; (void) flags; - // Only support the root directory for now - if (strcmp(path, "/") != 0) { + // Find directory node + int dir_node = lookup_node(g_dir_manager, path); + if (dir_node == -1) { return -ENOENT; } - // Mandatory entries + // Every directory must contain "." and ".." filler(buf, ".", nullptr, 0, static_cast(0)); filler(buf, "..", nullptr, 0, static_cast(0)); + // Iterate over children using sibling list + int child = (*g_dir_manager).nodes[dir_node].first_child; + while (child != -1) { + DirNode* n = &g_dir_manager->nodes[child]; + + if (n->in_use) { + filler(buf, n->name, nullptr, 0, + static_cast(0)); + } + + child = n->next_sibling; + } + return 0; } diff --git a/src/src/fuse_functions/rmdir.cpp b/src/src/fuse_functions/rmdir.cpp new file mode 100644 index 0000000..2b596fc --- /dev/null +++ b/src/src/fuse_functions/rmdir.cpp @@ -0,0 +1,35 @@ +#include "fuse_functions/rmdir.h" +#include "daemon/dir_manager.h" + +#include +#include + +/* + * Global DirManager instance + * (defined in main.cpp) + */ +extern DirManager* g_dir_manager; + +int fdfs_rmdir(const char* path) +{ + // Disallow removing root + if (strcmp(path, "/") == 0) { + return -EBUSY; + } + + /* + * remove_node returns: + * - true → directory removed + * - false → failure (non-empty, not found, etc.) + */ + bool ok = remove_node(g_dir_manager, path); + if (!ok) { + // int node = lookup_node(&g_dir_manager, path); + // if (node == -1) { + // return -ENOENT; + // } commented bcz of dead locking in lookup_node + return -ENOTEMPTY; + } + + return 0; +} diff --git a/src/src/fuse_functions/statfs.cpp b/src/src/fuse_functions/statfs.cpp new file mode 100644 index 0000000..ee3b6d4 --- /dev/null +++ b/src/src/fuse_functions/statfs.cpp @@ -0,0 +1,28 @@ +#include "fuse_functions/statfs.h" + +#include + +/* + * We return fake but consistent filesystem stats. + * This is normal for in-memory / virtual filesystems. + */ +int fdfs_statfs(const char* path, struct statvfs* stbuf) +{ + (void) path; + + memset(stbuf, 0, sizeof(struct statvfs)); + + stbuf->f_bsize = 4096; // block size + stbuf->f_frsize = 4096; // fragment size + + stbuf->f_blocks = 1024 * 1024; // total blocks (fake) + stbuf->f_bfree = 1024 * 1024; // free blocks + stbuf->f_bavail = 1024 * 1024; // available blocks + + stbuf->f_files = 100000; // total "inodes" + stbuf->f_ffree = 100000; // free "inodes" + + stbuf->f_namemax = 255; // max filename length + + return 0; +} From df0bbb05bec90b8573e6e75111a591d42d41a76c Mon Sep 17 00:00:00 2001 From: Diya Limbani Date: Thu, 5 Feb 2026 23:07:27 +0530 Subject: [PATCH 08/15] added mmap --- .../FastDevFS.dir/compiler_depend.internal | 14 + .../FastDevFS.dir/compiler_depend.make | 532 +++++++++--------- build/FastDevFS | Bin 22496 -> 22808 bytes build/test/run_tests | Bin 806008 -> 806112 bytes dir_tree.dat | Bin 0 -> 2760072 bytes hash_table.dat | 297 ++++++++++ main.cpp | 79 ++- src/include/daemon/dir_manager.h | 65 ++- src/include/daemon/hash.h | 5 + src/src/daemon/dir_manager.cpp | 16 +- src/src/daemon/hash.cpp | 4 + 11 files changed, 747 insertions(+), 265 deletions(-) create mode 100644 dir_tree.dat create mode 100644 hash_table.dat diff --git a/build/CMakeFiles/FastDevFS.dir/compiler_depend.internal b/build/CMakeFiles/FastDevFS.dir/compiler_depend.internal index ad512d5..1baae91 100644 --- a/build/CMakeFiles/FastDevFS.dir/compiler_depend.internal +++ b/build/CMakeFiles/FastDevFS.dir/compiler_depend.internal @@ -118,6 +118,7 @@ CMakeFiles/FastDevFS.dir/main.cpp.o /usr/include/fuse3/fuse_log.h /usr/include/fuse3/fuse_opt.h /usr/include/fuse3/libfuse_config.h + /usr/include/linux/close_range.h /usr/include/linux/errno.h /usr/include/linux/falloc.h /usr/include/linux/posix_types.h @@ -132,6 +133,7 @@ CMakeFiles/FastDevFS.dir/main.cpp.o /usr/include/stdio.h /usr/include/stdlib.h /usr/include/time.h + /usr/include/unistd.h /usr/include/wchar.h /usr/include/wctype.h /usr/include/x86_64-linux-gnu/asm/bitsperlong.h @@ -141,17 +143,27 @@ CMakeFiles/FastDevFS.dir/main.cpp.o /usr/include/x86_64-linux-gnu/asm/types.h /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h /usr/include/x86_64-linux-gnu/bits/byteswap.h + /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/x86_64-linux-gnu/bits/endian.h /usr/include/x86_64-linux-gnu/bits/endianness.h + /usr/include/x86_64-linux-gnu/bits/environments.h /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h /usr/include/x86_64-linux-gnu/bits/fcntl.h /usr/include/x86_64-linux-gnu/bits/floatn-common.h /usr/include/x86_64-linux-gnu/bits/floatn.h + /usr/include/x86_64-linux-gnu/bits/getopt_core.h + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h /usr/include/x86_64-linux-gnu/bits/libc-header-start.h /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/mman-linux.h + /usr/include/x86_64-linux-gnu/bits/mman-map-flags-generic.h + /usr/include/x86_64-linux-gnu/bits/mman-shared.h + /usr/include/x86_64-linux-gnu/bits/mman.h + /usr/include/x86_64-linux-gnu/bits/mman_ext.h + /usr/include/x86_64-linux-gnu/bits/posix_opt.h /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h @@ -207,6 +219,7 @@ CMakeFiles/FastDevFS.dir/main.cpp.o /usr/include/x86_64-linux-gnu/bits/uintn-identity.h /usr/include/x86_64-linux-gnu/bits/uio-ext.h /usr/include/x86_64-linux-gnu/bits/uio_lim.h + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h /usr/include/x86_64-linux-gnu/bits/waitflags.h /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/x86_64-linux-gnu/bits/wchar.h @@ -226,6 +239,7 @@ CMakeFiles/FastDevFS.dir/main.cpp.o /usr/include/x86_64-linux-gnu/gnu/stubs-64.h /usr/include/x86_64-linux-gnu/gnu/stubs.h /usr/include/x86_64-linux-gnu/sys/cdefs.h + /usr/include/x86_64-linux-gnu/sys/mman.h /usr/include/x86_64-linux-gnu/sys/select.h /usr/include/x86_64-linux-gnu/sys/single_threaded.h /usr/include/x86_64-linux-gnu/sys/stat.h diff --git a/build/CMakeFiles/FastDevFS.dir/compiler_depend.make b/build/CMakeFiles/FastDevFS.dir/compiler_depend.make index c9d5f82..fe010f0 100644 --- a/build/CMakeFiles/FastDevFS.dir/compiler_depend.make +++ b/build/CMakeFiles/FastDevFS.dir/compiler_depend.make @@ -117,6 +117,7 @@ CMakeFiles/FastDevFS.dir/main.cpp.o: /home/diya_limbani/FastDevFs/main.cpp \ /usr/include/fuse3/fuse_log.h \ /usr/include/fuse3/fuse_opt.h \ /usr/include/fuse3/libfuse_config.h \ + /usr/include/linux/close_range.h \ /usr/include/linux/errno.h \ /usr/include/linux/falloc.h \ /usr/include/linux/posix_types.h \ @@ -131,6 +132,7 @@ CMakeFiles/FastDevFS.dir/main.cpp.o: /home/diya_limbani/FastDevFs/main.cpp \ /usr/include/stdio.h \ /usr/include/stdlib.h \ /usr/include/time.h \ + /usr/include/unistd.h \ /usr/include/wchar.h \ /usr/include/wctype.h \ /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ @@ -140,17 +142,27 @@ CMakeFiles/FastDevFS.dir/main.cpp.o: /home/diya_limbani/FastDevFs/main.cpp \ /usr/include/x86_64-linux-gnu/asm/types.h \ /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/confname.h \ /usr/include/x86_64-linux-gnu/bits/cpu-set.h \ /usr/include/x86_64-linux-gnu/bits/endian.h \ /usr/include/x86_64-linux-gnu/bits/endianness.h \ + /usr/include/x86_64-linux-gnu/bits/environments.h \ /usr/include/x86_64-linux-gnu/bits/errno.h \ /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ /usr/include/x86_64-linux-gnu/bits/fcntl.h \ /usr/include/x86_64-linux-gnu/bits/floatn-common.h \ /usr/include/x86_64-linux-gnu/bits/floatn.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_core.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \ /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ /usr/include/x86_64-linux-gnu/bits/locale.h \ /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/mman-linux.h \ + /usr/include/x86_64-linux-gnu/bits/mman-map-flags-generic.h \ + /usr/include/x86_64-linux-gnu/bits/mman-shared.h \ + /usr/include/x86_64-linux-gnu/bits/mman.h \ + /usr/include/x86_64-linux-gnu/bits/mman_ext.h \ + /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ @@ -206,6 +218,7 @@ CMakeFiles/FastDevFS.dir/main.cpp.o: /home/diya_limbani/FastDevFs/main.cpp \ /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ /usr/include/x86_64-linux-gnu/bits/uio-ext.h \ /usr/include/x86_64-linux-gnu/bits/uio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h \ /usr/include/x86_64-linux-gnu/bits/waitflags.h \ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ /usr/include/x86_64-linux-gnu/bits/wchar.h \ @@ -225,6 +238,7 @@ CMakeFiles/FastDevFS.dir/main.cpp.o: /home/diya_limbani/FastDevFs/main.cpp \ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ /usr/include/x86_64-linux-gnu/gnu/stubs.h \ /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/sys/mman.h \ /usr/include/x86_64-linux-gnu/sys/select.h \ /usr/include/x86_64-linux-gnu/sys/single_threaded.h \ /usr/include/x86_64-linux-gnu/sys/stat.h \ @@ -1116,510 +1130,522 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -/home/diya_limbani/FastDevFs/src/src/fuse_functions/readdir.cpp: - -/home/diya_limbani/FastDevFs/src/src/fuse_functions/mkdir.cpp: +/home/diya_limbani/FastDevFs/src/src/fuse_functions/rmdir.cpp: -/usr/include/x86_64-linux-gnu/bits/unistd_ext.h: +/usr/include/locale.h: -/usr/include/x86_64-linux-gnu/bits/posix_opt.h: +/usr/include/x86_64-linux-gnu/asm/bitsperlong.h: -/usr/include/x86_64-linux-gnu/bits/getopt_core.h: +/usr/include/x86_64-linux-gnu/bits/mman.h: -/usr/include/linux/close_range.h: +/usr/include/linux/types.h: -/usr/include/c++/13/cstring: +/usr/include/fuse3/fuse_opt.h: -/home/diya_limbani/FastDevFs/src/src/fuse_functions/access.cpp: +/usr/include/c++/13/backward/binders.h: -/home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp: +/usr/include/fuse3/fuse_log.h: -/usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h: +/usr/include/c++/13/cctype: -/usr/include/x86_64-linux-gnu/sys/types.h: +/usr/include/fuse3/fuse_common.h: -/usr/include/x86_64-linux-gnu/sys/cdefs.h: +/usr/include/string.h: -/usr/include/x86_64-linux-gnu/sys/stat.h: +/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h: -/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: +/usr/include/fuse3/fuse.h: -/usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h: +/usr/include/c++/13/bits/streambuf.tcc: -/usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h: +/usr/include/c++/13/typeinfo: -/usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h: +/usr/include/c++/13/bits/cxxabi_init_exception.h: -/usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h: +/usr/include/c++/13/system_error: -/usr/include/x86_64-linux-gnu/bits/waitflags.h: +/usr/include/c++/13/bits/range_access.h: -/usr/include/x86_64-linux-gnu/bits/uio_lim.h: +/usr/include/x86_64-linux-gnu/bits/mman-shared.h: -/usr/include/x86_64-linux-gnu/bits/uio-ext.h: +/usr/include/c++/13/pstl/pstl_config.h: -/usr/include/x86_64-linux-gnu/bits/typesizes.h: +/usr/include/fcntl.h: -/usr/include/x86_64-linux-gnu/bits/types/timer_t.h: +/home/diya_limbani/FastDevFs/main.cpp: -/usr/include/x86_64-linux-gnu/bits/types/time_t.h: +/usr/include/c++/13/ostream: -/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h: +/usr/include/c++/13/bits/streambuf_iterator.h: -/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h: +/usr/include/x86_64-linux-gnu/bits/confname.h: -/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h: +/usr/include/c++/13/new: -/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h: +/usr/include/c++/13/ext/alloc_traits.h: -/usr/include/x86_64-linux-gnu/bits/wctype-wchar.h: +/usr/include/features-time64.h: -/usr/include/x86_64-linux-gnu/bits/types/locale_t.h: +/usr/include/c++/13/string_view: -/usr/include/x86_64-linux-gnu/bits/types/error_t.h: +/usr/include/c++/13/initializer_list: -/usr/include/x86_64-linux-gnu/bits/wchar.h: +/usr/include/c++/13/iostream: -/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h: +/usr/include/c++/13/ext/type_traits.h: -/home/diya_limbani/FastDevFs/src/src/fuse_functions/statfs.cpp: +/usr/include/c++/13/ext/string_conversions.h: -/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h: +/usr/include/x86_64-linux-gnu/bits/mman-map-flags-generic.h: -/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h: +/usr/include/c++/13/cstdlib: -/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h: +/usr/include/c++/13/cstdio: -/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h: -/usr/include/x86_64-linux-gnu/bits/types/__FILE.h: +/usr/include/c++/13/cstddef: -/usr/include/x86_64-linux-gnu/bits/timesize.h: +/usr/include/c++/13/clocale: -/usr/include/x86_64-linux-gnu/bits/time.h: +/usr/include/c++/13/cerrno: -/usr/include/strings.h: +/usr/include/x86_64-linux-gnu/bits/stdint-least.h: -/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h: +/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h: -/usr/include/x86_64-linux-gnu/bits/struct_mutex.h: +/usr/include/c++/13/bits/utility.h: -/usr/include/x86_64-linux-gnu/bits/types/FILE.h: +/usr/include/c++/13/bits/stl_function.h: -/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: +/usr/include/x86_64-linux-gnu/bits/fcntl.h: -/usr/include/unistd.h: +/usr/include/c++/13/bits/uses_allocator_args.h: -/usr/include/x86_64-linux-gnu/sys/select.h: +/usr/include/c++/13/bits/new_allocator.h: -/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h: +/usr/include/x86_64-linux-gnu/bits/long-double.h: -/usr/include/x86_64-linux-gnu/bits/statx.h: +/usr/include/c++/13/exception: -/usr/include/x86_64-linux-gnu/bits/statx-generic.h: +/usr/include/sched.h: -/usr/include/x86_64-linux-gnu/bits/statvfs.h: +/usr/include/wctype.h: -/usr/include/x86_64-linux-gnu/bits/stat.h: +/usr/include/c++/13/bits/stl_pair.h: -/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h: +/usr/include/x86_64-linux-gnu/bits/errno.h: -/usr/include/x86_64-linux-gnu/bits/setjmp.h: +/usr/include/c++/13/bits/uses_allocator.h: -/usr/include/x86_64-linux-gnu/bits/struct_stat.h: +/usr/include/c++/13/bits/postypes.h: -/usr/include/x86_64-linux-gnu/bits/select.h: +/usr/include/c++/13/bits/std_abs.h: -/usr/include/x86_64-linux-gnu/bits/sched.h: +/home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp: -/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: +/usr/include/x86_64-linux-gnu/bits/libc-header-start.h: -/usr/include/x86_64-linux-gnu/bits/locale.h: +/usr/include/c++/13/bits/stl_algobase.h: -/usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h: +/usr/include/x86_64-linux-gnu/sys/uio.h: -/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h: +/usr/include/c++/13/bits/locale_facets.h: -/usr/include/x86_64-linux-gnu/bits/floatn.h: +/usr/include/stdc-predef.h: -/usr/include/x86_64-linux-gnu/bits/types/wint_t.h: +/usr/include/asm-generic/posix_types.h: -/usr/include/x86_64-linux-gnu/bits/floatn-common.h: +/usr/include/c++/13/bits/basic_string.h: -/usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h: +/usr/include/x86_64-linux-gnu/bits/endianness.h: -/usr/include/x86_64-linux-gnu/bits/timex.h: +/usr/include/c++/13/bits/stringfwd.h: -/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h: +/usr/include/c++/13/bits/alloc_traits.h: -/usr/include/x86_64-linux-gnu/gnu/stubs.h: +/usr/include/c++/13/bits/concept_check.h: -/usr/include/x86_64-linux-gnu/bits/endian.h: +/usr/include/c++/13/ios: -/usr/include/x86_64-linux-gnu/bits/cpu-set.h: +/usr/include/c++/13/type_traits: -/usr/include/x86_64-linux-gnu/bits/byteswap.h: +/usr/include/x86_64-linux-gnu/sys/single_threaded.h: -/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h: +/usr/include/c++/13/bit: -/usr/include/x86_64-linux-gnu/asm/types.h: +/usr/include/c++/13/bits/basic_string.tcc: -/usr/include/x86_64-linux-gnu/asm/posix_types.h: +/usr/include/c++/13/bits/basic_ios.h: -/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h: +/usr/include/x86_64-linux-gnu/bits/time64.h: -/usr/include/x86_64-linux-gnu/asm/errno.h: +/usr/include/pthread.h: -/usr/include/stdlib.h: +/usr/include/asm-generic/bitsperlong.h: -/usr/include/stdio.h: +/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h: -/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h: +/usr/include/asm-generic/types.h: -/usr/include/c++/13/bits/refwrap.h: +/usr/include/c++/13/bits/stl_iterator_base_funcs.h: -/usr/include/c++/13/debug/debug.h: +/usr/include/asm-generic/errno-base.h: -/usr/include/c++/13/stdexcept: +/usr/include/asm-generic/int-ll64.h: -/home/diya_limbani/FastDevFs/src/include/fuse_functions/access.h: +/usr/include/c++/13/bits/localefwd.h: -/usr/include/time.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h: -/usr/include/c++/13/bits/memoryfwd.h: +/home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp: -/usr/include/wchar.h: +/usr/include/c++/13/bits/exception.h: -/usr/include/c++/13/bits/memory_resource.h: +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: -/usr/include/x86_64-linux-gnu/bits/environments.h: +/usr/include/x86_64-linux-gnu/bits/uintn-identity.h: -/usr/include/c++/13/bits/invoke.h: +/usr/include/c++/13/bits/ostream_insert.h: -/usr/include/linux/stat.h: +/usr/include/c++/13/iosfwd: -/usr/include/c++/13/bits/locale_classes.tcc: +/usr/include/c++/13/bits/predefined_ops.h: -/usr/include/c++/13/bits/allocator.h: +/usr/include/features.h: -/usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h: +/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h: -/usr/include/x86_64-linux-gnu/bits/types/clock_t.h: +/usr/include/c++/13/bits/string_view.tcc: -/usr/include/c++/13/bits/char_traits.h: +/usr/include/linux/close_range.h: -/usr/include/c++/13/bits/ostream.tcc: +/usr/include/c++/13/bits/functional_hash.h: -/usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h: +/usr/include/errno.h: -/usr/include/c++/13/bits/ios_base.h: +/usr/include/fuse3/libfuse_config.h: -/usr/include/c++/13/bits/nested_exception.h: +/usr/include/c++/13/bits/cpp_type_traits.h: -/usr/include/c++/13/bits/istream.tcc: +/usr/include/x86_64-linux-gnu/bits/mman-linux.h: -/usr/include/c++/13/bits/exception_ptr.h: +/usr/include/c++/13/string: -/usr/include/c++/13/bits/cxxabi_forced.h: +/usr/include/x86_64-linux-gnu/bits/stdint-intn.h: -/usr/include/alloca.h: +/usr/include/x86_64-linux-gnu/bits/types.h: -/home/diya_limbani/FastDevFs/src/include/fuse_functions/readdir.h: +/usr/include/c++/13/bits/move.h: -/usr/include/c++/13/bits/hash_bytes.h: +/usr/include/c++/13/bits/stl_construct.h: -/home/diya_limbani/FastDevFs/src/include/fuse_functions/opendir.h: +/usr/include/linux/stddef.h: -/home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h: +/usr/include/c++/13/bits/basic_ios.tcc: -/home/diya_limbani/FastDevFs/src/include/fuse_functions/rmdir.h: +/usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h: -/usr/include/c++/13/bits/locale_classes.h: +/usr/include/linux/falloc.h: -/usr/include/ctype.h: +/usr/include/linux/posix_types.h: -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: +/usr/include/c++/13/bits/ptr_traits.h: -/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h: +/usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h: -/home/diya_limbani/FastDevFs/src/include/fuse_functions/mkdir.h: +/usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h: -/usr/include/c++/13/debug/assertions.h: +/home/diya_limbani/FastDevFs/src/include/daemon/hash.h: -/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h: +/usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h: -/usr/include/c++/13/tuple: +/usr/include/c++/13/bits/functexcept.h: -/usr/include/c++/13/bits/exception_defines.h: +/home/diya_limbani/FastDevFs/src/include/fuse_functions/statfs.h: /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h: -/home/diya_limbani/FastDevFs/src/include/fuse_functions/statfs.h: +/usr/include/c++/13/debug/assertions.h: -/usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h: +/home/diya_limbani/FastDevFs/src/include/fuse_functions/mkdir.h: -/home/diya_limbani/FastDevFs/src/include/daemon/hash.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h: -/usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h: +/usr/include/c++/13/bits/exception_defines.h: -/usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h: +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: -/usr/include/c++/13/bits/ptr_traits.h: +/usr/include/ctype.h: -/usr/include/linux/falloc.h: +/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h: -/usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h: +/home/diya_limbani/FastDevFs/src/include/fuse_functions/opendir.h: -/usr/include/c++/13/bits/basic_ios.tcc: +/usr/include/c++/13/bits/hash_bytes.h: -/usr/include/linux/stddef.h: +/home/diya_limbani/FastDevFs/src/include/fuse_functions/readdir.h: -/usr/include/c++/13/bits/stl_construct.h: +/usr/include/alloca.h: -/usr/include/c++/13/bits/move.h: +/usr/include/c++/13/bits/cxxabi_forced.h: -/usr/include/x86_64-linux-gnu/bits/types.h: +/usr/include/c++/13/bits/exception_ptr.h: -/usr/include/x86_64-linux-gnu/bits/stdint-intn.h: +/usr/include/c++/13/bits/istream.tcc: -/usr/include/c++/13/bits/cpp_type_traits.h: +/usr/include/c++/13/tuple: -/usr/include/fuse3/libfuse_config.h: +/usr/include/c++/13/bits/nested_exception.h: -/usr/include/errno.h: +/usr/include/c++/13/bits/ios_base.h: -/usr/include/c++/13/bits/functional_hash.h: +/usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h: -/home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h: +/usr/include/c++/13/bits/ostream.tcc: -/usr/include/c++/13/bits/locale_facets.tcc: +/usr/include/x86_64-linux-gnu/bits/types/clock_t.h: -/usr/include/c++/13/bits/requires_hosted.h: +/usr/include/c++/13/bits/allocator.h: -/usr/include/c++/13/bits/string_view.tcc: +/usr/include/c++/13/bits/locale_classes.tcc: -/usr/include/features.h: +/home/diya_limbani/FastDevFs/src/src/fuse_functions/readdir.cpp: -/usr/include/c++/13/cwctype: +/usr/include/c++/13/bits/locale_facets.tcc: -/usr/include/c++/13/bits/predefined_ops.h: +/usr/include/linux/stat.h: -/usr/include/c++/13/iosfwd: +/home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h: -/usr/include/c++/13/cwchar: +/usr/include/c++/13/bits/invoke.h: -/usr/include/x86_64-linux-gnu/sys/statvfs.h: +/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h: -/usr/include/c++/13/bits/ostream_insert.h: +/usr/include/x86_64-linux-gnu/bits/environments.h: -/usr/include/x86_64-linux-gnu/bits/uintn-identity.h: +/usr/include/c++/13/streambuf: -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: +/usr/include/c++/13/bits/memory_resource.h: -/usr/include/c++/13/bits/exception.h: +/usr/include/wchar.h: -/usr/include/c++/13/streambuf: +/usr/include/c++/13/bits/memoryfwd.h: -/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h: +/home/diya_limbani/FastDevFs/src/include/fuse_functions/access.h: -/usr/include/c++/13/bits/localefwd.h: +/usr/include/c++/13/stdexcept: -/usr/include/linux/posix_types.h: +/usr/include/linux/errno.h: -/usr/include/asm-generic/int-ll64.h: +/usr/include/c++/13/debug/debug.h: -/home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp: +/usr/include/c++/13/bits/refwrap.h: -/usr/include/x86_64-linux-gnu/asm/posix_types_64.h: +/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h: -/usr/include/asm-generic/errno-base.h: +/usr/include/endian.h: -/usr/include/asm-generic/types.h: +/usr/include/stdint.h: -/usr/include/pthread.h: +/usr/include/c++/13/bits/stl_iterator_base_types.h: -/usr/include/x86_64-linux-gnu/bits/time64.h: +/usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h: -/usr/include/c++/13/bits/basic_ios.h: +/usr/include/stdio.h: -/usr/include/c++/13/bits/basic_string.tcc: +/usr/include/stdlib.h: -/usr/include/c++/13/bit: +/usr/include/x86_64-linux-gnu/bits/mman_ext.h: -/usr/include/x86_64-linux-gnu/sys/single_threaded.h: +/usr/include/c++/13/cwchar: -/usr/include/c++/13/type_traits: +/usr/include/x86_64-linux-gnu/sys/select.h: -/usr/include/c++/13/ios: +/usr/include/x86_64-linux-gnu/asm/errno.h: -/usr/include/c++/13/bits/concept_check.h: +/usr/include/c++/13/ext/numeric_traits.h: -/usr/include/c++/13/bits/alloc_traits.h: +/usr/include/c++/13/bits/stl_iterator.h: -/usr/include/c++/13/bits/stringfwd.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h: -/usr/include/x86_64-linux-gnu/bits/endianness.h: +/usr/include/c++/13/cwctype: -/usr/include/c++/13/bits/basic_string.h: +/usr/include/x86_64-linux-gnu/asm/posix_types.h: -/usr/include/asm-generic/posix_types.h: +/usr/include/x86_64-linux-gnu/asm/types.h: -/usr/include/stdc-predef.h: +/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h: -/usr/include/c++/13/bits/locale_facets.h: +/usr/include/x86_64-linux-gnu/bits/byteswap.h: -/usr/include/x86_64-linux-gnu/sys/uio.h: +/usr/include/x86_64-linux-gnu/asm/posix_types_64.h: -/usr/include/c++/13/bits/stl_algobase.h: +/usr/include/x86_64-linux-gnu/bits/cpu-set.h: -/usr/include/x86_64-linux-gnu/bits/libc-header-start.h: +/usr/include/x86_64-linux-gnu/bits/endian.h: -/usr/include/c++/13/bits/functexcept.h: +/usr/include/x86_64-linux-gnu/gnu/stubs.h: -/usr/include/c++/13/bits/stl_iterator.h: +/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h: -/home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp: +/usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h: -/usr/include/c++/13/string: +/usr/include/c++/13/bits/requires_hosted.h: -/home/diya_limbani/FastDevFs/src/src/fuse_functions/rmdir.cpp: +/usr/include/x86_64-linux-gnu/bits/floatn-common.h: + +/usr/include/x86_64-linux-gnu/bits/types/wint_t.h: /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp: -/usr/include/asm-generic/errno.h: +/usr/include/x86_64-linux-gnu/bits/floatn.h: -/usr/include/c++/13/bits/stl_iterator_base_funcs.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h: -/usr/include/c++/13/bits/stl_iterator_base_types.h: +/usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h: -/usr/include/c++/13/bits/std_abs.h: +/usr/include/x86_64-linux-gnu/bits/getopt_core.h: -/usr/include/c++/13/bits/postypes.h: +/usr/include/x86_64-linux-gnu/bits/locale.h: -/usr/include/c++/13/bits/uses_allocator.h: +/usr/include/x86_64-linux-gnu/bits/posix_opt.h: -/usr/include/x86_64-linux-gnu/bits/errno.h: +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: -/usr/include/wctype.h: +/usr/include/x86_64-linux-gnu/bits/sched.h: -/usr/include/c++/13/exception: +/usr/include/x86_64-linux-gnu/bits/struct_stat.h: -/usr/include/x86_64-linux-gnu/bits/long-double.h: +/usr/include/x86_64-linux-gnu/bits/getopt_posix.h: -/usr/include/c++/13/bits/new_allocator.h: +/usr/include/time.h: -/usr/include/c++/13/bits/uses_allocator_args.h: +/usr/include/x86_64-linux-gnu/bits/setjmp.h: -/usr/include/x86_64-linux-gnu/bits/fcntl.h: +/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h: -/usr/include/c++/13/bits/stl_function.h: +/usr/include/x86_64-linux-gnu/bits/stat.h: -/usr/include/c++/13/bits/utility.h: +/usr/include/x86_64-linux-gnu/bits/statvfs.h: -/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h: +/usr/include/x86_64-linux-gnu/bits/statx-generic.h: -/usr/include/x86_64-linux-gnu/bits/stdint-least.h: +/usr/include/unistd.h: -/usr/include/c++/13/cerrno: +/usr/include/x86_64-linux-gnu/bits/statx.h: -/usr/include/c++/13/clocale: +/usr/include/x86_64-linux-gnu/bits/timex.h: -/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h: +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: -/usr/include/c++/13/cstddef: +/usr/include/x86_64-linux-gnu/bits/types/FILE.h: -/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h: +/usr/include/x86_64-linux-gnu/bits/struct_mutex.h: -/usr/include/c++/13/bits/stl_pair.h: +/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h: -/usr/include/c++/13/bits/charconv.h: +/usr/include/strings.h: -/usr/include/c++/13/cstdio: +/usr/include/x86_64-linux-gnu/bits/select.h: -/usr/include/c++/13/cstdlib: +/usr/include/x86_64-linux-gnu/bits/time.h: -/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h: +/usr/include/x86_64-linux-gnu/sys/statvfs.h: -/usr/include/c++/13/ext/numeric_traits.h: +/usr/include/c++/13/bits/locale_classes.h: -/usr/include/c++/13/ext/string_conversions.h: +/usr/include/x86_64-linux-gnu/bits/timesize.h: -/usr/include/c++/13/ext/type_traits.h: +/usr/include/x86_64-linux-gnu/bits/types/__FILE.h: -/usr/include/c++/13/iostream: +/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h: -/usr/include/c++/13/initializer_list: +/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h: -/usr/include/c++/13/istream: +/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h: -/usr/include/c++/13/string_view: +/usr/include/x86_64-linux-gnu/bits/wchar.h: -/usr/include/features-time64.h: +/usr/include/x86_64-linux-gnu/bits/types/error_t.h: -/usr/include/c++/13/ext/alloc_traits.h: +/home/diya_limbani/FastDevFs/src/src/fuse_functions/statfs.cpp: -/usr/include/c++/13/new: +/usr/include/x86_64-linux-gnu/bits/types/locale_t.h: -/usr/include/x86_64-linux-gnu/bits/confname.h: +/usr/include/x86_64-linux-gnu/bits/wctype-wchar.h: -/usr/include/c++/13/bits/streambuf_iterator.h: +/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h: -/usr/include/c++/13/ostream: +/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h: -/home/diya_limbani/FastDevFs/main.cpp: +/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h: -/usr/include/fcntl.h: +/usr/include/asm-generic/errno.h: -/usr/include/x86_64-linux-gnu/bits/wordsize.h: +/home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h: -/usr/include/c++/13/pstl/pstl_config.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h: -/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h: +/usr/include/c++/13/ext/atomicity.h: -/usr/include/c++/13/bits/range_access.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h: -/usr/include/c++/13/system_error: +/usr/include/x86_64-linux-gnu/bits/types/time_t.h: -/usr/include/x86_64-linux-gnu/bits/getopt_posix.h: +/usr/include/x86_64-linux-gnu/bits/types/timer_t.h: -/usr/include/c++/13/bits/cxxabi_init_exception.h: +/usr/include/x86_64-linux-gnu/bits/typesizes.h: -/usr/include/c++/13/typeinfo: +/usr/include/x86_64-linux-gnu/bits/uio-ext.h: -/usr/include/c++/13/bits/streambuf.tcc: +/usr/include/x86_64-linux-gnu/bits/uio_lim.h: -/usr/include/endian.h: +/usr/include/x86_64-linux-gnu/bits/unistd_ext.h: -/usr/include/fuse3/fuse.h: +/usr/include/x86_64-linux-gnu/bits/waitflags.h: -/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h: +/usr/include/x86_64-linux-gnu/bits/wordsize.h: -/usr/include/linux/errno.h: +/usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h: -/usr/include/string.h: +/usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h: -/usr/include/fuse3/fuse_common.h: +/usr/include/c++/13/bits/char_traits.h: -/usr/include/asm-generic/bitsperlong.h: +/usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h: -/usr/include/c++/13/cctype: +/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h: -/usr/include/c++/13/ext/atomicity.h: +/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h: -/usr/include/fuse3/fuse_log.h: +/usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h: -/usr/include/c++/13/backward/binders.h: +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: -/usr/include/fuse3/fuse_opt.h: +/usr/include/x86_64-linux-gnu/sys/stat.h: -/usr/include/linux/types.h: +/usr/include/x86_64-linux-gnu/sys/cdefs.h: -/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h: +/usr/include/x86_64-linux-gnu/sys/mman.h: -/usr/include/x86_64-linux-gnu/asm/bitsperlong.h: +/usr/include/x86_64-linux-gnu/sys/types.h: -/usr/include/locale.h: +/usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h: -/usr/include/sched.h: +/usr/include/c++/13/istream: -/usr/include/stdint.h: +/home/diya_limbani/FastDevFs/src/include/fuse_functions/rmdir.h: + +/home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp: + +/home/diya_limbani/FastDevFs/src/src/fuse_functions/access.cpp: + +/usr/include/c++/13/cstring: + +/usr/include/c++/13/bits/charconv.h: + +/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h: + +/home/diya_limbani/FastDevFs/src/src/fuse_functions/mkdir.cpp: diff --git a/build/FastDevFS b/build/FastDevFS index 4bf8eccf8fdc9c9075e512e40a28d57c316a9389..c3cc1eba841ccaa813437b8eee2d91a8e2d49686 100755 GIT binary patch delta 6538 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 a(fEko3Rz^NV~Yy)f^t|UigbK#%6|b7^hHJh diff --git a/build/test/run_tests b/build/test/run_tests index bef827578fa76417f331d67cfc7a6f6e55851801..d91681e162187b0ca8c0a57927285f0859b96d3b 100755 GIT binary patch delta 156942 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

    Ipy<8YH!3P-o)CN^1-n}f| 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�pA3nh`J6 z@VEhom>-!##J-4Sl#3EhAI0PFWHaT&Oa8b-dm~;7@|l8PnG;x%hVCyBCL)_D|1KfF z?l_k_z6|T&rU>$D2r@kGi1Z>T;#(DKfgG*|GTs-vOC5Xu!Gv8nGQu8)vIvWDnDWd6 zrc~Dy{2hTJ6#PjIrG7yn;#zZnfb3B_FZWOzjqoG{DY&E9T?&qyQ&ZDWX@`zhT7pmu zq2tyBEGqPHT3k{-ZWXIK{T2nb0Y5Wh4PuGxMk9K_?k1GdL+aF{734(YM_i*}jg!(1 z(V&%jW2i>wb_#Mrf2udH#18F3Kd56=RTSHk$#XI8(FIC6UQ|Sv#FIx)$;+vp7{=lz zbd_O{cUWvi3T!Xx-cyQBxm(N)%0_Wgli9ASyQ)$(?2ag(qd()s-bS3b<1NDWyc(Ng z8?cHX$N+(O)vmc2AClD<13e7{y5Vmy6X<1k%uHGK%Nhb4oe%4*`AQX)uXsTCp->Gr1v-oFDN3W&y`-cR{OY#K-b7>HRR!$9 z8mZAnItSY70ol+78wHp)cV12b)Eqt!_(9=pV4PWO9jV>3V=YAH019-oUXsnND?0t2(Ak^(c zUR;jMdi3-Am?) z0CjksrZat|m~j`xjtK0n`b>0QyUdDE(OXlo93oWAJ_AyPgueLbr>Ur#MAe*Ik^|Aj zN;4JqDB^+g0l}0e!jwWZtoy1V;W*FJ3t7V&Q?gPzX03-Z?ScCwW3dxm>MhmbN9R*f zZ)q~Wl}3~LNHy@&H**r;$)43UPp){PdeXT9)C|znbbSrqoQH3OCmXHTJ-J3ekUUFy za?>+VFI}LkhIs;WtET30tAUCWa1~%9_3SVCG>CPzH!|au7PKCadZ?4uaE1+5v1WEHQr5v7vI8) z;2LM+9S2@qkM+S9Sa=i2R|cT2_uEx9Hj!74DN!0(OOS;NCx)Xg#=vqJ&iqfTt{*x$ z?Aw*9!>Ya#y?H{bsO2jp50qBp3QO=HX&k;ovka1&#@4H*b=>Ge(Q%=FJ44I5nwICD zb2aq7oG-Lg^VB0{=seMpCDAq91JQ+_#275KFeUq>nGOG$ppOwB*y zPUInR=9Y{9MXo%qoT9U!2<%%~^Vfgs#zDKuPSB*8AhAR)7eUd6`V5ikR=zz~mwn9I zjxvTw?R&IB!wz{J-D}J1=##Q}-3=NWRV&`j>sfFBoQu3ZROIzVC3zk49P|26k=Or) zLK`2bv0hcu@;df7l+WKQlh?rwf5C_IUX|4=? zqJ`~eP((eGgJzA?M3S$p229(exQGrEYUWv>W`EJ8vB2r7RmPl$OA6XMp8!S=Fj0%) z(mwodTETEB2w&X0kC0B`Oy~Lt$uFfNy55ABP@KRn2(adgcI(w6W(F-xl3Mk^kGL3=nTk4i z3W}Tz`ZTx|a6y(0a?Q``_dsosP?S$J5m-!E)o{pH9-DDQmaYsYX{6M{rP~bQut_Gm zKFz6ycL-`F@4_`SRFsPHcro1pRe%a@OO&eND&p@WaT(-WDj10^*AVg^B{gGxsp}}I zkxyMviOc2T;-C1aES4WpruuIcH(EJLs$J#&v=V`NN*)~^CDp~x?cN!MlerA?8I8l^ zO*C^frqeOBVYC$Bez}quv-wKfiHMgr?S7kunPn9g5UoyKS%$)Od{K$N!x`@nbNv;NsmFsr8V5xaP?BZ>z#yzl1Pbg6e5w z%$+Ly)fZ`W7Sbquj=G*k+qesMEI5uU+cYwy(OKbw3_r;;Mr!6V)EQk;cVZDm?2^3N zM2T7jn4>s@T#xwK4r>gvLwT4(IgXZ(m0DI@0SDtW+oar@M8A!dx~KTTfRce(d~l{1 zn1)-zn8cf-0_tzoAvEf}7MQ#z|fA`w$-ErRu$xJhyA`J94@3OLs`rQ^R>1tQBBF zgGWjV>=T+SOM?apA~igiWY=IHEgX*@%(+!S1>W^(IS= zJLJ8=Ec3_TY7XxPK0UV-11>}wp}6f{MLy(g!UU>FfB}cx5=Uz%OLe= zm4AT?K1`%3Qv0DJ#7eIZ_OY>$`0cS>-xR<_E+o)9!fj8Fc%1Mz!(CE2E zXmlY0OT5k%pH<(ol|~dX7465;z^PKx3P)k28qGemZmQG`SJ!S%m8vJ~Ewl&on+jSm zFB+q_i7(4BMT!uf0GJlcyU~#%n6uHI7R)t)(?`84X2C2LxUN+b~z_b>RsQvR?$z7ng7z&);Vh5~C)D|1L!Y^ur_)c#+ z8ce36(=lGpJ+wFI=c<|W(I|U^K{l8fFs;Ee&|H{!alYPQJK*#NXH%mYQje6XLWFJ8 zM^H?AAtl$whpv`L+(kx>W2A_5CR7zVLo$b?WOXMGz64ZV6+Q4K=Fw|{XHq=dffqO!c;TYd0 z-#<)gKe=S&zyp6`ys74kcN>+hAQ3%~Ijff`b7+u@dJ6C*xJ92l7Is+{=%)Zb2|_wE z3yE_l{WnYM?b1UCvpDyn_+%*{q#73FN(~TM`w4??j=8b*ILFbGWK8g#9eAE4Q_yT_sQXaWdo^RN$PAfnkQK9LOEvi8Vf6KE$**cta40Jw zM0e9@x;h&tC0^HrYB+rurFIH7vc%~FR!eT_49Q$Kj`I`4&@6D<#V)YF5;&_aMQpUoci0x~{$s<(jm1zBI8yBvOsY=Fj?)%L1u0er2`i0;vK1?T+~iq+U*c z4A3?DE?Ze34Pl+SK7@R)zFOM@?Rt5j?Z&`~&-KEU|N0=@A3{UDE)iZY?0Kq zvg=>GxT;vA<*JSPCx*jd9-k`6zDQWmEb**K3go+c4_uV$n)MpXBJB}T|$9VCiSp=zl+6H z3I^zme!?W@5A($EZK?c}P(+2V@Y9a?=rToW9d{NUjkfe>YHMgF@x184qiFXpv8%OB zM95bVq1!kJbH7$TZf#vsK4xu27gD5F)gC-h6&e7CVXGrmY;9U1S5Q!@6xhdF2=%IV z7wX_^0?ZWnX(`;5I++{@6aK}_1k$sh(a(+Z<8gZErmmy3Yq`*t*oOlDR+u z{R*W71+)=Wm*y;yF4b|V27f76Oj=a&q8_w89r^!84?3JKg@=9zUfo|K zP0$KMZa!L9dkoi+{~u%D9hSw>y$$T3SiwTIfPjh}RO~2NL9xVcVoj{kSl(zfv7k|- zh}fbYYt(4$F?Q??vBw^}!4}!IVMn8p?>@7;&ojPne%JN=0nfc>&di)SbEdZk^`gU*wBX{ek*J5O%`LN;y5Bf+Z`3`M zRq$LTFW-$h#~eU%JG zg+4_K_gQ*h%}2r)q;RDJQ?%l_KA^B7ABV?L_7u&hR3Y@!?EK6|cge=@6r9xxZso)akVaM?m@leA)Gyb%kxY05nj?NISPId4nNS?Pt;Qw*}0a!=Lr zmbnPM+q$e3V=AUKSRO9a%b}Fm`S-RP)tjnK%pDGP*>AyZ-cvRIu(bN{f=w6JHj%lq zfM8D*D!b|TxcM_TMBx#ZWUW$ADoE0|dt*~l-dA?QCO&OMUBOi?n;lV1G7wnAW4ZYw zUH|eMBp$@`*uTxcC*a6~u`hAA5;wBDC^cD&$uZ_8%w|00o`%x|(NuDp*3m7y2_;O! zcCnx%R^-32$v{mU`MA3laRG?DX#y3&R=HNqb!#uS6v>IDu#P;%3}^HXe?@7LbUS^W zl^|=|K{jC``c;E@gG^$9Og$@_GthnMSv+}~1k(teu0<56&S4<|fk-vS=}Wz*Yjr)| zu;pRzFs+}i`FYfkdUgMnPEFU!Hhsd6m-1t7i4#Iy(8JWd>!I3BL>FuP8{s*TC$8=E z)jn*cFIa|WCOQL#Bh!(OqGw?LCYEMrXug5(Q!Vmt&Qwc5Y<`j#S6hR(`Zk1PYmKL7SiJ2i> zj8&p*aypv7v$keJlpx6ZHr*2CVYDe9h$FlbbzS~;I) zu-`bI1Lf;e#`1%~X#5*f_1ReHYDoQNV>M_IotusEbalEv8-3_SRA7$Q#J6x=_IJec z$3+2m>}4*cL36Zks=Hl-^6PJv`LX-Bw8ft>7}8rtu_f?=$LRg|jOI^sags;yL#XIn zEhr&+JDkeZHmyKe0rWv%Je1u$;imr$zxpfw_Z0u^oEqWioF6r&I&iA7!hw$(QRw~K z{MQ}yRO6kAb0DXV8WD7GE_Tj0rp&oo72gHN%u?Sw)^p&o-kt*vdX~W<*ifoT*iZiz z4JJ&QR;JygH4I)X1$WPJlv6zl#YI*YXc+Xn&={(fi&SEs*350h5qf%F^K+Y9jS8&M z3em!OT91;0tHTs`!W6l|#~i>68Q4%%mr0lnmG?OOlSU=xYt`J`YqLKe|F7!UsYx^X zI|fK;Mjx6yABT#j(z*Eqb#LKaX zZ86H(Nre|`RSR!rag*1FhI7`kGcRj&UZ_=UlWG>YSUlextM>vMZ%dnDvBAe#HX^hS z0g+s-J~y`z#wQL9#VvR}LtE*sFS)|VBAdZT5GraA?7_ad5Us`^^k$(}tY`)@G#*Vs zD>+qw&gh=d8Gt+~vIsYIqA(A@Ad4&PU%@G5OV|HX)vUtbd1_hVF)6 zPQ%|d@Cy~R(w|x=R=;ndj`|G?dFbaY6s{k$ke|NKLgk|Mtro1IueDH^zSKfN`dkZn z=~L<1BCT@KL2_V~t``W!T28877Wr(O;1xQvSo2Ld>lhHE8mAO|Ou>g0d`Q6u6ueKt zdlbA&!8;VZ-Nd+x4=ci36^G3V-bgPNYlGY#L{QJ4w8!~z370gZ8f->CQMV=7AJ`su zdtz7Ar?pJ0;flnv8eiJJM5|b$-#MAxY&Bkb91Cy?n||bZ+w$Ks8LZA>;psA7sC|dFnss_*U>p&np~c zmfnC(0mgK|3JM0~LccGC^5;q8L3xwESUi`%8TwfKveAs-Ul>iSKF~tl^_~{;(m%CO zU%i!u!t}-#>ZsSTPz}AZh5Ym|3$@aVGb)Lo!}Y=zF-XsCArIZfLectboQ_zgRY|yf zhSiv^e;Wu(I;hX8?6joU%24IGf}be(fr5iDkg%<=xPpr+I6%REzzMboAH|`tf(t5m zo)Xzy15@V~o2PO?{+?>8! ziD_V>pH@OnciOQMTbaJ4dn>h;Zdc3D5Yhs1Z7othkP=pD4MVOX2}pVUl>cdx0!^KG zrO?3BNcmQZSgrZHoiAlJN!?a!T|zgOM*8>KP0|_ttPCukn~i96sfWDNj8Tx} ziKDh_wK$KW+Vo`+kf+f-T=PTok;XFEWj@W=5cO}R!QsO1Kmwy6{ zTc@qU8cmt?+JHPY?SaXY(zJBFRx-D+3H#{GdaZVjGiiuvG+c3FwUsJ8k*cp3^PH)C4 ziR{CC(D%~V&6v#@#Kd46lz+BaE8P(9KS<>cD8VwS%KelnPUY5QlWi=yMumpy<)t{h zJ{=rPuKTpYGVezQsCTER?OH8dNIYUY%0mxYv|aNrcmtNo5!Lf!kuvoRKRUV{8+N=& z->!X)veY?6tKZ^75zY!!C-!NVdAkwrm7+{Ftv0r1=6_l33CmA+$3{zxb8$!F<|5>k zfc++O$YY1L7Z;Bl*`bx_?d_u~?IAX8+e({(d%ao07v3Bj_A>LwedHY1^sEjfS873D z=F3E!(}Y~{;PkQ;<%vYHzVV#lPOVN!jU{uM(fXZ8OQy__GmF}Nn%5u6ebIBY^4V03wpUFrA#~)73cWI>~JP?$vuSZA(OCS&pvp(YJ zpwJ-wj)iLAI?7*mX?2P&;`GX@d)(nG$VFvpt`+^WOH0b}98%yaqG`J^@(jAc!?!hv z*~lwflxWK{7DdhdlRVzIPOr->=1%ui<6xqroiW2R>fl zAq^Ytnr-o4p>WAY@kwD?x*yX7S7_UQ6xoY(bw92b8DUc0J})c_l7G8GmMuA^|HEZL z!-0VVTKPPy*q(S&CaVz90j)%i6KkR5Gqmr3*1LJfB;W=RNUw-c>^ASy2q&(q;99`{ z)q%uupt!^jvK!z*Lk_|^2dzPnxHI~Y_IX#qI0X6maQ+OI!EP3>tp+_0=*AdKL77{5 zRQL1j{;&YtyZ)>D8g@TPhYq2KHJ0+FqO;bPYNle_T_6oi)%=R($c;EB$O(Op7S##Y zhR=WFV7+L0D)w<6q*JL{P_2!ghy^!1n+pO%Lw#i~=!wvY@t!*dErD#sEU)Oq%c#_0 ztv9A+lMicka@^*!fey}LoK4?HEz_{Ic`6M_)BFqMT+ej|4*llhqK{EDEo9ed+MA|L z#u>22N3eOhYCg`xwxKn+h6|U)U-!z7`ooeu4+@5?=hF1IAG0Fl3{ZA?nMur$v7tgt z)6ZIr)*K@k_c5c@uAgx-uFBWyqu9YYhdJ>;32SYwlXHv}q$MU82QUS7sTJxp@ai4& znP;-x8s(MC)d^vFaiu2iX24bw{Sju3aYx`()S&YCH>S8gz)G-eQC}Y0#P<_?n`MCy zG+>kf?@r|~`=KgEop1$ zMot}AI)5D2*mVdimc1db!ex57b5V*q9MfW=U*>^ctXMU0LI^%vag)hb4{a;5ibo#D znZ^$gK!yLn@R+uZt{l@2`ue0+ zHMfRBEMvko?M-crHRFEQx_ie6(;?( z);1*E6%|Sv>KWY!!I*-k84(y0*ti&VJA>g1?Ba|TP^IVzDVPYAa(PI(JoGUfk<;+Q zxqe*>O(+9&?W|VTV?PuFQC%qVEb5xx)ZwgFJvhH6iNmM;&v3mhY>o%=wDBzDH>;J`med&9!M5kT2GY&X}8x&QmJ^z zC)WjRMlAz>rs7hKMM^h*9>rh4kT`>&m_?8A?!zA_bgM6DF>cH8U>#pyOO)fHRy-1D2gYnaK6n> zwtr4i#%1i`7z%MXMm#}!MJtui>)m^Mhdu69#)pxE%SC>8wDnyPU3e3x8Qm1zUBSf^ z`~rP#o4<~Oo@zW%=%JwVZ8Eg|inh#m-~vmj#2de<+W<AX(nzqQd;yg=?M+nx^PxWIT>!&XrzYhI8Mq!f``4T7VgQJRlHZJnip`W}hZ2eeg zBKO4p~BcKd5Z zLu>G1YN%V5Q$u+%^tDs(qTrVpPTKUR3cf+LZfb3C)AqERT0n#BIdWvjv*Tg9FP?8h z?sT7Nj`lhp!(=(<7wk#z_QaNL`;Vxc9@%b@b?M_{!;P`QvI5A^!^{Ba z%%7S^^-hm%nKsUXO!tpk@f~!V3yq zXJIexF384nd`McDe*Qg{&yypIOp`RdP@1CRfQNQ+hG2C|UuC;RzD=fx+i3hV9#FH} zT1dX)FW9D0^=0e*4zWTD)AZX~As;`EiN{K}pF0@JO9s|>A3A*-8ZRZ8yjM(DHC~ne zxebl~jhvSO^fv?GDt-GwnPpXB1=!<&jUa|CWnBcJ4?S!v{mNW?Zc9~^zK4e0(Msfd z{Y*;3o@30wL~>;24BB-^tD1kqQ%5$WW2*7}9j$s)8F;W&-wMMl8`n{AxPn6!>_>y| zB41|E?{{%)WdjPh2V*}&1Mg`8aSJ%je4L+iqWW8z6Jw`Hnm*#7k`oCTb{a2DMWXT^ zveVcV+d2Rd75z-!#EpXR`5v$A64)c z%9WvYb$j)Q`ek4r?L11$(BiwjLoTc3qns=son`rW1<@V3GV7JhmFqv4xpHBzk}KEl z+Nq65MDqIJHd?be*-3+Stb44YDLT5wRcNEGh56j!jAi|=d+5;r>s>PSUnECHAObEw z1^~$SO3M z`X=e0n?4VOtJk%Y75Oulp@cn3M*TqR3~b}}HA8@@q|sdi88yLBGHN)LdZ0x{xjt}a z)C>&R?2H?=BIPZ{SV1&$261+~ z6$H;Ey2~IwaAzWiGl;A@2!d)o*7Evfu~l%EMrAmJn7o|=Gc_Oj&tt7{z9Z0w)!2Vx z(bvFZ{{yziX@5Bw{Ozc@b!(Bz(#z{+TmI>gKANLOXOg9FY6sEG8N{V+l2!MTzGd1A zP|y?2r=&Ny<%>=;w&F{z>(#Ht~-?0y{1!XL%*|v z=}?OuE_Tb3{GI%L^Ek`yCQ4!^i~tn6?o;(@GS0J`TmMw2bj6rV?~?1)pgZ%YI>p74Hn|@+K*-UI1Y^ zhBjVQ;<;A7Shp{%xL@CL#Ld@+a#OdPzI?8QBuuhdwmVs3ES8b`SUg-jh5ZB%@Gd5n zNwW2y5Vc*7J6R)Ep4t6g!BZ4GRKcSZoFH+6IW0U|amc6O;R^mj!5tLbOu_XOTt&g9 z6HtKqrNodwbt5g#tmAMQv}jKuW^m)Vv5evLbVz< z-c$5Rlrgk>S=#dm{kl{2KRX7#X~qr(uTby|`sEEKZP(GYH(F(n)oo;iJ*e=q5>L0X{-k%8E>11y1L&J#EG-%Cw(ztgxowJ1Yz0+E|cBTUFwG{u0m;POh zJ#_m$#5hNV|H0}#-sby9J6O2`m~CnHDkHOV3jSTeo8D5BcUow!#1`0Cn_O~p3u^va zD@tQOV6lELE&ZUyyN$hQ>Ly>dHc!jCU}eHJO3l_4G!XIAyfcUcs#u zTrG>TG*Qw!{$F$;D8^OPam(&P39jN3-n{54QUVH}`*$V0KTCJsYY}cknvyrGp*1!7 zM>|lN&N>BJlWJ%kr>LPAbr&Mu?Z9b84b@MZYH$lUO@~Hnv3gF?8@=G4a*7oH zCMW+r;gx8hhls>QtSdZ3B|Ncr(L?OZ@t{5`%0FmcE>XPd$`j7`yQ5QU%Q8U0eHGjj zn3}%Rg1sC3ORh|y61hbk%+htuEm~tnc2jQ1R`uAw%T|=e|t_x8zN8U%#-#L)%7Ub(Cdb?#F;s{gx5B+t>m!1T zKi_929^>>UdM``>@m$+Y5V<4x2d(xI#o~fHA;q6p;hsg*^;n*4jl5V7q(OVwue{6% zLjirM6ozC9e$G z*#u*W@rN)}_rhD)V*^C7h%-AR>)=|FmG{u@=f$2Q<2wR6nAb2D?@4gSd#eE=zJ5Rp z9wK4CY$bW6!1#tZOCD-22wkqmP8oVj2w~s-aH*?Fs|}ht4j4zBi-=N@o12^A{9I9H zUlD|ZL{_a0wf~mFadLi*fNy=N`3W;9MJYu@xrEl1*ZQW{-Ka;vdy&n*rNgTqdyO_f z8{+!rG~_zV{ref@`Y+farB^}HY|E~cZsRl~?*G6oEqV-RdmQ?0cA;vfcxd9lsm6sr zojj!+{J0T|el99%1fQ=Cxn+^b$y)mnIf=vi^^P6p)HC7=}a!^owTjGarLH16I!7=2%TRHDC^|PDt zJN__A@0HKGq}po6+pi6ai?Vf3K{H7s!jNnGU{3m=ZSS-9$FULdKF3r&8zS+;?Fd)D z05^{AGtlG#Nxc2CzPN}A*s|e$_V^k&OLHD8Ye^%k+6!!Y0QNPC5}qEAmFM0j2ErXT zmQ)E8mFvW}<076On~3#P{lqdktFRnJonsg&i&AHtA7Uxe_1c>dGv1;$z2NqWWr4ys zp)jb}J}f8NGW7PXQLd6BU$rriMoY9-6hA?(5E&>mVU_O z_zv-K&fJx?;+{}1hz&`&W?ae~NfSbA;6P^eAhFWF9`agmimRVc@uk+4=05<1Pwzml zgV3rB*upx)JEc^ngotUlxeA>2hDq*fCU*+bte@Zn%5s($^6R_t>A7!cXb9Jt1AnvK z)xtZxel|sc=UQ5@i=Kg#&tq&CuZ7;S|?7j6OY47F2O?%h4WZ{IEZSSeb zJmk+d(~EwOOEU6uFdHEbZkSsOGWlplNm01_XxR>A=)ZyOzf69B8Boc}rpYHuj*m>f zsmbAnR)=%AzvTGH~N|udX<=X`lliQRqjEeh&I!qpyWo z(}NW34Ck;B5Bdyq#|}qiAC+oHUzHLAJR3k-Y3%`Q?b}E%B`PNn8X>DD@zcE*NX4tzwRA2GH%=!cCh z7G@>yQm`|e!v@jlFj3sKA1w+KweXPb?j^wq{C&!{U*Wa8gU)}<+rXb{O}xRc(`twig68-+nD4D3sGh5kH$ZJ<|<@i zQafxtZ;o|M>@wlr?O}RWPBipy8HC9Bsph`u+473C&(EB7?j5K_dC>)%GS-(DrE`^x zHN!4JH_D5!+HaOgoA9ux2G?JFe8sHwx%OVU93=d<*bL*sZ{yYcosO-A^(u(?gio8G z9_$QN@DZr7kWn@kS$Y}vmK^z?vS!(8ih%hr%Tkkr@BY38$jwUj&unjZWOA?w(@@&m zf8tCr3;wS_XTZ;b4BrHSS_2GXr9h%S_~ih*$=@u!gZ$0ZTgu-Iy$OCJ4j9!jktGKT zdMR|k{zsdgsB=YV^IkDan(})5STPE<%lV@}s3Wb7p>+hoRa! zxbO;~g5wn&Yhezxn}R<}*<48!b;VZJGvT6C6WToz*tyO&MmB4_b3=(mz^ec5c`^f7X$n zKI*r;{YeJfLj z1@*5iO2(~{Wh_%)F^x}!%W2L|Y$uK;2C2fn0W<9HEdi@bj*kR;?=|~*9o+#nkZ8B zRv7w-);)&hEMr~|_1a^ZDi&=XXc*9OZr+?*U6k;z4T9YqR5|IyO{i9N(bDb3d`hY= zN>zHe5P6H$1Lfw0oEV|tzJ*kM`XZ;db0@ejU|!jlCkBRvLD^UOyag0kP54mx8lsdd zuA{9XA`{l5-E~~bm}OqdIHQ0ZnB^+%OiWv88+czB0@#V^Y|##aW)949!ag`no?9?5 ztH2%9VQ{n4b@R9rKLehDJwKGQrWo(>`5aD`dmEZnQSh=30iSgGipA^j%F=WkAPQm+o!oYJ%r+G33-!dEzJ4g ziRM}&u-$nx){&t+y@QxK<4SfV{4YRP!$*`eOcEMroNmxR|B(yYp3q}#2iv%;C%NaR z>{`ORmX2h{B{kN0b1a%#uIMl~4u5S0i@piHgIL_N-Vr`!7r~K+Gt{Cs>e9;8zqY8; z~>b@QCMOE~JppE&SQW4!~X8Zio9PETr!#x={-L>0$Nj4ctC{`Uf8+7Y%T z%*%i{MJgL#_Rd&Wn>~oWsw3ju?$4zibwn}$N#u-u-w_+98RzLq9ns!3mKsHg3KfDd zK;ruJ(0H!4()GW2n3|Z57drJ!1fXB@%Fd2J)y23tEr}A1J)1xR*>1Gwd4o0dGD=jA zN|Mtt$W~}i&&7e^c}O3#qT2-}bLYN0SJ=q(?`H9LBo89_bKyc-R8ROPv;x^Yna%yn zSyg1C5rMHIe|~{5xbJa`Gs0|(g3MqtWz1Q6jO5s3cWStX{V-ETwB3|V4`eya;r2at zLCYQMY}jdOyt|<6x*{Y`ZZIN+!~Vj7xC-?!l5Z`guu^w+oJ`#sZ!>k{kU?tdV$4XZ zzze7Db6QwW1SI%^>P%dx$}(|pFjnTol|>N$mAH%-%_eT5MKL0v-@rjwy-b=ddsVSXTSJ48N0@p@ zM^{bX#Uj8=e@2mJ&E;N;3aq8PwWA@pk|T%n^g~-m=sZ`1LZeN0rm-71B(Wj|))y6O z^}@)JGfL+-0+S;T7BoNS!{WJ{FxECW%)d-SD0uo&4mC6M;q*g&5gZ>1YP{9g$E*li1b1M z^K;$Y{}HRN8Q`Zf$_zb`hBgqvZL5I_vE;&hmOi4Q6w6l*-m>&K8Oldu6rI z$2@J16Hig_PZo~p(3^bY#B}T_SrsSxx;>jn1)7Qg*CABCshEq$3{snlPx0n&@n#~1 zANXu0R`gvTD5YBCBBfdj>GejFP0^HF5g*1To`Yx!%$#^luB!}(5B)pvo6_MflATUG z$%%RT#LH+;1LDO)oZIZ!TnxiX<>}_=g5cWq=AwJq-HC|L`OZ=~^z5*gtjsrq?Ds%w z<>3OKp?^;!TZj@kDZ03YD4MW*;=hQQ9JRM7&j(x7%CI55u`)*w2ZY@}X}Bl?5oeugKbX=6Llrer5D z*|MzJ=)|iOJc+{EiwSN|N707%A}HUq(N4C4biKV;m-{tHTpJ_Q868A8uBtuQL4@Hn z!-Ec@i`!qLD6S(k-G_R26npc3`yDfZqyK+{fGNc)inb`r%3766Aa z4E=8N!n}0dD`jyfG1#@{&Hy%bv{>JK%V}%KC&SI9MJD#JiT2QChRxoD8h<9Hx#5=6 zOP`5#ZV$hq@ts8#th%Rk79~8q{9&BQQ48o+XAuf}aPJ~2MRpwSj3Ep+%m>MM>)TX0 zP0qb^j<`Hi(d@RReqBUt!g5#P5|?-dWh`l`*&|E#uH%RC30i8GI6kAc6A9!V*fMyO z1U~?y3?`8H5+P2P+?oa>%ME`rjvu~p%Hx5TVI*;gP23gC?QnAB#&@nRIiynus@7GM zbG=SDBw5mR8%^#iW(Rkd{N@Cdp86?UGhdMM>=WKNg^{@4gX(q@y%Tl}wX^uB@%btn zry3I!{F{OWCM0Yt+U}(D)W~4tnUi3AuizL3cXVQS67Y4HN_Q6#u5GDPcM(^l@(0bu zbK-g=a=#aw&948j#(CZkC)>J`1yoX`hRr znkj>ka|ckwd(Xh)x>21+i(d?J`i`;Yws=rpLBVk;#lL_Fy5bd-o}zYRkq`OIuRXGj zz^?QsgUtM{VW030$!l4{MTd)Z5khnB{IDJFq6&Rn1q zy+l`S=vVKl#SZrnY;I`T8znM=2J{x+xvr#)-lA-kkzd(SvJkMQ0^He?CChfPUuBTg zW(aMDfjSb;0rV06c{h+j%vWHub?IS_?|=Bg!=|>x$4( zXJQZSp;q_{=h9X~Cg(KdG*BI8>$8FE+%JG2ZQNYJ z&z3mp*%mIv(biI!Zdwio&nVcTY@|~C!~)kFbg&WWjlj21+`8r+%Vsrn;V?GG~`PW;~0%?5bjF{oxbtBE!hOgbS}L2Ju!) zulQv5-kgug`CMcZpNYBt_qh>!$OU9*;$1#B7_{?@oYMF9#euMW^m%^~k}FHbjVAQqZdD0;2FPSt&@ z%s=%~@Fy1LIp12;W`Jl{_#R?OYKHvBi&5y{cpxR0Y0m)BEl0$2ykjtcN_>STtN}Is zN(3fs`NFK4q2e(3<9SW>Zu;5JG?$?%$dv4}p8K9Y{8dk7-6QF^%dec^yZl^+J=7~& zg0c_+i%g*z`v5!V=kWFp?%6~=7SmpytmQ|7NdF40V?D|{P}I+RAKf;Y6Op~&Q}%vb z)mhAr4Xv0DI-PbUBDq{_NBhc-B-{UeHXPJ`)24i|=1_3+4RW}+RYd&k*9({Av|`)} z9}$lqR+UL}#Ny7L7SM}7uk-fp_9iFB^gGDv($1EpyIB4-nE<4|2r#nomBJCP1+E)nuz$XhcbZmy> zDul12JKmXN;f*Rixm&xybirpGiW(xqa}BF(O7Rcw#Q=i!p&Oiasw|#1V)}vbg!Q#kh%TG#O#}?wPU!pr$ zfVU7|L)cv0jp1a0IX3vp2D5GOnGJf{V7v{YZ4hIF!4{x<{}J=5-ulxjwMV;|1{nm6 zth;X!H!H-4sBLBLFQ$!O3%`VWpTUEC$^gp(hxBdTo&JwzTmHM-{;`YHfPbEwXIqE` zUEW@jss9tp)j%qqg+avA>^MqGkDATz$NWhl%_lzgobVoP4{EZ$dQS+zufagsyp=$& zDkabmOn@!_?XD~olPcMy(+*O!9ocS>%va2lG4J5!vQy86i%88T&buc4HWcHSHgtZd zXp>O=rj@edG8lQ(Hu6iGm`f6?ur2Rvq9m&&tWl<0?_$f-N7ji@#UCJ97r9JP{dBY$ zwn_$mA4Bh#pmN+sS5Aidqa)N3e_5ol4pIx7^p%4&(k6ZCAg#7ZO+d1Bu@~iJ=SxKw zX%zAe8qvsCu2`HyS`B{4R93@m2=+VBKI~kCoqNEN&3Y?7@oDqKC%lw#mD|tX5sTfJ z?Z#A;jZ+kSQo%=o9pf`P^^K_MnoK!{i+XMyI-6sTSDl@qMA6XUqO)r-of|Hyxw?|a z2vHjsz%?8p{>1wsA>U#oG@aUiE9!fVL?Mqj&l61nNf3Hl%Ia@LSyw+CID?7dIy7{_ zOV#VHtF)rtY;RSl>M7Rx8@}wtOp_Jh*pM|Dzo!$&s@-=dthS2QaYhA4Q<&#)#56>Y@$C%U&PG2%qrLFM(ft z%GQ;k*9NEY3y(7+5QMGnC61wesm7Hi%eur*YUQ0lktC z$~{(u)ps*k`YiqVaqdo6=nrpp@9eh+?3AfjN7Q!DY#$WBv=Avcqkc4WtOyQ1g79sr z#!NwGSF~@!mDFVSUuefzQ4g<>y)l1kj1z-gZ_?^<*ysE!T^T0=VG(b}iI%SIDE51N zxl`ZoMK7f1^!K8C{-0a1{OS8*xxa~fpT>)ZZhudr7UR(?1?PAe$Z=XRUNk7!?h4d4 zINlZ~&G?qyjz_ChfubjfxZtmwJ6+!Xz-|6m1nI(3%68d!MC&Gq@BEuIP{4;-Kw{sCCP#>xtcr?yPlpmr}Yy>$%v#D&d?7|bYfk>n;baR*hp?a zU@qt+&H6!%$MD%_l9*QhSgcH|eiov#2p;+oi7>3(3&7d6P5x%;ztY)BA|TJ^CZ?54 zX>RS~PbRO)*xid$M3Y4W93~hr85-S0Qzwh|MHfIfTp7*6udI19^;L}-;-xV9Fd0Lw zG%A`XiWY4M2BQh8082-X4Ke7wP}@W?C1GD9GpM;xmh5Lpr9sY#l8~j3mcN<$F#H-g zD48u=fcvOIVD!cpY|pitI@PqxG4qjTtW@w*2TnEKJ8^=M2h%XN*;P_-5e4T^urr`E zW41FOqq%}p6uex)5elv(aiF<9VWz_Yj~zQO=631b6w%i;7xhdMmE4Rtnv;YY?7xB(0ohWJLE2CpsXj4?J&Ggc}1h=NJM+v(&q z?CxnuWu}Y11^d^>sNhILXAroMX}Va08Q3@od?zXp{J4Cnn1 z*p-m2hs3eb%AFHW(MQ0!F0O!Y)&n&;GLgF(d{BGO{OF8kBdQ`u!z1Q!y_t+C zQ-9HbBTUyH@-ONGKm9gPd{R&I(ua%u!R;I$<~zzfSSI9&6z;|h|BH^!6s;5Pat(pK z7G5&N*iDhCFRjb0k!{g);Ln3>b;(oho2BCtPsb*n(MN&_lNG3QcyYM9zR=?0b!;RS z7e-fr|G306%-ljU;{>M^rlUU4Vjk>D^Ja;>c-QimS)x+GFqQ@B2;u;cA$kr3w6{3EYw~10^&4z$lnaz#c~PL zU&ojsc<7H9f#+TfE%*`r0L*v)D9S}HuMP6}3G&5*AT|i@8-lG|1?~@G9k!YI`x(6J zjdy+E#o;qlakeNOG9I&&aR>iGr#DkCQWH4waNPJ0w}$4!G87N%k7BKB#B4Ftbt65V zEdo84MqBI1IiXBUoEMoR$~GC0Zq^H#52e6!$mNRRdzdcRgE=Nu0aLXC{$EEYrS~Bp}R^SDsv%H`Dh<>pa zja?+X$#X6m?lDwvt|;pH2@F*(hUP>nOAnI}coX^z{OwP`VPSx;-yw zP?fy9ULR6Y3f*+4slH&kzEA{&U9Ku+J#KR9Z=fRHUx3yXNn^FM=OErJw@8H69e3Fj za0_elWNLECClTm;t)~mw;*P0|jKZrLX&3U2zK!BgMv|(4{E3zSMXr zCY!z(X!mwfjiX;VadCydK*0eD778AqU>6JXu>Org@2ub-O`ITKBABT-OjmHS1E(1+ z92k29EX)xsRp=iS{9eI-E4ZhU$Xx>yoGIR+FwIl2o8rMm!I28CqTmPxS5j~V1>YKA z#hZY6f6e{?c2#h8f2VN&DEOU%-zqpu!LJnTsf4L!Q+p&b!R|OmD=99oU_S-BDfp3+ zno9~kpy0I%o^4^?@;cf{PcZsfk{Tx!G1W{xt5Cx`DEOlxvLlV+LI%y(%WHWYZ&heYXx_`9B8|WnV#E%$r?iV=>_2sm(<=PE~%QV zS9DkQjpJPyh;U4eIK;;laYlUkFQQ=h7}QhTdp!dRFGg`3{JkIFwwD>dTj8hatLd*_ zM3`>^b32cWC4oWjU(uS0=t}igiqfvtsLx7K*Db3&ty(F{*GsJ6EHc*>U1chGC$REZ zz^=RyISyx;lOxYj!BwI{ndS%tUu)2+bI<&VzpT99;gj3tbpFKhRC44P>bpvWlzs+w zb}-l*_-~uupUCuJzoqHDDQ#XQ%9UPXF_XnS-DF;5F-M!s14yg}GYi5YH?o+cOy*`M zEy4VxU>m4CGrucuGQYqti}8?u@zT}_lX;QJ+>2H-^BRkJnZ-QcWL{-4H#M1y(BEJV z?O-vtw3wUVH!f-T2yXj63&E62a%2;VTLVrHi^E0!;xIuu$vK!g2fUQhPM~?u@ppviZmlOrpiHfb|KLwqyj2qROk>?;GUCtWl25PTwI za#M-5$e0=klhqe)#TCZC$&vZM%u!$Uk$#U;|FzJ_eFV(Re{uwHy<|p|Y-P+OlX)`j zW#-uy^Hhs@g30`&94%z(ktTB#d9H&}>RZgUEauAiwbj?Sgj8Q;>dKri%9wFKl)vfv zUHpPms;|RyDeWNo6`TcDSe%P2&e>$F6BQHco^o|@K0Vqe3`5Dv_{ViTHEN?d4B3? zbtYKV{S~G!75v@*M?mcrp4y7vS_-bL2x@C9wj87gP&`+HhmR-BV>*~M-IL=~cY|o` z_NEm5ut7w&`qCoW^TD-VVp zb9mqLry9}0mu5t3EYHj6#&1}3m`iUFWP>jxHB~7XXvf0q@WDpiHDRV71Kv_nC@E%e|f6 z-6@Fbf1Tn_r5AC8k!CDW@D~dID0;A26m?I>wUuq?;2X`Gg0=|Xnx`?>#Z`Or640Du z*^DW*nF4dik(6N=+@Oext2NmW!XYF+!%kT_EsSTLo^rmW>rE~G`c!)>)!EWv}RG?1#u*q zdX;wUo##a{Rhw5|aY$O+SF{w&fqTHjQEp{syrN-Eef7fg8u+Y6>C7}*hLo-k*5^w^4ZXcTA3)Ae&;MB94|gJNroBc648t)HOOZK6{ZH#x_Zq4#C(kMf|s^l$bY z*+XM|v&~kdmfJ6ewJvED4|>=4C+hgE$Xw2zgSLYGoR`Lb`ViG|9!{>%7=JTi^1Q!&$WKB4kEV0@*h z=?)lQL5rFjzifOz_xs5Bw(OI}_chG~bKprt&SsLzLZGi~&E^gDkXF-(&Vng^Dm%g$ zCdl7ReH218C&u)dg`@$FwnPnvzmLjEkB6qHaaKGrRA(m^VUJMzogyfA4vYGs2#wt- z!rZd9(%PLOFxQqMrc~?b{7w-XI5)tIe+?y)*&O6VwOy1b7hNMLff)#y!+yzbMn?JiOSN@7dmoyE|~I zan6Bp=bi(n8l!;Kopja~y4b{5Fr)RGU0o=F6+MeUu5oC`+w5 zQm4Uh+lxm_CoZAj`z>heF|jaV9-2HU1U6LZXUD?mlcM70I(0g1He&HZfS^Y(-O{P| zZ=kzKx~d`!gH%nDWSAw#mlo#KlM_M2Hri+uZ41IwTh>F#Eq0SOgyQH*kti{41{J zjiDhFk*@i;-S?m!Cqz;0n1@m}OLhgHty#+(9}Q`^(@;bH;%PaV3hZ*GcBe$3M@KWzu{7$Gs8-;Flme%r@yk^kj-#CtWj)ea zn&ill^a@M`Ke3qNET$L_8gyFtdwgSZt)#BMiz)>knkmrl;+KQEjz?HTfQOgK6i0`d zX`;n6+F}|enR2boA>(_vhRU55l?wz~T)q~Ur{oG~$XwWa!cURJCJh;(UohWJ$Xr4{ zpB7aDR!~MXMgDFz1)sr*u+ovb_chHpD~gm}#jeSb zy_c~Gr|TZiIC~?#SMz74{ub|FAX9IxqWH6-T!1^v4)Q-T$aMV`emRYg1H7EldIpaw4xJTM1AdU6GW9W*=Wi^}11--#vtY@Q%V3BsiDr7n6|U#tIj7}0 z+mb#DzZ`R>M$^v;fB#UXJ9A~Q9&$`-^)osM@BWi4ZwZ#S;qo^_A4K`jiva%>ZXfv` zp;!4w`ff=v=Q(oAcQ)8K(k%I#p=aWOAWn7&d&j|htL2~YL?(MG9XKzl`TxL<@H9sL zrt9BG&-`Mw=LO6JtfEpEMA-s$T$w9f54E_9QV+Q13P6zDt;Wl;_$*tExzOM2%l(J$ z>~PNo^@}yF9`=h>4IS2hrvn#Y1W#Pp2z-L)g3C0O{Yzj1O|sv~$Og$sGxa{M@9Epy zqI5zr@Npf&WBcO`oH$Lvw-kKC!rZCM-O#Rc(807YFXyB?_>UOZ73{9?xSH5p?sIVj zgl%_Ta$7L=K zoMvnXPO#N-OL4eiVV<|l(a5PfcLlpzm{U_s!Tt(Qkb>dsLW;T%k4|OE{lp<&41p}?F+&?^7ebSdB+me^@S)0ze^h4KK|z& z8vbEHTmbv=BPUk-HiT|n7G)}b4QF=hFWDN!^5KyP5;sV)I=J7ZGWB<(WzzM0j4*-uj!>9-MA{s z1P!;m48m_*(l!_7g-#Camlf=r#Z>Z|2n(zvxiaqG41&9$J_7n3%D9MovX!A8uD%T3hl8y@uZ(kE-L&qU~%+ybkL+mYmdd+|Ar&u z_E_g`{@^S#?s;J62xrLOY<)6*jYvMu*%cn_5;s2DS=;_c# z9%?JNl7d4N9O%HQMsWvDGqUSBg@{$?845jWfZ}jQaj5K|ry6xF%3}8FS>RI}x*HYzn1GsJu^u8E0?)gn* z{bS;mam~AIBv`mW=EUHQDpAp|E}Yq^n#?BLz;{mC(MoC$*K%(-;AHo66RmRdon??g z<)zu4LI%Tg40`g@sK=k8h~IOAZ?DeK*Gh>p_4;OT!F1L*H ztG3-#r5bY_IL+9n;9Uwnpx~b!IMwK+;N}XBQE;S*W8~yoamAsSg8dcjt>Cw{_&CS} zq}|1Zo^BRC!XGN7pkz^m=G+lsWjv88TaTxtwlnnI&saU!7hI1G!!&Fkx_?KMFY+bW z+39&*X)`TkKBvcEAFvlayCeMlzWK|XO08%y9x)j)fVwNndpzfmlOxB|th?Cke~5P9 z#mwCax&*fp-&wJK4j(*26)h)kv-LyUWK@6uNFnz`SV#oeIDg7m>?Jq?bJKN>hmtcG zuX2e}x%Hd#)DhD_foX{gb`3%S;t$=%DN}Ybm+{E zC?{?C*I~(QE3M((Hu)Y1&oaW=94Z(+Vw0+dvd^+s)Yjy|XNU&x8V>(URLzy0Y*znQ zY3pC2SNjo3=4byW{~cE+Q0$Ca41=}es;`ijOLDqi5i}l2_#j#?EBR^AeNiCBWaQDowU!#_ zc-!FJWBOVb13eb9y(GC`BtyqEae0a{FmcqL`WVrc3maP; z#5AL=g1ZA#=4RoWD{&H*Wn#xYT1`*W-F&IkLs7|lID)lvzv^VuMndSzhd4IajTS!? zjf(Edfbe*hdMcYny58&$9$WL$c5-AJ`tT6v)Nst}5pFGO$c(T~^R;R=<6zxs#u13z zGOauyGoyXfFI|7jUQusac3c*5>3_-K8o9*QY~(RCI^sH>2YLE~tII?4RdZ`0@_@yJ z*y!>jQR<7?6U;PB`X6D2fnuk0CrX1QOjm`xUy`w`DLvyQWj@O0;kYX%+J5K#F|s9y zMn4v1>TZXv*u5bUVP{L4;iBO8*tu%+1Ul%cMrJtOdkmX7Lv@~rDsGSeq#;j)f7xB= z47MoO0583fg_I}>vrkA0uPee@hoM7CKmY%skliavM zf_v+gW5?HU8CqVt;k0;lGu#`AGTaC%pDBtopM#_txVA4lZhV?Ye9iKqo)dBR1RHe! zK`>5K(m_}Nb%SNZCe_d<{l)o|u4m`w?kJ9Fr0cV{x!|7SVZM-f6wS^Q4a=ld(4|;)b*1}$O*Uy(H~E7DbzL!e}-H-OU?NQ$1I+S&x;Q30l(}Atw3M%y2r(L z&8ln;>CZ&nuG_)!aD`q8adD1uPw-@UGxr!@RdBuvHa*RF>7Zk=)4v4tMlfyT!^Ny1XGU>GGxv1*rGLcO)U9Ys6_3AmXI``p{BP-HB&qX=khPPl1 z-2ajH=8ffX2^LO%qIxf|<-Z~Idm$#~-H^_Tz`?>*N8Zz|AUxrm|D~wq8w&FOdfi9e zUczfACB765>a6a^riX*tDKZQ`@r`n7u8T|h5}R(9q_blz9}~&r6%HT=QoUEAh)-pU z51ljTjYP%h|B?1C@HvwLYh z_jO(Gn7=)1^97xye|t7>x|@XRr>U>zn}EUHisvMnSH7sJ6$xHA2j?B~_}{!QZ@oh; zAUU;(RZ}${7SS@!42}Kv8je7>7CE(W*j2x~p^kEjyo=H|~&~t7W~rp3&W>#H!B7 z&_5o^{9#2;|7cZpJ6Cv_l%<^^;pXi3>==H2sD74x7v{L!ahGi{?+?Ri`LD{!amcFd z{tR`kv|Tw*{a0sioTHTUAe{9s=<4c#W;b_rMtk$p-OSIpnI}8Uj)kqwZVqMUgLwzt z>}QmkSy3xB@68)oYA)};`UCd=+|cz)?-2uJ&OOfp-#b66eCOad+doa?4gF1dm#-IiKHT8mNz-}GyJ1WIoZV1040Dgy zCH=-p`2*oS)|{4)ZxsQxlTN9Oj^n7yl+zAVpdKk37t(()!WHtI?nO-I6kbj*^laVX zVI^6u-qP2OBI0;w#Dyo!7^^2-RTgCm{c%EmU&!?eKgjEap1t_wYnvj@9Y@Q4MXda^ zmJ5q`?dv1oEAkAl_VsaUSK?e7R}I+ok7Qwy=L-X_lX_PvE_%4E6c@Xh7rL3ZxtTw9 zGcS?p#h&A>HE9u?#%ox@i|;4okP^>e>*$xT8Y7cRm=6E)0_JwAawYDd8f$qI)WmKT zIpEM?Z{9L_ro=O`LZ_33GV_v$FP}$>H#{5H-$AY@FRH&h!%iTV_q&bd4uf;2UT;kn zy*%=MckIXIR9C>Z@-aqJ?EbdJhj#(^BmNb0H%xAmV0q zpNC#eA6-Gr@vt0`KMGNwW7^k*2v7%Xt)e#91U9#dP4@A_Q9bSu6@TtgRYC~?TPcXL zwxiQHdMZB=`1z;vA)Fg3=WhS%{5j5sYFhPib|x+?F(Dv@I8?tJ*emb#`en&}!OfiJ zW`4uXe9O(eCVg#1k!-OnlbtJxZ!P{ZuafxK5-Srci@EAHwkl$CwLQdap6*wT;wPC^ zMRaDhp`?naL$KQ3Vqg8m2TOI!`-5!=u0ps_Ti)^(-&sCS|F)`l!s1bXxBR+>=<1Q1 zDSK5H0re{HD>M#-_|WaE2aJOQ79X$;ULNbG_mMAG7t*70ro(&ocMk6bdmi*|F}-(? zD}2Pum2At?u4C6563GBb*D-PJi4B`T8&eJ?{batjG7{Z%NNpW3Y)5RHAPgN9+_sc zTdBYtKjOxn7(e|*`B*J6ukIIUM-H}8Zfw7ExLw*NPt_9YYS^p*NF~G+!WB2hNdq!)2;5Gt1iFtB~jcFKup{sf1(%4AL6&jqx2A40fl z&n54&n)HdA`IMYlM@(tH|1sxCnrdb&izU2->xV@1RkGR=ss`=XWJw)SkMEKD)fEq0 z3&zuu2Fu=cg>T(Q%wXz7m%92*y?$0N>)8cT7yk$4(z;@{#~T^)wLH%T-b+ZI^GJB6 zeArL)s@4M==M_pksmd9CBBAp5D5pl@ve-|wvqzbs_xkcNV@S%D&c3B?<^Jbch zr_4lAoMHM;YJjQm)otWOPaK`sr#ansy4=6V-3&B<4GB~^J5_c?1P%w4!%8K8DE9grgmLBdakm%a$K1^B_IYmh7v0S3-ON8>cHJf;ThP854iK_1=s!sZdheQ>N zr9t|HhN6*&UyrW~)ou5`ge~508_?~>oUhDDBP(cc+eAm&(@~rFl*jiujYT)hF8Ot1 zF`i8uHJXUAmN7D>iD+b*nV!@{6j(fd|4Ob55Nj;+(jRUr7Fhx_hN`x~Q=b0iXABq{ zzI5rshYO0!%%|niW+Jx2$kalalIYo}LT3!-mstJelIFrzH9ghkmyac+f74u8EiHXF zs48l17_EdcY(<87Ux3;lRYQ$BAvAU~J9fz51H}vE^N1G0R-xJFh2{sOSWSDcg=j+8 zlLp>nBuLa2IzTYQyeqQ3Xk zgP?ENidg!h>-u)52adIt^YDes!`r3@-X(A_G_TmKt08=SPjyQrpURk4#5G*5ZG|40 za%U@g#1G`zR${uPh8)~lO!By%D8Fefo*B^h)3WS1&r-Fch&eb}YGw()^gRO0m2T#a zZsteigf?O+-(kpWBi43k@QKRB`SD?i{gTu}c~vf+OEPoN;&4e(d8=&GOxvsLmnpx$yPIT{W~H1OuHRL{5|=~~sX02RU`Z+%H%4?6ZE6LiDDP%kS(0Fi%CU~o9T{VX z%h-;hVS_c63Y?qs4A9#+vOS)#>e{tHo+dVS6k(Q+WkE;LV*GRcEZS5}?{lBTE#7BS z<@K>G!T)(_v>O%<3?k*<6q!6FLdosHj#dH&h~` zl(?5_o0axvOS96xjHA9(6^L1B*QuX#&GOkCi*Ic8=u+3Vy>Wfo@sn>Co|7e=L|gl* zmgVICX3g6N4><%ZuORCrILTcku5Iyxuve_DL4H`$4}&sH0!`lQ|r-uxIS+H zJ&wNH)UIEaYbtKn=3HYoozt1H>)%n?R_3P7;ezg-yOq<5e>iQyX}xla`G?cHIIU1l z!~fw#$I&xJId#WLbxC&BGDGsqTJ>l*^Am378E)p!+{~}JnK!zbC%Tz+7Ry~jT#lPL z^G0F2Qilz04kO(HKjmh=dqbY;BBpuVdt3H@M9k-#F&8!1klcK6J{}B=3p|6p3 zx{BtF>MFbKYgE-x4L(gE|dWMs^j=Ec4{zu3~nJ)nw&D!a%~S0#q-|%9*F#0J{&A=@u*X`r|79}8t+L2 zO=WCPnx~h1t0(gSZZm7#jmJLb;mT2cP6RBKb$fw{vbzG4>t3X;o=oT^!t7leyJ|Sg zriT7x6&5a6bUtij$7Kg5nAGbb_)uNP8WO&Js>AMgr`;lz87ns5BdGGyadp|G`fe9f zFb@@aB)(Q`zU}n%{@W_dPBXfXOn6+To9cT@~B97-H_ z+Wn55n-XunS*FCuG9@zbRi;D5av*wz{P|?@p>S=j5RFtq;?@mAQ zJhwqk?k^szp1;y5PfaKOSSfe(=jkd-{?uRWs9fy@$MevIMETBR!r$Z4E9qMw6BR9L z5*kL^+AjYH6EoFE0tOIGf_!NJQ|n3cZS^Ze?i|2e?ZfoYfx^eam#Bsh5?!lRXFMy_ z-b21S2&orek=q7|%-T(#SIfFQC+PR_rA%G*8gkWOkwxnt`M4NRy=Y0PuIyV}BENnd zT~EqGkBc3a`squCh=vyXl?K#?O$@hcPR-=WZJ|dkl76q8-}+Z)RhLqg^NTp^GZS2O zWNTPd-eNtqSKi!6kzLp?4 zf2f$nDp~$e5fGri%sj4JM!+c)uAV?oz;kDCfNS+(Ra3OuFS|Y^T66Kxd;ShGX5JN4VO_pIP1U6|2IE+SY%?)-~L8}ETV8V*KVwQy37x|nV)epcX2bcK2rR}vSDfjdD=`q^0e4u`6d1O(_)r~f1D~4W^%she09&1 zB;F=H?ZH%w7helyT%`CaYE%`+B)i}m@9|gkd_lP;b{<@bgjRf!G@28!NPm9bn`8du znQMW{Ueh5$Ih=Di?D~LrnfioMw?7}^=U(~h7;&clUA(xm;Mc=t=KRCbK2|JYFcjmM zOLLRjIPq|$8TC}RdQSgXjv6OgGJGx>CzkWs#_CbxA+_KX#j^#Ybrh9{(Kvzl;dZ)^x2>HR_P++ z{=DVsz7xbd6})y$C$)*SKb2c1i$Jecj$b3?rO8}#*nNs<(A$TeEN=q#jyGVtywvZZ z5B%;^_S^K|!R@zPGetDAo54KFtj*syr^`Ml-u>E()StBw%WXC^Lcx9CeHv~d!^4atYvqXi=Pp_ zsuw=v?vx~xo)PWq?kI2RjJT=vix$23{Km*=<}Honf@o3C(WKGG zQwxpJJdKVqSGamd=DmT1BL_*^QR(+AtGV+XXezfpOMkpu<~%DJc=XGY+n%ND7n(om zM!HTFJ!>_8wp?AAAoR1xgk{2xJfo-(J)tZw}d?PI^$C`3@J$NZEgec(e6H zaxrXq1=YG&c(Pv3r-0SBy)NkkC*ZK6bwJpP9#_|>#`)4@`PWTR%P$m>j;6i;>S;Bg z-y)k(NQTc84gG0l%JU<5g08{f2bN!S_GH9}hF&x9a&_;NBpDPV9(t&UGr%ts%LSOB z0_>HCReBdzaB5QD(m&>RNu1`U@hUb<#K`PTaquE@Xe14=Jf5lNCniog$0Nwcr(E zi5a3Pwy57UVXRtU*$|H}o(|O< z>E_c)gEqJF_@dNt?xtKJPRXis#7O$#$#aCw<8qXIWsYbT@(LcR*BIo3ihk8=^tGv) zu|mu=ZTqS%KGE2Qge_mJWa}SN$OrnyFzdfWBzVl0f6k%V^789N(aIxytQ?|_f%cW7 zUKGs&iqJ|;kodAdcgMT%u+pKrdV(o%n_Tyz=o{F1q?uoLE}Nfzab%Yx#s(2grj{|t zs~W)gFjv&|xHDb`&J|Dc>@;t#=-GUFH-~VqQsJ|!=}D2UI=ffZ*>n1%^6Xr(vhki9 zYJr|}PioWXik=;baeGse#)$X}PP&I&5i6S2{9^P2!AHrxvEr4+zh8F*Kb>s`f9g_M z@VhwaP2_Vg5&Zj64+NhlKYoeeoDwl(FZjVR6w`aVVy~-$_mP9<5&SBJ=NwBN%D*EQ z&m(w~KOMpAJA%J?p)B|#IPoRMRxcC0%7ekT%ZV=&yw5d9@b1UV*uVXwEci&ASZ=Bk zNAOl;dAZn6%f4|0pTL`8m35AfJ`sYSG5Wc>wut2=hL^A^5~O1UGXCY3>yA!7x?7pJMNr`tZaJ{WX5OddgZ% zXU%nv{d%m!TUWdVseU$EHjQVEp_+Umo@sHqoDwfuSKdzk@K&JPtAqTq` ziXfKk-&iQR44HP>6(xPmkYcfTGOX=IN7!Qr%zS%HiM2Vz_P|M% ze=Q|8#9>#FsFa-%Zi>}MB8)o0Tf+Aji{P4zur8OB_VU_dG0yABCkl-uy>OU(DnSgL z*hjUQMf=SN3r`baONa2f&Ik|U+qt_&#kG~6t~Z7+m|CNMh&9ek*)LOOs&3tw z!ph}vo|yFE(rXD*ZeQ7c33If5GGYlYnySb*_!V~KcSnk+?K2g)_-k2;f5l0~xN%5X zia+_oVfP+(DwF@7>_~B&HA_XyIvuceB>0BD1sDCpFj6XgmIzyo3kMxD*u{1)LROqJ zPWE0R>Uh?EywH##(V~t=;b8gkQeM&U!g#4@YF~Zcp;)KArea^7DpTx3oRnfO5!O`{ z)1Asr#!e}=bCN@`zo||K`+BJ-$Gny*Gko#j(s3=G^u>>vlNe>!d)V-&!WLii30u)f z&Ui&UT&>_2M#UuoYS>X9Hb{9zH1qs&Dv zo$)v+g}V(dQ@D*Y5lyjE3eTVDP)KW)}SigO+Kl#t>e)4F++Ip?E*3uMiz;_QqP}wQ|}&4#m@C zo0TG{T_?IX(wUG+;j128ol?>d^9iKhTh;vl=6ou#>KR5{l^f&b%9Ubrg)jOS%EmW5 z>ha-{YKbB>d=J%2Id50wC34x+XLenENq<+CF*|V-_ui|lW}nkrQT}Bc%N+YHhw*H> zOjceco@Qxe(kfwlf8xsk;$)#Fa1K#&@EL9K|XJgY)k4Wl|FBTz>NN zBz8*e>m>_Tv9^D`r}TMUOsWvr#}SK1jXv_d*F>t{uwRL$VJ}xSosg@dX)T|8gJ|yd z{;z1>lksnep_Mvt@w6&7K3@3-ONf!O_nR!Zv&-a7@qV{>LMz8usB)?76RKo=Uy|lh zynNPk5m4vVqMzj(`SNO}mD9}IQh3Skp2x2}>K0n%aW8ppwV20wsZnnUn>CESTc0lD z-xAMM|LcOP9~7#(Ou?(09QUqhBK_8g>6ItoqLyrCbd@n5il%bY8Zpjed9eAa++$*} z^#6!w>9An=U9zZCAt<=e{8*t!tzdJZg9Dhf2SppMYxq?WZ4dntb%{Ot%|)y2-ox*QT^uV)k@>Zg(ZPmMnN%RIaidsSeeL z$m;Ki{%mC#@s5}l_`@l5=gel1YFE>nsWws1*(R{z8*&wM(ZI8(T=du6 zE=teZvfX>kNZO}Iy(d1fgseJ3v=Qyya^X3$MCHOnl{IEAJnb~`-FegPhW?nzyZWQ1 zNHZ5Ib}q{W?|MjeGKYiW28Lrfq2$y!U-G_#VGkmiU_d&c!8RC%S)DmmjrvBYCTd&k}gUh;k<>U%uX-cjC9w09=ALwhs17Vq@e zKN7nvA-xU~iC1g46gD8aN?5wGn^TXJ|DYX6)6iPDN{c58Hm%ZVM%@Ox;Mt>a~?PFQ>SOb}TfnahG#yH-0ugAm==4 zy2{NHh>X?3rK(3?^Sy2|AHY-8i zPC@sm&3PT&1t|_QH2nmYyCR(;>nM>= zB9b>2EJi9x?;?r$tiEDe1wVZX5-B$Mbs7Wv30XN+)Nd1AUh2E5M;wNovnjnztI9iR zDrU|kQiX5#yND^*;Me2HQF)bh?-A{ft50-t9_83B_eTHsKKVhaXjtP1!n@bT@8q#m z@$kb}8NWiRZ`mI<(Q{FlCA*iATU~wYltc_c49U^EN#8F;yMY4;U%F_Ib9JZlUro!) zZHzyhBhBvEQOESE*p;^8aGCfet#|{q?&?DK*7xa7a$z~*-0SMLX65q#8XdF#33jEe zSf?_VZ^h9{PVWcg%q%Zwom~kUqXfBHaSDRmT5%PmsN~-dD4)I-N)R9RB)qF$=(Uv` zS1XP{&V#LZnmPQQQ>{1;#aylUy1Ez1y%itDQMKaD2y|=3?`ELvOcZg?nGa3BrLFiR z8wvD8>`Gg4HWfdwTq_=^&1g3nl3M!{rsKQC?1{ zl2c4%rL8zb$tmB8zuJMPw;vF6h(NBqC98`V#PrQdkgFBnqp7&JVqTY;?QWuyHs}Fq zFPE40m6G;M04s~7E%BOwU1>j%B71&A zKX8v~QhqeQyOsR-)mA>&D=Behqj|6z*ZwBT(te;TO{RQ5uvN)<{Q)_<3F9W`wp|S) zUn)VaejuM}?A8yAMhXG+0SI!>ua}e{K7c@Ymppy4lH=+JHX!H0ejtO69^V6&U(mbZ zm!(QOk9Uu%`?K7;frhxL=RPZm&f9GcEoS|`nvSx&8k zr+hz9vIS3h4a=vjUU@--l^~%6x%z=HCCE9NFD{OpGl+apWuk;7KOpP~TDoPE!SJPT zZB%G4>jnyG5qTrXZO5SG>;^&{v)i)|ByvG{aT}Gmsn|Jurzufvc2kYAbXL$2wH#f7 znidp4WO|k(Hq#?KhkyLJbu*^N<;tT$LfjPZpklg;og=39DyEg@hTF^fKBd%yoyBYT zE!SD}B1qZFjGC>>{LP{&yIM*%vzu^??6O6Ss`HZSzDKHx$U|~CuL;#dSaZ34iwI~j z3ODt$rJqub9Z;bGG3xtJX-tXCL$2mxfuDX_-r6EM`&Tf%-_?)QRni>K_NG8XUoJz_ z#aNGm26A0Gt1KrQI36Xxk~h*tlL{*uIQIEhcpk&}#TDvXSVh~)l20o+OF_sdw+UaF zx|Pke-*RGCpHB?x0n$f*)8CO5yx%}Y9-j1t*r)@h*xY@blPxn%A8JwI8RbH9#wiz%#JcDs7=r&fm zy34|CqMrALPk1G$)*HeShs*qrDm1V(mciTEnZ&`p?P4IG5dMC<2yK?AvUG*G^D#?~ zWK}#l>UfLD!keCL#wK=uEDLuMWU`Fk!2-+TT5|j@mOH-MA(~tJQ3m=q@(d1jV|}R` zKT-=-U-EK2M&S)MMI-K06)nA9u5YTBAz#|bDTGGy{hi{GW(RAVmO&r>o6ePyPJ#+kOr1SGNRbP7 z2tT&JMC}qiJpS^P@9p9s!#KHXmuPA2@Fm)hlh=2NhK-_Xpna614N+uQSF06*(X~`6 zF6(dBEKNlN+2=b_QM-;S6<^3%--!tCMdYNTL9svg=kG+vzy^OQRXAVdz7W=nOe)tr z{`8aWGewB4M|FIcf86)NuPKrb7W`p8oO?{jH@6nlT!Lcd#IXF3DekZ&t@wB_G|(+S0LKD^#RzRo^Qb)IRu?)7#T!-qtB^ zb$Birv6puiGu7&aBa-#JeK8}ULmf(`GUabH^TfOpD>zqa%0k&Rj>^saQ)LX73~(nB zpO|;1;9*mm`N_SAddikBc@ncK$F)iW8l!o!g3y1xsdhfzt*q~^s@!kr+ob0{@m$E} zYYy+Cy!ZYN?|NIO?`BZ7&JC&e?MzG zd=@$EfM{9cv{H-$@^Kc>X}S0SZ!A;fm$=rsp6bkiR27rs4ddM$vwXaqb*DMP>#tdAWL$>c7q=Z_UH+`Db zV4N#BA*;9)oLZ$+!N1R#$u=*h(_7}LoHR?QV)xP#$`MK#vxI8Yc9hW5M6F8bNu>fM z)Ky)5A@nz{J4;*0>xNz%F{MS6c9|bfo2v)X{wbXXi(7|8aGg_1H4au)Qj4)GG$Y(=MGwB^ zdF7CZ=yUUZ$I$e<-Fzc7`Ym3p_&IX-+9%5CvfjKhGdbsrpDX0RPA4#?mehqtjK=#*#Vx)OAD2{vRe+n#+SaoqC9j& zd}gotuA35H#+gbqd!tN=D=4XC+_VzSLyl;U(TOX&v)C;^t4sk@%I&^ouBH+P^qtBB zTHe(wC=bp?u$|pwcW1_8x2YX+Z zW{Yi>G3g;cvgdc;-y87yNpXR*gFdKlD=Ogg-goBkxm!a|^KbLjc3%>D zy2fad=j_n+mPkMYF38P`l3(V=Qc=xPDT+;c=}v zebG;1kB229z27NOze2^Z6ym>kTTVG69v*n>egW<0u6`9NnSb1Zi-Q9+rOjpCa}BR} z?Sj3>Z_n+2 z<7b60o8oqdS@vFCo&XUe#SW(p_aCIdU92Ula0CqF=(c({&hf+(i-3q&D}W=+krHpZNS=`BG2C z^zZr7OOCrlz9h>JFNs#Q&a5U?EArg)MLuy+BzYXYBF|qGy?bpZ#s4#^)MYb=@G*b@>RzF6{Y6J!D(4};_AKX@EoKMD3evK zRM!31YdhS1^p<7rH!jI@dAx}jCrk1~iyCvtBXeEFEUiS|5_Y}9u>~O`u8436Sl>i@AJDuYYTmDXOpCT7)lR5P2V=S8aL z*O%xHp1aGN#JhT}Kd701x@zV{M_%dkWlFyIz=I99>ZSGUcPoyJnp+bRuu-5z)#Pk!g|%2be8!y zg>TIWESwrScHvc&b#94HHTOiQ347-%!`NDRNHw6wGV+$_-}sF=NTP8r8lmPVJqw?s zzki$(!tae2(S;B2++u&*3%L)7Z6XVAF=tvPo8A@!8azK$?Tuh&s(okUKmGbyrTSiq zcoWwh;cuS&_O@u=XVh#pT-?wH4mZcoy##aZI;%)*Djlzp=dSUy&Ju^+%h)-_&)w4h zZ}CXYN~MM5+$gzKPX3#{_`BqdzeOFN%VYw3>C>jGotc-|FID@F=vlGy?*&G`<;~>l zd3+eArF`Lzi1oObApg80)>f#SQy^zv@~kD_y(*d_&y|Mw%H!GzdE5{wmcwtoU|nRH z`_>)nFP3)ln8n&D;GG{;j4yMUK#4jr&i-6AekNeMD@Ii`@^fx_GY{(pOU?RWW+ffO zEyRvWI$rvFTKhLXKFLu@_w+L>X^+umm9*Uyl&CBhds>^-{Pu?jD(M8d!_%76?BXGn zq(7YByFaJTRQbF7?00GsqWf_fh0=jj_QL9Cf904<#=)y=^|u`%nTnWmPlnDb_*LC# z19usFVjME2qJa4vRa$UdpRjme*U{!z74rricgfy=wUVQe?&s{=-A{ zC46qc%#mtnF-6v@Xx(dFe-vSSEw7^0k6V=fu4rv;k2+XBQ?H$J%hWfYcVtKp6|M_9 zw$IEPq4aI(2=y-+n(7|@DQEb?BZR+0<`BM)3V-DQ78kLQ?|NA~@WuFJURJ*@{Yk6J z##PGu@_!UU^(DHQq#JtG((KyH7AXHp)&?FIe~{fOS)Ihu-*z{H>z3t_NFU?^Lulv*+$n`Bv80rl}6cm5;TiI`VM`^;zG7Qm%UOxg*rS zWMOOf@F&ac(YziCA>Zv3$tE$wA&+p@Uqr@(BCXHS2v#jyzx8`XT2v7yDQ* zH2BG^-;Q%CY@rHs9aOo_!R$pftOL4iqyj4?+}5R@)Z@_J5&J2`{m8fSbrhGcByH7gkj|Qn%0jwj9RmnwWDRO>|e|JC@0aD*0Q$a z4!|w7tUp=W%ay*?@fN$h?rZJB&abAmtqc7|WYEIRBJEJaQ?tSO7+N%d6QYn5? z4ybGGUGsMWI(ucFRQKsOx60(Yj30aq$j{of<0t5(=WlTZKdAert7kEF{-X-61R+ zK@ma4#;LYte}Vkg+m-!xcl-ZiPIJnPhn;+xU8uj?p~c1#m;-00Z=7%ax~e_uA;a+b zkG~Y`y&4)uIDc#Tvo$h|X#Udp`>!znM|=DK6m*Y>0{IklRKUOg#o%^|KU)(N<1e4T zu1p`|`TMUhXX$4%!isF`8J@~1Ut2Etzwe`c78{}J%N z1pZ&`PZ5!ppM$wGNsVY1Op+rUizrqoxIQq{o2aFbc+p6c~}~ zHSGjE^@XN+_bxEPS)1(!Jz23D3-7_%Fqu{L_3Ae~38Q!k;L)eR*aw54KQEK!!Idx* z27jyBwUZdaS!4F-OE<~Gl|S4BJHW2IijROXY=hVUbyx!9*sakew7`hnscFG5h8L-Q z;3@bjjL+1xeJ~f6K<_=8*1cbWkpRcRD7H8xK<|BaO zuW5&&c7&8aR$v6cI$;IITG#_>M>Q=9PJ+D#kb}oG?Mt{C9*15(Xj-*_xWhisCtK5w zzyx?77TGcMA5>sOv#Iwvm~ukXeuAw}YMN~@Sp}y;|DQEY!X$VT7D3zN2>wOWl3?H| zP1_7t!qe~?3>ZQVu=`;k3_nATz~mfFD}vftO>6Q*fnlG9Aq+$6IZb;W`sI=%Fad6Z zx$rCuJ5LUTBLH@Qx8X<_`8)pMNq7i`{-J4i;3nAiNpj$VrVWF!a2^c3NKwMA@aHEB z?1uLxG{Pbdwj5eu{RGosrP1WT9Zl;A|2&iGvzJ$r}0`#nD(OOQUY+)SCuVv9bg4tXNkqd)4uwtE# zKj1aH1Q_jS(T2`IaTpJSx#J)UuB&IaXm>CK)wgH^W3Yhhpbuww4#Rw| zQShBf9cXCLy2IHvi#8bsa-q*67z^KkIy?!ZnvfH-3XCJL;S1FEhb`KAm;#SL9}X_9 zn@fVYkmD?jvtt)$ zYe9jL1z%iLV1%@^Xk8YQa`+Am;+CxfxB-5iK-P1m(ml8qCM}`;`*3wy{!-dI9PtV% zfpIXrEtLo+ad%zDGKwh3q7}nL6ge;yCcsGh4^$Qmufl8ao#O=Tt7!*Lkn&IlpOa_|kNrfMLH%di@c_D5 zmT+{6PFoa^L`5P&JijL$g zDIUh40oTC=Fbf`mMI#t)&+&Vtrp3Up2u)iDqhYgLD%&VJMmQTLK;O}t_7xlkPeH#( z#*p*Kfgvz?4CDV)Widw6) zrjkOK2IFBiTnF=E7MwPdF$J!KT7^O*b*7yO2Zke9bcNU8B z1(RTBm;T;$Q{do751be_VJB9%mvf*~6vn{KFbST5X;8i5v}a@R;oYgv ziwwUo2!_INI26XfD3}JHhuJU==ED^*wj-4mu7%lfE4&0x!TZp!6B7?!-Uh?dFcRj& zI2c^1&~7AS7{#mO45(hk=fDlH2>uNHI}?yMrJ=AgZ&fG3K$rl>!F6yc+y_5_7hoFn z?4oHqU;sP-L*a2a30{H;u(G!u0T=>!W4sRr!3!_~dOku?zyP=vhC;QCVG`^B6W|EA z4$g-A;5v8#9*3>zc(iJT#%$OYX23}3Nq_Sy91OSGF|5XL3FbgwwhaW(@$`YyU<}*@ z--ku;2n?m;DS#_sAUi-#!V%D)4k!Umg5SVYmFd2T&zMu@~$HuiB7!S1&iU8VR z2R1QoHABfq~Gg zIqiQihENRC-~_l5&W5RQDLewb1IZES+mbpEhC;9t90rHM1#mV@X+<4?$6*Hi9p=DJ zttkrFANn(B^=d;MfH7@o|4|s?v51GqVG6tey$3P~wI%D}G&mS8fGc4#JP8lL+b|#c zGPC`h%AHSVHS*OPY(wJI?#hXPL~No z;EIj}gt>4TT-}MD5r%c9$AiznBKSJ=A3}csgW+u$3A=P9p)eVyzyo#+nHUarqmn?M z?o<-S=P@tx^KMg}5hV?KEo`caas3!v8RJZ}IgIO>e>d>~hW+3)xCm~A8{jGU1H1>j^r0w*aSQ-Xg0o=) zd;{jgH0U#&850bG*I+oT+?T-&2EruRAEphb{Wl3E0xbH#doU9Eji9~4u5cBMfSX_} zJOkIlKK-cWa2U*iFTjA2lr;>6*8V66XTk)y7_Nirgt!hLevBNnGj-~XArOv(E8$F- z3SWaq;Fs_k{2qEgt!cl(*6;=#4C{xHW3UBW2|tIaFasWe%?A)3c7xudnApH@s1Bjq zS7Ues!zP#tPr}3SHq>D!=593y(Y|2-Tn)RxO)w0egtOpn*m*FuJra8u2}i;>_$*9@ z%U}ll4CcTSgK7W%V>Im|7Qyf?jD(dQCm`$yGvFAQ1DC-f=6qYA|2TR~7z}-f5DtdI zI5-O?!;fGF%!WBodxG$=E%c9~Ykq?EAB5nKcPC(?nyV0arw!hm6fheKg9Tm&;<8q9&Yun1NgPWVZ*|6Uk^F-(JzFd4?d z!!Q{Zzzi5T0s$}r7Qv;^e=cp7FvuSf*IuCNGBf&R}@6fhX>gOTtyjDtAhFdRn17&sp$!M2~!bHbtUB#gIX@JFMs;3Sv>Q(@)xqyTn>!6-Nd zCcxEj9n66HU=F+hi(qRMZTTrh1|whwTnar=coQ59&%x*dae2IFu%!!Qhl!(bSE5k|v#JJB2-fT_@X7j*zW4X?o@ z=)I7X!q(9HJ5mlC!)b6PTnTr>R9G{U@URQKX2%eT!Fv%C1lSs0f#GofZkiEH*+XT6 zP4?3KU?-RhKY-d|P1^`<&~G2D0``GXa2kw3Qn05}SUz*k`u+zR8N4pU&ALkNKVVJ@5vwO8mlp$#5~A<*M6;b9Prhfy#Eu7a6x z7tDp%4%-p1j5VO|5da6m5I7G;!3{7To`NaRdISNm3(SR+pthW532kr>41qUc6to>B zJPd~^Z~@GOU%_0MW5=M;k$4|N0PGG!;8Yj|*TQ(11zWG6qk@BBzzqiD1I1MI4dp3qF3?)#96OPmV6RFj(6TA(hV3QLl0++&6 zxCtJCekU1pV1MXGPxv_ug{R;o82l4GADjx);4!GZ#_alM68akLKl3c@6N>|RwDUJK zt;(MWc$1Vs8}?x^8qR@f@YZ#v>u_d1f|6JT`wM^2>lV!xM#5;A3YWoGZW9h}gxT;6 z%!lG{`kU8j|LrgYy-q+F4%fpNcoHT-&pQZ!9bh(`0P|rI^g-cF7zD4waM13F~tY1!2&A)iGfhj9~-34zpl#F+~Bp7<5dlsnswLMrrJdh6x@;Ml_sX zp~zSUgE;fDVGYd;?t@A26ik8FU?v>)4)&b1$$@CdsqR!1=y@53ifVN?xL0DWqa0_6^EDMaW?3ZcfQ>5^d* zya2P|J?K-11bj$%XoD%RlVV-AW5i=f@+&fqDAp@7{5~SW25dn2m6txM7!p}ztb|cxi;R?X6oQ*z3e19;Fb4*WBf_l+fa;@%NpKRhMWGOk zf%jm@c;s%wADjk#CLk9E!A;5@+OsgkV90@KFdt?^&+TL}^n*SVsS_{=hQM$*4937{ zm;~cs8cc$@a09eWqKIG=JOxu=zH*0NJCHk>_V15Di>8(;PNhsThyVsDPD5ju3r{Id zC*?a4{5&a#QLrnFhl8Ou0|j6>%z$Yy2ijt2rn~qJqo8djbq!|Ev{P9y#LObX???#@ zh52w944Ol8f>CpcFcSeV1ctnXVlaDNk)iFz-^(;Z7!D&~5}XFJVLY_Okt50;X22NY z4cY^rT!;gPG?)psMQ9Ae;XRlHefE-73Dj)Ql{m zhruuthC?lpU@!!(hPf~k+E&r%U=q|0p(gZ&*)Rm!ULzb#gURZ568;Vo{&foSu$mpL zrU0;rSwlL$Cn8B3f$?xFw7pG<9>M+{ek;C9K^-N652!IPY8?f7jPUDmhbf;@m46_e z8%V!mDjjk*`SB(B0&QuG5I+)rBQ@%TofK`Ne>{O8cnZeDYcPK^9!?@KofQ5=25uuo zKaVZfi{K$T*nD~$0jHj-dS^m z(>NXMZDn_m4`+}=taw~hY;1yQi%B`#l0p*5N|*xEV9={%r5A!%A_&H;qK;HT;A=z( zGhsN}lQNTvjSQIfREv}3ThuvH0*P-!6=yjA@+(NQK#7El=2023Z|u^5Y)a#A+|e3eM5ZE zwi$nR_B-WoAbkhp`_jGpE?df-%35rRdsF**Bjjb@`BF&L~QYn{E2e8)i5U8PM#PG(&r6I`FdSZkX>d0Cv3h4>Scbv2rNq$Kkd>cNV#LDueRzaEStUl+YE84j92f%g zVL0@Bi;hMXAF#ezDSi!o(4i7zwS4=a^^e-|-3xa>9oYRRAhQW|uNC`}VU3b%upCScn z8ucpz)U@d|?#z~n_Re(*-YkHB7`aD$Qc;V7aThsr~f}s1&1NOQ@^0i z{s-lVLAyW`VV08%Q%~aY66LLUnF{$6DbcC0K;j3Y1!W;3E@!;_4pKAkyJq0#i<5sRHB*3~fl86vZLbI^hzGP@5N z!l+P=4tTB^zKqJO!gh8^&q|qM)&cQ3R8s3}ccSh$fID3`9v2 z4I>iTCZib4oPr{?QSe#9Ga#i+CF>bKe5P{_0tU^X2pLC`W+I32Bkcvl7#PC<5H!ay zGGO+L_(mcaRrn}7N3b<=9WIidR_lsYE;`ClI3puLNMb&*DYFu2Hq9DlE`!$ft2iD*|*7KiRSqQMbodE&r*-RRjnR- z@WmoC_Tl)Am(!0S=0$}DeAkcFSotM3|BtbE0gI~Y{>Nue5mJ)51~%qeMf4vcf_G)4ZgHiRA@tFe(v} z|7V@OkHUQ4-}C&>^T1x`v({c~?X|CGpUZe{I8IwGm^zrs0IfexH%^*5LW^!awfq6x zZ9tBhI{0ED((S=xq0BOTL=%26b@Ezsf{xxYb)bwNOa}cHS_gT2*Wptn%|1DCn}!7` zZK>)9li6$k3F>qbf_`NX+(&K8Ah?Yl9mxjT=f>pQ4bOA=PSVh0rcTYapb*anC>>fFa945a?S@P*@OIPd;NfQ@ z)qF*qZ=w^A(L%s=9rwt^?VAgguAI=K$>!Gy{*e`XllU zP!IBE!Q z19I(=>p1dtcoC0;v(6#(Dwz1l$>!s5b1t4ZSJhcqT?eXwtXICsxc-F6(4sXSA@9k> zYpK(d-w9KY*V}^Y7ph>Ze!=aAk<1MMcOr9BrO^yz_PL42%lELeR@!m`9?g(h3y^g( z9wjejo-eXq=B#66R_jm5T7k!;)$r6)pP%4wKN|ZJ{IxB;-LQnqc$F3a_6n4Fayico zJY9a4nZMCNX5RUce19-?=vLv4yB%o0q38{Fd&skD2T^;7&Ib<>Q1D5#5;bYxx+?@D zkn3$cem;iFmrgTILL*+sS3{b066UtxnewF^(iOBD%#dT~i2pAWWiWAuuET`a8GK0K zq^VsSwqXXmVfF0>tZQ_J&J8s1lquM2k8qn@r_f|p(EL;IYbUKk;!}X9)!TE>cF@67 z@MoeBHC8moeHr?fMb_g%bw3Wm3)KBI0@sN~oQ8r~G@TQ?S&GD`07=03X-tI>S4(;4DmTrFF>W zlaI&EV;PR4gJ(@0?*A3%PxE;c=FYq0X6)T@v!WGlHJ!gr4|Py1MjeLoJ`{Y;)cJva zcq}~(`R?XP5az9bB9JEV%X6I}jdq{I zE49f~4&C}3s^;Vr`JYE}iw$-(h5O^a<$0QO)YPsux34kq}Z_`K;pp9!dS z^*oo)JNa&7e=~14;3A4grel!N&!)ei)obo~`jE#>+b=wBp6Br&b@dDC$_Xd?z#Zv69YSNAW8XH{k`4BB`qa^d9;b+~$FJUqIo`75_K= z5Qyo^)l)H${a1wP)&((#IUAp($`edH?P$}l2%r~U4B)FnLmln@72UJ`S31h6??pA_ zCU;xh_5785FQQf2sQi+ty|)!k+uGrRkj7p_7y6r$E}~dw%H-r0wY&&-^TF>)<&0RV z8i|iD#*8xVptb4XFgT9ZlgRkYzg>Q`>Xc^Ddb>_Q?Wy_2TV@;Knf;f3MpV zz=9P`$OXRPANs8lP8VGiQ>yh60`Q%B(vBi8VMafGk$lgXIvK|VLYfV2~D)&1CMEiE{gLr8HFEYacQ2>fd|i zuZLF)D{nV^!hZZgJ%2ZK^5M@CspqHoyo2u;D9+HZVp+JMFT?lQzl$E`0OX|EfbGH(yDo$2iQ=KClpCn%st3C&x#H-rcQN~S^fm}c^ zWz4^7>f$v@5+6+1Lr~{mgq;s6>rR!?wj5;eG38CQY;3U%!BwpWK=MlJr;smGgx||kLaZ*m3 z!EgR5-b_m0*9>NKi*oUu2$^g77GrK{% z)XeSFHJ2IZC3po;9Yq$6xmgc7MCOPQ3g)*Z_~fb$YsVQFlx9h^U28@ zG_=Ol$#fPgg2ex*E#6oU+Dt8PVLlD&hBvDI5Q9u4Xn#ph25nWv)h2DmI%wlfG?ee@ zz)ckRzzvb50%D&F+Ni^Y-aZQc6YRaRNOnLw1Z{MJeutJY`~4g06kyB(w2n*E+3Rm9 zRRQQSm!-45KLyty=|)3pVE6{b@!14Q!;1|pCriqPCnWBhZx*b`Q&lQ$>Njs(9GjS5udD(Cl!3MSe&f?8+4+Yza0hr zjYhtJ9qdSU(9H|*rl;DLXI!L)YExU2qlZpcEpnP%pez3nfye;;BklSdf%sZhKpCJz zf2gCp(GB`*YWWY!Z>HWzygrsn96fcqY(X1cpx>g^%zjOj$e0Ug6CGjbMG3h9E#kVz zHRdwvQ;WIr0bF!1qsMOJau?)sn$65Nm(d!@+`5c*OJ*(|VP?@Xx*?fImyvHBa`xh! zy=yt=4ON#B$krP)2d#{mxwM*@MK@Gk%shI7hfkGxo~|>q>W0wO8*4n)6=VSALt}4) z*WnLUl@UnjAF6B2jG$f29QlW;ikTDsP+enYJhiL?a~?_#XAM}*EoEInOub37nU^J1 z0m)@mD(@g2VICR`7m}sVvZf$oU+jGgWlY}wgC48Lc;Mp}o&gGU3(r7?(yn?a8Q>P4 z0U7BQ`aq7Smj8ko?-mtc!eN}UhFPm$XO@;e&qh1_R^oD0b1o1(BFZ%LgXO@9iVAlp%2sb_sTi!RTay&998#*4W`Hn_LR4_M>72Rx?2R z*lVQKTeL-i)rHLK-28P7E<7%Z>xSNgYQ9!xkfjgkZUV+?|_m(eTnAg=Q-*#(ol-BVeRb<7Y^IBKY`n zs1GbJ2fydv((-u0r!sF?o~89UYk>}9MRT+c!=@|^X`yt%%n7tJzITm1B$f0SQ1o*sgcBDa&m*x zIB`=pCzq%gzYu})U&2|l1-5N~>=-T<7ce80ynn>4e__9orh6aW0zu zGCkl(S^&7&!&;_XWNN+}O>?^e+&16S7p;}xW}%Ypdny{chPSbdW^Ok!wLxBAEw8-| z47R?5?*Opof%F)2YkCQHS|yCYQ_Btbs0j8s4FTU1KK2;g>0M(&n%4TD+hPHNW{yv15hM_c4Hx5h)-9K#Q3Ds!FS zveU-Y7(A>`o7GCeg4J+4h%Lp#>chfM9@^{dpa9SYj6Zymk+ zGYaZ#2Qy0FIwsdjum&KN{RY>0q>iw$qUIa66i&aFS0;IO#*1IZ2`e?a`jj(FHy$ zBYhx}Unzu>V-&@Sf#Nv%o6%?BsaXK2Pbn;m@K%Rfk=eW@1ts_4R zYGz&p3Vs1avhmqmob|noGY6j~u6XdLcVDX8X)bnz^a{2 zb25)=ImsbQ2dpFNAL250!Y^V?!f7)DejE1LN>f|P=%AQ!$7o{*6zn%T0G_@zo#P~e z{$JAd77#@{}}QQMnV+E$x4dlq>Pd{IYXJ8R8k%%H>jMGTg>Zdta0GQ z4D#;;#Gk@A=}57hbfY9r`cWn)cFN<#LFJrGrD{&*kbh?+$rQ#(I>mDGHYIWLA!Tw> zKzW>$P&p@PC5{H;i8D2x*W#d6Y`k~q1KGC9GouX19ia!wwjYEGt-e+ZI93gaZ1 zVmVnwNu0b*nVjTM9w!A<&dE1a&B;&Xe;<-c3ge`PVma}mBu-jWCMQ3$G zIq{=BBtAnGykyiG{d58dQnP6NE@Xmn1*MG}+k$q#F&RtulP7&08MZg7_#c|c63 z{4z4`h_X;cH^toiZ%x2Q2#{ZQ^q4*r*By%@8)%=%XsO~T4egGJdLHvSH(#p3Zx#y8 z8I$m$r<$)-4vds&{0WkO7JMCL-j4-B4fwtzq}mRGPxkv^c%&*oPS8I5GPdeFw&?GN z;dJJ8ZvM6gZ~a^tF2a~~Oej7D8x-e=dFggiZEvMxx1cz*wON?;o9KG$ zuC7S%x6+_KO2_GwLHZ@)okvXX_tbXu($pq{A26q`p|*)C_gz(+z`qXu4t?YNS$Zvh zA^3LM$EMCQ+5b)h7EtQphyQM1k-+>LVTNg#WPtfJ!UBOsd&ucN@_tg8o>2+Zn%r2-4`z}5l_^uTg}1vJ6}5v)RBsdMmN zP2moBaDh zg<(4G&wH=}fi3sIdI3xIz|c%t#dxq5dax3J&GW#Lfw_QTIKLZkG*ecw4XgwYRspbh z53CfJ(?czqX@9h_8n7mMu*@^iSv;^HU=9z=25gK677Z+>5ytIlBCu#+*tJ!MnPpz_ zzFe9B>_F+}fjNSdCdFz&Kcqv9rK9SdB4MSvX2+ zcwPjnF)I)l2dgpG3m6BhF=hug*#jF7j3cMXVK+{f!1^%uma+Tl4bv#!z-7(Qg%atN za3$E11%V)B(s~bvCm&cS<%KKlO=TcUXVHxZl?Mz7yn%cqTzSA`1KBH)j)p5eO-|60 zC7l5}UD8FM3nlFaT_tFvbtZ4j1P@RiFgievA^kvQpfMe!OOPcX*9y|`0=lOl?I6#p zq<1n%9Xj$PiXEVIrcDEt0Am5LuJq|Z-ZX%WgO zV;RUGIufCD@xBEz`o+42+2lV&380pPuzIv5;*y1W4^rCq9s@EJ>^hDf4z7RxSVf|% zuHiEkQQM4e9mE9oaeq$L(+&>tE2tibAl4R3^n1B;k{Pc8;L{wPK~uzx6QgwlqxhAaLw`yr*Xk-v@+NSO~IWc*=_ zLORDJe-pz+JtCEt2jzgQ?0KhQ7+XMDC!(zALb@X0Egoo!b7MROJRJBE5$)@dh&F#R zBbizbL0tHw84emWL>U#53d!Y=9F1Itf*e@%^?MxJxpi&=uYj_LDD6{jf>5n z)(Gr%598HH1+qi~Q`I@4Zj7(rGOvYdpI28v$TLslM>plO$~L8NyIUr9lhx@}_)Lp)PO%cjdOj zl^2caAYHU_IO>tVHJMD;hoe;CAaiL@w31>hdYMagAX=Gav@PVY^&X)-XXLM}%%gQ9 zlyRm?kbkbFt0QokWrhU$&PZjPaWcq!iW{kP?zUnPdf6NJ!U{}_#>%UunC4s`T><5Q zKc2RaRJs^TR0T&yD#ML_Kzmc$QRw%Pi+PbeXcPv}bdWk)ISNjeso749!q~(gm6=N3 zF-pgjUaw$8Tvw+)cf$7k@Mi~>2&@eQI2aobY@r910Bkw1M^q^xmkg{3n9>N#09FXh z(g@oItYlqX_a=e`01rVhSPF6*Ed^Fahhs3l+yZH!zd%0OH5udHdi-`|Bb5=rqJcGb zdkioKF#kq!PGFOPb&yyf(s{rVC}}iWYX-=jw3^ACAkoA}<7%T6q#xm137jd$*KZsu zgX2;OJP>$C#&HDU?-sDGz`_{7V}r}Qo>40>TILB{0!P6|<*7$F{&Rt>)Z-C!4F0gq zLW+9?b(RCNjCMVON@WK^shkB2$p1chKZ^d?6=W{;coYqQzh{$3NsmG{1LQVZ_o(tv zH+;=THz1?7p*L(84!?s-eCIOb>xT4ZtG(1m&iNxZ(e&4&P#gLxZzlF01GOpw4Cezrl zxLxUjK>Ze)GgfJ5Ob3ldIaV3yT>^6ayLAn#==uaDh%P~&QJ2OQ@b6gEcvn@j$7387 zkjWJH7`$5!fen=Q7zA=bwxC^)VKArySwvS@w(C-!VM4}1fInG-(RLiNxj?p{)#Gsa z9!awq$pwO^+?gx`i8*~7_l{*ez~~(yBS3bg2SJ(=LAtin(Q!&oZ>J7}4bFGcW(P(B z!*Z?~eJsq`Ku#9qWRMwxTmkYBlU+t|o5{y%!TU`cY6**YU}u4qHNtGj>jrj~uE#2U zEnQzjZG3>ObijOc#a{$4IQ+QMCD;ja_o`aa%zdrPn!S$SM1zP68oJW_$1ytaXLFqN z_2a0|DoESu%Hs%y0i=t(pHLn$MT5M#k{)?N>0n8G9fLZ|wP0H~*c<)~&RJUWgwi)9 zA7nyK)2p}=VDmh%v%pe4FgLJtU;|XeVjwa62SEbXc+dz0cE|(k1*|LwmzIqM?Eueu z2#yDK*#k=eR^x#s1JmtjYB&Q}i$+)gM79A71jcc|F7}7x6(3_EFzlg@M=L%Ka-txs zK&A@Puma;Z>7P{ESb{*7A%73fkHdk#P)Jr$?r(^~;pk zP3gwfhBeLJ@M1g*GV!z>;>H?~1yuVas?xfWl>|=!83`MK6g2@u$qJB*X*Hwy5Wq(9 z1oV_DkUF{oGOFt;jL5ll4G#g~!w-KEz-m0OF~F>O_bNIRa{N)CUNq$?<^JGwke|I? zE3VvSvtyBMz!NANBE~Y1>2%~Nv^6)#Qo8<>(%(DuzbNP){8TONnuwub#6(EW0~SL` z6XEGjkg2p|B9;rcKvqI>qmXPn31*|y;q52)26{F*5m+>^i4+!#XLaXHQhbfefgPf> zNvNTx5z-N{i3Nfn+$@;LJFCpJlZ1>Cm+%18da?3jj6|Sj$FOD6sJ!SR^pVmvz2P1hK31EcO@T z!He;bUkEJP14{>H_rS14!7B2>;$k&+qXbyE2X+>i%>%<0g_E}^-ol{b!3qS{)dTAV z%<6&JfdzSB3T7Qx<~UhHuE(SqukTN(WX3tZ`js0V@R-rAi68d|>87P38E7 zU<0tm!Q_{Nbslp3qHz6JSeQ08!fy@Vf{_quBphiVFkBT(Q~FyRAo;s?S{Ck>@xT%& zZW_jsbdafF58>RCcs=->I*#xdl>^>3+CELW-*Oye;MY9URFKk-rWMcK=O}AADs+xBE`ic#|lC@kmJd_IlOqe%by{BR?Dl87KVj|ZYg=Y`y;-^! z&be`AfR7bCM2#gNFHU)$ge1G zw$i!xsVuAtE99*!Xyyi61uV4@776SYvZT|$voXa+fSpZ4=AcR^g4{$?<^bIQGMzRv zS^%;a9bohp$VB>=$%t%5hr9?^Tp%lHK9e~hu@%Q;1;|5m=|$9O=vF+7O1)i(%NUS& z71yOa+HVuchWWMPVUqE$qMovvtirf?7eVIu#kz)RdPFILZoCM~@8J=%`Q)2~nYI_` zQxuk@4D03snGbC*BA4Ol5@<`+Yt4{F3s7k-ry**COVDOavK0N%K&Qogi0G9+OodBdK~G%(eJH9RcQJexD5T z=G@wb#ayDj`2RoV_f*JK(rfc!uqcOH+=2PHw5kDVrt0}vn%Z~pNHAmpCiU?^i)hjU z6q~=mMi%k@+#|u^4C! z$SNAU7-$AaGp%DZAEb-+Ek*#UK$cVWVy=>1?6ChUkR1| zCeW@|P$K@Yo|6v0q6`et?Z)oF92ue2^VJCPbz%&c2s~UwCo7{&{E59kXVaWyH0N~C zc=s$BHB_NWTuO!|!^eEF>%9cE=>WNeo?HTS9!Ni0#Ap%7!Spqw{M|eZq)U_sLIQGe z7kaj|A2IK)eI9yk;Nd0kS7B&5$m6u~Rb4&2iE}j@iadLLnQwK;N@BLT?&eI8FV3CPeG^x_wa}voQhC|gVfQW zRQRw0vN6l--IWG~Mo(=r}GKEpDTdMs1=o8m#9e}Seg zQ~DX#LL`+o0&Z0b@)kZAg9f29WG2zOGjYA+UZw=}Zm}0d?sDhu%Eb>7R$%FkFb)gb zz@3Zba3~ezRC;YWmlTo}w1deKpe^VK1bXmCKyJ>gRqvn}{&I1M;b+rJQ#)kxX~b*L zw-zLpf3HDF0Z4SF*OXz#dXR6D{&h6ouKU#Mh1VfqFW^ow;&tUA%L<_5JJsJ^uyOZU z3w8xo74Av*m-~U0-1E9c0mK7)fe@!r-X0L#M=^!UkCZiP~m(!&c7_4od<8xi~ z;7SOL2U$UrRze^LjDxlFI%V_i}Sl$4#@_E{_3YH5&V^m%R z#Vro-mAe0bA#4L#Ll6EJDwczE(n>~iKqk{JM(aV^NuLhXdJr=#bxTK><3YBfndvC# za*!3YGF=(itqA1B8MW%(h2ft>)L>CFt&`XhsS5CG=n^aF`US_K$7)zu2oh8OYINsA zAY0Ml)iCBR;_37{lPy4QApbS!M3Epd;jBT&m zW0EyEXtL$_rnm0T=l5@O{rKUdV5oP7S1tFdhQ9 zhYr6DQJ*;IzdL$^ml;fgG{7-jPjQvlj+<$sH@PUT*BU)KrRG1 zhL&uCY$-^*A-xHOz4ZfHz=C^&B^TBJ40G~kNKOP9NmDjMEC0yrDN5UnyGJ`g+GxjS z%<#8BRt}{(yOoE%V~{txoTC%91zmjwSZ8VV7TB%;nn>q>ntC0B?NM}oi}LW0AY@pG z^Kg8ZbU0}299iRW$0NEq-|`g;{0-p8gWrPrIL6>_8`L>z$Ggy60}|Vp@4`XrkG#MS z&cYgT3^HLMo&|wTAaT<;3j#$TE9vVjj1gwYen~B}f%XEqg2J*fDJOv3PqVWz%A_CX zA%A7I(lMC77`5gZ`DGosG3kI8g^<2X#n}jxA4DFewp*bt93)1OtxEqMi6Czy<6IyH ze_ady!8zIwiPYgaDq$d{T}*r^iS%5_@2_<;sjYbvgsom z^MIYABxduk=~j8Lw*kAw>^9!LV6Fgq3+cdn7*a2ToJQA?(P)5>j=ZjY;6g*HEV{r6;-GR}7|P0FG$2&Glg65}fBF<5ZE+`V!jQh~`t&Hpi7x0UPt^ z()*~Ch%+EZt69Cn!D3Yfl=cBU$p?vX{R70Z5+v@@e}Kz~uE>BJYdOd}4`k&eTAYIl z-2i$MZO*|nG$kOj>l{^fjZEAW_%3XfFX5xwrkPW4f0vL`5nNKqdU^wF%U%sv`;MF2fJMDmMNGVVUK0n+Mg%fwz#Z@>D z8JEEuPnQamzP*F0aCHQ+`&bNzAO38>HUaCTBJdw+B(mgC)IRjr1h5bN56#?4mxC8U zY5Pzb{+ciLtM{R}y+8(1*nSi&734vBZ9n|p1`_k?egwA$q=RbrqlJWD$8V9*pwCg< z@gTEk(&y;r%RzcMYSj&OLm;|KqnRlSyc*j6IkeY++)A~dLwn#2uKVCZpot)H%fFCg z1u~x26(WMCK$g-uM(aVENq+#cjz2isPaXg|4A~}$3f-!R(?P? zJYK6l`)i1Ih&5F>z#h{+_ z`9sSFn*KG=e2|aOK1NT0Y(eK3?RAUS!C~J3b%0z;PksY*8_0>YgV7R@rF4YRpjr-Z z$hSc4An|17w}^BGNHiTr^Fiup-?wP4H6UkD?YC&I0k=71mJ+nB$soH@TnS`X)bSGI zwGu2ObAVRSt`ba^w?Nj9p*tm5SHwU9L+N2y-UM<0WgkYqB9O=FYeoa=IhL01fJT7C z9^iLC`PS*jr5ocHhD z2{sTab@&kHWcv39jFSP(CQF&}yk!N@@J5mtTXbu|##T%j{J#t`fv%UqXbVWOzA(+ zCvXCqDgJa5Xp4{e5${7!V$p-Yoix_RJj#0>$OQaNrp-R)N4>2e1Mp|wTkT^$*=Dc1 zli6wV&)w(6MZ|q=k>Z`-Zszv>W%AVdxn%EM+0FbPy}pS2?>7%a5-XBSk(7(XKUDBU zk|~mMk@)uzJdtFIq+BHaJq1rBnIb6{iT?wFCz4E&l#9f_7xVVU_A>usfKOpzs%Vl( z@UhjeCzJ`zt ze++Sav=!-HahWZ3@1%$DS#F<-8Ac)ZJYIV=;~O`TX0x|$x&R%N9cgZ#Vw)pQ%Vg^2 z?@{9Llc`XEYK$?fWU7?2z9{7WU-DKdZ<{IPvR)8r#w#LqC95e79Afsjq)H)&rx3*r zG2;p=QRLCh7HRHckvb@o*?y9p^?%sK%r2TGr6s#;kvO+eHM3okoh!B6V}}eiKV`AK zCZwIOi_|Yg%bhtC;j^w3r)8@|YF#7J+&AUT3uFJG|b%BlGnD$@*^ zN)PelE=?WGlKfnm7Rgk%T*#Ga=hDLs(m`jA7y`>=T9k!z*vGT7f?>^;W8`}xt&r!b zGPQ3Nc$Q3cQZ99y!0p>*K6&nxe5*WnNjq6mj!n1Yf4R~_zZXQExnH1F!_6}W7d7pg zI$NP=fE5zwynK|%{AF^`v&~ZTr+DVi`2Bz9KPB6sOIBg7tU|k-JGI$BSVLQr@{ZXe z;?6lD)%aG?dHdOc{fbSSB(%gW_U&LX&O&G0FZ%vdbuw*>1_k%3D1M4Ou8JW_Ip} zqG6ws>{+N)p}d;e_FaPgo@86m%0%vv$HC6pE!eL~_GlD=*?8rY*=4zcjVl)Q$TbOe z8Kp71Xpdmy0!uwQq3Stz5#=#E_fx?RM}hbV^ww-&V7B`+!G1t+bw5b9mHeLo+acGE z&q#JmbCDb0BYDEySD#BsEafMcl9Qy=U|%8SqU!TExe`q*Dc*(q#1 zlxXYFIg-7-wP2S~9J6f)grmF|=EKrPurnx=*%b!`+b)Z_U$U)KtST=S?296^Zc2d2 z?VxIATMr3#yv+SkTTOY$lVJOOBiMW7^mYP+5{I~qVwvswL9h#@awje+ME#{bsRk*J zlM1@P!q%UJ@WWC#u!9hGk^clpW#L(4tRr)25}ysCl@rWwpoLqWGC%7TIAibPr_3h3 z9-kzd2rk|@oe0?qI?QLdenR4fJAOSUnfq9>EMjE&Qx@slZum`2yj*dak|rUOn^sOj zrXt!m$^3!dL2*x`qTICOX_&L^9rTQOpdJsq)7;7UArmWQPeztd+BX?})J~Qu=9l%U zlsN@itaMr=AyXlOn{ZPhf(xXn=9j(vUZU2|n%7|Yp8YI$)FLW&n!oVUy}fs7oOuQp z?}^RQn={t0SedL-b?v3F&HS<$n{Gf`F-4SK;m$_tm~OJ6YmWU0n zOfgj$h}fGn%lx|+a!r~8L#ecKj#_H{iyWxEqhB=t?(e1hac{pg^8g-$W-dkKGN^W` zD%@ikq_QY!85f1Jm#Goo$7i?=#z`t!mP4e7;+CV*{O+SSmzx(@v?c5ZveJGjz_yG! z5`?^lwxg4yXAc<+*FJnu4D3{jea-xVmtQ>He$6};;h*$6Ok~l@*HK<{um70;@X}qP z`&O7o!tl%$<~J;Mn`q1TNmY4Y2}|hrE7gkZu~Mzbl`GM6wIx)HXu7(w-w3<-xC%>I zDQp$Wl1htKp*rErf7Ny_+MgVqbkBb$3=~n?f8m^s@*st{9sVz}I>>4O>)5bMC zAjw$|qm_DmdO{25g*E1vI~0X9wJ`>p4_q03Ni_EjRF+FlQkoI|**E6nCEg5_BA3E4 zFz;k}XnFmNW+XF%!_-#PLksD{RmrZPVpdW{)sRAjy)#kjqFPY_You`HIiahJE@Yzh zRZ!BKJOV_});G}%@F>Gu$m=G{TinF1(IaoE^`8mU%Wpe<_!jym-Zou}cI~9RwWvua z`L9!(%)WJMto7@Kg7s>@DP9kcvT*kq`LXBbLl_%UX%MM?&Lr+s{kX{j%&H z=dlyXY%9frjRMbn8!DYt`!Sx_8Vc!*o4FrH+*rzO5CNR`H!s zjbBVr5B@C}R-H@5n^23Xbt3Yg$!yPKA>fbEw1`4Bn@5dycr?d_*mdLF+QNCJW=-N5 zQXUfO;g)z7A_`8MvW;yQ~Tq*ITt{q<_>9Hie4&#^w+4(G~f5ue%U^mYUY?cseSE}Hqi+M+hT z50CM{{s*c^(g)@*pgk9#lRhXA#hhR&{0NOMqg*)mi)@qc;785aIV?MNszJZ76D7_!Db^T#MCmX0684Hs_h zp#<7>uU3x>`U(S>Dsmy^q^MlP8>3zx&TJIM2^MXf6j5fL+EjPsA#ir8X3$C@d!Sa^ zu+S#6k@$%p_9%;DnXUUl*b9?!`yOmAyo1vAsFiS-6V&-9Fo5?yKQZ?WbMzDeJ0JsA zHc;g8(+OQ4DMHzO5dy~|2-z?O?c>BrS3ZGCbew#g4W_t!1ldj1`D#RBKUM9_{FGbG zpCZ=0AQ!Z!%Mv1W6 zaEA_tE2w-Q&j!oMYd=Osw8H%;a|JEpB$bNy!(IiQ-f#W`)(?LUFpK;Pk+^75A^f*e zc_Dmp;+B}2Z!{;kNa7@mP9yR1n@;x~RHug6g9tA6|OC9H2NzwZ}C@Lv%d;vTj^ET86tWZ4-TQ& znC%Y1tE`1W^&ucbCX{b8nDv(7Bz1FQy9=jm{^y_PWu)HFsFQr z0=lS2iJD}Wzz*u~FnC22#)*^S4g*B>i?iy(@S%tXeTNKI%KJ{0yzm`{ByFcpn+|lZ z2wP}f-*eS3q*dRWe?p<+N}&Qz-<6vC_CDK5j8L*7bZIFv0)L4nuu?KwTmr7nPJu@- zx1jYOL6!K$i(n5DrPR$zleuZ*5d_CoCzSB>Vti~|D%iLNII1>=9!KE`mXt?PLbO3X z%fS61G;loHRfaBM#qAt`xpbin(X{<8^l4YTt5*qqF5KQhbNPs3%gy5~ehtE$Hh7i( zR~x+cl_O}Fe2&3*E{#40&2GxXnZ;2dG*1+c>Q1i_nyq__kKy{nl670?JSzEwA0p$9 z?W7AoLYa+ff5b(gZaO`E9G5y}RDK+&gRUG`OB8m3P0SRr!X0__7_?4nzHui|iB`%K zNil>`{L?2`;WZlklX(?h?&rT~jK^s0PoM4`V zET`0D^eO1|>rNk@QXLIBjh1863%y!B1!W2Ksg!maGfxKfID-|geXgkGPh?YnYMYS4 z?DDf(fUuvjvaoq9w+?R?Qo5ID+RqqyDk$@3xIBicA&tO!pG7-z_%v;8wYbRQ`Nm4I zV0-!9prvQ|66|>)hTHb)G2ug@8#B#0cz}j3lB9D`ok}bD3~S4CY9;8;1H=XLdDyFv zyR5R=>b~41?Aa)erLt%dOJ#UmL>$|#HKbx8b^5&831ffZMf*B>;TQ8rFTX0<^Naa? zw694O2(7j&s!f%j<_njL_U@}Nf2_9@m5L&LDZ9w+eS(kB|EkVK{uf~bReBK>VW+T4 zv?M=|>%+ERh&))1RkBIB<3CVFsaKJ38_Q+n#(;9V()>VMwe`LwtOiNRzNEioZa;cS zvDC-E{DnjAQt3XCc-FfjTYH(U)tAD+rda}ym-rltgSwQjz-DXO&haG4ZuylA=Le!1 zLL}ZDxH@UxFYxWMmS#viRbI8VlJeOScYZ8Fc~o|i2BDw+xn%ZFi995X9haByy=CSV zz}c8}xyZFq;vY--^Ss%JLo1UXmIEPpYd9xD%;9#Gi$@n!ytOXtEis;kN_+uu=S&}^pIQyF$CJMV&s+-3+kI(vd z$p3dl{d=iE+iusIy8pLAfkTdH4@<=nz`4um&I!raq~b$T-f9s39~S=TT9j}gTI<|z z3jeWbrygB_L(kK?Gk*yUeI;XwVCb^qga)k!J_gPuvh@%K_Dgx|VS&4U5hc|I{gI@< zj7GWxZ1y*2v{08Jv(?CK4u>d5shr=2ekUqUyWN0&K=nwXIH6<=IaiMy@IN}1-2S7gNV$-(wghgiJ9_?0; zX5RRN&~vs*6jrOLCk0NwU%@@<QO{d zU>iq+?XNc1G)e+6`bPj9qKBUrA?hOKTa^pkUDMQ;nG(7mm zB8QXy8rTbu39TPKEUXoX1g||XTYpd_xKLtYL(e92b)^Up){~Zp8=b#)yO8(Q|6v|QZ|hSQGMD4bO~^lx5G<5#!C5r z=>pWH_@5H&pWbL1i^n9c-6hoqqfNlo(M&EHv{~|Vi8~$)2Ae^8!Y5AM8I@jKMOOxqMC-{DTyzT4Oc7j8^B?=r_S}5P^3-DpMt^LS*g#7 z8WjKeM;)T_N|X9mkiQ%1ewNu5UKNc<8x?&kgc-L^ zbZfK7ts8bhsB`@-N)sRw-DXOHy5N&whrnK{oVQ0yYh8bp#V|TGN`HXLk;T&aqOkP$ zzrq78KI2GV4fd;Gv&M?`O-Irl6vphI!RF%Wo)Xpch_|rVi{il6&m{d3tQV3ig$?cD zAI+^VB_59zE+3&Hv(D#|bk`CLimUsP7n;`III4#J(Ysj?Z1-^ypHQJkS10k*dXY_A z3=aBDsLR?ZTF(L5AMkp0u3t)5Z zIrV}OFLNKGBxZNJB69!gk^3pi277ci*qqx>+SVd(Ks!_eDxcTU#<1sr^OThkDV)*d z(@9?gb(bVNOFmnqP2#@SgqdTHh=@HWoqR#!8?FoIwMO?nep3zYr6cBc_9ElF$R-1( zdk8pt?UtkCYceMJEU!-3-%~LZSeijE3p$HL$ahM+{iqsj;|j3V2|ny3D7IwxXegmK zgaW&auIAu0iv0`a{T^)2W}6_|-Rr_n{BWJXvuXr>McN$Vfh;_{fi&jaUTXiq(9%YfFm zMOEmAiKd}-^XXL1)>0&Ug~uqcgY>t-{sC;Rf1SsWbeqD!P8o;B&qhy87rtr@D;GEi z!7aCCpAl?b8+1)>7iA9NOsEWk1GpMAd531Uh^a0GIO{LKH5eb-(Dsjz@1rZTivEBH z1=OP>W<-Clj=Bh^Fd$*w{lL{ITb6-h7gC2bjmK#UsYBZfx}#Oc7>WfjIt2i`@CYVh zK3YkYzf0WDq+mL5R-iqumm>VvU66Ru$D(l!mh%2ap=T{R1Rq)?=TascybiYLZ+)p4 zK*~fD?qs8hZ}1qH-vZ8d9ZnIEkuqQxC2p5bY7LimgA`%6pIqSMu_5({0L~50-mht! zUoGV6sXJ!>2a9Cpf|*S_{hz?u3GI2TOE(|YB=8F-7w(`Y zNeY&=5`rCM9M6$|1K6?N!u=WYdbzu_G?${7y&P;dliE#W)4D;f${u}G=I)7$7e2^IdE<_6P!&4j(jSIwb91r9JAKCqSd08Sf#oiz&Tq7>}2zyjW)OR}F3tU%~at5wJG4FQX7W*r&l})fMvDer?*U zqgb#X9N0>H8~R%_9Kf`mEUE{Qwy zgqf|P=5@G#-wYK{12(Jke7rP_!oVKA9G7lt{m6YUEsPg{bE&jvu!U~?3ODX7GJau= zFt4oka{UF(!JeEN^{Ms9jNJSp?+!r{T&lxOQo?RApGF7wlYrtk}U9r&RL+c#) z0EWT4ecZ$C1zUT}SLndAm4U)qmWQ?Oz}ec0hnre+0%tSr-WO)NNH5YT4Q9grln^V{9>uSeLdm=i z!nGUm!nW4EPEZoFuY;}H@Yu)cM&-+E5YU}uaK2sl|lUkKVk~@Z(y_M?ggUUA4v8r zDhAtF9t^g+h8#}SEI+xEaAv%03R)ocQ;33rq)f6G;*y&WtzGIn3p2LMq72`NME4-$ ztbc5bl+fNCxg`6~8Q@%cr^j+6+A1_={UTK1L0$FO3tYXLi@U}YN}lSm!t@LI-*uS; zoaG%J^6RDi;O(MJ!O{};hs}schx>%O6O!FrvWHL-*eQvU{f$Rg+zgxp?P93gC)s+PpVYHM75xY^NL)G-rn)UqBy2!;*$Lz=9z1xh9^-(sYfia? z@wCL3tJzYvtJ$z*_t@aBm)ZPmA|_Xb=eqg#3txL|6~X>qs(VA?+ADV21>23>oYTw-3-(n9HVa>HQ4fh)q)f@r12sU?s$Ipw*+GXM+l*H_1Jp}vYPQgx> zE`3PZV5j^k*=~>9$l*O@VC36Imt=?hFL1V&@rx+=dD$oo4+tkud0gy;0p}7HT@`ij zkmgsZxQ+(4@b*tRh!a-oc)n>Bckd!#lY3Dd2F0yOI&-yXtp$VMB=)ZBFu+n zVcPUo_4L#^D+J<_8Ab?(&Ur_8tz}q8)h!UyzrbdH?TV;(48ZC!9Y5>~_LqGGdxgAq z)VdrNQ_LRMS9qU$PGr+6Yyo}&7<2PRu+_QtAyM6S=~F3iHd@hA7=2l`m3W)L%|`_A ziIjg6za5MYa8XSx{lkP&zbaugSxP-gJ$$|UrsROl%D?$UDADGSgEE_YwuqdctnTZ; z*~tWtjqoo01a2K6oYw}GSm3NbqFCsUl;*!sE>Z;pb)j7nikDesi8cK$BqUj)vDS|Km|wWw?o z@;!B_(W10?)muIGgW;#cwvxvd$G7C~kF|iC^YL7rVu=u%mroEbhe!oa0aphDMJkr9 z>Ab{UHW8=$q1b zI8W(Wa!R*K`GCQ~KnLuZ@Sz!a47eZU?ec97DXx10I5#j|1UE1m+S=R4k}NU%NYUuD zY3(zLYwg`WxKx@*UoB#!4UGN|$tYT$2F3OB<$mFWHaF!^F%%e$ky^MrF$F=#ZV^81 zKE(py+#o_dR_(ih|9@Rw30ziH`o5orX;OkZ=vQITn5pRmCT_WWs1=_pn5LEs7#OZ8 zHf7BuU~ctK11nEbHehN_nL$}*WkR{88Kh~BSx_#m3XPR5+C1-l-ZTH<++V-=e4caO z?VNkId+xa+*uK$hw?zM!7 z4MUV;U#FJW-sDOJE>ZKotzQ7siFfpJmXkQm^xiVfP#nq16|ML?rlcj@`3Q6g^jGVs zC{AfSj0GKAl}s}V0+eclnA9I;_;*bTeo3*+#d9UO?0vmVQUEV?Uh#NGarg1=0mW0d z(@uSx!MlC{1C%|C0ZLE_QgHAI8j$vdd`{>GA@<19| z@FL~xf&gVdjxJqY}RG*ueEnyK$^0XG{!-D&Bi*+U~2Cefx03u+F^9bzn zn~Bd#q2d3X;Q*Jw75`4$-hqov8N>z4lrGo(Qd#uU`@+L9*J6ljfj9tABHY;an+O9!iEx{hgEzmVcRod*w7 z@KtpL>~W=+ZKWPtf6IVN0NjAOl0_^H)7tPeY1d2iz~t?D~O!5;)v2 zKetA}-q%Ebf1Jg&S~GuR;)94t+o6o)+p-lLk7xTj|u>NZXdN^)N={-aDDz zMr4NK=X9iJ>%vh}Cfa%rrzf+z)^Cy`@mX@v&w-ZsfAInXW~KgWqAy20|B_1D?Xf8A)+uq9Cal)Y9CrJ_@4%%)s&pog<4oF>kiTY>daKjkaVq~JQzLXM zjGd%%JhPkX?Ia?@lnK2Lw8T910)4(gb2l)_u^9Eo`+pK|7|m39x<#R@rWy-eOk3~V zVvGE2!6MM2J5K{=d%7KFHiQQojUhb<&++B5^|q%e5xNMpzu=U>fls=h2(Pc0D$wCJ zW7TqfOnDK7c-?`E(t*yPZi(Wl`WWAax6~x!Cd#N$x`7j?HmD5ZqCJDa&P3({mnO5o zX)-qhmw+au@z&SnWE_`OgIhV!l(%f`9cuhurrN8kISYL{ybiSZQ0#PZ+Z1=_|INlR zRB=x*RCZc4+@xKFP~8VwY$}dn)m_aS+dHgy^(O={&hoD&) zDxT^r;;mG?T1O_fg*{{?#x_PzBNDxCEXwg3rCS6Sok^o@3TIJc6>urW&-&GOG9nYP zk(|Na_~pBMiq&U~TAO9^uSP)^N{J)e?}$wR_Pu(^Rf??@zFETxr%i%mICMC`Gl!JmfT-7p}VuO1KbpMTcg^@WrKCQ;xlzc$X1daz@>KNJFDOqH2pef zk65>vzWk2fyV%9`zY1o6koF<3E92I|XFadTg8irbz^yy9Ko5E1KnF>R#?li<9o9;`C-L{-@Q@AApPEJbfcT=OEt1`xHd=a@pGj z!vxWG;{%ks-MEMmR?VKhSJ`HbaAY1yvbL5 zJaD<6i~Z62|8Kh>N%^7viKh zOH9HqslmNMOkqo8g`@y(4_-U33NaJB4&L`eCokC^eTfB`r}P4o20Hwq(#3m8+g0@o zz(uM(|L#yr=1a(@xP*sT|Ln^2{iaOBZ3Zpb5;oDB20Ctxp3iLdctqRIPgMMzGX*a+ z(VbxY*GhN7ctI{Z4C-f+LF1*r68W>q%*LPCnun;v+egz-gZ-=X0u5oXAAU(J4x(F; z%Z6~Sse*vq*Ciq7kiGyj+E3(p7cXSCpYRHbTn+ih>!tXx*^3MSk^e zj&;zj`&Z5)zs-vAQnarj?Rk%bV6(i@6m~{DJ{JHIN+;08#f&nJmaPza{$kShOg}7P z``0t34s`5krE8Z_fnD8?TcT>hz3@u{WX}Y6{hcWT9Uk)t&5hC(rao%!a^PZxJ&`g`t#}8xG+8~IC%JVd`g+_d!~Rd* z$e1a=B+w<)o2G)d02jgU>Qa;)k=^j9D%7Jbbtj-V54gyw)z-|WKW0jxFxY&llv{Ie z!6R(iZL#$3@s#3_ViQRIAoYKp?83mxa2vVL#@dN9Ui=#xxG`o zC+tYzec+NUw2fiwrgvMH$C*CH8J4d#HKOgZCrCHeyVI6VUlZL0^b<-isbw52{gp`u zoqOezRO(ezo1Ht1R6P9(8X2io`VrvbdhK4~{J-Ztuj$=qV!vqmLAaIWvg+?x;de^r zaF-_0;m!Dm2=%ZLSFTL||DM;*u&lmv-mtp^xTIgJLhX9j^Cs~I1o#J~Yp2q>zAEmT zrCgmwN(1=ap1*@I$6gRrL>=IuUma zv{b+)j#Dj*D6Tlf;_t-VUNUfT_HFFgm&-=bn6$1CcLKEEyX!lW?NnQ{ryKi8Gc`hwdxlbzbdX=5+76iLBpB0X73uldAupG;wVUF@ zaA*84K1cDnIx4g2adwl4yXslmn%Fv{sslX+@+c`gHG9WJ4xP;o=k>#zX zQ0RL>`|Xx)EyKLizt;P7c$?-v*@zK)NL^{Tno8HbPQX_Ev5K$$intwkl$!YNc*JuO zv}h|H$zn}VZOxyfk?yAXZi4%xxQFmdytIcg$EqP)6@Tt?0{JTOj46Y{aQ`*T=Dv@X zqqw`JdpB^YmhOIrpG|ZRbd?>}syzXWqyPj*0}!)zY8l&_lWS&!4)0Xj9*}C^WbL?) z*^brFYTH5nL-AtgZaHqML|fAHw60js2=1lM7Meg$(0f3OF_n6%=_IAUHi@7k9$c@+ zXB5aUB(w)5U#bbe1ug=b9i~~f$++&H#5XlyEwByaW57jDoX(x%Rn8$(0fphlFOYV3 zF~(YRPQK#i6liW`P4+;2)gr2 zq@QwL@EC8BLFc~e)6Km&UGNyLxf^YyA4?CiRP2qPtoW*l^;@&;z@=2Ye8yudvw5vw zrkq2E2=r9>eSl+(We(qnA;(Bfbn~4QYH#3$CeRy2dIGd~Sne$H_9&(7YG;JFL-9u@ z)fe}R$q;b~Wz5z}pBUK(36m9fUl}S={IA+|+L3RSsSt5rC|x&}+HC#3`W32i-(eV~ z_{b?tZ|n7|CcY2KtKqB6<~~nOGigFEQCi+RmCJ7KdCTMreOl=iAquxm!*Ek3^rB6? z2|~K($Tk7%O%3R9bDynk)%5OBl?}I0 zPW9&upDnYVz-864(z*8^0*-K)pZhh5j{SuH@a&Q8cF=kGn;N}{S@u`pF_RX8-4y^N zoc1#Zw&`g07V*c{vUu$y$^O8_j&zM`oJMIXaPhyud1Jmn<+yJ}93*Z|g)pv-ds~fg z-X_lgE<(K+HWaqOS)}QE9iwr!F8ykflTlRNw^H2M6vhw>^8SVMH9?2pQhH+=X}e@~ z0JvzYJV(5RW=nd9;-V@T&n{Zya!r+Jt5W)&QOsr+3kI7&e+0N_8*^uFr>%CEM7wh0 zgMK4!Z|ywA8|kujwp#HeaItPyF4f=0Y~Gj(%5k@kzY84cJO1}r{$-lsvUi!m-82z0 z6|gtBOzDBnGU(@~PUwd3X_1_#xAwtL9}_kc71b57XK zY*7ms;w#kFNxsuq&uIEQrz8Ga(-%0C*5D3ben;;Io&4EeV>}6Oq%)O&*F+CQ zRcW)6`p-GLK^Fp-!if5eQ5d9!v=O+tU*J3d!W)4Q7cqJlvibe-G*bc~xK9A2pS+TC zo>4g%P6^#&H|cW?Nq^5jUf2X~!t&T1{DW^Y;a{;^kXUq2dWFHeT4i0kN0kQq;+LdY zq@yI;WZz>7Apl=Q)r5)7-)F+r+Hu%AJ6dsflDfszK|r`p>9F?q_Qtw=FU8pph#cqL z>`haAmQ#u^o3xwZeQ+PMxlh6FGx?yyhe69At$Y~=X@k|@b|0|J-f-rPnZU*S)mqf= zX?lE^Pqa1MPdcTH;j{PMbQ67xl$6r%myot&obOFC=%hv;GIvXT_HXOg4Zx*<-2;`@ z0QW~`u@yFj?)bDLhVz2^GmC30DLdT>Q?}x>ob4}9nm`KTb6)9=Iux->cz0J(oc;8` z1dYRGAJNpxYSuFALdax5TyVJ3vvf~w6U~MfvP9c1(EjvVHv(8U8XusxIZmDEt#}We zmso8%rcSiIr?k6#{G*8vgYJBgQYQsytF6g*nlz!;fR4wj%yGKUmvcGK+i&tghx>d? zPYaxezC`f`SSpZfnYy?cxYV4Jx~^w!{m|4vT*L{X{gP^Uhzacng=}X!QSlgEO|?Bs zwn-iYb4!%=rq}o8Gcy}>M8Crgyg0wr7;8!-{ZatZDz?+ggmQsPrS*QKJr8Ic)|d#;{2G}}tWE44MuQ+%i5rEAzhPNNlG_*2Sv zSFPp(M-lYN) z*x4zz*klZYwwNy|E=A`G_6EAy6bk*e((Y#UpG<|&iN~3{_HEWTyUlH}sRNx=0b1^c z*3L`fEl)68(H>^AgTxnsOZsZ(VM94^zrN`?A=5PE-vjq!7t!pbmSgx%{F3-wnZ*EG zhqfzjKks5q-F1rT_kBcLY|nVg)C@;`==_zcNSupbVnnDd`^Z1kh!24KD-ybTd5z*f zndDT2sNdI=-zAgw*jo~3TZ4|c{2Mhqu@`=c;k8a*QXnaSm+J66i*|abE)b9#{Fd3g zPg%jOS%r$H>W2GKYSw(0gA={4so(1mL=Sx_h;f{Yb#yt+VJ9=@~ zu|juJ1wBBB9~V5Pvl6>IW%^rH)4#36#Hcg$&E4&K4RF!qzP&O6pQ~xos@GPf&j#uj z=?^N-t08V1?LXIQ2UXhf6EAC0)AMMZ}$-KNZ$m^me9;*5-$8FyvnOq?=v$~{vu zrcZewD>F4QVc?XUp(IRnn@d`mf-_BE7ES@0ysMF(-TCJsFdxXPL?!P5)#{ z2Q+H8`Qm9!XC2u*cVJ|7!$2o9HYM`p{l61 zu@q57eOndUDy0&wt8B z%bB;G9K?TTWKS01vgS2Y-`2>9tQCvgznHl*mmAGgn8OWu123pC<8|(@hYPzt*zv6S zpj#0|Q(f=L-|b%^rTVa7nfXUV70%QInlvVdc<$g($HBv)JUp$M29Ml7!oPBqU(P|$ z;lBaV&gxV9>)?{k6&R8 zN%f+sdwGU^z#8HPl*10+e|Q^{gLvJmIj+7^)MfiEV zqha&PVfV`W(tK*=&(W~?<*>!G<-gOKvf;94x{sg3RE_9aIih?yF5QQNbWnOzKaU9- zQE-npjZBxfLBzEA8aA>VHd#KO9sxCMv5#NmM2%)ZIhtv5)M7-FoVYk5F?O;>lU|Od zP=_xo2hW+O(dU$dN6N<+M?@7*(y)8WVbiB*@B`)GIdaGn9~LRMUJ~KARp%`%M-wS8 zUgG1ocdjO(xE$6)-nS$Ib-50j9NlK$o^N_=uk4xO!#w2hjIQ`QJ;Ns|_B~D7vT~Hg zi!^vnIk<;>FeAdx!K`8Tmc#CqStc6weGQve4x1xK3G65hn_mv=A&u3h?)QBBl2>Rw^FTS8SUK)J zALbwrd@sT;{f?%qupG@+c^f1+wAZv0m%|R1&)dm&NPg1~u`*jK-r0hYgmut?+S))UgBPRV#etODjD5 z@DiIoiGQ14{&pl|$Z#A9rX&aA7%`t#U753qRGc#pSRL@?v1Oeym{~ z`n>7oJb53m!?$Tzk8;>x`TF}liRm9{*x+*5LLDAf4nF)7jXts*JXnrf>EoBDV`Ix< zW98|ctVEyG$K5&QX!2#2wtu8BiliN*uj2jT9r22<_vT9I|$yw3gJ^lGyF0N7$Z9r~8T=F1@jPwJ8#hP}y~FZTjASnpuN%V9B` z(riCt;<~`rTdFBKg?0)+~Pi^J|S6%iUkUFqW}X^0@1D*%CSXdID=FpTAz4 z1@14p-jqvwE-?AQf8KKR4S%*^f3F*T8S5&4cC&-zT#2iQS2vsR6HaoZQd5q*OI~{0l?{;B-j0yM9EChD z`On+#Op@>1j%P>Z2qm1ak>o|zn({PdRDjKYuMhzE_w1w%_mHfs9p=XWs9|j_p5s zzgi{6<)0q)kiI@HyyYb~eH*bM;16h*1_;GvYCLep;od208=RK|=J3k5JpJ~N* zPeRyK`RymO`151(?@z*5n*91n9rlGB^0YZ~mQ$VvF-1QA)JID;-C4jIC;pkKvqY6UyV{@c^~kV)c5|bcpZmz|P+B4neqN6a z!Fx0tE9at&t`6Lz=RV9+uJ$5O`tLVKdGSLpIrc>``%WJ5qMo!)hirba((!mPrUm&| zedI1LgZR^IdECp|Y`mQHG736#U)BrB59JQR`O8Lg2UGUpSnM_^uZ}QL_7LTCx#Z;v z{_tlx`&H*Q*M4>c@l)l!EJp|H&ex@-NoY-%BIaQIMSpp9AB}wV=x}5;(b7jQ3YyzW zitJnxB%Qp^yGnSDWV&a4Luq?OLB zHT#XuIJ4U9BHeaokt~ILU08G15#t>l?&g`Y7lei>YiWQB8^&hQ0T(EL@`c(V>Ankd zW06$i!Un^JfmI;?OG>N48nE|hdlfdD{X#)iS-A8`A(PXr-nql8vVR!cnH%rQ);Y53 zxmP^dyN)cIde>wR8BrG>wtzLH6FzJrJC@tjmqk=!X}NC)vhgsVP6x3pwv~DWv->QH z+J&$`0raWETC!o(vkn`|7=2NPB|;A3b^&WcGwZTF>~pFc%5vF9bS0F1&Yz~y(t2zL ze|VB!)?@$i(jTa(K8t4usYL^}iZ!594Ok#^rkf4eff@x1L<7uER(w~Zu~j$xO#8yv zR5pY{!r8m<)B13B*zLKWqk}T~A;QaiS_z;L4Ox=cuu6EfG+EZBGN7kKq%5SohOAE1 zMkj=$rHPk7SiBqKkz~GwC|kyrj_VMW=0B6n_XYj7?Z_>b=>L&dBbJg@18ksAZe7_S z>WRtHepM$Y2e6bls^Ay{yjla_(!jw09~HZ6U@&W#pEZmVFcAJ>tdqcfi3fzmYNnlu zQEe8H|MptlBD&p(HT8N5X4pR5M&M0hjaguemYP%#AhfFdeq4007NHQ{28xwWRnF*N zTIr&nDko@OV^%kfln}U^ueeDX`6FdQ#O|ISEDGZ1*=6F5v&ngM0+Aw)8J!g1WC$| zCQCw|$$U|SX}i`EK;reZf({(P+VO{HXnHf|MLi?gJQhc1B9R_yl1~%_^#8GffZtl# z1pG*2qF59=OBBVru(#-%;K?~%fydR3hf(8ZtTQ`8)0!c9j1Z3+RM?Cy<~xRKHCWgj zHOQo$%^~dM$qK?cMcWK$Nf@MJ*q;>H0tS3bvs-}Y=?@inQd`(~#?#3b;Hf5f{K+qx zHR8%6>JrVG1cz7T{H(c+b0f*oEQYTis@ZuPtZ=wjOXwVYqJqv#&1{@M(}obYWhXm)O4eN zVpu!oO2Mt!THbe%Cg6N)2tZr6W=%t;AFCkXep8!(zmHK;8`g@yH&A2!unky8(ob!m z`(yOea={dA$6AB@+Op0(|EOM{wxT}z%h|SUuK$Vt;LlFjVamw!K-{jpi6pDVq(mdy zu>f|97PUhwqJ7#y-OleSsH@-DW-0vM9##E|lH0TQStBZF&-@(E3}g<(;+PM4bzs5# z`CW?c!0Izk8qxt0s~=V+?m+l&)itkds7l1^X(fX`?|>0u78P}1UHH>G)T$#wBIZy9 zrf)!e{ z)=$XX3C0emvz=gU(YMsGGqbSAbha~V&+1Usc#Pj|sChh$X!}hCNe4o0lD?qD@yx_V z(f{JvN9+Tdk^t|w?QM8}TLKGalj!>d2+W{62?)H*{S^eVx;BB2_fzXG2p>xity=55 zAn+#84_#o(=U-J|ZBWO?>QB|XqE>%UzpiYWm@af>7XNR$gC{%TfZhUK{w!;OO*GZS z{Aw?LlOVuGFs?fz&lb$f^}*#brmfwy{!n0oS@2XM%o?>8kmS= zaUoIT+?@!{zI0h|uH93Cv$`E;C2G(O3CfX%cSCo;gsK~OPJdZ}CqB@oEruRotk=prMY)|QTQK2DOJaU8)4Qt9F~YO*#j<+#e-oqpUWS2qy=&c0LgUsW z=N@R>_7vFz#&!5YHO{_g9rm}i&>mXU10lODL2KJZJERHY|4NAIe@dA*j6^LHB1 z6R!A`R`rA{Qs|Q4S@(Gb9xpqd%2fX?xZ(s&d<*f=o36ZtH2Y*H#U!&8QbK2~ap})w zR+TU6q%{uf1&bW0NiRr`+o4LgZ`PweHb;L&^LwFL_r__Q=LBandI`>uncFLH7T2_K z-q=pvdb3V^>vk#R>JX#Ec-a>f{c>r*oI#Yl65()+@N=pKDh$?cz1U<$Qk@+I#SbjII4(JY;k0!!!U zFK1FPHs!U~3>ni8hHR!){UGzNk1EI| zYU50%zXWH`XpJ-KZE)t((6_)w2qa!0WDSbgd+5~S;hMzR+C{5r}R z!F)VSmENFjO^-&hO&A_>Mj;2Kh=&gqjbb13^G&t7d^s9*=|g{xMqSpdso(`qM_XN- zC~ORC&rh$>%%3-gEn}5)rLio6VO7|C9BYF>d}kcy1jA_8IQ9(cP|9V!)%sq{J>k7-o07?0`nY6%`Q=w${TGwDSp9@sm`!ebUa zdk>Fy>FH8DX48{pc+8>4W<2K7qvd$aqleje%%}fW;IV)nSnya##qZ;>h>BL?kw*7( z@JP@7cNN=Soz2Nz`w8>#6_H?_@WuKdPo>Xyr9OO0CS#7~;*#F!bKk}iibdcPa5m0Ns(xw^1D^!hk6vxMAb z-!pH$W>?_tT_rWjh zUtjh%72Iaw-0ciiQP>b?w=)hRalAzy3iG3-3fttOgXBBpsW4yaY-O7Sd7+gZ63@+d z*dc>vn4;0lzH8(A__hXXeoy1ezo+r7_}9ia^`=HM?!Jw0{|yaRw@Bm5E7JHD6x;aH z{?=&vKd|wgxURvx{?qvO{-^OxerV%cS)kE$ePrYN^_m8g9&3DCA8UL=p4j+4ysFW( zddfzjVK+TxgDSy2ihPCkJ!kcWJL*1Tqg5EQ!M-tIQ~xZZ>-wCH7WBKHBdGDbtiN}B zp}kLfq2bT#?qJ z$91|R`DJv^0TW&uCUMn!*%IH%j#Fbt9?Y6j4@cgHeM-w5c>^rA_d4>X!ABp79if!< zNJ=^S0;uh1HPhhrv=TwD9eDyDK-9yX*P>xgyb-p~vYo*B&%+9w!$;XTF|T#vow>&& z3i0J$6jg~25o2;Co{hnzR%MQDUW%>EyRgq_X=RAJ{Xi9W0EX<<4H-Q`6^GZ;$^iPk zGH-{)d39&LiYKn3X0xPqa1 z!)%6rO>)JwuzWaUsvHh_{LS5 zmugq#jrff~>QXr{`g<*C8-*GhE0!Zd?Vkv zf|@vT9~$C{%GR`Kl}&R+Wic6XMP)ywA6;STXLl>8t2@}H&WCEc@eaJ>N=?92HweI3 z>;?hf&;d6H`1Vc(0nG>51T>&Z?mU4dQ<6K{4g;M#c&=D0@C+De z37b#VxrwLU)`Wjwop1Jh|2rG0i!DG3bS(C7}1|(p@R|66<$yx&vvTjt6!0jYF zxj`}Byc3oe^S#j{XVbUd;9W`AyivuRe=6|0_OWTlURh0U!tV5}nrMLO^j%HxeD!w) zo`~Ky9xSYU(0Nj*s}Fe43w^*-c)bG8&|Ws4UUbz5-2(eYzI>XP&x=PR@u)#H{m^KK zXr><@%-+sD=ZAj7A1 zZkfnGu%Ryq?$3e9F8r1=nL^O58(gX&?vt)IaoC#+fw;lB7eaV6<2TBMyesRL`%isdh4IqqRMdbsX9K8i7|#%!24Os^{tx-8;pt_oA$1G5L#!&$SRWzn zhw;xv?g{6+*!tX*h7gE7-QkUR-C)08R0;X$9zW{cV_kc->Uce^ET@kf@kl=K7aB2) z)yTCr;sK0}qe@NqYwY7WHN|5BIY!_yk)%jGCJ~Rq15?&!cuZN>9Dgxo6%R~VTi}5y zYcw91vbMxyM()d2Jgu^HeV_wfzs+jrZtTeWRl`oOYNBQrJ_pmcm0jSl@K0&g z80JlXcHwI<08Z@+iVd^|OIKd_G39iD|95??lH?9B@r?{oy`mcrAop&30Sn1RIZooG zD|65F;58Uaq#HeXF@I*sz4(@R@05EtnLD|&BziE6hhYv_Yd9Z@$DHB(a24MNThzc= zJVTosrHp`lUn(BK599I0NcAy(lpW=&sTyU%XqB>Xv`VshjQSWb){b)9WQ{Up z^=;)u_3g0s7BWeF>oJLs(YSvfXK)vk!8(`0rcXBL_Kh{@q$vh0s0_BY3}zW)&^35R z)o*!6)p$^Q3!19Fb)Tx@_Gxc_P38B+4Cm}Lp2Dh7-RbDt-NnFRNwJ?h{P+Hr8Gi@1_^Az|%IGu}wUkd)M*SkUI{EOFBoF>2v%42EWFce!>m` zpqexIe71>J&w$3OVo-TgW0CYbJKRbU$b*v2%3&d(IX z${F%X`eA_@XYee{L#}^KJ!Tf!E^x+Ub>hf=I}uxo6X^yaI{)~E+30yT+3W!fNN>AEe(l31t;uCPSf;3 z0=aE2l3Ejrn8!mrHwVEMGY0Z(FAs66Rw#z8)x;g6PnEURNAc%?Bs))B-!I@Rv9{^G5d3}%H2$2sZ}2asFBbBisQ1f-d_05W7J;_%e2sR|oi}LV z$3+-r7n6S)@6C?UJ87UTnXA#JTHm0>Q9~MU%hv}`KpL-0Vd=anj_>=YgQJGdk*&PJ zv4HlaV|wdMm(qC$$C?=KXw_nj>`fQ*Zv5*x+8}FL%tvB7w|Fss*YVVBgJjVX-pz4z z*=wPAns|Rh1cxdzq1hU7~<+KR;<5^b9$lSYAlWvfmNacG_c3Lo0Wyx{gQs*>^)fT! z;r5JYrT>TBdtwc{kz;Lk$J4pBJhZX6FqG|~i!tX2G1*za34_*~Cgj(!ahR|(TX!7~ z!7?Xd9g>tIEnCOinH&Yb%3$VYbvPgzCEKEkDPI$1wat4r=MEz$;vvTVR7+|~d}7Vu z5}RMjn&DgelDMzak#?_3&(Qe+*jpR16Z=LnChu#`g0-{QsQ3Fr1O03;4)PCRrEe34=@-!z#Q zDyI{KJq~xhL9Jw`JTr~*zHr(xN5o@B!ZWsb;j>bA2Zu#}(V5A#)d_Q%{lK-E6rQLgqCzD(Udz+Bpyriw>3TJr&a zOXur{+NgYP4zZ%a989ef3f;3_k>3^`7HBWzVvO*bd)6^%5-yt6Oy%=ZtFPPk$~5YN zFf3;a4}zY(TX-E;JKL8zP{9@+ta_}hI&d1ff5@8zsDjV{&oV?SXKls3J++0-oEV!! z!$0KFymBx^&lvtJM z-_(P+I2CHJM&&7C0-o`Mv&n1)naVX7Y|pJi$WW^b&|}?$GNA{avDCi)Kgr?lIrpIS z+%LBB-j#4ZTlyKV#idB{-_9d&P}zMu_w#7_gXAz&l@*m2H^drFsoOE%KTDB2cq{DH zkKe%ua{oqjVh38{ajqg>akSNG7axWDZ=dbrp=rItUzbMZ-K`7VXm;3q^q8nek+QRa zok0hXi5&(HjT>^JjP667ZZYWY7Qj%=@aW|_e1d?Vw!!D?@LmGG$AG6KP zDK5|bs#6>g6kaL?f-^xVJFB5g*|AD|_Gl+xWesS|*XZ0{rvT0yQ^0P%vEivkXj(Jq z&8JP-j-e=es2B8ZDPM#FlN}Ih%3kPj_cP@P74GKmHLCglrGHiT4SLu5wCYQBbA|80 z6mnDU>OFih<9_wYdmoP%M{oPE9Pn>I8T*TfS zgD|!Qb*)4HteRIpC5DRzgnrlbCUuDd%d5>K7^GC!V;KSYR@LuS}rP-|}dm z=00duGxAGnsI$r^YzPdbz2EXk_8ndSmWR3j8Xy=8js`>GVCzZp&E?%$YZ{%4og5tJ z=3+Uwk)#87;F^SZ+|S)}fIBm>F?o;&2RI4?vgbRSES-H#txu<7JfG=1*pzXKS*`Tw zAWwE%57UmuLcFjO7fBECdi?P`I(U!=ImQD=$3AtcS-+uLfr6vSsvQA%8#}hC(I<1n z$bpTdBXsEy4{mwGSJfE?oiReEt0@}=%QU9^Ps5a1gVDvXW)C$z%v)o{B18oC{r`$+ z1B_}?a(8pwciE5fM z?)fU`!Jv9wzb$&4s(r^Bx{TYSb&2<><99sVrN906=*bH z)CD2V68+?B0PX@{FY$_K->=IuSJW9zlS*Pv3azFbBCjL7x#wrqUzaB0?lOADH4z@~ zQvV}7uu>19q&Lk!!b4hi|5mHcE7apL^wkCqmHE{O8`Q{IsrrWg0_7!LIKsn5edHm= zi_{qPJ8bZNwOiD%Ksi)XHy5y7I_xt8rkYxyti$`*xQx;|sgdH*VAgm|qb0hB#*v6f zQl`<+qddU1iyf#dy?2z?VWG71DDT|zCEO!g!!UmYC@YwM*xTNH1tBYFd;=204rm)L}jbOgFwV-v2M- z^FFs(`i~dwI>!B658J`MBhTZoegm~Q&WB?kbM0|H8jJfE$1&WELoA3qoRr<@?kZ(2 z0?(8kAL=~X)X1@382ZtyySPicWH|zFN^b1;+`@2!f z*Mj?!%XuDL<={pMueX(|uc`TYKHP6-NeQYV`cUhFR5wwnU^U}J(HG}=Oqz8AsSe`F#EM_J2eyVj_?4$fcS=iW>I27GnDco2#&H7iiW>gLW7xdhQNLkUSi4rK z=8o|;cZe#qSO>FS(}%zFnst3qPC{miRsMQWQf8;c&So=R`kjyU{_?qym4X@E<)|l# z<~%W${7HQ-ViV>meRdJsH_zztMTCTvLjORTPoua0;B{U7(P~ERpV9k&@Y4a~)P}@N z!7?XU8Kl0n3q3jwt*=a`>6dt|^=aG5vp>82uKPn-?;6me?4j18Hf7j*10_jPlE|8!f6lxKAFGH=@G44jsTm<>*} z#D_+TkL|Klugs zK~QPRhVx9i^RDm!w+LZ}0Eo`hi8fu~5$@HW=`i6Br)PBe3U*#j2#JDFNW4guukwa& zyPlRYmnvJR<5gbIZGb^11WuwES9uG!mNvSlN;rKjcwav$<1JDi(7mg?xyKQ})K06J z_$5XBg~Ky^cJde282oka=YL_NldT}n0$#iNm-kCbvtzPKXNh@*xc4kmYyl5xRJ9mF z%qLZ#Su$n)o9Zr1P8DEFUnhsVrx4UFry!_9Xhi`wElX%Gr5MO@Xoc4 z6=|46^AA=Rol2CQp3>7BIPmL8TW<2!-041DzR6p~jrbHb@`3Sp-xGPrWb4G$P~Z2* z0z3C^NvSd#78?q$KDL!FQLkJ4W2VsKTijG@*uOT6lN}ZAH21#^8?WJB5BF~NBgpQO zzRrP@W1eHLT5D14%Epz zf~@ZyUf;FPVpO~KEmYh0P6@5L<>*ySfj1%q`1wr@(&h{x9s=?w3@{9R_P{8gurhd6 zgP*WIwu2YY!#h06|9~Q*#8{1{jaQZefW#7pL-LMyvFl!+mfnTYk7>tU+!{D#rDb<{ zkk?vJ<%o5f5FOVyDZ3tSbll^O#xA`sYIRz1hdCJw9VGY6ZxAr*ic)mQIYN52qz-^s zYekycI^CS%$4|tfzfPX~t#==%>k~6gC0YZBi z9eu#BxcB)>_#Kn^A~Bz@M?3!GvDK{U*pRSZLu)HL>Ct~Y-lYgL0MW!NDDEMTsr1tv z$-&x_(jM||mFA1`YdR;&jYRoN3VMX{mDwo2O;aE7_O;WY<&djZx$S_9%2h*!g~(7k z^9aY669FD-y+}_V@p|4K!YWI2JHRwH&~K)w$Gl_ZJMRj*ekxtfoU1muxj+cH0R{Bc zW8T4iqDpx28sbLmiqOhOymoC5JBC&|!)A~OLq=2UCotp%e)nOhbu5j0f^2d$x9AD) z$0EW~;q*>dO7Q(Bmd2-*Rw%0bKnMyn!C=6!uM#&j?(Mi?)>>C6^%-AXY0D}wO{Z$l zd6wr9G=j-oqMX3SMC%jomfiHxbKJ8zNy>8^OZ`P2FL=0DMsF~@^M@@?0{@|;7rcr4 zsLSBaZhJHaE*xx4p=B@lB!;GWf#vrBs`rw&cIyBVBNf#6n2xXP-51wZ zmJ(Rb+8)wD9A#BzQYvScXdy%Axk>Ap)Vu9J6X1;9zaR#8T(DJb4;*h)^C!J5#-0^+ zaGC0HDGQx&7nh=Nx!^A@HFQ~xUmOsv+=M(NX#^(oGbE{j7}0Qg#4gYkN%9Z>V;od& z`xz=X!+eGC$LO*D*tr+qo&`BdZ;AT`j*=N)cszHM>hZw;QLvK~-;fMkZAIhqqL=iay_xVJYXir<6q@ftzUpq-PM;;slZC_dsqE&44mVQp^@&bdHn-s_^e^1-pq)eQsHg=bqy0timkT$k^ zey8#7Qn#ir@`Tv-AE!X1WoDRi2k-9R_Ay~YXsQNF2Kom~#g=(sLS5)C1t6YF+@(6W z#1!lytrRmd52=}$HF*H|2UYTvg8XxZJ=ycY+j+RLi!@xF?0!J8o^WXf2vnEWn;=NB z6C^4-*g6<*?m-TN_5E1A-yNa#o>H)5s9+jC-l-<9@;&|LDYeB#K9A~B7!PQj+ornY z!kP>`ZZ!HyD1U8&MK{tGYNHL+ysEwacV|-cleNlRL*-`j9mpo1(1- zr`*O&>||zM>Qwl;AArgvuqR?(EC$=Dn60AKJ5z#>RF|dF1RuD&4Q=+38ui5D4rp4ZBSTKfkGg*J$9CI{0rLyifyY>ENGK z@T`dtKZknwN~|!2u`2#t2OrnK1w%Bj7rg^P>!)HH?}Lg*p;2^ z%FcG>S0`->itWlb?8=wy%0Ht_8~mgLX@}8s)7!7h@wkCiw@A87}rxk9X5j!YV`*rmcT=c5)Cw<%2<2NLDT% zC@IC{y_%8(U0Bani_eZpL}tEDL;R)MJ}16Gd;Tgs?|0DVn5UHEFZrj%_kyY71O-X% zrZ|7Kw7(yP=pFc-=>1Nepv#mUBPIpbvEbI09->S3QMpX!hhk$Ux+=sdpQ`7#-Gfcp zUMkR0$QIRBviFsg9uqrA3Pa;V?j3wmKNy13te%jnCbT{{BM~0b1fENVz?5V+ zQW7rO;Rh#zUFUym^Zp`g8YoR;*yah8-es+*W{|XuyB(sfK~kF*PmsQ}Bp=uBkPDoW zWQlIo0|tnV^@gHgx0Txf?|qbG;9P7qErGAp9uP{&72&@x)uW~g}xDU23!S7f|(@h6GRO()HqbC&4UuDd#LoaXEhTVbNvn@ zzTCdb^{6MASnJWF)m>t7*5ItP5|zasd_ytjTB3PZF_}4`@6JzU*Fe%FCkIzKkodUJuhyimuku0lkr^ew@%Z5K-k^zLW8a+BQZ3gPFC{jV0({-0Q7Q9+P~T(A)G;bK7B#)l!ikDgoqQYkpvjUfJJQj-@Ru+- z>l4&9yUBYkoE*eD7Q~Z495Kr&McTBhgqF^73Y6xduw#}}y-u}2V*{?EbD(2rHtajily&wGoUW^&q!d zWA!o?uGWWCrLoi*Yrme2rNk;#;zVudcqol&TVttV8bfS|zF@^uOhTOxMTzQIqPK?V zgaz9TOjQkY6w^6X#7Tj{6yUFq#8b4KDnZ5VEaURhxYih4D}g~@5=w7eq;5^5Dvh6Y z*E1K=Y`d+RL48$&oIZ%s!b<289==KGO{A16KX=q^_>u~mpc*Gc072p|LoI4BE?B1- zi`1)I7CqNs>?MHaYeMF&_eBKb3^01Uz-FBGP?`g)8~Nk!0^1jR_m=3Z-E4*if2gU9 zfy%eh9*ZM2OLxK)Yk?S0N+Cp>pPjINgOqHPx7n4yw=4f>SN__roKLr!N?jr@x6|uG zYJG4{j4KW9nJywS(F)t(IFn_eaZERZ21iIe{p$+aj1$b%c1WmiY6sy45BG1|`6^XD zryn9P-MUFigw%noGTXmcsK|%9~=Rv=udOA@yyzrnN4qvj}Xl{Kh?$L82DDH(~B$YcQPj zwUBzZIn@#^@DpN79SpR6yr?U84=76kGmIUJO4yxn$E6@PA5qI_DGmG4-$o;k&8Dl- zQdreX8-%C+20Dw}TS`8))9(@H3?E9dz}FljqT15rT2qnu?!ZhCyTs6x zmQp0UOIun>b=&!u@tkgjx}heCA8M0qaqUk?y}U(L(hNex>z(z65g$+qlz8s|9!f?u zu~TBE@K#cTRx8SAN9w{4ZPA2#>%zNf%)g69H!N&VOIu0xc|a@L(@F}%sB)>56pn3S z9)q{z)JQxoQ{NZ>XVD_@=tDd3h^b13X;JXIs7vb)GRTbT_~!bwGpwe5d7frH**n zqf|v)pqo~UGbcD$uj0O*j+O*ko4jEO@OVc_o3eOt!ANApMgzNYTf1^!yYhH?)LJ^4 z_E8NzHqXQBA~pD;wWBd5RKxo_JK)3)I&ixI6hkQbKm*a#I%ks>I?)n?2;xq?r30tf z0c)s~!QdYtpyr#XqUdE4TZ`XvyR9BwDBkZBP6vR_#7q0QA8+?KYT?4Zoe<`w^p}by>w$Pz?UizVb~HDifN#z&LIO1%O|Qo z2{b3oL;2KzV!CGSDX8%iU7)rYa8M(AXl|Qh01cVr$^e!oo)};Z_*({CcjY;eVst}O zjA5!Fbulc}mHHWMh8$-Dpx0rUog6<*=2cVwq0ie%0d2RWiX&@v@Ev?w8`pwi{8S7r zs{b$m@4u?K_$Rf!oNCn3T-=UWd#QF>%j&woG3#vB?!+ux)sk!nd~Ia+wgynQ?=a%q zsONFRzM2LRteIzsV|KtDDy1X5evh`b$5^tRj<%O-rp)Ah-P{M zUac0aZj3In#BN|-WLI8oSANH?Y_=4*2^Vynm4X}%<*eTL`rc%j z>!IvY$uYlZ$-rRrTOjgm4OMa3 zbmit6k%-kK(B=mbn2pR^X)%@*#`oKDgf z){=ZWs{>eUXQ{5~gJ_X0ZY$@r;c+ony{()QUBa?CG*46>KSd{gR8ojvg!ooTN)@kh z@E<__s`A^4*J|3;SsH*Z-5lewXYG|ujpDIq-JzKf{#3a`ed4A1X-m=8h^!>6c081C zMRQp`3Eiq|f#R7f%4}FKn)&~*A=w})Rc?;aZ1@+gEX=;ChN=*KMTI<7e$^q)${A6j zXYo=BK9}v8fQjI2I-ekU)BFUfai#kBVJoGWiUDvJXUCPr`}yU_@;?hIze@kq17Nox z@Jstal-~!^Xp;{xJQ?MAcI6><<-=v=lh&NF@(Jr#W#yCBrk^s1{= zzhSMVaEbbP1*WncO|5Y&$USo?x~$RV{F6P>HJ*D-?19-M~^&|jc@1sZFdm~T6)YBEFDBV=r+{o;H(2tVSbSl<&?lt+uhZU=$> zUq$qI-1qt%`0H4RD!VG;fzAf{dx2g7wBg(+3@=7G+OF(pS9U5ZpR~519^E7#M}LG4 zExyRTX<;|1N=Qw-X1wO9HL@_&H+d8)GMv*>@o-O2lCq-{Xh%0GGV;+9;qcSS0%4!| zzPcYJ_K^U(Y{qUAnoQ)VRJFMZl#}G#U8)oMeWpqc2a24#Mi7cUI1nBU)BKul){cv? z8QxuLR0BsZ@ZKAz?BCFi?oxQ;st7CVNHl;LQNwJGcT%E6ANgXL%^B;cq`TB&c!nfY zJUl4=Aq3o!R>u?3>zx&b{D>XYjb2U;T170;iFLIMG!}A1doRimPmzg)<;j2^3e+r5 zf>_bh+tI2d$=}lf5o|6phl!05%P40hnT{mk^yE7#Op=0FlXX3$P+tpLULZvlswNzX zC=FJsFQIlla4>fh60(~k#$O@E@Ng0tPEaJZF4f{VQjKFQ7kfyZ-ujP;YT?WXdl z%*9cYn$=O0TAF?L5GTUEztu?U8yY4qHU|qxzS?%D54F_@tq_FIOFer^^%AMJW}z|^ z<|zZpqUlD!x&z~C4Hz#vedox zo*>ZzMas{(mV?F_nP{yAPeng&@9m1J;iFh#(R2JnlyYOSu%JK**Z^g{g|d$X1UqADJM8Gh?tHaj|D9cNb_8d9^h9 zub*V{Sv?zZn&6Bt$Ws5z?t|~dX8NK#wxeGCCHxXL&FqiOsUPXn{!+b`Lw&W5G!HxP z=ty49(5QBJOY|NDfQZ?G1&~&t_#$-iDlQ^e)(w#Aq&exVbu`w)mBHFTGi<5Ox)iLq zEbEI8%djfAt<1)|(TFeAKt+;0p$yl^Vn7xte3*=P(IJ+}@a01>({=;I@X>|$)pGS0 zV71=TUexjn+CM;Ag$peS1Eq2J_1fJ7rRE7;YijK_x>&SZlM*LbSzojA!BhMy1=O6G zC#+PHR*|w`u4u=yP+R1QP}@QE21%`a(t)y05OLNL9ELd)Y33klM1b>5%{}6V7&750vV=Izo#P!$axQ!BU5w z0|By2@@QQ>$s-mjCV6*Q+)Ay*n@Jv@Gz#Y;$qx}peqmXXhdlcvKSU&X{6e|1;a@e> zn@L)d$9{)$>fH)S9^7KAM3NT-pMpS5@+;AFT9OBWQJ)ZuN=7*v<#I`0oP6OF$zwD% z87ehpaWrHo7BDfCHB{=8wz(?4`4w{vae=Pr;4UoLl;QX{6%e)08C)5vxw6M2Eox7~ z5cPl#mL;iK1()ss(>5%gq5*}O1s0guPc-Qm;0)86U;xC81#SH&fN}jz)cM$u3H~J%oNoR4u^Lm&RkT!CLh#&kIKQ3_uTThF4otkP$J87L=Hg7s<9if-Sm7@eZ z_%b{AWIK4a9Xu7~at>3+MA|T1YR@apRBzcZ1lw>a7(ZUtw=2bx3bG zQ5c(XVp?MBtFv~RvWLcqRkS;Lo(aKW3csc#3Ie!h6>T0NweI;Le#=prp{Sjw>T5>_ zV@x~-xFGujeZ@(k_)dy*G zCekQ;j&~!C4)zf3a2oetlst_LX>?|!Alpl|$4V`n7dW9wx=bvgUc00kZHJ4uhNzBG z59CI~ueF`E zGgQW3^TG}6_KDf~m?=iUSfcOguwHs}G_n}+(=v@=)CoAl%ug}Zc(Y^ni=*6e zQfSqE@HebVP@E^xt#MK}7Ee**rCPnVJ+)bI54l|UWy)lm1&?&tK){3rMaqY$pRiOk|O+Y{v(3S~Oqgr)EJ0K-uLR1N# zHVe|l-j#>60lgnM6@9?CQ1$cssJXwmJ3!K z1Xg?*BCuW)=%+|SgLlxzYA(jIWF%&l z!mMW3)Y0Onhxk1#OY{gwgxRoh&}NBl}g{narc4E-VXs6xiA;>cDb-El85rKkb%|fHN`4&2$Y^*2&D@USYmBgny;?7 zl_cu*j#S@e%osJmV;yMtG^w!*>Z%5H41M#C)E(E^*i@-j%K2hjOb1|86jA#D7>(gB zREL=X(_;D@+Ec`IF4Sr<-5xk2ro%B9=1}@OQllyl&_t?66MZ@r8Z+sE(0IMbrm=Aq zP2=v-HjOQG*apBfjRk5mJylN6H#GJD&d@jv(-U1IGc@A!y=l<6hOSRTzkP7urm>xi zrt!!qo5pw@wi7T-V-W<2I{q=w&^Q!0L*rUXnlANBYbHeK8!2bi5lo$c`U8v`?uROi zj$?`b8^6Mf&f65l0u(czNvU=4{i`J!HsjdN&=t`NBxZ z*Y{u6tMUt!qkx&RrzGQp9Y6QXeL@8q?95OR7shweo2c0gDco!NU;#X>JbzoTw8KZ_ zC&=?RsfM^p3%qxvDk{Oj{u7DKbbN*s-1sFL)Y@I7t9>H`^BX%jca;D;Upyz*nbN4V zAv&G@MYbjSKMW1(-g_rtvL#g1eQ7St&3J~(L($3TlqSCmri|~Mv-049hv;`|^~DlL zWvdD{e1Dc~${rHxtey<)1h;4t&ml0$GT%5E_KqJ3^SnX&OyV zm4d@sVq&he1(CI{s1QTRXvd6MwsIPMor=T##`GXn@^{V`KC?JYpc=C<(2pHvqpLZK z;%7-iJQk?lt3Aew43*s$*>UeI$)9_^O=o9G0oD6}L-`Uy3{{!*au!ZcT3i*T;Y1=s zZ4_*7i4zITn%pxPT3YO%gp0NmZZMiYL98qU&s!>wz{HAnw?w-c(xS^S`s%!$f$@Js zPnuA)4qB0ly1Uyto2kA#sHIKnT+A#2G&1EwO-);IW3wkH4f~g;NLx}4GN?89WeITPAHXz z(vP#HV18o=rDtFl`4990Z5R0v)tw{74j3j@BcXs=pOlESnGTyo?YjziH39D;a(H!k z$7sCTn1UK*KfCf{%r6Z113Ekh@iT><&B2ZShcsv|Mu6{V@mwj`apdAwr;W8te=L@NA&Xi=+_e zELDQ{ayq$4s^i?ZNXYX(N=1vL+Ri=m4*(ws;{V$)1d;;Bn}^D7L!9Z@VZzLxfS^xtLRF<&)MyW#tpr zf%G^{YF*P6o`ONM@xYEpy4dfuM1Mi?=~75<7tw;vdI)pyjR8iAa8oueP@PE)0Y`O= zg&-|1w)w6yNbkC<^C|6a?z?JaI1Rg|Rb^>kb%)-uD%yksXGy+6dr&eAU5t4{j_qIw zE^b5B7E7I*4*i$oI_GP#ZnL-++=ESnv7c$&FAIYK#=XkANk))#AzCcSwXfgNty9K# z7sF<$vbT1resLI+vn5i9O9Qn3)XP$k87zpxEt>e$+Bk@^XF-C!h&lQ?E=ZsLD@Pp&hZW%;f``!;b1GOikcjt zwpmiEW(@@y)|#FZG`GN%|xU2e)Us{@;99 z*JeqPNyV2`XW*Xf9J|}NRo=p!yzGZa{vTuS0anHFy^jk!DA=%3Eg(g)gNnVNSioSf zv0`HHNvtVijUrx4EXS@%j3vbu6}u>6kKNc3(HLddh8mS5YWTfpcK6=#lYIZr|9O=A z?wK=Z&YU?jJ2N|l#SembEMl!`F7BFWZ3c zD;>bD3VuhyjTKypPJXW8;ui9sp#|r?co)X#Lycx=@kPFdFWH9kYGFHCW!gGJ3k+y- z#m-9{*8IMYihvC(u;6t1eTEiN#uu4-u)$nMo2~m#HrGr2j=Bn-zbI^`R*zeL-;U@$v@lt#R%l(8i}xowm#p~(yofhTxylmW zPI6>=+QbA|$b%Qp(#rXaR3Z$CHHA;1`m-=Sn|#T($snbC(VoxJB7M{Dsl}LzCn!;t zZq3rlG%o|?P>h6x?P6?Q4Y3gyEifI^dVRtEZ5&b zrLl`MAd&ja)~4rg2X@(qSWS;-YXK2=n<5Ir|d zss-NxNyZL`_pzqD^z6P(EYgA|f~!^#3qh^PhxDT!$@L+b`jD~6Jct*t#+!fdgNesz zvv33xzjLqC9f#H=@2X$nMqg9KIoNTKNX_SH-Q0uXX!RVdD2q92C4QDY$V&XnI~H*d zh`g=>?ZS5XIh&i>>FhX?6Q9ev@ys)V(OLYdxkb10_o*VXhb?j-6Vc5Y#cODii)QON zI4>LJk#-K(k*2^^n$6XsigsmL$UtM5gww1|pU>4AdHPF<9+TsQw5O+*TYt^szW z0+u8Y#}`S~y>~v>XQF%zUpX0oYz+%5u^VUQJM+E=y(cckFH&XRE6H14qc4G~AB;iD zbm0puTRWU-5^bOqenTMq9S~m@ySi8;G3`vY)`$LXIzIEv5vOPae#8(TZ%I*i|R zyDX0zC!{YP#@I+7*^oVfzk{qih{r^JOpzZjc|bp(8Z6d=lM;6#=$-mzDJkDuebF^< z#$nYErUxQ@-G~1a!5_P%mN-WY$BgftINdnn#K(+YN`L;9lb&vrH0gO!Qpb$;bbB#Y z*AF0X(rWnaId0ba0dd|Vjt}r2cF4N|cFH!RcL{6m9W;+Hmx>F~NNX0dUn=fV?ilC# zQ&bn(Sm4E=Yp^t$py$+NiS~~BlA~1QqUP_u6Zcka)QZ#IC0gI`d9~q+yWxub{>PNS z7Ab5r+UgWclFGv#N*|>rOSM|=;q^J5Z-AqLo%;+U1-*OQe`nB!rPz3c1KpQm+*Xe| zF4Ojw3%Cf!Kwk`JWjxl)vObQ5VduEb;x$ZH;*vXI&~uGyF4t<7xCFDtIld2z=Rkct+BmuWA@TjK@!uh2@D$|pr`4{Il94$wE<7d8)&=ScQZ`xU6nvoYr4 z2Ky)JPjdOy7d6c`yk1@Y&C#pN-)z02{LRus@XL7!vQEeD^o8ThEF`{dMlK( z?XrJ52L|cJa|J(9@IwXb3jSTezbW{Zf^Py>u@n163AnD{s|x;^`mEIa3SCf0=cxE9 zZKQkt>NIVY_NegAGo~BWVK+KJNvpAha4e1h#loqN>zQ7|4T8TGg`2=VfuT z*A&q!fh_^9vc_cNUW88JYqYABy=2j5v8Tl0<*i@ivH@ov+Zon|#YmW~&!MC>T4_Gt zYK<0Ht8*k5{NIR!;y2eyEB=mAxfLe;=aQnbIs#aG+p%v_|tw+9jO_^-ca} z>l@^6mc9nR>@-XG7futW&#_RVKFvZ!^p7nxNFQaP2z`Ksy6HVFR7dY%A%8v2LhbZM zjKU#0Qm<(dgY}9Q^3;PZ6r=mrqzzwcHA>~2Wiw{#6N2DLhxBdLU7qAiBfmms3M&Jc z{0fdya3cjbP;fm3*HLgS1=mz?bp`LjSO9)jOD;3mX+B82UBTNFJXXOUQuFA`s4aVPdyeyxRjy{dw;!&|!@wcYRGPal4bH_<#=`Lz}s`nnnyjz|B! zW{aC>x402{(;70Q#$Gyq4lVQ*YO@w&q8Bu1tritlyfWI_fB3ck7X;YNW;JCTRWgD0 zuf^8MFH>Ky)r4E@i__AB^)T36?wEjsb36CEB9d`LkAZ{pqYsyvxhC{FLYOp#RfHdX zOtI^{6U3K{ zZ*~S!T1k;VU|ZZyVA&JIc{D$0HS&JWVO40&4_Z|IE_T>9y77Y+8FGlTiR|#`X~!um z-Y{s4;^l3B`aG(#2|m-8hHcVf-Ak9Ft()-4Fo%BLgp$2Te{a&tSO2aI_`w{HJ%XOz zQ@%%+-au*O>hD32?F?PeYqoI=b=-`>!UmegKT~MOW-X#xKkm_^CCHLy?i3cs-SZfx zTxJTE=b)YA_HR2Fb)09qMH}kV*$P6t%RzlPs0q#9qJ_7s6v|oK7d8n&JXcecmk;xI zPg!1t5W2@xK1Gi`Y^H30mXIe-FMk%2S~0@!y@zqsSkgTZW=;m4`?N5-j7;^eA-fQJuWRNU3ppk?@K^9 zTNX3qWy;Km6%QoxDD#Rq*pWr&bT=5ii+^ z3Ne}X?bHH_y@soDLVf&MrEEQ40A=mO0-b2`Ow~R@W%@K#YuctvDJ}}MC-zR4U3($- zPf0c1Hm+{=|G4e_l4hJl=PFAKU~xj?g_0DRg!LsmC}NkkAE%Do+ohEq5bdiP?Ew~S z+eX`hbG=!^;^1IU3+9Ks(i7e~vMyLZ)CWVa1aKCy4OI=9WP2yl@ZDO2@KDyw zBQM^PmZ|69m+g>EXLiF_&B$vH7F`zcp{jc{|MDrRrY?_5FqbT$J3%ZAZzJ?w zSVN@Wj)w2i%11>&lx?qqNP{&9W8VO4K~4?^4c6T)R0oGqX6(@#l-kGnm2LOrBUe$1 z${gG%D!o@r$y*E@IEZM|UJNONU-P)^1X4B%$~Q`k6&W8tIAk;3+=mqdo2bBkEhOKX zO&|>^&UK-95%1~pmIp_}&zRcMNqs6^r(t)dhM81y?AN^V)n*E=#^Kns1(ducm~xZc zP}#h_r_VGaKK%j2y-f7UKN$7x0za?d=YYIFGXBgAtAwzH{M=hUCvn{z!_SS2p>Ebg zmh4y0pXg24__>0)-)7V2DD+|qU03KQ72I3F9T@k-LOPx)_(%yDso>8Qyh_0<6r5kd zH5A;FsvX3{?g~mcsKr(8R>WL5gZV>z9XYH=_^>nJ&1Sp21GP)O77P0jzFw8UnXQ)( zqRu|2zYgM{q$PClpyuN~rG%_V0b`0=zT}+dkCYV+y9Ls;$_0+GKk;mfUkOT0)5_+( z|1E5sO*hlD0jyO zen%mPwfB05F^)xXK3F=Bb+F%ye{TT266nT6%q^KqchvA_9A1FKd;e$n2@Zciza2&o zYYkONM`vv`y_=3@c8zIHy5?WHTz;fEO-|f%vS?1YH7vG;#TKRXbgbLFO%Kzx;Cko0 zkxFr^Glox(ezFksjj)OFntKK#fo#L1E8WLK)Z&OX0Q0Rs9MKx&b=wTl=;0i}zVw?k zG6O4_zo+>bT0qhA-*cOhtFRa+iF7OY^I*RD zA*O?ILf~w)pmOUs=B~=XA@O;lsob)O=fZe4s{-$4z$gLHT{&h-7E_R_)t6eo9;sfG zw41!T!`iNiruYDe2~_;J7T)-hl(H~Pu0%`O9=3%w2Fs^!%UbgtWDVkID64idzudWK zLF0~VO=3zQz)m$3oKS){R=gc3zh2 zs4@+8vt!haxXBM?yNzv8H0GpMJ0`}1TPOawAseTn(1aVO2)l@*5l^-!IbL>%ECy@K zGpf}|bh~k*@+qyB|MdUl8R;ecBH%qwmLT`*Wvl!3TG4`2TFv~SsO2&x90Pw!E8&+V z*;y4e!SnR`6k4@!R>OARQs`-IK(!i^fXg5sx)-9@c6@;WgpIE$_%iJ}jjrjkFX-Sp zObdE0pqHny#C9^3`bpam(C)N*o@d_gVw>?Z@1kgsXSGhD?cC7fWS}9^Ye9^u zXok@qqXru{q@=SL;J|UtYJoKxoRo@*FsYZP)XP&}#R<7;MmuhRPYQT5iqIOthn~|a zdS>R6ss>Z%b7+h{r*Y@B+96dnNu)Xd8qbf0Q}Rfk&Ygq)UUR7JTFoEx*|pAVH9})^ zUt7n(RDb~1me-GuMt9uCi8TAX)}ZL6JdpCf&MQ2Exq9IM`tw><_Y8M)2jFfByMV4| zBsISP4_ZJ&E@-tw>%%NadF||f*>p0pg^&+t%aOLb?`&yQx0+PpB37ryBc5rvbYq{= z&)-GEE@IG}ZwU;u;t}qJxQtqP{G!&xJw1=9Mk!8{DdN(}kY1^wWX|4{m6t$Cq^ z|G1<~BcGqOZ511>v>pEq1eja8TKJ^fiL>E~hdr@Hvve|kfG z(>;pQ<7-+zw;I&w3L4^rD=fi7T#P$TOToM}Dn`G5&6JJ-8jkq<9kazesh6cMdnuW? zt=rszKQ3@BwBAi)ZJ|Ccp^3Ioj12WfER@f3qN`W5kb)OpJ2Qn**%kC91FmY`UJDVM zQ=LswSG96U(_g)IErlPC2O}@njjD)j+q@0>`6kXVk`z2i!3`B$T){n^INd1h#2H32 zU_Ne!e!i-G={IMYWv>J%U=;+NG!5%%mBDe^cnxLH+GfrD+sWF>VwGjk;*)1i8z!`~ zZD_4ht7gaE=8FC1gyh$2U%@X*9A%P)yWr|y*Gl?a#GqC-jl*61yJ+ZjEwI3YryPyH z^mN1V^IEOWzJDo}^umMDnk{({$hKY`3`=ZWS;4^yE~Q}4Kq`4dTjAFRwMeQ_5W+0` zbUpsIeP)tz1NJFovmX4@$(r9{HSJUXiPJs>+t~K8c1>oImC%Q-*!z!}_Q|=V*ykmE z@{3l|cY)1c#l=7V7!A9w1r+=)+cprckv;#57TxLRmx_f>;K8&|QjW_)l`%fHEflQa z5(+M&;MdgsSFIxs{`+mE~GS5d)-kgWm4`k4JT`R8fLX}T% zV(0uW$>dWDg0ZvvFwY!B>PP9jo3PhxTfmzamVhih&J;k|H#N`N6CT-$o%;fs+&g9| z9X$k|tC#0T^jzh>+BOy|)QhF6nOfb#W1c(ho2?I`F_~J+@LQmn22D2(VE|;~-xa)- zZfBy4-I?NUX+1Fr`sS9FkXWBf6nh7~7o|0+a}*OS{7r!yFRZS;4&8V<5Lt`RFTBPV zbVqdkIg+Lq&rs}K?}442`S`%4ueZaZ1Ljcs+vo-4dq6{PYoUc2{lVUfHZWJmanCSl z3EF&HEACr|Q{qvTn~NbqGO)#G(Bs>%cnitob7Zb+@lI6wH&{H-7Lf8xroe6c&xd4@ z)r2cxnFH2>+_$yt4H5e2Bev21gg@y!(iNlsLW_RW$`m^t!Cjf zPn^Y&iCM`~ceL6KO zc>EsDGbW{FN!0#Jmc*J_lBSP8q?E+!EIW@cXCqSu58HX12yVUgAu4)PD~_o_kGojs z`sV>QkZ<|?&CT|~d6m+7E@Uo_QQ21OlB@5P%v>BVDd{eXV~1q&seyD{6(F59-9>RE z+XDW6YzfHLo0|f-0_3flt&hEDYx)z9n(w69nhxZu8pe-y6?lir-P6jt-`H@j{l%tIy4Hxwu~`m%s1Wxow|}>+mQdqxsC4 zsg_6?nKE1_L(i6LhwusC9*h3YF2v>B*-VEA)@$~twI*9X|C_CO1mx|8}3=1P>b zPbsH$bjrZW?%JjVc*UQb(z#<+uc28f;?U@gm}rUU?-KE3rzL`?9mA!Ff4ECg&LtwJ0Yp&u zM_NH&KU;}jSxzN3?4-uonlF9vNGnn39_(Sg@;|WXClGPyE%qiZqD^<540Y|K`5iYR zowb+8(vH08)INrjMz@l+A7YCb>JssChh)_wWo()ED2jQk`G!Y>TV5>zlgNaXJa6Gx z7-7cI?Q3Yd=RVd-`81wxDd_LA&HI%07|S3Q(~ZYCp!d8h*-|^qESJgFN)+r4x3IE& zml|bj5x$AGtX{4t8@AJ-$NcpnTl2t;+KaQb;DWxc;J$P?TMKg!OeQ^B>%&{Ro@m39 zwoJ8@I`f+|jdy>v3XIEqPMWjK=iYEyEwQf4Y70NMM5MSx_}U`4%-@kBWSJ+pM3iO` zW!ds}hrXe$%hWqgUCvPFr&^6_e^0T}cy-$u^!YZkWYP{gH9T}3&{5?wr9Rcl7A=NI zdP|w&G5+d<9^q51YQ?FxtYI!$Ia^IxQIO>v@-fLqt7uXfV(@MYtsYPE92ce}Pkt-=$$MwP>%7 zT|^#lUyp)=>D!lD2lp+%(7}8nh)U<+yw&}bn4^Vh-F|sZiKkG>@ZQVOo<({7;xheV z=NLG{xT@eI3f@8)e`1376#f0DR^9V>N15Pcs`;1J)4kMnGrg^UX-(ZL^rXHyT4=zL zYw!Wo{dUfI@kBW<{yjzgjcoR%et&D{qX&Y^_J9wZgG($JRPY1^_XnOw`SXhqpY{UB zKbedC@NR5|RhkZuY4qhQY}z?UH(zNT+&-nK*IH`8^Pm4)lV8Z~jaJ?LXa@PWTTCgb^;F zZ{Qx(n^wDt_Pm7AO{50aJpbP&D0QCP-)K?p^IK8$8_Wgm?m!*|#i6KkE{%>kM+zCn z4Fz9O@ZRTC-c5vi#!D-F7_V5NAx#n@!Tr`5(+WQo5=-6BSVpLKhJMe*5)YhZbh)rN z6#0`Y)sE;%+vSj`;GPPOp?i5nCC`sqaH>^SP(VJ>5DOQ(<`V1pe$fCkb`$f94w#)ipI@W~bUOau$~B-b3yA9OMVne>5>Nf#Xlc<`j=9u$ z^w5RflpgFGg?<~@tSX){vRt0UDCN?e5(}YR@*GvXb6kd1Fx@k(f@!fRTBKFam*Gln zg3=HBT)|TmJm5ZM!QWC=F|oZ+1t%%p zz;#r`#j!%e(G4+UryGM)KP@3b+;E-eY9IVQpu;|*f4rlP$aAnAe@c)`TASz5KiUt~ zarm0UqY1*$@xj^q_)>28eX9iK$vy~iE!;WWxu_~BxnnZ6>V zOtFJz_AzLGtoO&15YN87Il$xpEL`t%+*g#2Z~88>{9X<2WHfvg$5XJ;&l`g@cOS=f zt{+a5>hPRXYA=L-z@ZRkT*7;{9#1xnq^f?RRMNUmc!eh)=6xs)S4D&K%QQ3ZSO;x< zh293+f$MU3oZ2Kl_P=1;1*5TqTd= z^T&G8Sbq`gt{tSk{vs3`88iJw8PCmokQs+hM5;%C80!`u1(V|OSu{tR8pA^?d9ujv zmKaw|J&bXC5q&?c351Je?~<(Z>PgmiU_Hp+h>lL}2Iyoy!CY9h=J3ERt$`w;X}vZ) zT*}t-SCc0XeBBIN&BM&^NIA7QC`%s+CG73=FMFG`9-x_Hf-mXQlA>Jnh1RB=ud2%8 zs}DKIWT*Nt``J`Zlgn!fV(V$`FCMi7?QK(~UoF zx_DYR`O}S-bhwnL6Y{J!^p;g7A6xB5lq60MXnZs_GS9(8lmV7imntn9B$YxlO_w1yc5LD{>r8zWY7Q!jUt9d}!O1>%n_!pn%zLwfAa|Ug@@(Ju|6a8Bwv(Ls%wdd<07ECfrG%yW@54!FYBeULKjQ2XV3CzIVvg z|3DZg_X*TAPnNz-r^|?jffqNu&YfBZduuM>dt1sUHSN!CdOZpa5@o$3pes+rO%Fmi zjydZXB&s(U)|sn#W?V8p!|Er$loJf;sOp@;a#@vnVn30&NVCUQq>LM^%_unJ;!u$A zOR5PfmJ`caw=BI&2h=M^v=3SiF2j}(!ONG=nR#J@3scHJk|SFWmmJ%}p4c2Y`fpog zI?Ip_my9Mk_JtLJ+H&bmuAasmSaeqh`!%};i**5gP}X`YoDhYE?@lA>{(|~vqAZ+(2*52V$jjDzSU!M(l z)9tCiSw=mTewqX2-VG7u>n6Za_Q)0op9IjJBXKm6dNjz`h{Fc?7$py?{bBn)s)O#k z?KQ1V^$2y(vz2a!h$x?5u~-sig63O({gET>jT9CtLfn0;Q(UNsOd5^0RBww+8a3JP zeSq{L_+vX~{_7^@7QU*5+4o7oo18pHj0gpXDLkPHF6-nu+ReCo%}(H`aofV2zzikA zM1}6H&=?8C z{SFEb<#XALq6-;}t#a&y*vMh7NXX``7U7~q;!61*$kNZE!vBxU&o%`$uWmLzKS++Z zTz-hj5rVf4mvD;Yc+2JEC?j0NC#`}T=*g(*W+CC*w&A#HTM;i}CqAmsj~dBN`VnKM zh1t?`73`98#25zpJaeHBCuDD(>P(JuVwm^)&{leTAba~|@+>c^C#B*gWVIyzy3aCc z*}_##%iiP0PqFN}jncA9%qaRX8T@a{CV|b>w0zl0HZ6&8cWzp~KqSS^t+;JzYs!s8 zf%4-h$?}$=tC$>je!rhO5j9&W$Qi4b9hCd0O7vKhuuil`uZl^hu=@*Itg zknhH0v3Sw(3kLUSIy~OcnhK&`p~G->Gfuj3fwC%y&wS^F@Vk`zH#kEzF8O-yIW#`+ z(8m=;&%#Gx13QWQm+AM4;$F+9=o)dGKV*Vi9=@y&lRexvec#k1cQnbid5seIml5di}tU*v?|M`rLXS{Td|vw%G>f!ta0${G5peiG8Yw zgrtvKq8}2Xqnn{2ABHmQ9Iyb0qE0oPDLy>V?p-=~axoi|@Gy}gZFiHOA=;P#Xwmwq+X6Xa* z8a?&37|L}# z2d~!L+yDld@Fh$B-(WtyV;%>0N3h-*BJ_6n!(PFQK~5^;`9kMi^e_v@C5td)jC^Qo zPNJC)jMI(LPOfxgl!AvTc#wrTwIl_9l6s+b4#;~VxvSA z_|FGXqIl9(yzJQ6Ti^z~MunSgZahb=MvfiP?_qS#kMm_PZ!mN<+gvvB%qDNa=GJ6r zj4bSm@OOUfDI>krZwWBP4wPcCwZ9&FADqYPxUeQUt7OWX!NQOJ%)vv2X;$9_%lGht z($7)D>KIBF|Atbki||&*WF5=a*UsTx;&R4w0{e;c6@y%1C4njXD@(zylH)A}ORSaZ;9fV3w&XWggrm zbFRJ?!R+<(tl9!6?+Xq~&(CFK`&B6QjFs_AM{jLnTC$&Hc}vl<^solH@uSz+%@DuE zVy(#>Bi=cygYLJ2-%)T&1=|sMBst1S&oG`S_!k8qw{Q{;IW)Ff4~$n@*qGwv#xgRa zzmw&NQA@!gPJGlTpx~U-cDB-uEehTQ?0TcdO-(HqE%Lh+?uiPB9^~}dFff*XH>xGR za9c~~Yl)II^Hgx1TK10R&8J~rdoa_{qU{0=BRVe4Hxyi3lnv+siv2?9c*=zbQuo@T zt$Xoh^j&RHu3CW=C|rC>P|jk=hcOCHU`W?DBg_`@^d$EN%p=wc^o3_(STjLJrUITnVIVHFrMH+`aN-wyCQ!o=&F1qxy2;m_1p~0uBI&Dnzk?OI6J~+ zuI(uvRVk>x@TupC^y5=n=)9^HFI#TvFj0o|ouq15r9)J-Jf9dDO-k#xpA1P;_w{MEx6z zDpg`IMB*0p@KkQMGWEZCpqiYCdp&h;PX2n4+}tR%T@a=>qJs@Z3-5u@K)yM;@XWyp zD$z((Z}^>@kU_D+db$@2!=;jb+)zOVvcL;d61mAnp)dP_pQCvg$&Y)N)4s+cAZZlH z=3Z^?VSZ6VzBbxp^vI7>A%lA#x40n8w^58K#=ACiE(;KrM z=73vp2;SXsu2(yyC3px5YAiwvR0Jb(IOZ<4(zR}kvHXWp3oCc$Cd=HN@G*1u<+8VP z*LS|mT}MRW+)bgqjYVKmZBSjAd$+pGoWC5OX6vmW;(s!i&y=Fegmd%=$?;a^?#`3x ztTa{A^RgOd=1y_Qe`T&)j97yc75<9Bgyskoj&!Ku(iB(%g(8`66T2zI3)L*nScO;y z69h7PRqE43_%|Ppn0gU~VVW)K73T!*%kt0K#CrD4j1BbVT1SWaQ(Fr{3SQgZcZa9HK`w}Un(c=%9-SP@l^Ac58T8^@j^ z(LaiskEa&@ORbp>sn*9b$t-;%EsPZ*ow|Suwd7a&9DRIMsa9<{e9O@XODS)uRnC-h zUP{T;TY`i8VAA+jopDh9W}-~eXt2=CctqOkBxmA7lz@Cr%sq=lMU^5(8)q2$JqmtD!7UZsT)|CLETtxyUGd@0Brrp( z;Qk8ktKbI*Z0n>OhJx=Z__l(7cE-&xUMe^z%=wUR>`^d(u&|5e6`g1gq1tL@PQEU`tPo=8 z%fN4Hhto-RyYPA!<_VM{##ox2ARb`D=lIrQ3}1}Y8eI^a&)!BPR=kmn^jw!SRYK1W z3(G2u9ckYp(!Bsz_$>V^THZ#K#TL{3ZA7W0^y&YhrlaAnrJ&dP$^Q!DQzs8`SPH^y zixy9H;c5!j6kHBiy&JR(4AHfeJ9TS|KFU=Z(^iDKi)pm1tyqpb^lG&eWwq&3U(?8^ zusoKbwi7i1l3+J|HLp)hX;{Y_-5#8t$E4GAsGaa>@p3A(l@qx6;3N9_Dcrhb>p{!W z{$g~Mi(6w{YJPCcAPG=hpsFa%n^1iFB^B z=omf$OtvN`wz%*y1+S;LE@GN{kh!9M_%6RMCxzTX>Xxn|5+~W- z?kXa%$02_=(aYWAGaB3tcAi0>cN6;yFa4OAGY?e8i-V7gepmS8h=C#R;zQbxH0NDW zx>yuAj4|kSo9F3e>XE7Y-xZ_W>RtT2@tu2tarAXhQ3D^~uk;jUJtG6)nvRBh7WWciaE9<+qFVI$ajpa+a1MR2 zO!hsSDrd>Li_YmLFct6I(Ujav#3iM>i9GSiS5d)IW}DqHhfhy`3{LQx&J&-4oo&~U zKkj}VLPSZZ17O5s{)o>M;%v!PYVfd%h$qunH`b+(CoYqb#Q8RHPYAz+9nt4rx#h_# zgT_&p-lCG*E1J?usEFtX1$?1&3j_!FHmbU38uq8D$hz0>5$v8hsT!-h~lKAlC2HGEqcfujYhA z5nr;yKUyB|>E9!h2aB-RT>p?Q&eML_50@xPyM0Kn5=Hr@9Xz>_$<{**%x9#8??p8G z3W8iOv;CRzk!##nm!hK|yLzG5hj=g93Vj%z+2yr#)h zu{P;Xy8E68u6tz^N-hocd%!$=TQ_R+P;u%9uGoF8sV$zIYOUbGsg2%;2fE>|lzyUq zi?Bi{XTBejeFT1`7lvH+ggW-V@YsTuCp;f%hgjz)4CkH?`{8x^qn{X@cMLf7q4ZvV zRKyrs&>v%&Kj?mc(OX+M{56f(AjLbj*b1H{K}M=9SxQL)DI;kIB_0^StG zJv~{m>=66z21y+XXAnA-y3R|)%SFMAm-3U zQ0_ocsdXziNJoQ-5om<&^P6l}HzBTFV9(r(5$u_Kd&&(~5m^9PF>G%*)Kj}RL$_%FsHU(Vm$G&x*mk=(0$H!{c)J@g_9H2Ds1CJf$vR?g`A)W$Bc12ko* z2=(&gVt~S_v}vdai7GfqSw)>Y@OAEk2Hrs!uS}{B(b3;XjXxV?es%P2{s(TmbsHuc z)XIe}dUwRNO}A8;e44J{4=l`6zTN4gVWM*hfoLi3p!{*I6nZzF$Vm?UGEDTz+x{7D zJD5#PhT{$PJ`EWzf|4%2Z#K=)I1bwJtfqQ${r0C?p3$kuPwqMI15Y0OpxwR^2igaHe1|@t49SZSZvE!W`p23;!GSrD z+sLXS{`P%`2lH7mF2U8J9zCcjv*t|2gCp&s;v>bFQq9;I@n);cshUmd3>>k*MSY0Y zjub7pr#(_sEu0REI`7KaN##e0=5Dx`Zxp(Qk7@2GQOl|rOk1&ZpIyW5X_sQZWb zHnP%+bET1UG4b{x=nEF*#l(L@Hv6nWWPu$vaM)nG4L-5KG#h+vgG3wjwZS|KkoZU} zshKC!sCvJrO}(bbzk{hxN;euJ~EGR{TkJ zd@LvRLVTW?XI~fux;*m)i^Sr%8A!+FF-Uk5T6D?KQbyEl{yNN`654wDBkyUi@$NxO zHb|e=1AQZON?>eWNuYO<8fXwx&(`0~6a!LQoAkIh>&aY+c49X`GVeWic(ey`x9){= zNzGTB&%1PXGzKvr(X-K_V^Y^&t(-NIV&wkY=vg+gf+W^pUp~-M$<|1Cqs*44Gw~UA z9evTuG6l}iR^yDf87@f%^ zPJYZEGOqFa^AS?9TjU#WPs9ed5c=d(EQZ~Y zdgfChP;}4f(r2QATTA-qGmOGlQp`kADQ~5}kVs|vV50DM*LqOOL=n{Tv!`Y|v+R`Y z-_*D*kJRt<0G!7ogRV{zjd53*|77{oZL%2Y_J)p67S(W7^q-SO5In+v zifHRLh6YW+Q#j3>BKjjgkEe*rg%7u5{WA~5aes3MMNAdV+yiIQh^gq6f^#Yy#GoTn zMQpJ#S7Ek!3AQ>J#!?EHhPP5{N}ML*Ll(4lg#^stcm5=Z%)?sB_p;X`IyFsv95C=5 zE<1b>=fkWD^Xssk991V#@9Cnvd)GE}&>{F}tPRt#=&4v6Iz3&4M}61ECH?kv7xw(z zh0iBcz<`5Y5L4`|!xVk$<@wPuJpmGwB8SN#c8WfeU2dlF$-`6~by*Jb&O<(2eg zh6pThp{401-?p~4Rs2AaGqJcA`-x_XSlmH3dnPP;p1z+cx|G@j+i+vF4ZpJG&DM{# zV2Jy~s7x}3T6d{IvM5!m9~g|5XaX!7IoHFW_d=tS#jK>8%}r4|VJ!C2P10!4^BYOX z(O1gfY<&@a4Q!drm2ZH1XhPuh#{2Bg-CMa#bKN=dkzpKFa1l(k*xpsjg_Dd*t_P#7 zg6k`|oPu3~GK}rc1k#P+3cjM?bOpCpa9fFk%+(27odLKX*@-c+OC?jpAh!xMEd|T^ zy;{+Z6tpP+P-co~+0YF=WiEv>2V}F6dQmnT<8f%O{tim>?Pg=t`oLZAy*iXTg6x>X~T@~EG!rWnPsnFx7j6bgPZTGdBI4KZF?el7w@kEghH*^6 z_Y|C};GgNi94zkXNAYvTpkgUaF)Fy%%q1d{(&vheI7eytJW&%P?yu%y6xx-}&BHgf zQa50-5s|$70c#R+_1JiJTDfrI3Hk`wTFMRZo5r9zqBn9kgEx&2L$wQVaTek6jmdeD zIe9Q8x%~A%xNz{90N)kBg0Fj6G-3){nFV1b!Kt}mvDP{KC`(r=WUl&? zBj!kbs7xqZFOH0|)B^mA_P}3v14>BgXPyG_JeDQlA8+f+!b2Rs5%NR|cVougrL6g) zLz0Fxxc(NAImTLwY(1?Jvqq0b&w(Frv)4Ih+Xqd@C!dK+KC3SW6DBLr=J1!{M18Nt z#UHVeS)3o;8u8I+23fI%o{ZtfE0FK!~ouWXd{HWq59H?vSTy`F^<^++JjQ-u7@ z(u1v#2;J90o_aw>;1Nw}&jR!VFxkC8REkco5AxJ$@&bflb_nhpf~`^&?hj_`@4sXI ze$oUk*kaE={ADB|J(7%j3$A z>d))Zniax_sx8KgdlmIrEJ}HQ07sQy!#z189ck8LQ8CU=drd`|k)`O5bJ8EMgJSuD zosp<|G9#gurX8$cJ0r#F(d)&+zw_f?%;>>ZxSf+*uruti`=}Z0W(C_hIb;S;u%!QH zl|I&G9M!+6YvyDkiSFJD5hAltfV1$DvPeX>ypBZK{Tfz~S*W$&d@KxJK2kCQQaJcb z9jQZ_#hne$;NTc5cr*20A_Cf^pc!KB{Z=sRz|WtVv3tYM_;D425yGZ=-wY`!Jup+B zW`|_!@pVkquP+geg2Eai2C7q>zOO7ss6ch}c@0cjr2aY8UWySn4#{7Ng*1<7(o*5T zNhF1r;b|8|FB7$sre8OWr%W%uj3f3~S=(ikm+&Hj#IbNOT zX!vsRLFwX<2UE$T?DY@ArP4!oo91guua=9zh@6^IR|9=PHmW~2OlTGHc170M>>N3m z*UGIBVU51LVk&r%E%|m!KF<{NZkoxl6&wlpB5pP0+~*lVt5=B5rQbk?Q>h+dQmIb6 z%;YQM^m!3j;dTwF)J2n1cbBsMt<)Zz&$L36qERbFzQ!pyq@PW>p9}PD)jl@Gg(Hv5 zu^b%#qguBbrVUT66jfXPX-Vo4YU-A1Myo76#Z}4=t4k$sTHJ-KV7rumqL@`8pw`CA zX6zf>QlP}`B3*9A?rs@$pA5E2G^x6&&DvF{TBR-dlR~666Ly;N+FSB$pDSw0(=6`l zRFC{vrH)!3`h)XL5`Wu-Q& zc9;>y$_Oso)H3BoSlnH$U|SnM4t~1^)Vv^Tz#kV)f#FsR+gx`erGmcOEqmovH9SGh z)}ZFrrU7d(*)(;8-P=hwvWB~GBZa<4!Sxgzrr_BM4z@54>;3V~!S0-Ws_^`1;v~8D zcB>MwS;0RzafUI%iP5dLFei|v(90-^l~Qn^f~P5&ygs6UOS`Ky=S%Di3Q@v?72H|D z9TnVO!EF`XTETe~96HREWLX6VnbU!F5I? zxwH#W0tzblrIMRl3O=de?H14>3n=J7hIW8~$Fh*W@wnzgvlrs^A?8{!zhO73}8}nqhpS;1y1u3}cBCV`Gwn z7Y(P=UyG2=vz_tMjr$7LEzDyn-O32#OG>8JDg0{{JdM6yi+6MmMSX*H=o@g<=AQoC zn|DNC!uv!YSB+b-hVz(i9qc^^d-C)?lHM6#yvFcSu~7)u-vMn;X*2R@Frg31ALIP> z>IjHW>EaomQcJdodRdN*U0)cWa7z7IVj<8d{Top%auwPy?$u^j<+RN-_&F2Lc9bnY zS@JXV{Zr4t-@4%p^RJCR(CQ_euqP$xdnz2qaa`&r3$JU9;g*H}k75Xch z`?c^Zc?~90t{T`=5E{l~N3$dPDOF!Ds#F+`ICwgNmpgaR9|y=byd*9i;n#B}KjJHu zBYG9hTrWb)7ll?F;3c)o*4_9Qm))K*qkmyWA3_(_i%R7WLN+s}avBi6*-UGn%xktD zV=~XCunk~lMVPt2#oWte9(u}B%wH;YhQ=~;NsGC-#azH-4zQS4n9S4ZI5VH9Y)U?a zUshu`|2m?Noiru4GMVdB;6_m?Y@EeB(qbNn-}sbq+-< zNoPc0MA-pC&}GFdz=ABjGTV1+-z3po17Ro zzd7*{lMnTPEnXmu&(?C&%a_3dO3E>O#KV0v>9{R!zckiUhOPu9F1XW zRa%Un7I`h|KjB;*ZYFdBkvO44^m;SCJ?x}_Eh0E} zs-$M?pYX54qvm!k&!jq7Sn@SSX-y`XS4r^8sM&FdcX-6`4>pr~H-Dn*MP$N%(x+QQ zm8!)p@dfbfjOabRAdmKNjGHyf;V|QDqAN(;D}zl3mG&>*Dtz5`liyYlr%PfsE+vQo z)!pM5b=xX}nm4z|4e={CZQv44Z>hlFRuhuWk7~}{|1fi&-%7?kjP`96p^?iug2Q6~ z{~#kc;K=y_E_y$XLgeB}E{nx+eJr?Hf#McVmuJHW$pLASF ztI)SP`Ts9^y3Id8R#Y{Dry|IeaE5W}|De}b5<95isS5uJ%KxJ%<&lenEj!ZfKQ$kU z`BC`QeT*3}ZoG$=MS(d#rZJ@lQ{esBr7{L1s!aWQA%368(*&d4GjQXJ2+Ch5#4Klz z5Ze7ChEsj%#*ZlJLx{^W1G`CV7gZ`ww5A|JSwiwtES{B<#aa4$Pq-YhbJgO1k9us! z7m`ynVY>(}A8JucvL-0G8l5>h&z7Q>RZw4hSURAC(!d<_OR$;bCH%rIf3qgU`s1n& zJa(a6W?IRCNN*AUrtFx6&JL^jxgXTPE>mi>Lj;%VZAt1PnZ}G~j&F4-<~RBn9PuF* zM<8=JcFg2n9i*msK@4ozjXy}XV;gz}ndv>nFJ8quhRW8$N8J7PQom1kc8GUtgn-Q4 zGt016_6JR-jAe?|Z{!FA@XS8khDPob<&yH@(R>YM7~#ELxS12D8?jEDVYG1Kbfc0J zXBhl7+LrTcFBh)jq^BFN6ncnB?=DBJca#7>CBi9%UQnU)=Xg7@!3ys0#C$@>h*S~b zQFpJ?S+}GLziJulOhdgXn^4;H zoDV2r7o4vJ4cP_ft8P&%;+LK8tHEzM-;W2R^DUsQU=DhK#Mw>muoCDxTXTG)J*C(5 zrzc=a_?`pdCTrzyw*Dz3n$u?=;dJj%2 zdLJ`=dLnZ`({A{+{8gSIiL=)Ch>vT2ASd2%#X*V6;;{F_cwolaa98-+#Q+fa$+=oS;J?Q#A(beq}s=goJ zLt4^+{bHnN7W+a@t=tc-ruI*<(eW3Wd{9*A^$byL%TMd# z!jqgh-FWK6IFrwb(~T9t>iRlsVO?DE3%JqgZEkreMt3hm;c3FBT8CA#8==oadiD_J zFR-vXjg@M5!py$ipXx`0)37FCD(y}a^=cZ@UdWHUCp)2TuDUYdGzU7O_hDj{t9!#d z(rbrM`9oNxJDs{65~chHfd@;e8Y4Y(+>BFPv2GJrza0`$RleS8s*$faTTfNv19U}1E|_QQQ93BG_~0$ zs^W;+{f9+8ujqoTPU&(hC~cnza4)%nZtN3X-0K&o8vAiFT)yHoaK9MgwceN63f)>x zH}{KfZnbFK5iFGGy_^ych;S{-+w_%!&kHjf`^vY4Y5M`uGU!W5@yNgIzntawq7--# zTRJB%HN9m89m)_D8g4@z+gs|icj1~&oNj#M#2H2tC&p1rRQ{+~ip$0h9mNET|5Dck zOEW^-l2wQmY?z1X)|D;4qhR#2lJ1;fxwQlnEPFxQV;xJMAxqC%?fex2;#0a}f~7WR zHbS4zv8@t>m+WAPpMgdlj|u;#eSxsFbIkYf3-nsyj5wAjgI9^SJ>O%$BBEnPY;mM87PD^DtcWmfvRNpSjBIIlI=ZRbCc( zhH_7cl8v_^%&y*tHcBb5sJ+3B!`XL4du~8dd-CyPrd*qi>k@CB62XxLnFYr$NLR?zTfgA-tGv$` zH=#;ewq6%BUJ{5_tKmzEJS{2*Buc^AdN=utTk7!3uR)CYPKzMV@t#uX8d`B$)GB(P zpU^t~hF@;kutDv#sOXu?+Bl+@lh040RsmyhXQatAn0{xbZ_I4!EAh+eEs{)LC-chm3VciNoDtQFHnzBGTU^y7S71Np z!h#gOv?MO&gYo)B^M(cQHFWrls1bOK!;zVT_~jg@%HJ$~b6%-$;O`!9#UG`opOo!* z$&J+XEcS@CwBk3m;@7s~Bl)wUjC-O77hPbE?#Xgw(bZ%x*{zw$-lkuet(ashnWOI! zHrs9td-b6f+X4^TdQJqEKgPkBV*8REI8*n0%B33}4QJpU-(R>S17(_L0}VSTDg}ni zB(wF>@;6iW!7pdAkSWZsi7Bj|jGd`Z;VU+HO!3<}Q8QqjR3uwpC4V#Z#rWmOb7;#s zQPS@)E9QtkwBA%iGvnfT*Yl!gV0kNUkQLX@it80w-?84zgnVS+Tt}X+pnPj*gA^ zt4+Y*pWeQMlMi^qyxmi!M8tPM)Ji zt~2gYd_W*F`koo68f6rL>#&(FX~wpsExnKF#mN&@8+dboniT9|XwP{DN- zo)`spRdBEiH!_l}2iA14f;+jGjE)NaOu-Y#{|b7+AryZFD|Khm^edvO_U@Zkc5JbUl$QUZ6#N>-qPgq zw75LY>q45*?CYXJ>3kMbF0|(64}(2SEAt&Gj_5sf;kqd2b%cXJ-A8UWM8&W#|1uww zB^e7dv-H9SPb%c-V?p9|fg`Bx4G|MQb*0Sua{l2d)7HwAX}QIwwXV_j8=`DdZ5E1S zGvs_1j?G}}ah5Xw!Gu7d7e!5j}KDHb(xUzIx>>K3acN28t=g{PvqNM*bgHN;0(oaf_vh}8>xTfTu zDWbfRnd*oRTuKcxMfno%@?**v`LWc2)tv~sOXD(8TT033nR*GyA!laUoiArgrlNBx zEmMShU3r1{AfKhjh%|7=bADvUJFx%;81RRgvpLL#u0kBwl^Axx*Xw zEtiZ~AFwAF73Tn7=?BB{yv-y)K8o}<<~aK?mo>&j#%6v24cdXmHm(Ehxavkqy?Kyd zj_9_iko3zlyF%fHullZ6;SMLxFm5XNx`J;h_^=bF8xs^fT)}-6+}XrUnb=}!2!VDLDP`;Jb9?dkHS~fg-I#KAxhGY-$X=(YRHvs$A{9|S^ABqY#uBWZp@Bh zI(99}dq-3*IScF@^sJHenGv#_Gn-&xa1kncM+Eqfy=%^*wy_wGnv57cA-ZQVraGd( zrfqky`u{h&aR-xj_vt0V$}Y1~eGf5sawccJbm9!-hX%^S zMg=cYaI%6wQ}72gF$=SK$LWVGQ5$ES+|3eI0s^yMVahZ+E$Rd^iK$xmaXkB08s}zI z(!q6--q&&4LCMFoKo=uC_p-mFpkeVcFhiU`eGSYRjing|RuSjYCPS1eQ0zXl@NT8! zblDJbK?e;PCt{2_truy}0WaaU#QhO9xQ~g|r8N6Kz6fupjrTFDcM?&|*KWEo2+Lb- z+|R_H@d5D9XLReVUnv_5V_45h!*}uc0|)6ojBd_jw10GK9fy7AB!69g)(XWV-ZmC zI{Nr9?%Y|}znP~0ev^BkN$9@kj@IH*8tb9E-sB$S)opq_U3x5<)GiOkgLu<3_a~AY zXG(Byy?Wf#I(bG{mSNaF-qn=*I$6qXPYKzgWa}Nss)0lNa^t6FcqY`X9OgY8hf%OY zr;LPiqLB{9x6crGMqElAef?c7r%XLJKX*s5ZzEG*xFZkFEgs_sjaSh2Y|*UJ5ioJ- z?~}~g`oi1%ESW1vW@q2K3WYx56KFW46pyWx@I;g=R_}K+dQ&MTTMxWL)1HX<2=6=W zH6G(fuv+`fqh-`jCv8y@2#=u`PjE!kWoq{nrSyb`^AGl2JQeSin%5U`IS$?egUrJp z_d_Z-Wjo08nP}ARXK*}NtGE5lELHAOKETQ^u566|QgD?jHa){Aq2Lxye8f0U6Q2pc zFkZlBi`W4XIMS0J&BMLp<(HUTI{!@6^belSj)`3;+t{k!(`$1N&Jo>)O8+4$`SrU6 zU*O)4JT7k%k4o^xg13LivQSu*RdciZ9YzFKzJa+Uo-3oRqK~0@X{TC0)hwN21 zj~v=0sKJFxMYLRJrpA9y9ebjB3mw`lC=aP&4@qYwY^I4V4^bV4jGE1Nggi!wdh<#h z>ai%%qV0a1m&55btE9Z+-m%(U6-+yk^4J~swhecj|2K2KE^FV#oI7NXyY8_)mn5j6 z$k0C+&gx-#uaH>PaJxPDG9}A7N5RdtZ`qUl+^>FCd?n_#Ja^aqLEFAag0}vog6!{H zRUD_G4w-&m1;6&M!JY&ss^Dh{)<>eNeYQB5pVHbnL>w%^q{C2pBuYQ_Zc}zmK3=cdp9_(?9O}OxAYpO^OpXF ztX|9)W~Ryc#qJFoMV`VyJr34h#MrG3S^hyL^{Pgn5cyfL`-4q|1o6bl(hKv&(88=b>N}=n@qe7u7x$^owPFuJoYn8b7=4-G+OLz@=DSPm^ z?K4EKFX4G_p!}-DJ)+j}6SS_R*?ycn;HQ5ho0Pi0ShE(Tch=$t`E{v#!1FOA)|X$xYo1IiW9@tQMcj|8wv@D&R;%St zP^-A@6xg2Sf&4A3i;oiLQISQ+ysKN1G^9pquwvgux-Z~9< zYq99n7@2YJF|qwwUW5 zb-T9L10SWoTt&=uv)qt>2+^3gv^}lDU%g*z74I8pDy@u$^%Ex$^G3hA5?U9YD2+HxfQWKHq7#jWRldAyF` zXx9C5Ty5dssBP9g<4~vj5UgG6yp|SSy?mgM5j%fMh%`x_$aimh`w5nQB-6!wsibdh=$&9|{^IUz9BU+9b z?N)e|9sZd(_0Lpv$EDN@Yt}EL1e)${v&hnW) z+|yNeI$sG_U-(k5=Pvk4>0y8TppH}-PDJN5)}!N<;JX}Qyt1wc(9^@p$=)LMOSszUV#Z z;V8QS&g`?>RJ{|e3=+P#qAX*cF1P7tj%Y46%~m#Tv{!a(AX+}uh^Q)gTTGMxV=-Mm zkQB}?Z>?F;k`8)SxQpbf24Yg{-v&Bn&ZDMbxi!M`wr3{rlwLhER(nC!B>kyu+E6s& z)8xSo#e>$y1nbk}Qw@c8!%=23^~#w#`OT3=ZTC>|ugc90MZDYR8S>M7_a>g3D4*kv z@I2YiNA#{W79Yn6N?e!9l|Euo_4zRljpF13jYKC~qM3>>sb^p<`p$y&>Iv3WeGbfj z!Ms(I9z*C9D}Ppa{LJgPY}&|HL;$dOIN zalUuj%2)XLuTCfa7!`jADV^~f^VHhuZr~xO`ig9~k9JD$Cc>}9PG<&>kklEeXVr=X z-P311AZl1F52r6^Dw?_ZjQ#YUI_ds&_`-vJgL>SWx!qhOa=&c1pXf?|`rS`_$i@0w z%|#E(MR~lrc#7Q_om+@;mU%L{g=l73m7dl@6kFWfK9$@2#cIpi^nNYH0!zU8;i_+N zO{agql?fyJ6Q@3WwV<@ZT`YfZB@(L4-gZxBCb>7OG6IMBN!DPwskQK{d3u{OE++=3 zpJ*+tmbO7#R1-CKhPJ^OzC6P`EMH}$iQ2)xx=DZ+(c*eL%eWpr=yVy4%_aDVKywMM4&m1GKR~>>1YfCsp5><+8-{0; z8u=|%>prv5SrSfDP_LnsSMGEImZU__|Ed6Cp zpa|w7t6FE#s``R(HRj&Z#e1>`zx!QyR~7TiH5^i|ypO47l=PLCc?^ts1jLH>iNLM) z4)(G76Enh>JcdAh^DX&j<%Z58z&1k(V$w@moNPZsCVbgqB~@>u1T6nbxsh|0VOt-d zT4+*In(|VwsB=U`(oz+-^u6-9`g+qOclEbT8u}`e?7@fO%j< zQ?BVMnl{;Kslpp_?*95vyV(;-tIk;q;CkVQt|HuWKsF8%ZJt`*-=a;`^uB*nxP@7M zYLc8}wyRtEI7k*Mr9Ry5HqAW1?l!gQX~w;)cd`4K1#4w@n`UmjUTzE$eq$2bDQl=g z#3*qu)i;}I-F9X(eTP7OvuO_Xlq5_2lxF>WnLupP=}XH)AL~QtOZK09tI&{5yNQmr zqPCUf|KV-Qf32-4zn&7+DXtM6_osspmzxRSOv}e zM-W3ruVfW8h9K2lA5a}Lrl6u9zwF|EUfQ~ghPH2Aygqet|KQ?Y=;HQpahGr(+&Q1+ zxwx}k+_PQczv$v_h?^ybEbT5PyZNk@lO7WD_`>+*heRvu)bL9mE#v%~CUs#$TgkD)gxPZd#~Dow3G zII*CIXu@ZmqI+-!HcBq(!3-26xAqVZad~~I2dccKvJI3qdkQ}D@Rsb|Q#7@vDj9D>U$wzvwTQlp&X;Y3c5F?>mfJx7U8z2=FUdVolp*a ztHHg<<=w9Nv464)D^I%0bYiH{V&_{di>KQC+*;WEHsHsAQbbY}<%yJvm2*SxwqaAQ z9Q3)wTK;9BBhtRN%`R_dw?RJph-hxxcz@Fsh3 z6BYd1>;Fi-#2#GIhTuc@2hV(#@i#)PAd`C4JWCX3D|>f!Us2z-OC?(Hk3_AB{jLg{ z{Er}Yvuc3~8bXjh@QsQtRfjvk&h8cTAMW3|TkMPz@Y}tLuRr*@BnWhI_j7R%b8+`@ zaSw8F_jhrRba7AqS9fbxIxYcIT->`{H0>{Y_7j^MtS~#~Ej@P?7c+s%>Z|~+$~*l; zXx&+=+LHDbsb!<;@!~HT9wwf#1k3GVoMFw;jA5dmTa9zFVSiD^ZoCEq#B@%8Ts%Mw ztnHQLkf&A@Rg&bn0bEk)@~;76Z}pBZ+Ao6KUzd9Z3ST$t()2R}MOBMhd4|*1&dMr- z#0%=H0E5V8qkMZ1>*+;uxB3+$FAQRVwm*I1VBuxq(^E4a6~VPSF{PDj-$L$v6scmV z{OM7VS-<~ub?=s|553Vc)y~ubJe}qCAtIa6VD?ZksJ8Eta$T?LwU@}_L(#QR<_{Hn zEj`mWJtmr3Y}I{f9=Xi8Y9Y<~$>r{jx)XZ63Bh0fYp`luM^*4@g7sC4oQ>rmALguZ z&vbETxwxOVyRGIE@~>rhgm|8F19wG;$1Fd}s>4Jw!`+%;A`|BILWn#SHF^ zc|9Tg{XOQglqrr7d*u#Mr@U;pooY?a$yu8@m{@W3N!D}DzXdDP4pYHR{xw*cwu=fbc?r|r zo%e4d^zi7UUZsDbfsPDkKON2OO{cq`i~Cg<_ed9aR~Pq-F77hfXq1R%(wsF)jIGwL zD`QboFZZtU>?rXE_X>|jVbcL})M&BOayPx!7%{`mcO8aMi@6|lzW&XmWF8p3a=g0`MT8O=+ExvD|>*ne`N^`0`X8IYg? zjG5-oeeW;f$Aa>(noarntNiFmajtPg(mGA>_mK*>*LU*$abhu(W6SX@r#U@sym+wM z%0_CK{aHUC=ZqI^nNBy27t8okW2YGLfV#^R!{r6DcMOe(**iuA@!^S7o4O%Q9V zcwBsr(k0bDEPs4P1bA$>|C%kWlSEL14g9h{+uG;BaF+ju`CA4~5-t0f9uq1ec&P}( z@B7`i;dC+^8NSKbS0f*KSfNC|RaW7M&ZOo9r6j ze4K|W{bg{h=*^ckX2-H#c|^V!D;l{SyditUvi!Ls@5YK2%??bxXN=`i^GWmeRiEhm z&+)Ju4GF)?;3?dyebFX#enfm834Qy5Xj$dvQ}^V4Yn6t+xlgHL zzs&W0KOc4Pr6J#d@fjPw@Q@{cxAdPOY&^u-I71Ao`G~zrSfS|N<7Dv+QDFV`F2nsN zvfxG0(DIk`h!_6t)5a@tqS1AA0{Y8*8cDtJSY>Q}5!S8LS(l4VW{OrZ_7vYQ4F+;X9_>Js!z!eXNp##ALhGhwd*|Ug^E74>-6(ejbgc2W%~A0+jL^_ z4GmwmP|4Q!Q^$w;#j(u4LMB8kkTqw~UwNc8OSE%~8z-l$w>Y1cb7qNF{=R0J)W*L( zJ?&4l!^`L5+KWtqKgq0FqF=y>QKr2b=;rra?B=rP_;3`frKQZ`ssS(o%oYvZ8cdMk zv&Aqjme$S|y;>*runYGn7am_rPm6Xo*8{4#{;ZFeWwXVK=D*xhx9YFzd(_6y<-MM` z%J&mmQZ%N#y9DVi_0>e)FYuW^6!J@SJ&B=7sXJ$Yk$@-Hq| zBp*c(-&TC|Ws*W*8O_P@QgnS*T+V>Oe|59I*;OHoRI|s_HtXI`I%qHbE_GrOG z3sghwQrSO|n+hG}^NFl`Ps=5VqJ8zV*oS8Y-MOsDNE9KD%_aNt58>Y0ZGH$h^joED z%bzZyN)x*({(sxG-1G!lJHD;c-r=_jKl|4^PRjxFMVq=E@TgRWyq7&+1ac$(^ZBCt zV=JyYvt+Efy89I?=8wo$)zTsV0$Dmv8GE`&mF$-O=P z(Rn|9gmE9QD%Mlgc`LTmxV}J7kS!OAVd0PcW>0(UkZHHc=Mn2?7dw_9m7uE<8*2A! zO;*aUnO&?t3SqPfp8f4xC_?IPh`6sP!=&dTG2Y{a$L|@*dXo|I#YJNH(-TymS#Z$I zu*o?xY-<<(kR!vZ#CGhFQF)!=r}IRuWG*nc)k~|<_v1}4Yx1fz9@VyPP2%q42rh~A znKEE8Yw935Y%zm3~V^+Xln&wpZRQeJ4Ts{&0#a0~ZUwI_}x_)#^f<2T7~W950_*EE>3X z8+y->F|ne7Ta%&kz!ILk@EmxFXldJV$*x(@0aLT@&s1o(pCF~#+oW~YMUq3?#rP@B zzM5#)tUgWna6b=qZJ6IyStE!DP94_}N&jG=xt>yfeIiFZ5x($-SNQT~a^ib+9}G!?P~hRSwHERlablLggO_ zQYvpHt<%Qu{%rSq3qPgu_k0UPwfB}X{53JD?#)3JDi0?}e^O??Cb|dgJK(Bu{FDl9 zGjf%-4eZ)ZmQ9yq-ZeBCvq98)1=l_<{LML^Z*(r_5^#W&%SD@T_X~DS7VT4tcX$9f z&W>8g47#P~liI2H1&7}${8XW8#@H2qMtZCeUF$xDx3aYgIyfH1bL7w!BCt~=;~V8% zlu6~QA>96o6(2V0vrE0-Z!V~kYTjeYRo0jOOFtIe_iP)PKePF#ER2NG?CO$hNPG(cJu4^t$kS z$j2cxz;(^@YkwD^O4b|Hmt*JU2t?GqA;{%VZMDO4*#}23FGGnFq z#Ao6;#-)y-D9vLcKRpbgsu;ZInk>AVR1I^wY$=&=~ zy=CAkF|kT`UwbZYo%_nKR*G#t@jsDG@7~UABKz6186sbJgKQf1{jY4klBsWq;njw7 zoV2PozDW57Hwov;r{3fiJDW$|6z}y&?PIU*HBgzp;;X2b{%MNlRJ^k3tM!*7Qbd2t z3HeS6>&g}8X(wU+mDZJ?KH`#E*?62ZQp6lydYbc=@UzA;c zObfVm2Gu!JfbH(L^ygZsF44%*CDau`Qq9(RDB#~qu76AT%2w})!L_z9dYB6wCGBhZ z$~z*tdLwg0G4xhl?H1^@PK;MO%-4yQZjB!@4WMr6tP>5ZT$Y@^9>}^sFx* zf0q@>u=K=t#ru}f?MKNrp|gt-mSYiRgoVm7rV(CpxcHL18FovbZ1S!?-V|9+S)p~e z3M+W_K&sseWq~qqEp21Ayz;)7;<4Z)0ZC$x9F;2kt$%z==G)}_RBAo&tV?MJcC^=e zqxIssYU^q7N}=s?<$AH$ExWUQ#{&;?H;Be=uXeUq_w$_{#U0++EUu+}`ez%&KFcHH z4wFehdzTVEOmUUKuBzB(3EMbaUV1Y#?3UipH>)$UjOTPUfw*y+rT_3XP zjJ<{*ik7vL4`|wmWu@Fg`;!G^y7b*5nzdMk<;^9#na|Jqe13-}mbR|_>Ogg)JE^{( zd~%Cu9li#CdlWOa9;|AN+ahk525HZJhlTv{<2#nBOj82cE5s`tn)&V9q;5Zcqbfw5 zj(Bv7=n!_Yow-IK;rot&`E4uf@fk4)zH!7%XJ(_ni{HMgDnlgY$zEGUGh6U6O}oC# zvB!(;21(r>LZaRXajxnPQsOGqor_q#n-b^Y5SP%28_BC(q$qWlA;{IvyGcWEAzjR=m%d5KsqT=Y)0&+3RGj-J zOBe=;9lq>0{UzdJYnz(G#uclp2A9{#o>amK=#RGMXI)jIq;Bn0i7fY(sIwWjydo#6 zKL3DHq=rM07!=8W*-;=<&e=@j?54R6S!TPUw5Oigh-3DMazVaI&?)@(c{&97C_!Ca z1-+#Nyrm^)<0ix2|0KRVz#EnXPr#^gqdVU$jGHcO`NdB6%Xg zZAc|)FOpcz>dU89@zIwck!q92)0o!(lx??(#vPU-Kv~hzmG-IuF&;lhSK3Xl%Fi_w zyTym5U)UzRdp0Dv(in1xNcP67y!(vod_sM8lb1?vaztK5r>}ode!WdJt#b=CTwCMM z^5!=2;Da@ozCvs7JQ)78JKLLbdK-DQ)%Qy&#B{`as=0D zRatHy;t@R89FFZJ)H~o;-izbpC!f%ZvuP~X=ezd4!(U;Att~6t|0l$|SjrQz`a%54 zd$9)%zH%>Ks^mO%pPW^dE3%gG@Otz4)cdg0?9^&nQ98Uc5yKs?>{HDnXX}6zW`A z&O{~W0VT)Ti({0W%Dwp5ULx&&uyV=r5$v=rruJ2WPT^PHi+z+JmtM@{P_y4HRMMWk zPue?`r5$5R)L-@I#$tI7K0?>Z=ZsUTEsQgIlltc^EE+d^prbQxyRVo-D$BDedBONO zqR*45X`)f>dwXaf3;|)w;~4`E%Iq|5E_aqU(nJ&6K{RwJUy+)($~<3Of- z@^i)kA39Ry*}NeV^}qcpw~01NT*ZhPt>(4*N}O{xkD|*|9tY0sQg*#h&Lz}zk>hPs zg1*PId>rsneXn9Re;Fwx(5E2C)n0EaL43S`X~-#0U##Rf$AN5`{{7>?c?No74_bCv zA5C2DRNA=md*qM%hJoIMsY}9E6fl3kIklMWyM`*!rDl~aQ%5OMVVN)#(o0dcd>jZx zk;>!1o^;~8ZOU;O2fihdi=YxU9e$|^_C&SC+Fw$$3u6agGCN zN>1f*ps5m6?LI+0DhryX1hrIxoU?hX666>M7M4cOd=&Lno$MrHM$^h>x`A+)(lt}U z&NRDcs~85FC}|_HwtZ4^3vW9QJh@@tqQig{m2(=da;j0D(=e6O3Ug2GRsFJxdjDYY zDH&B7EXI+f;=YVptxK<+q9(gmn(k!x;5<2Urx?@VZ8hr7Rt=GB|eo^3YD< z-)0VB>gQk|Wm9%Ih55&+4^gEtm6~s=nzssk^kP{rU3Bw((2RapztK=hvtQYp0u6nu zoR}`gxi$8cS?SzkDQsfDk~}7B?-DJleB8vodB4i*IOZ>`(%8a1v|Zfrc~rik&{Dpz zTX@T(yVx&#@^kckmmJjfqnG}LuiX?p-atjJ$Mp61sJBG%xjU3YBv+X+)GdWqRS3ng zDIaxo>7RPM>2+0~W_sPyCn~aoDVTL{#f_?=diy30fBDjGQKxD@r9{n!a@B6G!8p@% zH}|>5$R>M4BhTzjJP}m48^V)DNUsm7G_mxN(R2lFv zBR3o|RU#I(KSboVn_gh%CN6y-o9rXWVwt*^+bbW`lk@j+x8vAe(c1b9b)cV+_XudX z#+$bB1FcYvCGRw{7xH9%Gq!tt2YsyUn;}}(7(vMOT@+luE@xzLXW%!vD}&i;zdWBI zrn;?eAlL5^%{UEJwDowWv8mp9`Sw@5TJVV6_mz04)z$i@XT zeK?$dTWVK)%w#oNup)4N*g8SYP%8N$EapgF$DUl?{HaP+npUR+qDlR$+a2*< zs)&~*#~xS+ zcHx)+9z62Zc!v)COljs<^r9LmUk>3SXH|{6lm_%g^JoO2|8!ezY`j}tzf@C&-_n1Q z{#oML&{H?;(OXuIKENJbf6Nhk092iG3%4&Ss`d%aOg)|@Ml=Yf)>P)nUNoq2T#Tw8 z?b3T5^?{LJlRm41U-i&G1MVEW-HxK0dA2MceZ|hqT(x6DG#>-OG%soGv z5#h1?VLs1U{fLO_TlanY%=C-Rd>r)hTRc_qv0K-3vkJPZ53J5YuCCqh*r#^CuK3xj z^(DFShzP2hMKPHfy z^ELFInAUl&@I_NN_oDGr!VP^Is_$uNPjNx@f3-*cur7$OJl@}3MH!?@S8+_?aboGe zRh9Wi#a3IFcU+YCWUi^ifHx|XsQ#`hjiJ}AN;VJJv$;uUQGR7sl(?u|VKmA;-W8#y z5{L8)Dgs*G)gM$59GzgR>TC9${26}4u&a4j*UXk(ewyMEHB+pUosZFpd&}|17{soo z&pIYLy198&k(+bGZp*y%m><~EJGlNNTK}S)~vz z4Dr{LHdl4`)jZ#Q{~mtNa@=5?c^ZgTRBT+o=2Yec%BzG^<)7!+?7c=lb6yPR#f)9& z#gCSoa^(fluh-eXh_l?A-EjMPE$aFL=UtZL=FvO6LbcV*egDwKmu-F62BLOygfH{- zAJXO~gJ$iEqK~D$9ClH(^L~~J)|=cec3ChcuRhNUgdTs$N$1(Q^ksVZ&!}N}Q0~bS zuUjUj54r^0#2@KD{UTbs*{-fefV^IA{Offc1yO_W`vvy0$ZJp;LG4ykZ)2;o9`;|c z>hIkw<|R0?4^Nusr^lJmc_|oP*PR9#^QT?NZRmJJ$oGX#hwowJFr@7_k!YE>`ikh= zYwGVr{9jh-p)y+buT~i+ZC9{LhNN}0t9LJjLVcX?Y8CnXZz9?4_iNHZyxwOi@c+ze zt67wP&Fa{7nRtaa*{K0tw5$5;o2mwMxlrf*+4p3+&ZD9WQrE>o+mhu3-8ikraCO=9 z%d_+xKBk&XPt(7&o0idCpL5kT5HY5Z!2Gm~zS?d|6+D(;_5djv?7f(`RLze{T#wi6 zkpuN96|y>(%WCvSeS5fYt&Co>DHSb*T6zVUzMTMV|*@RcWtE<#1TplkFtJsD6)E_)8yec>TA^d!A{AXod zyejkl5Pf8y8={@{<&{{YUHXh0Vy4A%FkSzhhe4J@=?!o3qW-|?%7RVv%3G)2ztZx4ceXr%eyS_JD>Dnk`)&_hvR8ifU;bYz|0g8= zM>{LKWUu^a+59%jzq1Ve9+ksyi}3oxFQ`;JYN>eq)a)1e>1{F8`%r?a3RZxJFQMON zHIQ(P@u%>vn}CNyUHkUE*0TGbBB<^!QEIK;tz9IWD!)}_=p*O;DF!tEd?u3UnF~g$ zwMnlg(-`ZAQUS!RJsVy4a?YRZYsj`B@>7yJ=g#hn?SAjz zXP-MS$&kOqLv`EWQK^(?m zR`RoazUVSozIjI^xUtQ;=3TL-%0uUi<*F<0_2k~WVo*E!WOuj<{PT8hV3tZjXD?W}ySm{$na z%Zy@1xJ=pWo*1OguDizr_y%XBeoy4Og`SkX?}>1?J16AQd%R-L$rq*Ks$0ignS4R? z?cMm468t}=iTt04@b3d+ty9wLBBRtaS;wHEems|I=6cc)+ub~Kh=sbo9MHg zAZ%}<^JR#;bwKmm6YWj(oBn1K9Xqz7i9S9FE!xTt+^wzZo;-eEn^+*vxm(Y-5=T^- zesz4jo{zmL>n^+awOW4YJ{&Efbl{zNVfC?nc+4r|@bxwN?r+VMEKb6gv+88hyhdC# zgg)#lckZ@dRN2!PCokx(B(u#C4_ zeXKdS^mg(MtF?vAL%FLcJu2PhslAvFU>f?`oc|J;LqYWKOxstwmAo+j8W-5k@$932 zM5w)(&jgqj=}69#WY?D*LPPZFm ztV%Z$9Xn^{k5u{&wx{|RgC0Gjo%*bq zW-m|7ck-gJHng>-McGZLT1gLk(tjz`UXE!g7t+@ur22PwR;tWOt>ijob~cX6t>g!C z)sGS^3#(gwsz#_9{y0m%X|*;Vzf@UjVb=YU9nGXMhWU4y5lZHxB(AJceC1}+R{l}l zTCbY3Wo(z9*03I~I)GNG_c_9nWQx z@<;68Y!^qqF;o4E35U3*KWTo)i%-O>^sDXZ&35q`>Gj2UnC-&t@o(fU4{O7Ru9*Gz zXT76}-{v27uV@&b5a#R?ysg=*nzeB?CC*&Q$joBi_TH}s)Fdzk(UkPGuZYlt z<2~Y=IBr`ST<|onYi&`l4Q$}&uD^R_-^d0*D5Z|%-zum1I|^L=Jz(7Vmz>3erOWgpgmmKW<= zTh))<@ANvLZ!_zLk4DHw4Xlye0i50dF-3Ay1M3Sut@f6Sd3KjG&0+P$i-w5t$#i-h z(4!Hl6fcxh8e03*bt8Yr;9-7CqV8^)(U8f5@AvpvgS#F?C*3REnf$OGgxkFCTGl^6 zKfTWxa6oTD9!l;P@*^MX(+ml<8d+PYQ^y)vhgim^ztYI+W?{0N-`LuaQ$5~pY(3dJ zVvoHd!pp~LUb<*fZUx5z=ZJi>iFJnC>2z7Uk+r!x+{G7(lhbGUS_3SW4f6d5tiBfZ z9X?<^-SLMv)YW9AeUcsY!Y|9UEZ--oR$3);e^ZoMl>SpwYirA!aT$I){j7e`wl#dF zI^jS5GVwpdUjcs}fhC3?f5H4k@b_P7{*V5)|0yVzjB+?WB-Q0Fn4_7TzcXF@oqqqt zf`5(6hcQ%wH2#7EOO0I}EB-wAo!zP8w`_;f+(PrWLd-Hhj8jT42{= zBNRr!D3};pYy@$K@gz+9SkpZF6dM8DmF)q~!*MW&dsguuoVGFy+ zRR@kmKWo}_SO8OCbe_g}vj~6}q2DDe5P<;L1s;W?V9+nbhuh${(DzqOy8~Cij>E73 zjD!)Fse9=A8&wID;g7?LZN_CBC3r+$(X_V1i;W#H0!HbYb{QUp-6JVMJ|%-gu2DrJ zFeS`{G1sZ{k;O(f+yldZ=XwWbK%Y@4coPf55;zOS-=cBC8!#cthRF)3`zTBT^I*gu znif17f$(`4cw5unhb!Q5nEa=vX=92Fk3vmr1tZ}Qm~BrWhC%meWKR|wo~4>L2`+-)K(8`QYdQ|Wa2oVB zh!0o52IFZnnnjxdli@MwVXqUc>DO7|PggQI|vmdZ%-Y?JwI47Ye9O7ruo`D*t`7D4D@C}#=b73$i`lQY%Ha5bh zFVfl{v}l`Q0z3+JxN$ZG;=QGdFw(}68{=LgBRFFYnzpiN)nBID!J9C!wMAPqmy*I? zpkIJRTQQFT3Lb$0Z7iC{E5$}CoV9=q>@ z-361wqc9f+bVUKU4jx=iH-wL^AV1CqX_Z9(&%iO{bs7_g3>|^(Iq|6XN=gKip$}UV zGT|av025Q#*qKbm{Ps$rDww2-VaY?9Heq$K5f-dzg==UFFz;O&H4J~Bs_4P*^>lZb z@BwWB#%#7RwBnew6@fi9&H6DJ!JD5@0_gKOC3=`yZYLT;uiexwJinI#1jg^9w}dbx z@2Bm+V+ZM8y)>=y5#|86?mOhe+@r|vjlA!X1H<547;QUFzsI3&s$7O^Pmr*mrX4y- zV+v#P$wgy$j9XgCQ2&v(F^C}+o`HwX54W5t?Sp!V!X_?gdKz1Ov%MN*u|g0oTD-U?w~Y3r8~D{><-DnidB`qcm+JjDfB4 zsOvEdjBpxU1U<)U+IBbuo`GJ`%psSM14CiTlg$59mB*8swg!5SV?={N@D7ZGt$tw~ zfRQi-E`mGY=P(yuQopA#Wb?dh=~PMxx4=Z04L7RiU@#j_e1SOyE`nN>d&b5WY%Dl% zWZ@AEFT;t@eFmDt0C*OLL&3AOSXd7(h27v57zMN8B&frs(Bnl-`v?X=9frd@Fc$jo z)NLtz7;drQ7=$AmJ_~jDI`oKVnuGyxCk%%_!C3ewTna5bMa+hMp$?;=$4u4>FaRdO zaQGpNgdvvbKu|5D~N>$Pi2GPSr`cmU_1<|cF$&{;26V0;~j7g%!ONEA^Z_~cOxN>u|r^W zo|Q(!05}(phwI=Hm;pDz^DqsTz`fA7JG}&kz!NYUUV(FAbx#`taQO4AI0FX4^DqjQ zz}KNK1IsQL0_*ZjI~uBu40GW~xDLj{47d@VhbN#v1CLhgo-qw}ggam~EP=1VFvgu- zHXJK(T!FdJn+*fL3_N||L>LFR!S`SxJPJb?c#7d77{K0-qi`hjW&m0Qqv7XpBg}(Y z(1U#-mtg>OXFv*9`$C{?7LF7g@4+2#AIyapp>J>cD_eIq!k*Cc5gHS04};W(B^V8- z!SgT$e#e%e9ngmzYq>BH7QsW%Clt%Ednp)3!l+RC{|p=ncu2Sg{s?!$-t4bB4_Cty zcnJFTp%JoED-2$R6JZft1ZT06Z5u3nfQ(@@+XD;XHR#=!)h>GogJ3N-T1LZAIJd7& z)84?5ipLF@r6RI7@G=|#-5H7#pg%kU!=Zl*6oqkc7tDlbp!OgoRpHQwp}GgmfNERf zc{m-Gz!lK9KZ{iuYQu5T|DF*8ufRm;-V%ji3z!LmU>=+ZwE>#80Q$krFcfCN7iyDGSSN&n!A>v_4u#q<`u{W>emFM6Q1~;9fq}gc0H?xKxDjT;9GC~) zdm~^t0~Pdx6JaQfeT23Icfduk7;c0ELupI!6?hpYL-!}>|HU}`pP=M@sAJe4PJ|0! z8r%YN;Bi<0yZ5CkBH8~BqhUOp3*Ue`OoJXHSTVr>cmsyR>iw9^U;tbS2f!^O=>ILk z$N-PNumDCwuaWdu7zkg75pV~LgXdr}?AxDK4kKYMd=dJNqOM^Gv<^T)_yU{@7s7S0 z2mpyegrqd z444I54t5_N?9NK1%4jEF8y*2zrla#Dqc6`!UkNFc=SKz!bOv?tnQk7iy1_9(IJ@F$~R*)Bl5TtiU4@ zX25uO4W_`x5eR_cFc&7kLbw@vKgDDPgP{8`(!(Ga4=2DB_y*hoGhr?)fQ7K>aMDlE zw8v~Xf^f`*k#HM~hi735to{T7U@**uv9J)XhTcyzfWRPF2qU3?Bmy!AQ6c#=|2p1s1~{FkmDCU=%EbOQ82NR0RxzmtiFI9z}ZC z7pA}&a0g6X)3IUVob}$mIfbnn-Oo7+n4(Kx)0WcgE!dcLJGF1VC zU@nY=?qf&~yTBAU0q%gwFc)URLUVw|o7RJJPa4GD#iIEcyheu(e z4Tm=xZHLkDJlqJYZ>9t=7zUx(BsdqQz;!SKX2A3CJS>6!DBAWzstiWK9dHROfjeLr zieG{g;bU8vE1+#6j*U3xz#Fj3$Czd=DAgL6yMK zUs5vVpH9i)E3gD^fxdL-A{YX@?_nVW*TF0WO03;YL_Dlk~7Vylle} zjl+Eb3k2v7ufcG5a6jD$rhY?XgDnow{a_G01K)>5@H6PMkj9rquYi4F6r2VV;A*%A zX2Mt2fFt1wOpu z>mDXO4220W4z7Xk!CmkeJOfJ()BlTbw9iJs5=Jx_3}1s$a2HH~I$Q%Ae2V}$0G@&I zun2C1KCd!z!eHojg!C{FCcqfD2EGn=!F})yym7>a035#GAz&#N955Kpfl+V^On_(L z8fZO=0N5R#ffHd7Oo2YjxZMVW;cXZN{k|tXjDTz4D{vRw4$r{zHXKDbJdYuO0i`Dl zhErh_TmuteHuPW4Kn25~|8W`@TndxnPM8K8=g=!)I4ptNV899{F&GYe|G=aJr@<6x z%fXR}qYUQ32`A|PNwjL%9u~qV*y1FLz$I`a+yS$oPcD-V900u-2|t1%@C=NGA*UGm z;8eH;9)m@2`i~TJrDoGIFVa6((!KKO=Wl3Qjo%UQCMAJB_=m$7I1_Gxf8J!d4qqrh z5VZV3ykrKPKk2qG8pgnFFcH35NILi#%!cQn4#i)LH>>FXop1!KA|VWin_(=>g-fCP z9R$EGFdI&QI!uNhD4Yoc;7u3~o8HAja0twTX|MoZgkBV^ZxIT@hyGRr6OIcwQsG;r zR0Zs0P!%u}YAK9_8apB2^KKqr_MQ)8G#1#miZjVI1^chX5D>19<^z1x$w7umHNh zOZplp2-DzP=*JhjGGHq7e2?*fuXlyROqc?_YL#&RA4g&>G=izn>wQ?e#PEkPUL{5> z46Q=~SWuS|sPK9vMiGqgri7`?>o6Y1)h9!k26JEmybMG609_GGgr4hR!xAG3#`&-v zW2163V$%tX;X8QR2V}s(Qa4}@OxvhwS~D!LiEuasX2KiL&#%Pr*^EFK2Mb^_^lFY= zE`B}UK}HUe-&d_jhA1x$Q`Mh3M=GEn{_Xtg^i!AKezOdLg< zfN4>b6l$Z%@JmVzgJ3F*gat4jhK`{MU>eMZfn%|Z`V9kZJ27o^i7^p|j$@ZoItsxR zFcGH0RJa3rjVD7G2uolb4B3SOF(?EhU=H+q3c!Z(SQz*`riRII2h`%| zrs_8g-pB73XlpPHX26IUHZuI0cr!{2Uzh`9pw~>g6AYbAhAS!6>NB#Ujcdroaf5-#2hR{xEqojx{*);0_qLfI5V6P=^HzY262i zxCjA?ixH4Tyd`7=6JZR@flHy+tMqH=_bRV2TQ~PfT}t>N!eJuxT812001FjgqYWKK z-f}tt422V6GE9J}a??I*Gn=-8mZ7|%cQ)QI0Or96=$FKB12f?osJ%|7gK_W-OoTUJ z8ua;=@Rg*4$uM61P9`4ATt!75L4FGMhY_o3Y2PtQ%vR7H*kb@D>Wi+!-q4JkE>VCc|N!?%bCFcii` zuxk`%!t>B;7z+GN#-kBbi~zU|MvOrr7&^Apm{>wOm;kkC(!<1YrAA;W1>=a=4Cpnn z)CekLm5|3<^O-nurXbKDV~*NRgPG5l8X=lROPhfuVB*YDqrHVaFbP=5&7#G;gdi9P zb70^c-fgKuJQ%|EqZ}9w^I#lI=6&GHumJj4iMOECSYc(CQ1U`bj)&hOOv!enM7R`s zy@n~-juf~8K``QV+6dc{@?Z{3U0G@bupKEixztF3$#0b!9&Ag>g#NGqhCsj7Y=ean za2ia5Yhcb=w#(LFmrwx?PfsGegGMk77Su$6cQGaVnbKey%zKZjVLOxdK9+(x>+x6I zK%;_*AJeGV-juuzg<#%x6k>Z*=;vezwJ(VWb9Q2Jwmap)02}+A3UDk{!0$t}b{KJ(w$YH^-%>R&6W&n2kE5^;a$pV&JV70^A1d`EjS!}t zp$ggllzP6@NQDs>N)4Mj$~fX8+lTpmHc#>kqFZ!mKk~K_cO?4pH(LG?nM0O z%8V5-XGWRf&i<;1xn;&&sM!+Bj6xh<^UI7FHd^^DKvNjFkdm>{Ds@GfQ2>*Zc=Ln} zR-tc}8JRHitun)p{Z(n}$QTxEA!8V^6@|JX=c6(s4FM;?rU+RifL4D6GW zQD#IuglV&g2n!CE8L24@9NAa^`oU}%2+zX^SODXo`&$ew@~=bIH>;gl&8Yn?wIEj= zw*Fc_^}8}7_-%$Y7y%35M7b>6`nYZ4T4ElhbTAJFzfUIL6Ai||X&V@X;3Aj@*TI-$ z)R+1VhkSrC$IFaZmJP`K1%#G$nzF&}%;if@@eNrTv5ewQM>|ILo9M7|p83>jGqTlL;sOfFc*k5GMYN zWnc`SX!Jb6_fxnj-OJUAU8XQb4pbF2D(QOLAA|~h0G9w2j7LtxdOxztBE{rKc z?qwRhS1~5VkqL8HECgzX;eVA930^;d1=S7XD2%AV>jyf&VGN6hR8PZL10!nk1^`Ti zmth+8WNi>pmw3>tp?a0`7t z*f0uVS|8pBsKSJk))x(#Dnr9~@4+4RH;hQ=#}RHDVcHNhRsN5m2s2;a2xXj1-tQ%P@Mz`Qed3LVrpC{bAf3!-!|N%;5yrEa*3n5;E$=yn+Bm zuZa1)RMAZ~{@&Wk;vxHd&)Y}5_V_(-AL(*FzZw-7e;a`{sYAy)SSn_XCC(V8^ztm=_WG5rYk=kF3*G}V=e`*Jzvn6)vl zjLtkpl2_zgz%4#kp1ojgEOU-o-Q7}i<;8q{6sRBX<;ur?;fL38`;T#F_z|dnY|E8R zPw*pxAJzA;^ONdT;>R7gHsu}XdB+jI`Tt?;Tfm~KzV?TK;S7j4C@O=fgO@_n91^do z4dn$4b0{(`w4qQj(Z<43Q$a;TLxVz>nwP=6mKv0KOA883O=~DrG&LwJ^``|z{=A_4 z-*xsr3iEy6^Zd{Az+U@(*Is+?wXf$obiUNLjbWu8SH0;VBVW*Y1m0htyhZgblu#cq z#njdfW;+e!fM_fS^BHV|-w?-XG_7UiB|6B#1Uk=wL-04i$5Go-APF>(gI8!Q2Wd11 zLHJHQiOMd}4GAsBG z*F+N2Pe|f}ht5@-tJr2cy!|)uCnV`KfggHD5+_Yyc#ufq;v{K!4xP9d<7g*yom4Kc z$bd64Jc*8uCVnt)mSR5=^HS+65^8D6S8K-Z8eAQX>jo#0uI`On z^+TDi1?>Qhem3VMa=V46#Xn_(I@){^xlNU+DmYa#9t}UvqsXgok80DHYoQxNDY)WWoC z-U+=sqX}GxL7xHH$D4MuwvA4*TC>wM=(2As3OMU))DJjKPhIqFX9&hrlR^E?!rEpU z!@=J)6M??=v^pL5=0V}_({%R&CY@c7|4V0>##av1^fv%KPi=oj!uMz(0{;!=c+j46 ze~~8qjNCiWLcrc{ow-FLTPbEL`WX$FdgfOBTy~6szK2qiukmQO8n3=h>siZm4z&-V zmgivDLA^Nmo}NYE|2rNA$BDJh=PjCh4)#BywSb!(z_a1;3`gIlSI_&l4BQonyNCdv zXE2P`JFU?khlqrLiHpmm_gfrx(`9w1kZvSEta8v=ec1T|ha;p}kcwhrtg1y>oBX<1~lom9vQBSK05t zoHvR`>D`e>!Ee4khLGmCgGB>>fiqH2?uWVF#+&qNkkZnS2<|nS2hM9U<#RBOiaAK6 zN)DbUuL=Zl6wW~+MRV{xmzFi>2{5072~^C1lPWpDPhnOfNTqNN#!)l}GbpLjwtm>&KWgG~1;k1H(<^-XDs zD*Z~!fcf)xUT|8a^ZA)}BktuxGk=5SYMAqG^;-kCkO{u=@}+%DTOsTF{)X@4U>vwY z6d$rP+m)XE4F$f-Hrjies_rK@>UCAL|2Gukkt$9VYA9=k`yX@@ivF!Iy4^e~)2Tz1 zZwGz(Z?yjsccm&6q8+Tf6NH|eftcPRQj-f2_;uPv-`3>5=<7p8%>MlwT_{C~&Q)Os zia^^tx$REVpH-;Y5o&r7Zv2tDb8wDETtra=*aYTRbRJc=59@{+@!-jvx9x_@kjKi|M7x?JYxkvNjSO)|1Dg1ZjltIxP%%vm|o5#U?%I9D$ zKE;IK1FA&ezv{PJ^|-3QUE2Q-v`t3Ut@_V6qaWz`KYT+2JDG9s_@c!2GS;rkN-dsW zbAMzFS>UbTbbqCu9f}7KDgO^-G5U9z{1rNe0RF+^TQSMHxV$ zXd3EVmMp}u8p zaCiL*-MWM!c#+y(h6@5{AOd~A|A=kbXgJYMbC|h7YdM%j2RT?l`B$*VC#2XOb zqqbL&I`cm?_Xjjz-?q5vO=AJU`*W_K03%tqz1IjT=HN-Hx{3qB$5$ zNgQCXa_}bQbFh_)Iry3?Il%8tT}5z-!a1nJCz=q1QW6JYH1Dc!M}6H@u_G+H3jai0 zqjtO_tl-E~*Ld{^U2zTaTaeYYlq2s!3j>2}9Lc;!b2*6v5lqrMY)jB)+*CZt3b+XKY3kT47igQUL|GzNAH(V1-UZ)N? zMUwJh$m^t>40(-|Ga;{*@5N*glOz?CyNack;Ug9*ZoH{R4iKZ*v`V1gJ) zV{4GAKvg%)KH;ugh25Z7st`M}LXb#Mj#6bkj<6r>g z{|(KbLOI9M(eat14X_@@|mE=0U{{&|0b z#SF;0Yq<_s7+Aimrdv@9v6?H=hAfcvkN(wQ+O{#${V%!z2lx(t5YL<}q;WhwCqo`b z-LLz$@#Fa{3(?Fl> z=cxII8je73K3!ubjhbFZFqiY|=wF0a7S&EWl%Btix#p%wKsnb@=c|7;taAY%{m+tj zBZ40#=JHTA>mG-$x^$TS3$+t}3D;RUV#=g-JihE4*&_`&IkHX5jUyk(NC8KdN&{|= zY+OJ)Yhj?8BX3H^bOR-r$Nd3IBxL>61?t9`>>QcBK%Je)$&qZyjx_&E=EIQ=lF8wSRWbz}u}Q|wk*6e6&5?1EG2KQaRWeqN%+~VZ z$Pz6dj;z-5;mB4kACBzR^5Mu~Egz1Y((Yx!_QUnA?o5mSw*X#qzpl5un7VaZf;WRPS`^@zkt#>$aI$=Esa zie#J|nWg2!kt{7Aj;z%3;mBq!ACBx6%yN_Bqc0J}ax3IAiQ6InDsd;|za^dnS@*YE zmE{GB4`yO7U!^rU42sWkH@J3^s|NS*eU40CAO{GNtcYO0elI22nSEZePG(t`7--!12%`*YAs)8brh+{+LD{u zz<)%mRx{hK0c-LG+fA}oM6fR1Pitp(xMZEoKHq@NVKzmw1`M|A)+6iZsZEI zX=X!i)_gVNTJ20lgb{7(5B8lNqAs_;d=J5_}h3bH+*DcC7cLAJF_wQr)Y zm3D(gI%RZ!JnmVGr7J=S4MZL>nnHP*nz8RjC}h;qQ@%=Qvjb3ArYWou3S=_E)rW-! zSrPFs(^MQZ$cVfHD9MPtL;sa|cM>TLS&!m@YUbKBb0HUp#$WnL)VU1&O2Jb>csz5oA{eAu`bI71|{>XR$75gLO;Tk+x8omU>^OQPig$|Qng^@YJ!XtX;TxWJuWXELO>gvC}ArC6dx*qKo&@tG&%>U z3PS>vj@Z0lOWfXT2`%PeIc?)$0UhOFAzkJmi~O1*c!RodFoR+_m_?H~SV@aHSVY@6 z$fBbhyhE2cm`Q$t2;QPD9L%Ly4rb6K4kplI4kpny4qm3C2=vEl)jg)6DjN4Q$*&oh zr>P4EaTLozf11R>Kw8W}AKJ!2XFAG31YPE!1NoU?YU@98FaHEaUoH(dDeb&&(Iiml z>+0#Z%cK}FRjG0jWc>sGh%@{WBq>nw6+uv0CsZtuy|Z)VF3!fx-xM1JdzWYu2iIva z2RCRN2iNFmkkZk6R`=WVmD|^BxHK3KR#VgF7~5qvx9YFyF(*V&@8(K7?_}t-|Iyb> z&gSSVvoJaq@X2%-%>|3|g|$f3WHQ**r0!9H6;699Xs$fA-9 ziM*#H_QF|sum~}n?H)oBuf24UQ~Ctou5ZOD11Yc-3@)PXt-!XU5eS+z>v3CLcRYKP ze)t&{a$2DftY=ArcE5oq(iOIQ7-mG(_De?tA^vbbn**9 zAHLF)=61*LRMqk6zNH>$ zGP(-Ve{FAxeoS{m;D*`M){NX|(LfF|X)Fi3XpR|E!uOQVv0y6ZAciVAm`z@x2nr}1 zLAcL=+x5Lr-+L$HsrOID2aLdL8UYh>(S2Q#e+Nn2lqZtO(bTgJW+Xmd=_Ph~aC33){d`pAV#QW_SwMT5&=N zLVvL#Qo%^eLHBi5gu&9#L1Ju@1u=}X&SCJc9pEoNz-x(NaOrb2K1}KO$m&72#rgb} zlKVA|!Nsa$qSl?@h)i5b81b0Y`;hjBq2K6i7*I97W~FQ-9?3_9tD)2)l7Ps1W`gZ_ z3P&=AC`58;Ok0$roRh)@N*b_VwMZT!SGCA4M6PR*GDLLIGEFTa{)nXiz&YT8wpnAM z5b3Bz5)kRm5sY~y4Uzs@BoC1oL{tO25E-p8Wr$4Bm|8^M(3s$-;RKC|LL^UP5)j#- zF=>c=sxf(p6lu&ZMBExvhR6ktsYT>ZjR}4R!%btN5DCCX&hT0|yj41Zt-?`;cfQHW$}OadZ!lUwG4$OetcLj>=3OTQsf zq%mcP;B9Zg)FN_0V}hSWn`%rHB6S**fC%0QSJN2M5DBHy&e%E^bih)CSHuOe3q)T* zR5O8h#syIeVw51P9YG{(MARtMOb|{c=4(V6i1%b3Ot>_HUm-7$c`)&%M%04%UgpsW z#5s+KdJeUcc`$KH5=t5ffBaUs>is-KLJ&cVwInz6nhaI&YEN@aq)QJ_y|*%r5;`j; z{F;+maXv$$jLsOXA2HB|T#)_uK7rSa(EEKJpq-tuyQ*fceUrNyeC2@Hw%r(wccQ56 z1KB0lZ*hpRv z!g#A8()g_}M8^Edp{JO`<{kMYYW$ayPXnJP_-ybSG=9F|sp3J@_^hh1A_Dnd(iDbL zU$2E&VF_IZB_-FZC;e%rTyx?Ktu3YJQPp;x}uJi z4!Ml&+0Toc*^mehpOgiMeO*4Qbb47%!gu%6cU`fqIsGzv8&9QG(5=)WKI8Dyhgzf) zBL8ZU!HCpzgttP;hy>8$hhV=qMRv#ND|!gsd2q5EWF_DeRANOp;4f*o&x?G+O-*29 zB10nvgUAs?1{3Q9fi)a4|54A~t{=j;l={=B-IPc000B(2S4hy22TPUzQT7555 z?VB9d;Htgcs%Ae6Tt3>N(|t>Gx+@)%&Vv6J(7lyfe>H%gh2WN11GP`a->%1FU=8@S z_xJUxyRv(#-XVI;Y9jatr{cxAMyCF{XKFV1dhlDk8m3?8rKMj3K7}fgRr&#l zF+K0rW0$KQCj55;8w@O{0agXf4$Qv+b^}ObqJ54tD}e^T0BJIXy6RN;a__REmf7B4EiL7=K{H z;enx3_EcI#*MS=CL766CXn0_qfY}>h+0i=#O`mDbNDK;#^7i3H;$(3BQvRC`b= zaP|`(3{elRWCk$yQ$s8d82hOqhSov}2Oa>$eria$fw7+&VpYJ{PYp4&Run23Fj4ra zA!Px^erkwC0pnU|SQJVd11y!6MkzgeWkBo%S{owlgFIkXU|qO+ae<}<`q8L5UR}pu z0k|^yH%fWPw*n%bZ@M0(boDi*V9ZO|202;EPRMyuc0n$YvKw-(DnH~i2_>K*y_JUy zR)`5y*jwpiNQF2g@A|YB{!L4~ACPFk)ejg-T39%cU@1s0wD2JFxZTl)u z8u(Kr*)*ju6p|t047aZ`%uoQa6aCv)>1Zg2hz9}tDLs=+sc6YpZ`Zfs%HtmK0)4z% zd2VI?GD#M=+sxr$%mysYdAokMir@i!gbBc0-S5`h7@H7i8UqWArvg7hh5eKkhD?an zbhMxHprHWbM*6oO98dwV6OHMwJVf^XijN_93Jh_)ham=H7%lCuJYmRzn9Sm1W4Hw6 zh;C2A^$yMr2V+-(l>>`Z5rOHZqP?cyu79Ed77WY=Ow)@27Xd7lraTH4r9rgNK8Sur z5KG>`$5ZIwqe=*wH!A_ueSp&55b!FuRQv$t&0bj$uXep#{}|_hdULnodb@xJ<4uEx zIQPT7zz5Ks0ZLE5YKWOonM>jQlwcY$P-$ieb7CA*(m)i%0U8fS4pdsl&W2b7%~%-l zac#u_2{b*8jJVqTA(dKiT6GxP1@4cxB(gX1r|lv6%T7@QCT=pb9mhG;{7P>Z~A%e^AAwXNXN zG%ou-=KyycIfYQrW6FyL>ucQIr$46jG^9WbpdF8)#2HYyN+(!!K@6j7EEYjT?Q9S$ zAfk3G8efM&8evl&92*5uHwzy-K_F_Ue}b#WuCap~y!vK6&SBLj9v0~JG5&$Zm?qJI zMlP?Dd6X9y>G3cEkBu~zx^v+6 zQg}4lIwFk=IwcxabwI48O^j}bc!O$KyaDkl4SXEp;OTr)u=sJMPxuU=XP3U0*L46&g1Zi8)5*peFEYQ*a@S7PbjY%Qr}Q#o+sdRH^fY8IT#rQL&U~& zu##?Yy~%~TI9QqNXPSZWx&)u6p=pmQEhu$}5@&FNo=pdbC?lJdKy0)8rs^x7lP+4H zg=gq40nDUcLzR(+0Z4w177xWJN}0(+VaHIEB@1FAofwLFX)6>m>EEFk^wkibrGdks z8#W6*qoiS&+4%c6Mk*YJ5*Db*?hM0RQ3Y`kMaE$38t@jDiRHJ|r$hJ#htozq5hK5MXh@8Wx*B+cO$iPy;<1uw-DN5(`1dpY?G9 zOJwZHzydG*ljzjZO_+0n+XW5-QF1Q^s$>}A*&xxSW6>_#A>vv2Sfz!z1fqrR_iolK z2iA?+4p-WkZ$OL#jV4o%DE#LdMNs^3^y&c+GidQ}G+GwK8+39wT9wUP=_V^wLHwQ~ zpG2lUbGYBdKZza?2QiOUJqcYWMEsiUlUU{oAdaIutm}q|RV+^F+1WT3O`3C4Z91Rq z5Ab~|=K`Na-r0JTBo2QO;7e$Fobsga42Xd_bT|%Y=W8Ha=yDvgIFioBnvPIfhgU(& zS$Dhs1+Gj?phZ7Ib&t9qxPcU9G-QPGP;>;;HokkaJ{Vd)1*>7zaxYKzvpoa&dfEEw z%KD5tr}hPx3J(2v1Xk#+5EJRz2>77_;x6j^6#9mbsu2GayAR?SD-Rn&7H~Hi zYsWB+gE)h7AvVc?xN8%>kEPd9dYsaMuG!&=Dxg-H7mxazGI`Bc#Q_jk3NZ!ZaTYt0 zJ6`dL&O^LtbK@bhm32I@1Hj4~U|e1|uqtZ#w9>=uvk={23vPI@2XJ)4UkEUi`)Q?P zTN}hvOKyq*hDP>YgkQyjiX9fZ(b}gmFS#IQ(Y2@1k&Z(dJoZ11Idbv}w)ga^=3gaGh-a0wm2s(|g*>FCu-cwV{a86`M9 z52$l%vl)MQ>9_|L@HTw76<>8~sAvIL z<)Ih_tl9&M0aoXMB?2>UYn-tYSa1W3$5tjV3ov$xE~Z(aDHa`*i8UblQe^_Rm%AW3 zgm@ex&WC|URzWO4%08SjA<*;`5}F{^0WSyMg>f8q{277O(zDMhBYo9^Wzk2^Vur{7 zoJuDE8_FP7Q1~dcv2HOd4`DGZi>HuDqcFLpK-@r|1NF;;Lcu4u>))mL(YS$pa}>&W z9GH=Uo>O{8`z%5KE4W?%sG7ZK2mVAI{v<9&FOsi=JvAUF83LRvjqdBk9RhnJucqfz<f79YCA?5X6}@Y%s;!o_HbeP0>kO!80EpX$q=t*-W1mW8jO-OSV*DbF&HH! z5SLKU^KjcGh*8w*c`W)NOL;3W_IYepy1|B%W&2g|3dUFA+T8a6Q|f%z4O|LMdx5XTLc9SJ>=r(_ zb2xx?LQ)Om$si4wo%X$;bTqGlI0N)6tdAoOe_K%!oFu-0)#V1n<_lgZ6jmaO@s-=ISVc>6St)wC2P>N2uoNm%MY$P2J ztMEO#*!!hWcgI}u+2BH`c%0HPeIrC0K38XBH5}}#y}(j|v1|EY>^QI#U;!#3unJ(w zz?wC{YJoX`HEn?LH@6Z!urOewzrNkOk)jn~f`{T@V0I4-7o1*%qfU{SyTw1SobQ#E7Wg-(%#p^x^L0A2}*B69ONQeH32h4Cd74AIsyG@Bg7c0nZW5FzCisZ z!mw!-pTCWrh>4ir=?{C0)=gAG4Nk~)bZ{c(xe|!z?I}nXfF1E58k2%_R)}FVCj}MF zfY^^tFuD=qUaDb~KUsH$q9*|j!R9@U#!o_d>=2L9+DRyn6CzFk7~KjnkN%y6-0C1c zO|h>anPm-UG36B)b3#m^gN)`u#9rVPEb5maww*=2CoAoI1J_U z-Rua&!6r$c%b*`7D_sn__1yF$roa+^^B|KJPC+HIA^wNXOi|i*-|NDRTY+z#!YCiy z@s7Jtg$CFFVC6`XN1dlCk9H0Lee_Lv;`85h>?>{e_LZ#K7yL$A$f`3S?$T8E{7==D z;G^gwR1M`2)2Q>S5JU1A9seo{ZHIW3*0PudF_})XSOoDnHFcuNjT`v=<7b`lWjBa! zn(4&4G#lcBZ_qI()+HC@b94>LzLy}jdV_jT103)nZ>`2mQyw$eA)ceP)40(gCep!a zXwxEy2dL?5@K^9gZquaK(2x5<^tnWfUQ_z_;Ey=OPL~^OJ~s`tH*&;E@MV{7*N^u? znxfg%W2zGQU^&1*BpR**xRMjy_nrlqZZnp~%eU#tMR+64@j9+hhHc_{O?n-*O@_Fa z3SWm0)F|aF@>SX~9ftXOUjkj6jp$rSRY{LwIZ)UdPB8nZJy1TI>8U?i@ zH17>~Dhpx^oqPk$u^pm=ZoUDNRS<7bGGQ>)m4aL z)2ROpl*;rGx5n5RsQGA!r)bj*oDpVzjF$UL&X;OY>}pX4qbMt(h6_iW;u6&GRMSjc zG_uWv8|y%sD0U_aF7GY!tN)BF?X8E5m$acH*knR9Z0`PD+Jr zqJ6XB{UV4J)N~GVs)D$ZBIjT~ZT$p4WkYiq#U~PZ`DWAw@g=&(XbD8jpmT9`ycXh6 zik^$?Oa(mujhzd-$q?(Pa4vMSAXd@Ixu|Us#6)VE4)F%WOd7(XwUD1>nUfA5*deCU z+H_@PmyHljsWbn6y0-X|SnE~hAfOuuHbk2>} zpzcslf$dP^uQ3`aDFfw7f#{;oGf=KCFV~xUZTi(n4SB6 zhN75h(LCiT1AnN|LT3OQ_#2F2)O|jx5&|)p#?J?u3bC5@%|}i-5U!UM-=`#A;}S%_BK452=Nu#_BL{#4Y7ib zzKsgFA$FQX?XpmTTF8AVItvwufvt12JPYMZh3KGtj21!6rlyNAQ=7ivr~1b(hC&oX zjO@iw$bxu_PBOY3qK$4csyo2hjaUM-6U1_wwgfrz*C7K^=sF}zC1l58*Uy9u@B{DqoT{g0?oPfplkk}83$BV5vRVqnW18CG`)YAe%LErerOQy~GKiTJ{x0&k z0kMjPyo))^R*YYrq@|1|L+ne1@1hykKpaAs-$m^XK(vrw4laz=LJUVn+~z)UoYDOY zqv`;?YC_%6L&sT8zh$Fm@o4!JM(wqUhY+T*FIVb{j z9p2GEno8?=Uh@{77WX2N!_9;u%8WtGGXa zw!e5&y=3m=J%L6hqCdm|%%N4_4K9dLbZr&vmq5HkL93A}?LE0rOJFeLwyCVhaMY!KsU z=?6%a2QiN-8QlvplMHLnXvXiks?V}G8e#%%S_9qf5XnhM# z%-2G*FX&`ixE5BE-8_|TTZ?niY>0TWbS+;!gNT#8br3t1@+M^xizz^>=<{`0w2FYH z4W)5gl*j#IV4T0;h1(zNp*0%f09v~qr}Q%*rsA`;0np$h4u6?QnL?%OQFi|P7cNY? zup`#}gbmA^G2 zk7YXs;;%2Zf-(}s~|p0k(-tFZB1w3PkgZyDVuTf zkq8l!@n-bPtq}2jqs^#l5iHN9rd!atLe8={b_*0(w}`fFK_+<+G52r5X0`+(?(J{I z35E}J(aER%s@`&&0iBI>Xe(M{D?~li)z&p zJLvKbv;rI2PF;2?ZG3$yq4gB4+o3$}&k5{^M~$R*>y*dIIs>!F8USd=ohV8X!~`;Y zg2x3q{mS#jq)%Ws1?XV<{1f==0K~t^uK>Cg5W7+L0yIekba4Zg(Kv`sT2;X90P!`t z#%KvdG+!aN1H=%DE<_=te&eZfULiVL0z_QkDui=4LR?KXg-GVE;*48*_!z^dP?!NRj}Co`G892vM@>Hi${#Tfp~%ma$2vz`#3VlIX8kZ!+{gJW`c#IO zcI99&uo&>QwEQy|$bmSR&VPo|6hOoUqR-H%VZZao5+?0}SsTRJv~(BBm;>=Joo93x z#2e)GIV{vc+(ogU1GW6Yx>G(^UN^Wdv2!kdj#JDspb-?lTN&wRy^L1CC#CmL{tnzB z{b0A!&yWpGTu0cAL;+X03h{g3eLFPKzRx#>?m`Vo^C{Hxo3$b?O z&HA}0n$O{pw0<`BH0J=CsLMg5vi`;XopTVW5+GuFJcwm38{z|YI(ra?4sN1Y9Lrv!XnRpoDVNa{h#2gQ9)Ng> z{JsWS0Wprce+@LMmd|JBF*+Jz9&P#>B`<+kMnT^Iy##R=_4)?71ODZ)yqHl3L|pl1 zbQeSid6i)0EQjdRf*vTrrGakO`Fh4ozy>?S1GKgT${QiBqZ&q!Kun{Shk%CtmuKKf zhk)832GCMQ^B}%Pm5lC%7)*x4Km%^@_IJ!-pjL=$Xbz*95HqNh(X9~6@S$6vbr4+? z`z=t*P2TiR`4$f5Pjcgi8>4v;ja2z9x@H-~WfXn{U9%SA5sE&7AvoX`dus6!=%(D} ziE76YY#XzH*3!u%*b|jQ^cg`99K~iK0va1>`cdRO8{#-RdKBqg5OE!q(OQUQ6nzY6 zNF6ug_+vm*A+Du;jOIW*PUjh|QWYYbl6L3b(iwt5R{<;; z*t3wa_p$1SiD!LM5an;Srckt7nP^VI*IEZONXn~j8j|9kn;Z2w0x^eLmZB6_A>x{D zDNq{{t)QihCPT#Iy`|_WyHwQcN1){paUK6h=yt;w9&qQIQ9HysTKglMy%J*7o{K*! zJ^T3CMqxR?A65r{i4f z?5S>Nbod74?9+2qb@u%tETW{&#@0avGHUxm(t8$nHoooU<)WYmjgKLS7eTHFN<|P9 zAvh7_il9^kL0tqVf?N@liXf<~;6#usf>IF#JtR00$S`H0{|P$+^L5k&SBoCpdit~ng&SOSw70R({pcRQKE@tC z;m#m$)rl3sBD|+AlR5T`dDPh2%dcpHLFiG^NMmct8DKQ}RU`|{O8Enftgiq;{QsqIk@}`dLNDVL5jx)zp?$U*QlEjwAhSa%Sv{5T zG_tX^*_JBORLC%AmWW#^m+9)sBAPKpg!k!Urd^V@O1faCP%}{t({@ScNaOeE@Il7s z%%+7x+qOuA)pNDfxr5+7-C_|fSRz8*G7;vyC*v=R&?LhG$y;UIl_Pk&j8}gy;?;Q~ zbgUL(j;62K5uv}%yZtRGZCq)^ZvMzS5F0$Ej`17|oGTMl+LgGa)iMm&$3%p43rZ5q=PFKTp zUBMy&xMc#@d=Ym@#cFBLmL+hVtd{1-3|T;jETBym&?NONGPKIjCPPucbj;flaLCXp zLs>%n+E3#GW=K9qhAtUaED(AHGOiVHr7WOrtC#@`Wax4sj{J2Mn*^cDms8}2A}o?| zhYT$n1fC(o3K=>!3fv;?6v?1Lv`{GhFyyyA_+%x>AYa-|Q3;fgjztxiHc>p&1qFh}xr=%f z_zJp!<}vN!&xYf``IUOKL(_9=7Zoy{^SPk$J0a>3;-}?Z$+Ua7pdS*f?gvTh@HjJQ ztK2%iAnBMUB6SW$KV$6Sl|$25t6FM}ky`x&g_fQ2pD_;eDxk|yHf#IMSESY_K|%{J zQZCa)UkchLtGQp&Ix1F;7Yq6~nR;xn zNNuGWrgbHPPL`=ZZmAg$e-?E0AwhpCm$#Fxw4%i`ZT~^g2c&Ta&N4*%&3jgLQXvOL zRLRP^Q$qQ1sT>k2l*eL7 zd85HPsc zZ;Ww^mz9#9M?<-3+w;iIw5Q(-#y(#9iYMu{L?eEhf$|fP#7O%RF-9$99&3El%R#wg zkwiylL=Zj>DmV)o2Ne^o8fSb{U;P?2f6=%MyZ8JTd7!%Rw4(7VeZ{Ih^OKAdxEhyV zGM+~5ieE-ia;Sy_3xy{maPNsvHh$}6&KNIdvKZ;EiYG-iaL-@@)a;Zr!FXCCc@CO1AD(m4&H1Ww zmj%$uplJ)ZDwMxK_4q!H713o59AwUfii?sm(P-7-^j@a%4YRg|-69+9m%X@wqRs^2 z3(WgSPacDIQ2avU7Jc>0bZen;9Na%<5wgI;g^N&M46nD1f9Wf#s6&=< zC^DXuWqj9cv5LOjL7FQ3M&yKXzgTU^E{oNMT)Y?~SKC6xh_0&}aaiPQp;Fe;QREWT z#X&QdpgB>Pchr6^`k$PgbQ6z>3|utt9Td)l8~Dh_Mn~U4QY!^ztGBN44G@|qqY|8{z=eQieCmJZd$dBCnV`k z%vS30`AN;4mCKB8hPuKV=Mi^W7^!yBYwx15>~fLPG6^^%czo0_2erVbD{`>zWO!Iv zbXLnGH;3KSQnW*WEW;H^7f~@ADWDo?!NY#JsI}{+Xnx$3;IRe*c#=zT>r?LD3W z`p|~=&r&*cBT7zS{n|K=sud>7(~CHm%ez5B=Ikg?VU68wD*_yUf1j zs;|9P2m>qBaZ|hkCCZ>0fclE*2%fFz%vK zj=9KdmD;-IRVZ@?ZCiz`oKyqQtep_X$_jpgi;>*H@hz>@pe=R6*Kf+1*BXb#T0Oes3|w^M)Y`^*l9rpqol+k~SC49m zXHX%`aShfQw*+asu6|N$0Tr&pJZh)Xb!xL*UdNp{SahH#q*4N|VDXgUq{#JZ6C|yN z@9k8)9@lof{bw8yxNMV|iSx>dDl6qw!1h ziPDWcP{m1>Zl}!Q5PmC<9cLx4O(-@tXPZ#C0-DJ&6P?)v@1QemMqsB&o7L{LYBNfV zucB{JRiqG&xY!qDpe`CrkM9f5y9AL-Bfs1kr)qc9I5RS9p<{dyCg?|dO z+SLkeB^!z#eBu&iP(0HW-;4YrrQf~-&AH-D!B5pjILZOq{4->rqb{Erdqi5h3Wpt( z4s-VrX{zf*C-_(q#ya#BICelth6!jN2R6F=8BAi->_QBm`rid7yQyZE>XG=*)qEy> z&b{Vu;cLDg%*WjUn!Q5M?6=R6#!k_@VF4@TZX`9)<=yC{4^Yw`fL7eBLnW=*qLPPX zfkzA$hKeYBFATXTelL<@XTdStJ>6@3(d?3E%<&>`-9enjuw#lSXdg^!7m>Eh-Aphx zXzW%KMejq#MO3LJ3TtqWDa8U7nm_b1Y5ZGzV z0hC`yr3X+J8+jd6)5UUtGb9dh*9n2XI+;3rsjdt0U&0L~dkVkgtshc;#X0+uzQ{P# zY`repYKH8#lU@+jz^}d(p$s`RvxxU7)q-9pD?59vmpbVdQ+P2t9cHd#C}ZX-M%f%R z?Q6tbwD@b|i{X}MM5Aw#NvFOfGFZ=_#>8=h{Jz17C7wtAMonA%4YzEiAX~~(b($c& zhxwoc)y7g+f>LG75T^IYW;>B0Ok1e31O;%=%@Vc!#~ea?IsX-Hd`z1BX|hmuQRyL= z#58vpX|TUPj5L_$4yz6=X0S7z0cb9$5lJ7E*(JUzEMS}UEn3|2kH|oqVd9+{J?~p& zfCc4SRM1Xcj;KNY5#)pRI||N4ksR14=_o)nzlhZwMHyVw?-&y3sPLGoS$Paol6IL- zTMl$@iM-IezT>8Ula_pEJcUXn9ft`gZ98u4(d9rpF+<6Q(9OgBO75|)e?=EqEQt!r zt-9>u_B z@_SSd9gt&AGXH?yjc3c<7!NvHnQLDuJcgC$M`WHuu|LAHn{p8|TPuX+(Xy^*mI=$cJ;gub%*32=OW6Eg z@`N9#V;|Y5@+TNG(aoQ5`d5)m&zIpO2cH)#18SwqWonHgPjVKMgs*VxT|N3O*ZOYK zNwlDjaz#)KWmNynNj7+e`kyk6Giz6&5`+m|`ARMO!c%aag@R7QgoC0_BR>l*<^Ub| zv?v5~Rx+2XL2NnfR(Gb4%GH8~pFy`Vc?r8(JB7J~c?ZoqgJs7_UCv@}Yk5ty@@KN2 zKeth6VQKkUtw7|@*jAW4Hd;qF39X9P=%t@A?G#b&&nR*?s)05f=XVbM$m-v?tKG!u z70-$~iU+N)zDD!U@yXXjp@!S`>M`mgVH?ZLd6WRXTm;k3!?c4Ia}2x6^J*h_T>ywv z;|s{INM6*E-B$PY4w0XUl2|K)X0n#kHJ;rUI_ju7_&tXhwFb;7owowkO!Ld zH#CHWBCF7os(Xm$>LA_F@+*-Bd$B6cQeN}#Bk68MqS!f9jMSJ-&Quv6N@w@xFA=%s zNX__SX^4L{4u`xjrF&cA8S(;NYpMSmaJI8%vapjZ@yEXw_yB}_D6(>dIFFi)P5N|| z7^D8j6V5V0#um{c;S#?k6BIot@J+J8`hO$6Bv0L%N&V>(w|yeK`n{-!?kC_}P<^r} zNe`XeYT$=seuqaBON2dLrbw_#+FL;JOjm&p#}kcP`-)ZDCh2xGkLlsqA8@ryOGWB0 z+Z-0=aw0_~@}xO@zu*sCS$-9?T9`hK z3$q?LXQN$N*ZTHFY0fIAu*YRK0pAM!igQA9q0D9_aITHcN7RNNzR!yKMM(WQ z6nP2GJ_4GHXSIuBAD4?)b4mgoJLH(CRoTm;*xhC7`4V^C63MV~sz=~=LcgR;0NQ!r zvsBFH_DlNrNy1#RG}q?1D1}SjPy0&ZV}WxcJbY4^dsO0^Df}`De+M*ts4KFGQfr&U zrzsw^Va^F`pZM%8@;D^5OZf=rXpL42ob4xL$n&B3`Y9@ef!M6?MKbNSj%NQ1a87pa zsz|1JrOOWjPkptqw?d67x8t7&ZIIhV;9Rc&5Ju&8aW-Xx!o3;AhN0 z&psuq@~EI~GVh&K$n?O|vdQm?w$RRV*H9&BLn+hj^Q4QAxD=<}ZQRx!$_1|7yVT|l zCva}e9J!!tE7-ddw+Y9qI2Z@^KW=Y&qD}cwP#qAQW=qL1Zgo|{ifO84DMK^ZE zLzMIA3QA{+ZtB3YO;x0rH4xBVJ4r~bXVaj*RgxH@{x1JB8tJB5M2qyfCK2m`Te zCGBo5%JYS!&jDw{1xH021W3XgRWeMOFDC<44d#-~_jJ7}(r_6$#~OtpfFLF0E|SS!6oY7Kv-aUD8d z6sdI>sC-1p)boLJrtUJ~%m|t34-$9O2|L>EuIcZ>PR4f89S_RUV-t9~?i@ao#K+Gv zgOwmS16xaxfi{450Ow1wmtGPxnD~!(S)_i^9bv~R?fCy8GJa*dDB%=|_XN)NGt>#C zqjy$|mh}9`8vFewa5nd~hq;F?3v<_xhzz=_h0y7yQz^`u%R#HnBDd|@c{$dG=&I>|Ox=7ayTLN|D z$XQq02I7@m7>Hdj>3U3Vd`y(~PfOfZBwW5-;=b2}xw}b?os&r6|Dw-+44O+}@#t%H zGMTMTWTTC{-hT>n&tL%ap*d$gaJFL_CA!)ok(=%hiD%Rb{IV=o;9sg8+Vd|Stb0;K zbX`3r@VBTEWi)RA&9-$Ng$RN92 zL0r(iK9#ig$dtB0`yDu2)jcMxYP->Xx3s2vhP-Z}Hgf=QWgU5C}4ZXZa|Z=I6Ck$@Jf#xv%Vo6+V*H z|M+1Y3aW#*vhV;3(>Wd&nSKM#Uh%x2`IeW!oetrS71CQo(_pUGPoUY{!gB)G#{J`Z zk<2Bh{RCNxR~c8mwSY=tz;HnWBHLi&$0e}Ki!0iV?@_=x3)A-^i_fH~T@-l-Q@g*9 zq~()rb0qBm&gQfy_vFKzy3Zx<`b6}T{!;&9uTy8`eV<&>Gnw6QXtCmgiKZ~%{?N|H1JfBdIV7X zT{LkLE^M(!s^sLO^`AVN2fFRIpgA|~x!Bt>btU8Md$YGuXk;Xb^5o0%w5LKChBnuT?LRSc!%MVsMapKfWSN?V z*9OW*60_c4C|1h{t7JLxUR5bu%wn2rGU5!RaM&zbD&`W4w0H+N7b)~bQFd*9j%p%s z&nvO70aq<1Eo2EP-4BRycTrlbm3TpzsC+Z&v!(&UqW0k8IH|u=;xV!fAC~yh<;8xj z%>hkCs{Yu3@S!zf?D85vEFY5nep_Sqj>Pp_8{^LfvKK;heXWhBx*Zhnh0J~c%`?&r zIk9RJSQDBDy6v!LqAZRdM2*+WX8m`8^ojYL)F`nDZ)#JiKUKm&dRvn)&<<-RADXk@ zl(_a(zji+H1#ot8(LW+5?P^H5#C1(YLDJ-DOJb1FKSUz?)gl|+Y~W~QdQG|?bJ4NzBA$B8Ya#5| z3Pm;>L~qdT0cF;s|bBKJ!=HBMxsodR70&V}FWu|{^JXafr0 z%Pd@|Jr=HAPn@gLUMqywcB!S?BHG{qd2Z31rm>MnLq*a4Om6IfHI&cvF3{Xe7LUtB zR|Q=Unk#IRt1Q|fwjLj&QX*)U_d#6Y?twrWNi;9`v0h&whenZrIi=-c+8qkK7ZMA;pPvHvmJGK*r zNx(@8A6i$KNAaM0k)&tfe4Gz$yLSXQXJfh~>Tp;Dx;nh zZ614!CKjQe@ry9kLd_39>Iq!Ef|c|sOQ^ZS<6QPMaJJ~#mVLv8zSTp2EO6HEFL&>4 zWlnF?G$TAxDe04v)|P7@$_Jg^vx7)|c$_Gw=8R# z2#;Gx5uIdHSVdLdkwr_OVm~-&A!uG!bx(*6+FR0JQ4P~gJBv~{lZ1n`?wyR+5kW7J zv_nn`+H&y$#e+6ffL1$D$LKJwcxua-W6ZqgG(A-c@$dK#62PTwzSx5o|R z+rYVG+8ad|<(PcBt89>8M9nYAe(@b}_EfpYsnZSMY{zv)G{0SDAO8^JI+_^Z7nHsb z5w3!LV&hi6Ch`3qyO8K^(rq3WK~f~Hy+t%dW|k-MiU8r}qp~t*1>RL>s}P7&CJ5** zYkyaiT1$Y7JWb)#1E9IQ7Dco>CRz39M)6E9ept|1M;nj2uW26Bt$GOKIp;+(t-%IT zA?R2KX!hh*kJ};d1LsVOnu<){lzrtPtH6yX1fZR@jG>@Fzt;HiMGnljpry_z{}Gwa zmNgBdF@b(P(qD}fMh<@_jA-L*A#hISo+3PFlFhvfI2SU-$G+0p(vPB&k^w>-!KsSHUO?x!~juzo3y_MIQ!ltUjx;y-FWvB_-k_P zg-U&VBfbtI^C+Jk#xai`=RQH+Ght=7COs12m^DxFIULO7^lN60h($ zx49WGQ+B=SpSC^LNcFFAM#yI>%tq+IXW|J?4Qh>2T@CN=Wl*OVz!~8(`hT)9LmK5(B}6+bCI%_3Lj|`W4WNi z9~Jc1@+?AIm|mqCr1m>0-Q(f|Lf|?IkjI>^@SQPkjq2?C;kCMt?Ll8z#vEG8fpifDp@DCi^t65L1-5J4m$tB7zqKAF4oX-3ov-ut z-{M6ENPrs6h_N929N1FdptTafi(e_O?5RsPv`9o@G0uzFTM)Yz%%3np>_KXI|To0?k2(2XT>X z>CJLhxF=H>baW|bwqTXhzU@(bye>^zyVrQI$oFuz1=6Vq>hf<w_ zAUyKD(p4LzkWJG}9Z3bCqt6bN(CNC7Z7t&w;Owb~?i6|RNVj2vpVBd&nY5Iup{`ZK z;gXWvZuOg_FK$6JT(X1rK!O#2^QQRB6jxHl#c=6=l(vf~tjFp+LhOt*5!a<@GWsf> z+)Z$6x+W=p-g6@8|2i-{GY2?FA9u$68$>?e3!RYwwoH|fDFHgH6?>=2KQ9Y7yFGGT zViFPkYJy@BYJFTv6gC?{!HmP}qb7+SGA(*KZT+dkf>R0cYLTZZv3{F_Q;>wyJ3DG|C^tXtt!G;H0pg7O^D z9Cx<*&icDKRKoNQr3dK_uoYb#aQ8!JN!qg0W#E&oY1>SJOOTOALHm~LR^nNjk$(W^ zNZpO#;iCk%TSm;o4^s}*ja#8~1IJHCfpZ4fJp(oq>5X#24QHX#a8BcziRhCvrG3y9 zVQ;n7*o58oDfq3*rf(P7?YgWpgi=s+Pb>T{V7?QbM4&g63=( zKVH;X=C-5^(D_e}7Pl5U^ZWzAIhcFsspB1zws=1&3|7!*1NTdTUL2C5rC=X$zvwxy zUtN>!$4mP|XzGXI3k#isFhAC|jH5s*l8^_Qv$(mlVEq<_K}Qd3==p{9Q`jO$Ov=4N z{2Wt%&IZo0xhLH}q9UkEIKjcVNgvvHj3~&imXK3@<8TyH@pL`pWvhAFidX0;#hThB zjI+j8J5?gC=TL7~FZ~6*kuTBx68;3^+@+1Nz}e`pd)H6oXTaqQU&FByGWWO?pDeYu z6P2|=MrVO$CuTWLd|88~9~Q-yp&tY12xBcIqp#IcdQ$OZU80r#5O<9A$$a!&8xVmcLgQg{*|k0nSAu$5{*Ctn$lsl-@zpbVl$r zZzGOq{ci-_?v=(N)=ivtxdzCgvP)s_{h&GiHBQ2|Dt-XNLVmhvu-_GLS0&M82<^?g zPxRP*SJs1+D;{4jC2ESwr{wzbG@v~er3T=Oc(H);+M~X|Z@|#wBIm`6>ig}|JSijT zqoqW4SG{G5$Nw&X%~lRG?q^gd3S5S=+3$Wa_{~@A`>UM7OxJ?uu5H$JQg$Mmew^+F zogaHZLKmNrWIZKHyf1-swiP=)-vtkfe5q66#sKG{9{abL+ef2WX!6c%?n}Y*y{1l$ zyBdxyfxQ*Z{P;9*&fiEA$^OM^==z5w;%t34Kqn(!`-eq7{ZC1l$@iEl^3tQBFBY0_ znl9*o2LA!&tMs65cTLD%;2giZynOj1;@?F>#lJRPzL%<@F8B~=4(9HtucnmC5nF>t zh5p=`t9Am;?kv`=hBj)&!zw=zJt#l6l(L%gpe|Ua!Q##&vK^H${m^5gwKPM@+Dg@m zpB-R&z0&S+#B(T+2D#@sF7>(C zAH(A$km6IQh}C@wnmv%L@BKWi^f}Ws4bEwg5sG_zjddGVGeW zeHTi&lPaJ5q?ErSst&JEvbt#n5-fR*q^5xm8V>+xE9@3TYvkKMA^0h0E}lghonU;a z(w#6w;K#;5jVKRv!d*|Qa{`Z134m5B0B|(%?P47YvH#SWV6f42k=TPnd;FLedsE;F zG%JsT=46L-EON6ighO*0?3djVtfBn#0#Av$&qhj2*1GNu z9-LTB)u5xTpAmCwbS=B5h8_i+Gt%y!jHwk*0q0)fYG+HgoH9D2KwLCilabS%Ke3}r z#KW1YI0l>*Z*)%B{ie8GVu>UF{?l)c=&8~M%|>vq(Jn+7JP0}k5lw$aT6fDfj{@l^ zP7~%zY~zoLI-B2qqIkJ3HCZV<0-UWb{X%kYx?26K;*mY|@$=`2{*cqFjS`$F9UG6! zROlV&z``-b?T$G+YW2#q;^Pj^-rR2B?7BqU&}h{R@d zhZYM3kF*dYleC0o0%y-uX`3Z1e%edr-JP)tl^=vE%a29h=6SzgqQ+elQ=-%Gg_U|Z zCCkrP|F7r$=nG--v6s|eTQF!tBEL+P+QQepl+zUsUaz#>2iZ&2{h)Z{kVIpHj?f}e zcP%Ci{Fsfysgl(_sPrc14C+$g>^k?xfjX7nvs0oOq0#rH)NWAs+6z(uXE}*F1f12y zB9i@`)Z=HrDAs-890eOq1*~orXkMu(UMO|Cy~egrgC#qat<7S!+9{kvs2b{mvp{o` zwY5+Ef$T;~=?=Q>OJYp-!Q!eyjqOFs03AK5^b25A3q-i&e6CB z-p?@Z599{DDvIseS9i9 zSxJE&Tyj9Ob#_~@og2@hFw=#vOXyO)zjTZys+4j-C-lWw-8VkxX8r^{b|vz8D)i?o`@6u6zPGm*jXCDaoTWSid(V zdb{}68uhu9c@6rAca?TupE&`XQ&Z7eTCA5? zukz)adfECqhV`=@LHH|XxNsxougHME0pQ}Dtgm|vR7+l^45sUpUevRGKhlo!K<7XD zmbfLPYaYWj^bX*hD|7cqu2{uC`)$FO+)=+Zn+=@P7mtZQK9peI5tZM!PkAtMcp%F>Z`+5D6H@1$hH%%D3f6B`#m{|PtmT^M!t)vmeswXbnPgK&C2gT6)(TLzNcEgBhidh+{*Q% zl-U#cwM}VvZ@D=YFg<*=gx-jkQTeeWK2J~?(`%J}K2kr@rc}-J&^40V5j}ZiO~8GW z(u?a3XwHYJcqfe?YgpQ@)xvv5wA${@jlfxc(yJnG>Sjv(&z!(nooPCJ|Ucf!;81KLD;RU7V%9lfXG9yI$Qoly2+9@L0NN zyxvci=RH67!;;0y_G{hZ6ejOrdSb>P6t3gwj)jU!X}l zt@1VcE^QYrZv83H2eB>sNYp)eqXe^+g7Ya1IzMNF&|~#2K|3z-qvC^pmo!+t9#A3j zjda<1f?Dw=aJFtlzC?eM1oK)~ioAP>{Au8jPy7Gd_vdMVy&AwhJ<*tIIXO3O6n%Z2 zWl&s^avkVxpxKQ0X-Tc^`kY0XOlN&8q1}!7*;D{J|9z!r>QNz^HlI|yMi-x2sI8Z8 z(k8(fV&4gz3qZCr1}RnfLTAPr7x^^rXPx<3m(gysC>rU^^p;A~f}b1q>El|Ws>C7&ReKQ!w?y8r|iFaY^GUJyM+st04KexScp z`cy-qf0Tcy>tWD=Hu5h@IV>F8Dshj|GXZT>*H6AwFyT|7XXyCI8tcDOCF{zkBK!*< zRH>!fUs!3qWSfL`=cX}A?GHbdD;?Et-l|l!;`R$6-%4-qb=fZJMmYKR5EVdOFs`(_ z`PGZcIJTER<6ObZZ1ZGnHds^oqmMWD%AM(A#~l*eQqAO#RlbN)1|YU=N)IfPQfD=; zD`haf;ByJRtwd-W+N_~G(A{?^eW9M_w3783aL(Ff=U%0WJ9R+TY8F2E63!CYCdT~< z#ZUOe#VO*rsdJUO&v|j=HVO}fe>N$drXvtrxw~?g1hd~37_ENT3!DupjZ68mBs8WX zs0%jTE%XRIP@Aa1@HZJjf8upw&!g&xiB!buDnYZl`M5)XA9Mam#V0t!$gD3_-MLclUr=?6sTS(;w}NJM zZt4>bNw5mNc=mD)maTZHwu3Rn=PF+Knskj5#dt6IE79*RR`mvs)YHr%m`qHPFW!m) zQdVG&|KKd}5O{o}>gbbGKZk-;&2(pU0Gx!Xxo0P%8W&^?p zHRNdL?U1fti$?vW5HF${hfxU>bf0-dd{gtCr1cj~Yb|g#B$6m?;`NG;K%JKP-z*9Y zgT+SxaMs7230_QY=IT)`dfMr+dK;FI;^|J4^E+@>ceZm* zs$}}fe+ccKRR54_nLed-%?DE6?3mjyN*#{FQ?tI6xSKn-M;rpqzIahjH`+Yo{-c_7 zXOCefaBlx9^zM&|>hd+fecvVQV+pQ^(X?ZtyX81>uq9}=;`aM3X6n4-BLA80FIms{ zHl>U}d8h;JM-lFQLW~Htle+S!8u1)(e<4B_EiYC4L&}4KV55JE{w`z19;=dfQ3>m> z1}%L_;5!kla{7{+fpg*ub>KcuT>Jgrg^K6u zHk_58Gm4MZZ2}wljr&2OuSt~h414`&CvYS?%?ovu0^La?_!9&h^oJ*s7Qr1<346QG zK-<7{xsEVXHP~Cgc`6uorh>bH`wklVqlWbAB&8G75d(e_jm>rRU^zHh@z64nzd>Vq z54gB|KYxNP?rGN_G^G3LN)SIdli2K<>Hm@l>jL$&bUkoZ7e@`|#~SVL6t5|m+2Dr6 zbq#Jf=YmR#O*;1i`n=`2=dH`R@Z7C8(f!SmE~L`y8ns`SJMrAygX@m;O{#7fNJ1B$ z)H%_v82*5M9hfvTfFBQzCUs6}zC%23|2I)3;B&s(-Pn)*tKI8%#=%L` e0#hktNYYh_@#|%P(2@%9wZZ8=^xlx9_WuQ5Q5yIF diff --git a/dir_tree.dat b/dir_tree.dat new file mode 100644 index 0000000000000000000000000000000000000000..9d5d650b1297ac020e907e1cb7780531cceea7a2 GIT binary patch literal 2760072 zcmeF))vpzH_-A3<-QC^Y-JRl6+})vQkrsD%T8gx|LveR^mlmf5iaX5wl9^00>*V|c zd+nREv)-%Elke@$dA@7at?VHJ`}6I8e?tCmg8%#Xe>7V5Xx+S5>!z*R_h{OybMkB%PvIUuhw0&;cmqhkht4#;b) zfLtB?=-9!Z1M(UtAXf)JI&SdifV{>F$koA*jvxFvAg>7ma&_>d69#_{$ZMj2Tpj%A z#KE5f@|q+dR|h{jY4GQOye13C)xnQW9{f2VuPFj@b?~E827eC7YpQ@;9sKCj!Jh;2 znkFDu2R}M(@aKTMrVGf`!H-TK{5c@683J;3@S`&Ze-6lNrhr@>{OHWVp9AumB_LM^ zKRRph=YYIs3&_>Mj}G+TsRX5yBd8eQEoXr54{Cm{pkjcx+yTBnsQGzWrB(U-pU5}{-EZU3n~V9D<9zdgPLC< zs2Jd_Vu0@tYJR1lVt}{G0lq(|`Bj370p6+x`2L{gR|_fzc&i@Z`-7VQT~IN=Ta5tU zAJqJsLB#-XwE}#9Q1fdC6$8B03Gn?v&956&4DePj!1o6=zkX0Lz*~a=-yhWchC#&u zZ{G*_{-EYJ3MvM8YaHPFgPPwYs2Jd_X@Kt!YJRhzVt}{i0lq(|`7MHq0p3~$`2L{g zw+bo-cxxTt`-7U_Ca4(Tt!;qs4{Cn9pkjcx_5r>>sQDd&iUHm_2KfG<=64Dz26*cn z;QND`-zBIR;H_(b?+mr00O_D7=D!i0t-_;&ikN^S)Q4EJ9fWToC!x0G}a1_OGOacfTM=_j`00Jjb45uW3z-bi283`b8 z7R7K*0tlQ(FihQH&G0?B!Iwe6vG_} zAn+H8;cp2ba2LgJPXY+sM=?B*00IwD438v$z+)7{6A2*j4~pSm2_Wzk#qdl52s}qI z{3ihfUZ5CWN&taZD2CS(K;R9E;jIJ^c!y$mF98HTpcp<%0D(^^hR+f};0uc3s{|1E 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 literal 0 HcmV?d00001 diff --git a/hash_table.dat b/hash_table.dat new file mode 100644 index 0000000..18392c6 --- /dev/null +++ b/hash_table.dat @@ -0,0 +1,297 @@ +¾ºþÊÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð /create_dir_testÿÿÿÿ +  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ  +    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ  +    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ  +    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ  +    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ  +    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ  +    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ  +    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ  +    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ         +                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +! +" +# +$ +% +& +' +( +) +* ++ +, +- +. +/ +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +: +; +< += +> +? +@ +A +B +C +D +E +F +G +H +I +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +X +Y +Z +[ +\ +] +^ +_ +` +a +b +c +d +e +f +g +h +i +j +k +l +m +n +o +p +q +r +s +t +u +v +w +x +y +z +{ +| +} +~ + +€ + +‚ +ƒ +„ +… +† +‡ +ˆ +‰ +Š +‹ +Œ + +Ž + + +‘ +’ +“ +” +• +– +— +˜ +™ +š +› +œ + +ž +Ÿ +  +¡ +¢ +£ +¤ +¥ +¦ +§ +¨ +© +ª +« +¬ +­ +® +¯ +° +± +² +³ +´ +µ +¶ +· +¸ +¹ +º +» +¼ +½ +¾ +¿ +À +Á + +à +Ä +Å +Æ +Ç +È +É +Ê +Ë +Ì +Í +Î +Ï +Ð +Ñ +Ò +Ó +Ô +Õ +Ö +× +Ø +Ù +Ú +Û +Ü +Ý +Þ +ß +à +á +â +ã +ä +å +æ +ç +è +é +ê +ë +ì +í +î +ï +ð +ñ +ò +ó +ô +õ +ö +÷ +ø +ù +ú +û +ü +ý +þ +ÿ +         +                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ         +                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ         +                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ   +    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ  +    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ  +    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ  +    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ  +    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ  +    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ  +    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ  +    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ  +    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ  +    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ  +    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ  +    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ  +    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ  +    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ  +    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ  +    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ  +    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ  +    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ         +                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ !!!!!!!!! ! +! ! ! !!!!!!!!!!!!!!!!!!! !!!"!#!$!%!&!'!(!)!*!+!,!-!.!/!0!1!2!3!4!5!6!7!8!9!:!;!!?!@!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~!!€!!‚!ƒ!„!…!†!‡!ˆ!‰!Š!‹!Œ!!Ž!!!‘!’!“!”!•!–!—!˜!™!š!›!œ!!ž!Ÿ! !¡!¢!£!¤!¥!¦!§!¨!©!ª!«!¬!­!®!¯!°!±!²!³!´!µ!¶!·!¸!¹!º!»!¼!½!¾!¿!À!Á!Â!Ã!Ä!Å!Æ!Ç!È!É!Ê!Ë!Ì!Í!Î!Ï!Ð!Ñ!Ò!Ó!Ô!Õ!Ö!×!Ø!Ù!Ú!Û!Ü!Ý!Þ!ß!à!á!â!ã!ä!å!æ!ç!è!é!ê!ë!ì!í!î!ï!ð!ñ!ò!ó!ô!õ!ö!÷!ø!ù!ú!û!ü!ý!þ!ÿ!""""""""" " +" " " """"""""""""""""""" "!"""#"$"%"&"'"(")"*"+","-"."/"0"1"2"3"4"5"6"7"8"9":";"<"=">"?"@"A"B"C"D"E"F"G"H"I"J"K"L"M"N"O"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]"^"_"`"a"b"c"d"e"f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~""€""‚"ƒ"„"…"†"‡"ˆ"‰"Š"‹"Œ""Ž"""‘"’"“"”"•"–"—"˜"™"š"›"œ""ž"Ÿ" "¡"¢"£"¤"¥"¦"§"¨"©"ª"«"¬"­"®"¯"°"±"²"³"´"µ"¶"·"¸"¹"º"»"¼"½"¾"¿"À"Á"Â"Ã"Ä"Å"Æ"Ç"È"É"Ê"Ë"Ì"Í"Î"Ï"Ð"Ñ"Ò"Ó"Ô"Õ"Ö"×"Ø"Ù"Ú"Û"Ü"Ý"Þ"ß"à"á"â"ã"ä"å"æ"ç"è"é"ê"ë"ì"í"î"ï"ð"ñ"ò"ó"ô"õ"ö"÷"ø"ù"ú"û"ü"ý"þ"ÿ"######### # +# # # ################### #!#"###$#%#&#'#(#)#*#+#,#-#.#/#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#V#W#X#Y#Z#[#\#]#^#_#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#{#|#}#~##€##‚#ƒ#„#…#†#‡#ˆ#‰#Š#‹#Œ##Ž###‘#’#“#”#•#–#—#˜#™#š#›#œ##ž#Ÿ# #¡#¢#£#¤#¥#¦#§#¨#©#ª#«#¬#­#®#¯#°#±#²#³#´#µ#¶#·#¸#¹#º#»#¼#½#¾#¿#À#Á#Â#Ã#Ä#Å#Æ#Ç#È#É#Ê#Ë#Ì#Í#Î#Ï#Ð#Ñ#Ò#Ó#Ô#Õ#Ö#×#Ø#Ù#Ú#Û#Ü#Ý#Þ#ß#à#á#â#ã#ä#å#æ#ç#è#é#ê#ë#ì#í#î#ï#ð#ñ#ò#ó#ô#õ#ö#÷#ø#ù#ú#û#ü#ý#þ#ÿ#$$$$$$$$$ $ +$ $ $ $$$$$$$$$$$$$$$$$$$ $!$"$#$$$%$&$'$($)$*$+$,$-$.$/$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$t$u$v$w$x$y$z${$|$}$~$$€$$‚$ƒ$„$…$†$‡$ˆ$‰$Š$‹$Œ$$Ž$$$‘$’$“$”$•$–$—$˜$™$š$›$œ$$ž$Ÿ$ $¡$¢$£$¤$¥$¦$§$¨$©$ª$«$¬$­$®$¯$°$±$²$³$´$µ$¶$·$¸$¹$º$»$¼$½$¾$¿$À$Á$Â$Ã$Ä$Å$Æ$Ç$È$É$Ê$Ë$Ì$Í$Î$Ï$Ð$Ñ$Ò$Ó$Ô$Õ$Ö$×$Ø$Ù$Ú$Û$Ü$Ý$Þ$ß$à$á$â$ã$ä$å$æ$ç$è$é$ê$ë$ì$í$î$ï$ð$ñ$ò$ó$ô$õ$ö$÷$ø$ù$ú$û$ü$ý$þ$ÿ$%%%%%%%%% % +% % % %%%%%%%%%%%%%%%%%%% %!%"%#%$%%%&%'%(%)%*%+%,%-%.%/%0%1%2%3%4%5%6%7%8%9%:%;%<%=%>%?%@%A%B%C%D%E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%t%u%v%w%x%y%z%{%|%}%~%%€%%‚%ƒ%„%…%†%‡%ˆ%‰%Š%‹%Œ%%Ž%%%‘%’%“%”%•%–%—%˜%™%š%›%œ%%ž%Ÿ% %¡%¢%£%¤%¥%¦%§%¨%©%ª%«%¬%­%®%¯%°%±%²%³%´%µ%¶%·%¸%¹%º%»%¼%½%¾%¿%À%Á%Â%Ã%Ä%Å%Æ%Ç%È%É%Ê%Ë%Ì%Í%Î%Ï%Ð%Ñ%Ò%Ó%Ô%Õ%Ö%×%Ø%Ù%Ú%Û%Ü%Ý%Þ%ß%à%á%â%ã%ä%å%æ%ç%è%é%ê%ë%ì%í%î%ï%ð%ñ%ò%ó%ô%õ%ö%÷%ø%ù%ú%û%ü%ý%þ%ÿ%&&&&&&&&& & +& & & &&&&&&&&&&&&&&&&&&& &!&"&#&$&%&&&'&(&)&*&+&,&-&.&/&0&1&2&3&4&5&6&7&8&9&:&;&<&=&>&?&@&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&[&\&]&^&_&`&a&b&c&d&e&f&g&h&i&j&k&l&m&n&o&p&q&r&s&t&u&v&w&x&y&z&{&|&}&~&&€&&‚&ƒ&„&…&†&‡&ˆ&‰&Š&‹&Œ&&Ž&&&‘&’&“&”&•&–&—&˜&™&š&›&œ&&ž&Ÿ& &¡&¢&£&¤&¥&¦&§&¨&©&ª&«&¬&­&®&¯&°&±&²&³&´&µ&¶&·&¸&¹&º&»&¼&½&¾&¿&À&Á&Â&Ã&Ä&Å&Æ&Ç&È&É&Ê&Ë&Ì&Í&Î&Ï&Ð&Ñ&Ò&Ó&Ô&Õ&Ö&×&Ø&Ù&Ú&Û&Ü&Ý&Þ&ß&à&á&â&ã&ä&å&æ&ç&è&é&ê&ë&ì&í&î&ï&ð&ñ&ò&ó&ô&õ&ö&÷&ø&ù&ú&û&ü&ý&þ&ÿ&''''''''' ' +' ' ' '''ÿÿÿÿ \ No newline at end of file diff --git a/main.cpp b/main.cpp index cd0d4b2..4ce8350 100644 --- a/main.cpp +++ b/main.cpp @@ -41,6 +41,7 @@ #include #include "daemon/dir_manager.h" +#include "daemon/hash.h" #include "fuse_functions/getattr.h" #include "fuse_functions/readdir.h" #include "fuse_functions/opendir.h" @@ -48,8 +49,11 @@ #include "fuse_functions/rmdir.h" #include "fuse_functions/access.h" #include "fuse_functions/statfs.h" - +#include "sys/mman.h" +#include using namespace std; +#define DIR_TREE_FILE "dir_tree.dat" +#define HASH_TABLE_FILE "hash_table.dat" /* * Global DirManager instance. @@ -86,10 +90,75 @@ static struct fuse_operations fdfs_ops; int main(int argc, char* argv[]) { cout << "Starting FastDevFS Daemon..." << endl; - // Initialize directory ADT - dir_manager_init(g_dir_manager); - - + // Initialize DirManager with mmap + int fd = open(DIR_TREE_FILE, O_RDWR | O_CREAT, 0644); + if (fd < 0) { + perror("open"); + exit(1); + } + + size_t dir_manager_size = sizeof(DirManager); + + /* ensure file size */ + if (ftruncate(fd, dir_manager_size) < 0) { + perror("ftruncate"); + exit(1); + } + + /* mmap - maps DirManager to shared memory */ + g_dir_manager = (DirManager*) mmap( + NULL, + dir_manager_size, + PROT_READ | PROT_WRITE, + MAP_SHARED, + fd, + 0 + ); + + if (g_dir_manager == MAP_FAILED) { + perror("mmap"); + exit(1); + } + + // Initialize directory ADT only if not already initialized + if (!is_dir_manager_initialized(g_dir_manager)) { + dir_manager_init(g_dir_manager); + } + + // Initialize HashTable with separate mmap + int hash_fd = open(HASH_TABLE_FILE, O_RDWR | O_CREAT, 0644); + if (hash_fd < 0) { + perror("open hash_table"); + exit(1); + } + + size_t hash_table_size = sizeof(HashTable); + + /* ensure file size */ + if (ftruncate(hash_fd, hash_table_size) < 0) { + perror("ftruncate hash_table"); + exit(1); + } + + /* mmap - maps HashTable to shared memory */ + g_hash_table = (HashTable*) mmap( + NULL, + hash_table_size, + PROT_READ | PROT_WRITE, + MAP_SHARED, + hash_fd, + 0 + ); + + if (g_hash_table == MAP_FAILED) { + perror("mmap hash_table"); + exit(1); + } + + // Initialize hash table only if not already initialized + if (g_hash_table->magic != HASH_TABLE_MAGIC) { + hash_init(g_hash_table); + } // basic fuse_functions fdfs_ops.getattr = fdfs_getattr; diff --git a/src/include/daemon/dir_manager.h b/src/include/daemon/dir_manager.h index bbac205..23a6419 100644 --- a/src/include/daemon/dir_manager.h +++ b/src/include/daemon/dir_manager.h @@ -6,6 +6,7 @@ #define MAX_NODES 10000 #define NAME_SIZE 256 +#define DIR_MANAGER_MAGIC 0xDEADBEEF typedef struct DirNode { char name[NAME_SIZE]; @@ -17,10 +18,10 @@ typedef struct DirNode { } DirNode; typedef struct DirManager { + unsigned int magic; // Magic number to detect initialization DirNode nodes[MAX_NODES]; int root; int free_list; - HashTable hash; pthread_rwlock_t rwlock; } DirManager; @@ -29,3 +30,65 @@ void dir_manager_init(DirManager* dm); int insert_node(DirManager* dm, const char* path); int lookup_node(DirManager* dm, const char* path); bool remove_node(DirManager* dm, const char* path); +bool is_dir_manager_initialized(DirManager* dm); + + + +// #pragma once + +// #include +// #include +// #include +// #include "daemon/hash.h" + +// #define MAX_NODES 10000 +// #define NAME_SIZE 256 + +// /* =============================== +// * Persistent node (mmap-safe) +// * =============================== */ +// typedef struct DirNode { +// char name[NAME_SIZE]; +// int parent; +// int first_child; +// int next_sibling; +// bool in_use; +// int next_free; +// } DirNode; + +// /* =============================== +// * Persistent DirManager data +// * (this lives in mmap) +// * =============================== */ +// typedef struct DirManagerData { +// DirNode nodes[MAX_NODES]; +// int root; +// int free_list; +// HashTable hash; +// } DirManagerData; + +// /* =============================== +// * Runtime wrapper +// * (lives in RAM only) +// * =============================== */ +// typedef struct DirManager { +// DirManagerData* data; // mmap region +// pthread_rwlock_t rwlock; // in-RAM lock +// int fd; // backing file descriptor +// size_t size; // mmap size +// } DirManager; + +// /* =============================== +// * API +// * =============================== */ + +// /* Initialize DirManager using mmap-backed file */ +// DirManager* dir_manager_init(const char* backing_file); + +// /* Cleanup */ +// void dir_manager_destroy(DirManager* dm); + +// /* Directory operations */ +// int insert_node(DirManager* dm, const char* path); +// int lookup_node(DirManager* dm, const char* path); +// bool remove_node(DirManager* dm, const char* path); diff --git a/src/include/daemon/hash.h b/src/include/daemon/hash.h index a74dcc6..9c8368b 100644 --- a/src/include/daemon/hash.h +++ b/src/include/daemon/hash.h @@ -6,6 +6,7 @@ #define HASH_SIZE 4096 #define MAX_ENTRIES 10000 #define KEY_SIZE 1024 // full path key +#define HASH_TABLE_MAGIC 0xCAFEBABE // single hash table entry (chained) typedef struct HashEntry { @@ -17,11 +18,15 @@ typedef struct HashEntry { // static hash table typedef struct HashTable { + unsigned int magic; // Magic number for persistence detection int buckets[HASH_SIZE]; HashEntry entries[MAX_ENTRIES]; int free_head; } HashTable; +// Global mmap'd hash table +extern HashTable* g_hash_table; + // initialization void hash_init(HashTable* ht); diff --git a/src/src/daemon/dir_manager.cpp b/src/src/daemon/dir_manager.cpp index 61a4872..ad2bfa9 100644 --- a/src/src/daemon/dir_manager.cpp +++ b/src/src/daemon/dir_manager.cpp @@ -3,9 +3,9 @@ #include void dir_manager_init(DirManager* dm) { - hash_init(&dm->hash); pthread_rwlock_init(&dm->rwlock, NULL); + dm->magic = DIR_MANAGER_MAGIC; dm->root = 0; dm->nodes[0].name[0] = '/'; dm->nodes[0].parent = -1; @@ -21,7 +21,11 @@ void dir_manager_init(DirManager* dm) { dm->nodes[MAX_NODES - 1].next_free = -1; } -int lookup_node(DirManager* dm, const char* path) { +bool is_dir_manager_initialized(DirManager* dm) { + return dm->magic == DIR_MANAGER_MAGIC; +} + +int lookup_node(DirManager* dm, const char* path){ pthread_rwlock_rdlock(&dm->rwlock); if (strcmp(path, "/") == 0) { @@ -30,7 +34,7 @@ int lookup_node(DirManager* dm, const char* path) { } uint64_t h = hash_path_poly(path); - int res = hash_lookup(&dm->hash, h, path); + int res = hash_lookup(g_hash_table, h, path); pthread_rwlock_unlock(&dm->rwlock); return res; @@ -58,7 +62,7 @@ int insert_node(DirManager* dm, const char* path) { (int)(p - path), path); uint64_t h = hash_path_poly(full_key); - int node = hash_lookup(&dm->hash, h, full_key); + int node = hash_lookup(g_hash_table, h, full_key); if (*p == '\0') { if (node != -1 || dm->free_list == -1) { @@ -77,7 +81,7 @@ int insert_node(DirManager* dm, const char* path) { n->in_use = true; dm->nodes[parent].first_child = new_node; - hash_insert(&dm->hash, h, full_key, new_node); + hash_insert(g_hash_table, h, full_key, new_node); pthread_rwlock_unlock(&dm->rwlock); return new_node; @@ -127,7 +131,7 @@ bool remove_node(DirManager* dm, const char* path) { if (*link == node) *link = n->next_sibling; - hash_remove(&dm->hash, h, path); + hash_remove(g_hash_table, h, path); n->in_use = false; n->next_free = dm->free_list; diff --git a/src/src/daemon/hash.cpp b/src/src/daemon/hash.cpp index 3538d96..0707917 100644 --- a/src/src/daemon/hash.cpp +++ b/src/src/daemon/hash.cpp @@ -1,7 +1,11 @@ #include "daemon/hash.h" #include +// Global HashTable instance - mmap'd in main.cpp +HashTable* g_hash_table = nullptr; + void hash_init(HashTable* ht) { + ht->magic = HASH_TABLE_MAGIC; for (int i = 0; i < HASH_SIZE; i++) ht->buckets[i] = -1; From da6ed82cc0b3ebcf0e922020d8fca654a364d373 Mon Sep 17 00:00:00 2001 From: Diya Limbani Date: Mon, 9 Feb 2026 19:19:00 +0530 Subject: [PATCH 09/15] added inode --- src/include/daemon/dir_manager.h | 64 ++------------------------------ 1 file changed, 3 insertions(+), 61 deletions(-) diff --git a/src/include/daemon/dir_manager.h b/src/include/daemon/dir_manager.h index 23a6419..eb0d457 100644 --- a/src/include/daemon/dir_manager.h +++ b/src/include/daemon/dir_manager.h @@ -13,6 +13,9 @@ typedef struct DirNode { int parent; int first_child; int next_sibling; + + int inode; + bool in_use; int next_free; } DirNode; @@ -31,64 +34,3 @@ int insert_node(DirManager* dm, const char* path); int lookup_node(DirManager* dm, const char* path); bool remove_node(DirManager* dm, const char* path); bool is_dir_manager_initialized(DirManager* dm); - - - -// #pragma once - -// #include -// #include -// #include -// #include "daemon/hash.h" - -// #define MAX_NODES 10000 -// #define NAME_SIZE 256 - -// /* =============================== -// * Persistent node (mmap-safe) -// * =============================== */ -// typedef struct DirNode { -// char name[NAME_SIZE]; -// int parent; -// int first_child; -// int next_sibling; -// bool in_use; -// int next_free; -// } DirNode; - -// /* =============================== -// * Persistent DirManager data -// * (this lives in mmap) -// * =============================== */ -// typedef struct DirManagerData { -// DirNode nodes[MAX_NODES]; -// int root; -// int free_list; -// HashTable hash; -// } DirManagerData; - -// /* =============================== -// * Runtime wrapper -// * (lives in RAM only) -// * =============================== */ -// typedef struct DirManager { -// DirManagerData* data; // mmap region -// pthread_rwlock_t rwlock; // in-RAM lock -// int fd; // backing file descriptor -// size_t size; // mmap size -// } DirManager; - -// /* =============================== -// * API -// * =============================== */ - -// /* Initialize DirManager using mmap-backed file */ -// DirManager* dir_manager_init(const char* backing_file); - -// /* Cleanup */ -// void dir_manager_destroy(DirManager* dm); - -// /* Directory operations */ -// int insert_node(DirManager* dm, const char* path); -// int lookup_node(DirManager* dm, const char* path); -// bool remove_node(DirManager* dm, const char* path); From 22e2d80389ed97f6e858f7259439dc6b308ca88d Mon Sep 17 00:00:00 2001 From: Diya Limbani Date: Wed, 11 Feb 2026 17:29:00 +0530 Subject: [PATCH 10/15] implemented file related fuse functions --- CMakeLists.txt | 5 +- build/CMakeFiles/CMakeConfigureLog.yaml | 180 +- .../CMakeFiles/FastDevFS.dir/DependInfo.cmake | 3 + build/CMakeFiles/FastDevFS.dir/build.make | 56 +- .../FastDevFS.dir/cmake_clean.cmake | 6 + .../FastDevFS.dir/compiler_depend.internal | 1742 +++++++++++++++- .../FastDevFS.dir/compiler_depend.make | 1825 ++++++++++++++++- build/CMakeFiles/FastDevFS.dir/link.txt | 2 +- build/CMakeFiles/FastDevFS.dir/progress.make | 3 + build/CMakeFiles/Makefile2 | 6 +- build/CMakeFiles/progress.marks | 2 +- build/FastDevFS | Bin 22808 -> 33200 bytes build/Makefile | 81 + .../run_tests.dir/compiler_depend.internal | 150 ++ .../run_tests.dir/compiler_depend.make | 860 ++++---- .../CMakeFiles/run_tests.dir/progress.make | 12 +- build/test/run_tests | Bin 806112 -> 810472 bytes dir_tree.dat | Bin 2760072 -> 3280072 bytes hash_table.dat | Bin 10416400 -> 10416400 bytes main.cpp | 23 +- src/include/daemon/dir_manager.h | 13 +- src/include/daemon/file_io.h | 59 + src/include/fuse_functions/file_funcs.h | 17 + src/include/fuse_functions/utimens.h | 15 + src/src/daemon/dir_manager.cpp | 220 +- src/src/daemon/file_io.cpp | 107 + src/src/fuse_functions/access.cpp | 3 + src/src/fuse_functions/file_funcs.cpp | 195 ++ src/src/fuse_functions/getattr.cpp | 28 +- src/src/fuse_functions/mkdir.cpp | 5 + src/src/fuse_functions/opendir.cpp | 3 + src/src/fuse_functions/readdir.cpp | 7 +- src/src/fuse_functions/rmdir.cpp | 5 +- src/src/fuse_functions/statfs.cpp | 2 + src/src/fuse_functions/utimens.cpp | 44 + test_dir/a.txt | 1 + 36 files changed, 5042 insertions(+), 638 deletions(-) create mode 100644 src/include/daemon/file_io.h create mode 100644 src/include/fuse_functions/file_funcs.h create mode 100644 src/include/fuse_functions/utimens.h create mode 100644 src/src/daemon/file_io.cpp create mode 100644 src/src/fuse_functions/file_funcs.cpp create mode 100644 src/src/fuse_functions/utimens.cpp create mode 100644 test_dir/a.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 55bea03..e625a99 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,14 +16,17 @@ add_executable(FastDevFS src/src/fuse_functions/rmdir.cpp src/src/fuse_functions/access.cpp src/src/fuse_functions/statfs.cpp + src/src/fuse_functions/file_funcs.cpp + src/src/fuse_functions/utimens.cpp src/src/daemon/dir_manager.cpp src/src/daemon/hash.cpp + src/src/daemon/file_io.cpp ) target_include_directories(FastDevFS PRIVATE ${FUSE3_INCLUDE_DIRS} - ${CMAKE_SOURCE_DIR}/src/include + ${CMAKE_SOURCE_DIR}/src/include ) target_link_libraries(FastDevFS PRIVATE ${FUSE3_LIBRARIES}) diff --git a/build/CMakeFiles/CMakeConfigureLog.yaml b/build/CMakeFiles/CMakeConfigureLog.yaml index 5b8938b..6badad8 100644 --- a/build/CMakeFiles/CMakeConfigureLog.yaml +++ b/build/CMakeFiles/CMakeConfigureLog.yaml @@ -61,8 +61,8 @@ events: checks: - "Detecting C compiler ABI info" directories: - source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-u56iWJ" - binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-u56iWJ" + source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-QZ35ac" + binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-QZ35ac" cmakeVariables: CMAKE_C_FLAGS: "" CMAKE_C_FLAGS_DEBUG: "-g" @@ -71,13 +71,13 @@ events: variable: "CMAKE_C_ABI_COMPILED" cached: true stdout: | - Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-u56iWJ' + Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-QZ35ac' - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_f1564/fast - /usr/bin/gmake -f CMakeFiles/cmTC_f1564.dir/build.make CMakeFiles/cmTC_f1564.dir/build - gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-u56iWJ' - Building C object CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o - /usr/bin/cc -v -o CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c + Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_4b6ba/fast + /usr/bin/gmake -f CMakeFiles/cmTC_4b6ba.dir/build.make CMakeFiles/cmTC_4b6ba.dir/build + gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-QZ35ac' + Building C object CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o + /usr/bin/cc -v -o CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c Using built-in specs. COLLECT_GCC=/usr/bin/cc OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa @@ -87,8 +87,8 @@ events: Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f1564.dir/' - /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_f1564.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccs6Ujf9.s + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4b6ba.dir/' + /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_4b6ba.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccnguc11.s GNU C17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu) compiled by GNU C version 13.3.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP @@ -105,15 +105,15 @@ events: /usr/include End of search list. Compiler executable checksum: 38987c28e967c64056a6454abdef726e - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f1564.dir/' - as -v --64 -o CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o /tmp/ccs6Ujf9.s + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4b6ba.dir/' + as -v --64 -o CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o /tmp/ccnguc11.s GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42 COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.' - Linking C executable cmTC_f1564 - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f1564.dir/link.txt --verbose=1 - /usr/bin/cc -v CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o -o cmTC_f1564 + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.' + Linking C executable cmTC_4b6ba + /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_4b6ba.dir/link.txt --verbose=1 + /usr/bin/cc -v CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o -o cmTC_4b6ba Using built-in specs. COLLECT_GCC=/usr/bin/cc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper @@ -126,10 +126,10 @@ events: gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f1564' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_f1564.' - /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccgKdcAD.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_f1564 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f1564' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_f1564.' - gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-u56iWJ' + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_4b6ba' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_4b6ba.' + /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccTO3Yu4.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_4b6ba /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_4b6ba' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_4b6ba.' + gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-QZ35ac' exitCode: 0 - @@ -163,13 +163,13 @@ events: message: | Parsed C implicit link information: link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] - ignore line: [Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-u56iWJ'] + ignore line: [Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-QZ35ac'] ignore line: [] - ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_f1564/fast] - ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_f1564.dir/build.make CMakeFiles/cmTC_f1564.dir/build] - ignore line: [gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-u56iWJ'] - ignore line: [Building C object CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o] - ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c] + ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_4b6ba/fast] + ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_4b6ba.dir/build.make CMakeFiles/cmTC_4b6ba.dir/build] + ignore line: [gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-QZ35ac'] + ignore line: [Building C object CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/cc] ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] @@ -179,8 +179,8 @@ events: ignore line: [Thread model: posix] ignore line: [Supported LTO compression algorithms: zlib zstd] ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f1564.dir/'] - ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_f1564.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccs6Ujf9.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4b6ba.dir/'] + ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_4b6ba.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccnguc11.s] ignore line: [GNU C17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu)] ignore line: [ compiled by GNU C version 13.3.0 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] ignore line: [] @@ -197,15 +197,15 @@ events: ignore line: [ /usr/include] ignore line: [End of search list.] ignore line: [Compiler executable checksum: 38987c28e967c64056a6454abdef726e] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f1564.dir/'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o /tmp/ccs6Ujf9.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4b6ba.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o /tmp/ccnguc11.s] ignore line: [GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.'] - ignore line: [Linking C executable cmTC_f1564] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f1564.dir/link.txt --verbose=1] - ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o -o cmTC_f1564 ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.'] + ignore line: [Linking C executable cmTC_4b6ba] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_4b6ba.dir/link.txt --verbose=1] + ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o -o cmTC_4b6ba ] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/cc] ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] @@ -218,13 +218,13 @@ events: ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f1564' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_f1564.'] - link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccgKdcAD.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_f1564 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_4b6ba' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_4b6ba.'] + link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccTO3Yu4.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_4b6ba /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] arg [/usr/libexec/gcc/x86_64-linux-gnu/13/collect2] ==> ignore arg [-plugin] ==> ignore arg [/usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so] ==> ignore arg [-plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/ccgKdcAD.res] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccTO3Yu4.res] ==> ignore arg [-plugin-opt=-pass-through=-lgcc] ==> ignore arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore arg [-plugin-opt=-pass-through=-lc] ==> ignore @@ -242,7 +242,7 @@ events: arg [-znow] ==> ignore arg [-zrelro] ==> ignore arg [-o] ==> ignore - arg [cmTC_f1564] ==> ignore + arg [cmTC_4b6ba] ==> ignore arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] @@ -254,7 +254,7 @@ events: arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..] - arg [CMakeFiles/cmTC_f1564.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o] ==> ignore arg [-lgcc] ==> lib [gcc] arg [--push-state] ==> ignore arg [--as-needed] ==> ignore @@ -294,8 +294,8 @@ events: checks: - "Detecting CXX compiler ABI info" directories: - source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-d9quLz" - binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-d9quLz" + source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-ntmMuY" + binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-ntmMuY" cmakeVariables: CMAKE_CXX_FLAGS: "" CMAKE_CXX_FLAGS_DEBUG: "-g" @@ -304,13 +304,13 @@ events: variable: "CMAKE_CXX_ABI_COMPILED" cached: true stdout: | - Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-d9quLz' + Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-ntmMuY' - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_1e1d1/fast - /usr/bin/gmake -f CMakeFiles/cmTC_1e1d1.dir/build.make CMakeFiles/cmTC_1e1d1.dir/build - gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-d9quLz' - Building CXX object CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o - /usr/bin/c++ -v -o CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp + Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_0feb6/fast + /usr/bin/gmake -f CMakeFiles/cmTC_0feb6.dir/build.make CMakeFiles/cmTC_0feb6.dir/build + gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-ntmMuY' + Building CXX object CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o + /usr/bin/c++ -v -o CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp Using built-in specs. COLLECT_GCC=/usr/bin/c++ OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa @@ -320,8 +320,8 @@ events: Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1e1d1.dir/' - /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_1e1d1.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cch6PYhL.s + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_0feb6.dir/' + /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_0feb6.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccYyqWpk.s GNU C++17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu) compiled by GNU C version 13.3.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP @@ -342,15 +342,15 @@ events: /usr/include End of search list. Compiler executable checksum: c81c05345ce537099dafd5580045814a - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1e1d1.dir/' - as -v --64 -o CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o /tmp/cch6PYhL.s + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_0feb6.dir/' + as -v --64 -o CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccYyqWpk.s GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42 COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.' - Linking CXX executable cmTC_1e1d1 - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_1e1d1.dir/link.txt --verbose=1 - /usr/bin/c++ -v CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_1e1d1 + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.' + Linking CXX executable cmTC_0feb6 + /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_0feb6.dir/link.txt --verbose=1 + /usr/bin/c++ -v CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_0feb6 Using built-in specs. COLLECT_GCC=/usr/bin/c++ COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper @@ -363,10 +363,10 @@ events: gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_1e1d1' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_1e1d1.' - /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccd8u9NF.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_1e1d1 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_1e1d1' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_1e1d1.' - gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-d9quLz' + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_0feb6' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_0feb6.' + /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccXKUEr3.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_0feb6 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_0feb6' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_0feb6.' + gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-ntmMuY' exitCode: 0 - @@ -406,13 +406,13 @@ events: message: | Parsed CXX implicit link information: link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] - ignore line: [Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-d9quLz'] + ignore line: [Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-ntmMuY'] ignore line: [] - ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_1e1d1/fast] - ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_1e1d1.dir/build.make CMakeFiles/cmTC_1e1d1.dir/build] - ignore line: [gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-d9quLz'] - ignore line: [Building CXX object CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o] - ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_0feb6/fast] + ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_0feb6.dir/build.make CMakeFiles/cmTC_0feb6.dir/build] + ignore line: [gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-ntmMuY'] + ignore line: [Building CXX object CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/c++] ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] @@ -422,8 +422,8 @@ events: ignore line: [Thread model: posix] ignore line: [Supported LTO compression algorithms: zlib zstd] ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1e1d1.dir/'] - ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_1e1d1.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cch6PYhL.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_0feb6.dir/'] + ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_0feb6.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccYyqWpk.s] ignore line: [GNU C++17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu)] ignore line: [ compiled by GNU C version 13.3.0 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] ignore line: [] @@ -444,15 +444,15 @@ events: ignore line: [ /usr/include] ignore line: [End of search list.] ignore line: [Compiler executable checksum: c81c05345ce537099dafd5580045814a] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1e1d1.dir/'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o /tmp/cch6PYhL.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_0feb6.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccYyqWpk.s] ignore line: [GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.'] - ignore line: [Linking CXX executable cmTC_1e1d1] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_1e1d1.dir/link.txt --verbose=1] - ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_1e1d1 ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [Linking CXX executable cmTC_0feb6] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_0feb6.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_0feb6 ] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/c++] ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] @@ -465,13 +465,13 @@ events: ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_1e1d1' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_1e1d1.'] - link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccd8u9NF.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_1e1d1 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_0feb6' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_0feb6.'] + link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccXKUEr3.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_0feb6 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] arg [/usr/libexec/gcc/x86_64-linux-gnu/13/collect2] ==> ignore arg [-plugin] ==> ignore arg [/usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so] ==> ignore arg [-plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/ccd8u9NF.res] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccXKUEr3.res] ==> ignore arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore arg [-plugin-opt=-pass-through=-lgcc] ==> ignore arg [-plugin-opt=-pass-through=-lc] ==> ignore @@ -489,7 +489,7 @@ events: arg [-znow] ==> ignore arg [-zrelro] ==> ignore arg [-o] ==> ignore - arg [cmTC_1e1d1] ==> ignore + arg [cmTC_0feb6] ==> ignore arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] @@ -501,7 +501,7 @@ events: arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..] - arg [CMakeFiles/cmTC_1e1d1.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore arg [-lstdc++] ==> lib [stdc++] arg [-lm] ==> lib [m] arg [-lgcc_s] ==> lib [gcc_s] @@ -540,8 +540,8 @@ events: - "/usr/share/cmake-3.28/Modules/FindGTest.cmake:194 (find_package)" - "test/CMakeLists.txt:3 (find_package)" directories: - source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-fQGn68" - binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-fQGn68" + source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-0qIlcU" + binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-0qIlcU" cmakeVariables: CMAKE_C_FLAGS: "" CMAKE_C_FLAGS_DEBUG: "-g" @@ -550,17 +550,17 @@ events: variable: "CMAKE_HAVE_LIBC_PTHREAD" cached: true stdout: | - Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-fQGn68' + Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-0qIlcU' - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_ebbcd/fast - /usr/bin/gmake -f CMakeFiles/cmTC_ebbcd.dir/build.make CMakeFiles/cmTC_ebbcd.dir/build - gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-fQGn68' - Building C object CMakeFiles/cmTC_ebbcd.dir/src.c.o - /usr/bin/cc -DCMAKE_HAVE_LIBC_PTHREAD -o CMakeFiles/cmTC_ebbcd.dir/src.c.o -c /home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-fQGn68/src.c - Linking C executable cmTC_ebbcd - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_ebbcd.dir/link.txt --verbose=1 - /usr/bin/cc CMakeFiles/cmTC_ebbcd.dir/src.c.o -o cmTC_ebbcd - gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-fQGn68' + Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_ffaba/fast + /usr/bin/gmake -f CMakeFiles/cmTC_ffaba.dir/build.make CMakeFiles/cmTC_ffaba.dir/build + gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-0qIlcU' + Building C object CMakeFiles/cmTC_ffaba.dir/src.c.o + /usr/bin/cc -DCMAKE_HAVE_LIBC_PTHREAD -o CMakeFiles/cmTC_ffaba.dir/src.c.o -c /home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-0qIlcU/src.c + Linking C executable cmTC_ffaba + /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_ffaba.dir/link.txt --verbose=1 + /usr/bin/cc CMakeFiles/cmTC_ffaba.dir/src.c.o -o cmTC_ffaba + gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-0qIlcU' exitCode: 0 ... diff --git a/build/CMakeFiles/FastDevFS.dir/DependInfo.cmake b/build/CMakeFiles/FastDevFS.dir/DependInfo.cmake index 7ec3e69..0484143 100644 --- a/build/CMakeFiles/FastDevFS.dir/DependInfo.cmake +++ b/build/CMakeFiles/FastDevFS.dir/DependInfo.cmake @@ -10,14 +10,17 @@ set(CMAKE_DEPENDS_LANGUAGES set(CMAKE_DEPENDS_DEPENDENCY_FILES "/home/diya_limbani/FastDevFs/main.cpp" "CMakeFiles/FastDevFS.dir/main.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/main.cpp.o.d" "/home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp" "CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o.d" + "/home/diya_limbani/FastDevFs/src/src/daemon/file_io.cpp" "CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o.d" "/home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp" "CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o.d" "/home/diya_limbani/FastDevFs/src/src/fuse_functions/access.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o.d" + "/home/diya_limbani/FastDevFs/src/src/fuse_functions/file_funcs.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o.d" "/home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o.d" "/home/diya_limbani/FastDevFs/src/src/fuse_functions/mkdir.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o.d" "/home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o.d" "/home/diya_limbani/FastDevFs/src/src/fuse_functions/readdir.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o.d" "/home/diya_limbani/FastDevFs/src/src/fuse_functions/rmdir.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o.d" "/home/diya_limbani/FastDevFs/src/src/fuse_functions/statfs.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o.d" + "/home/diya_limbani/FastDevFs/src/src/fuse_functions/utimens.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o.d" ) # Targets to which this target links which contain Fortran sources. diff --git a/build/CMakeFiles/FastDevFS.dir/build.make b/build/CMakeFiles/FastDevFS.dir/build.make index ed133ff..5faa861 100644 --- a/build/CMakeFiles/FastDevFS.dir/build.make +++ b/build/CMakeFiles/FastDevFS.dir/build.make @@ -181,10 +181,38 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.s: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.s" /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/fuse_functions/statfs.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.s +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o: CMakeFiles/FastDevFS.dir/flags.make +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/file_funcs.cpp +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o: CMakeFiles/FastDevFS.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o -c /home/diya_limbani/FastDevFs/src/src/fuse_functions/file_funcs.cpp + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/fuse_functions/file_funcs.cpp > CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.i + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/fuse_functions/file_funcs.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.s + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o: CMakeFiles/FastDevFS.dir/flags.make +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/utimens.cpp +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o: CMakeFiles/FastDevFS.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o -c /home/diya_limbani/FastDevFs/src/src/fuse_functions/utimens.cpp + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/fuse_functions/utimens.cpp > CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.i + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/fuse_functions/utimens.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.s + CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o: CMakeFiles/FastDevFS.dir/flags.make CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o: CMakeFiles/FastDevFS.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o -c /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.i: cmake_force @@ -198,7 +226,7 @@ CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.s: cmake_force CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o: CMakeFiles/FastDevFS.dir/flags.make CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o: CMakeFiles/FastDevFS.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_12) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o -c /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.i: cmake_force @@ -209,6 +237,20 @@ CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.s: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.s" /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp -o CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.s +CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o: CMakeFiles/FastDevFS.dir/flags.make +CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/file_io.cpp +CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o: CMakeFiles/FastDevFS.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_13) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o -c /home/diya_limbani/FastDevFs/src/src/daemon/file_io.cpp + +CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/daemon/file_io.cpp > CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.i + +CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/daemon/file_io.cpp -o CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.s + # Object files for target FastDevFS FastDevFS_OBJECTS = \ "CMakeFiles/FastDevFS.dir/main.cpp.o" \ @@ -219,8 +261,11 @@ FastDevFS_OBJECTS = \ "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o" \ "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o" \ "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o" \ +"CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o" \ +"CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o" \ "CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o" \ -"CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o" +"CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o" \ +"CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o" # External object files for target FastDevFS FastDevFS_EXTERNAL_OBJECTS = @@ -233,11 +278,14 @@ FastDevFS: CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o FastDevFS: CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o FastDevFS: CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o FastDevFS: CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o +FastDevFS: CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o +FastDevFS: CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o FastDevFS: CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o FastDevFS: CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o +FastDevFS: CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o FastDevFS: CMakeFiles/FastDevFS.dir/build.make FastDevFS: CMakeFiles/FastDevFS.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Linking CXX executable FastDevFS" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_14) "Linking CXX executable FastDevFS" $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/FastDevFS.dir/link.txt --verbose=$(VERBOSE) # Rule to build all files generated by this target. diff --git a/build/CMakeFiles/FastDevFS.dir/cmake_clean.cmake b/build/CMakeFiles/FastDevFS.dir/cmake_clean.cmake index ed24946..4f15c53 100644 --- a/build/CMakeFiles/FastDevFS.dir/cmake_clean.cmake +++ b/build/CMakeFiles/FastDevFS.dir/cmake_clean.cmake @@ -3,10 +3,14 @@ file(REMOVE_RECURSE "CMakeFiles/FastDevFS.dir/main.cpp.o.d" "CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o" "CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o.d" + "CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o" + "CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o.d" "CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o" "CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o.d" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o.d" + "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o" + "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o.d" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o.d" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o" @@ -19,6 +23,8 @@ file(REMOVE_RECURSE "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o.d" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o.d" + "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o" + "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o.d" "FastDevFS" "FastDevFS.pdb" ) diff --git a/build/CMakeFiles/FastDevFS.dir/compiler_depend.internal b/build/CMakeFiles/FastDevFS.dir/compiler_depend.internal index 1baae91..d1a3c4b 100644 --- a/build/CMakeFiles/FastDevFS.dir/compiler_depend.internal +++ b/build/CMakeFiles/FastDevFS.dir/compiler_depend.internal @@ -4,14 +4,17 @@ CMakeFiles/FastDevFS.dir/main.cpp.o /home/diya_limbani/FastDevFs/main.cpp /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h + /home/diya_limbani/FastDevFs/src/include/daemon/file_io.h /home/diya_limbani/FastDevFs/src/include/daemon/hash.h /home/diya_limbani/FastDevFs/src/include/fuse_functions/access.h + /home/diya_limbani/FastDevFs/src/include/fuse_functions/file_funcs.h /home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h /home/diya_limbani/FastDevFs/src/include/fuse_functions/mkdir.h /home/diya_limbani/FastDevFs/src/include/fuse_functions/opendir.h /home/diya_limbani/FastDevFs/src/include/fuse_functions/readdir.h /home/diya_limbani/FastDevFs/src/include/fuse_functions/rmdir.h /home/diya_limbani/FastDevFs/src/include/fuse_functions/statfs.h + /home/diya_limbani/FastDevFs/src/include/fuse_functions/utimens.h /usr/include/alloca.h /usr/include/asm-generic/bitsperlong.h /usr/include/asm-generic/errno-base.h @@ -255,37 +258,776 @@ CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h /home/diya_limbani/FastDevFs/src/include/daemon/hash.h + /usr/include/alloca.h + /usr/include/asm-generic/bitsperlong.h + /usr/include/asm-generic/errno-base.h + /usr/include/asm-generic/errno.h + /usr/include/asm-generic/int-ll64.h + /usr/include/asm-generic/posix_types.h + /usr/include/asm-generic/types.h + /usr/include/c++/13/backward/binders.h + /usr/include/c++/13/bit + /usr/include/c++/13/bits/alloc_traits.h + /usr/include/c++/13/bits/allocator.h + /usr/include/c++/13/bits/basic_ios.h + /usr/include/c++/13/bits/basic_ios.tcc + /usr/include/c++/13/bits/basic_string.h + /usr/include/c++/13/bits/basic_string.tcc + /usr/include/c++/13/bits/char_traits.h + /usr/include/c++/13/bits/charconv.h + /usr/include/c++/13/bits/concept_check.h + /usr/include/c++/13/bits/cpp_type_traits.h + /usr/include/c++/13/bits/cxxabi_forced.h + /usr/include/c++/13/bits/cxxabi_init_exception.h + /usr/include/c++/13/bits/exception.h + /usr/include/c++/13/bits/exception_defines.h + /usr/include/c++/13/bits/exception_ptr.h + /usr/include/c++/13/bits/functexcept.h + /usr/include/c++/13/bits/functional_hash.h + /usr/include/c++/13/bits/hash_bytes.h + /usr/include/c++/13/bits/invoke.h + /usr/include/c++/13/bits/ios_base.h + /usr/include/c++/13/bits/istream.tcc + /usr/include/c++/13/bits/locale_classes.h + /usr/include/c++/13/bits/locale_classes.tcc + /usr/include/c++/13/bits/locale_facets.h + /usr/include/c++/13/bits/locale_facets.tcc + /usr/include/c++/13/bits/localefwd.h + /usr/include/c++/13/bits/memory_resource.h + /usr/include/c++/13/bits/memoryfwd.h + /usr/include/c++/13/bits/move.h + /usr/include/c++/13/bits/nested_exception.h + /usr/include/c++/13/bits/new_allocator.h + /usr/include/c++/13/bits/ostream.tcc + /usr/include/c++/13/bits/ostream_insert.h + /usr/include/c++/13/bits/postypes.h + /usr/include/c++/13/bits/predefined_ops.h + /usr/include/c++/13/bits/ptr_traits.h + /usr/include/c++/13/bits/range_access.h + /usr/include/c++/13/bits/refwrap.h + /usr/include/c++/13/bits/requires_hosted.h + /usr/include/c++/13/bits/std_abs.h + /usr/include/c++/13/bits/stl_algobase.h + /usr/include/c++/13/bits/stl_construct.h + /usr/include/c++/13/bits/stl_function.h + /usr/include/c++/13/bits/stl_iterator.h + /usr/include/c++/13/bits/stl_iterator_base_funcs.h + /usr/include/c++/13/bits/stl_iterator_base_types.h + /usr/include/c++/13/bits/stl_pair.h + /usr/include/c++/13/bits/streambuf.tcc + /usr/include/c++/13/bits/streambuf_iterator.h + /usr/include/c++/13/bits/string_view.tcc + /usr/include/c++/13/bits/stringfwd.h + /usr/include/c++/13/bits/uses_allocator.h + /usr/include/c++/13/bits/uses_allocator_args.h + /usr/include/c++/13/bits/utility.h + /usr/include/c++/13/cctype + /usr/include/c++/13/cerrno + /usr/include/c++/13/clocale + /usr/include/c++/13/cstddef + /usr/include/c++/13/cstdio + /usr/include/c++/13/cstdlib + /usr/include/c++/13/ctime + /usr/include/c++/13/cwchar + /usr/include/c++/13/cwctype + /usr/include/c++/13/debug/assertions.h + /usr/include/c++/13/debug/debug.h + /usr/include/c++/13/exception + /usr/include/c++/13/ext/alloc_traits.h + /usr/include/c++/13/ext/atomicity.h + /usr/include/c++/13/ext/numeric_traits.h + /usr/include/c++/13/ext/string_conversions.h + /usr/include/c++/13/ext/type_traits.h + /usr/include/c++/13/initializer_list + /usr/include/c++/13/ios + /usr/include/c++/13/iosfwd + /usr/include/c++/13/iostream + /usr/include/c++/13/istream + /usr/include/c++/13/new + /usr/include/c++/13/ostream + /usr/include/c++/13/pstl/pstl_config.h + /usr/include/c++/13/stdexcept + /usr/include/c++/13/streambuf + /usr/include/c++/13/string + /usr/include/c++/13/string_view + /usr/include/c++/13/system_error + /usr/include/c++/13/tuple + /usr/include/c++/13/type_traits + /usr/include/c++/13/typeinfo + /usr/include/ctype.h + /usr/include/endian.h + /usr/include/errno.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/linux/close_range.h + /usr/include/linux/errno.h + /usr/include/linux/posix_types.h + /usr/include/linux/stat.h + /usr/include/linux/stddef.h + /usr/include/linux/types.h + /usr/include/locale.h + /usr/include/pthread.h + /usr/include/sched.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/stdio.h + /usr/include/stdlib.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/time.h + /usr/include/unistd.h + /usr/include/wchar.h + /usr/include/wctype.h + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h + /usr/include/x86_64-linux-gnu/asm/errno.h + /usr/include/x86_64-linux-gnu/asm/posix_types.h + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h + /usr/include/x86_64-linux-gnu/asm/types.h + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/x86_64-linux-gnu/bits/byteswap.h + /usr/include/x86_64-linux-gnu/bits/confname.h + /usr/include/x86_64-linux-gnu/bits/cpu-set.h + /usr/include/x86_64-linux-gnu/bits/endian.h + /usr/include/x86_64-linux-gnu/bits/endianness.h + /usr/include/x86_64-linux-gnu/bits/environments.h + /usr/include/x86_64-linux-gnu/bits/errno.h + /usr/include/x86_64-linux-gnu/bits/floatn-common.h + /usr/include/x86_64-linux-gnu/bits/floatn.h + /usr/include/x86_64-linux-gnu/bits/getopt_core.h + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/locale.h + /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/posix_opt.h + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h + /usr/include/x86_64-linux-gnu/bits/sched.h + /usr/include/x86_64-linux-gnu/bits/select.h + /usr/include/x86_64-linux-gnu/bits/setjmp.h + /usr/include/x86_64-linux-gnu/bits/stat.h + /usr/include/x86_64-linux-gnu/bits/statx-generic.h + /usr/include/x86_64-linux-gnu/bits/statx.h + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h + /usr/include/x86_64-linux-gnu/bits/stdint-least.h + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h + /usr/include/x86_64-linux-gnu/bits/struct_stat.h + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h + /usr/include/x86_64-linux-gnu/bits/time.h + /usr/include/x86_64-linux-gnu/bits/time64.h + /usr/include/x86_64-linux-gnu/bits/timesize.h + /usr/include/x86_64-linux-gnu/bits/timex.h + /usr/include/x86_64-linux-gnu/bits/types.h + /usr/include/x86_64-linux-gnu/bits/types/FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h + /usr/include/x86_64-linux-gnu/bits/types/error_t.h + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h + /usr/include/x86_64-linux-gnu/bits/types/time_t.h + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h + /usr/include/x86_64-linux-gnu/bits/typesizes.h + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h + /usr/include/x86_64-linux-gnu/bits/waitflags.h + /usr/include/x86_64-linux-gnu/bits/waitstatus.h + /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h + /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h + /usr/include/x86_64-linux-gnu/gnu/stubs.h + /usr/include/x86_64-linux-gnu/sys/cdefs.h + /usr/include/x86_64-linux-gnu/sys/select.h + /usr/include/x86_64-linux-gnu/sys/single_threaded.h + /usr/include/x86_64-linux-gnu/sys/stat.h + /usr/include/x86_64-linux-gnu/sys/types.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o + /home/diya_limbani/FastDevFs/src/src/daemon/file_io.cpp + /home/diya_limbani/FastDevFs/src/include/daemon/file_io.h + /usr/include/alloca.h + /usr/include/asm-generic/bitsperlong.h + /usr/include/asm-generic/errno-base.h + /usr/include/asm-generic/errno.h + /usr/include/asm-generic/int-ll64.h + /usr/include/asm-generic/posix_types.h + /usr/include/asm-generic/types.h + /usr/include/c++/13/bits/std_abs.h + /usr/include/c++/13/cstdlib + /usr/include/c++/13/pstl/pstl_config.h + /usr/include/c++/13/stdlib.h + /usr/include/endian.h + /usr/include/errno.h + /usr/include/fcntl.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/linux/close_range.h + /usr/include/linux/errno.h + /usr/include/linux/falloc.h + /usr/include/linux/posix_types.h + /usr/include/linux/stat.h + /usr/include/linux/stddef.h + /usr/include/linux/types.h + /usr/include/stdc-predef.h + /usr/include/stdio.h + /usr/include/stdlib.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/unistd.h + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h + /usr/include/x86_64-linux-gnu/asm/errno.h + /usr/include/x86_64-linux-gnu/asm/posix_types.h + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h + /usr/include/x86_64-linux-gnu/asm/types.h + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/x86_64-linux-gnu/bits/byteswap.h + /usr/include/x86_64-linux-gnu/bits/confname.h + /usr/include/x86_64-linux-gnu/bits/endian.h + /usr/include/x86_64-linux-gnu/bits/endianness.h + /usr/include/x86_64-linux-gnu/bits/environments.h + /usr/include/x86_64-linux-gnu/bits/errno.h + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h + /usr/include/x86_64-linux-gnu/bits/fcntl.h + /usr/include/x86_64-linux-gnu/bits/floatn-common.h + /usr/include/x86_64-linux-gnu/bits/floatn.h + /usr/include/x86_64-linux-gnu/bits/getopt_core.h + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/posix_opt.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h + /usr/include/x86_64-linux-gnu/bits/select.h + /usr/include/x86_64-linux-gnu/bits/stat.h + /usr/include/x86_64-linux-gnu/bits/statx-generic.h + /usr/include/x86_64-linux-gnu/bits/statx.h + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h + /usr/include/x86_64-linux-gnu/bits/struct_stat.h + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h + /usr/include/x86_64-linux-gnu/bits/time64.h + /usr/include/x86_64-linux-gnu/bits/timesize.h + /usr/include/x86_64-linux-gnu/bits/types.h + /usr/include/x86_64-linux-gnu/bits/types/FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h + /usr/include/x86_64-linux-gnu/bits/types/error_t.h + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h + /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h + /usr/include/x86_64-linux-gnu/bits/types/time_t.h + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h + /usr/include/x86_64-linux-gnu/bits/typesizes.h + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h + /usr/include/x86_64-linux-gnu/bits/waitflags.h + /usr/include/x86_64-linux-gnu/bits/waitstatus.h + /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h + /usr/include/x86_64-linux-gnu/gnu/stubs.h + /usr/include/x86_64-linux-gnu/sys/cdefs.h + /usr/include/x86_64-linux-gnu/sys/select.h + /usr/include/x86_64-linux-gnu/sys/stat.h + /usr/include/x86_64-linux-gnu/sys/types.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h + +CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o + /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h + /usr/include/x86_64-linux-gnu/bits/stdint-least.h + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h + /usr/include/x86_64-linux-gnu/bits/time64.h + /usr/include/x86_64-linux-gnu/bits/timesize.h + /usr/include/x86_64-linux-gnu/bits/types.h + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/typesizes.h + /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h + /usr/include/x86_64-linux-gnu/gnu/stubs.h + /usr/include/x86_64-linux-gnu/sys/cdefs.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o + /home/diya_limbani/FastDevFs/src/src/fuse_functions/access.cpp + /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h + /home/diya_limbani/FastDevFs/src/include/fuse_functions/access.h + /usr/include/alloca.h + /usr/include/asm-generic/bitsperlong.h + /usr/include/asm-generic/errno-base.h + /usr/include/asm-generic/errno.h + /usr/include/asm-generic/int-ll64.h + /usr/include/asm-generic/posix_types.h + /usr/include/asm-generic/types.h + /usr/include/c++/13/backward/binders.h + /usr/include/c++/13/bit + /usr/include/c++/13/bits/alloc_traits.h + /usr/include/c++/13/bits/allocator.h + /usr/include/c++/13/bits/basic_ios.h + /usr/include/c++/13/bits/basic_ios.tcc + /usr/include/c++/13/bits/basic_string.h + /usr/include/c++/13/bits/basic_string.tcc + /usr/include/c++/13/bits/char_traits.h + /usr/include/c++/13/bits/charconv.h + /usr/include/c++/13/bits/concept_check.h + /usr/include/c++/13/bits/cpp_type_traits.h + /usr/include/c++/13/bits/cxxabi_forced.h + /usr/include/c++/13/bits/cxxabi_init_exception.h + /usr/include/c++/13/bits/exception.h + /usr/include/c++/13/bits/exception_defines.h + /usr/include/c++/13/bits/exception_ptr.h + /usr/include/c++/13/bits/functexcept.h + /usr/include/c++/13/bits/functional_hash.h + /usr/include/c++/13/bits/hash_bytes.h + /usr/include/c++/13/bits/invoke.h + /usr/include/c++/13/bits/ios_base.h + /usr/include/c++/13/bits/istream.tcc + /usr/include/c++/13/bits/locale_classes.h + /usr/include/c++/13/bits/locale_classes.tcc + /usr/include/c++/13/bits/locale_facets.h + /usr/include/c++/13/bits/locale_facets.tcc + /usr/include/c++/13/bits/localefwd.h + /usr/include/c++/13/bits/memory_resource.h + /usr/include/c++/13/bits/memoryfwd.h + /usr/include/c++/13/bits/move.h + /usr/include/c++/13/bits/nested_exception.h + /usr/include/c++/13/bits/new_allocator.h + /usr/include/c++/13/bits/ostream.tcc + /usr/include/c++/13/bits/ostream_insert.h + /usr/include/c++/13/bits/postypes.h + /usr/include/c++/13/bits/predefined_ops.h + /usr/include/c++/13/bits/ptr_traits.h + /usr/include/c++/13/bits/range_access.h + /usr/include/c++/13/bits/refwrap.h + /usr/include/c++/13/bits/requires_hosted.h + /usr/include/c++/13/bits/std_abs.h + /usr/include/c++/13/bits/stl_algobase.h + /usr/include/c++/13/bits/stl_construct.h + /usr/include/c++/13/bits/stl_function.h + /usr/include/c++/13/bits/stl_iterator.h + /usr/include/c++/13/bits/stl_iterator_base_funcs.h + /usr/include/c++/13/bits/stl_iterator_base_types.h + /usr/include/c++/13/bits/stl_pair.h + /usr/include/c++/13/bits/streambuf.tcc + /usr/include/c++/13/bits/streambuf_iterator.h + /usr/include/c++/13/bits/string_view.tcc + /usr/include/c++/13/bits/stringfwd.h + /usr/include/c++/13/bits/uses_allocator.h + /usr/include/c++/13/bits/uses_allocator_args.h + /usr/include/c++/13/bits/utility.h + /usr/include/c++/13/cctype + /usr/include/c++/13/cerrno + /usr/include/c++/13/clocale + /usr/include/c++/13/cstddef + /usr/include/c++/13/cstdio + /usr/include/c++/13/cstdlib + /usr/include/c++/13/cwchar + /usr/include/c++/13/cwctype + /usr/include/c++/13/debug/assertions.h + /usr/include/c++/13/debug/debug.h + /usr/include/c++/13/exception + /usr/include/c++/13/ext/alloc_traits.h + /usr/include/c++/13/ext/atomicity.h + /usr/include/c++/13/ext/numeric_traits.h + /usr/include/c++/13/ext/string_conversions.h + /usr/include/c++/13/ext/type_traits.h + /usr/include/c++/13/initializer_list + /usr/include/c++/13/ios + /usr/include/c++/13/iosfwd + /usr/include/c++/13/iostream + /usr/include/c++/13/istream + /usr/include/c++/13/new + /usr/include/c++/13/ostream + /usr/include/c++/13/pstl/pstl_config.h + /usr/include/c++/13/stdexcept + /usr/include/c++/13/streambuf + /usr/include/c++/13/string + /usr/include/c++/13/string_view + /usr/include/c++/13/system_error + /usr/include/c++/13/tuple + /usr/include/c++/13/type_traits + /usr/include/c++/13/typeinfo + /usr/include/ctype.h + /usr/include/endian.h + /usr/include/errno.h + /usr/include/fcntl.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/fuse3/fuse.h + /usr/include/fuse3/fuse_common.h + /usr/include/fuse3/fuse_log.h + /usr/include/fuse3/fuse_opt.h + /usr/include/fuse3/libfuse_config.h + /usr/include/linux/close_range.h + /usr/include/linux/errno.h + /usr/include/linux/falloc.h + /usr/include/linux/posix_types.h + /usr/include/linux/stat.h + /usr/include/linux/stddef.h + /usr/include/linux/types.h + /usr/include/locale.h + /usr/include/pthread.h + /usr/include/sched.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/stdio.h + /usr/include/stdlib.h + /usr/include/time.h + /usr/include/unistd.h + /usr/include/wchar.h + /usr/include/wctype.h + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h + /usr/include/x86_64-linux-gnu/asm/errno.h + /usr/include/x86_64-linux-gnu/asm/posix_types.h + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h + /usr/include/x86_64-linux-gnu/asm/types.h + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/x86_64-linux-gnu/bits/byteswap.h + /usr/include/x86_64-linux-gnu/bits/confname.h + /usr/include/x86_64-linux-gnu/bits/cpu-set.h + /usr/include/x86_64-linux-gnu/bits/endian.h + /usr/include/x86_64-linux-gnu/bits/endianness.h + /usr/include/x86_64-linux-gnu/bits/environments.h + /usr/include/x86_64-linux-gnu/bits/errno.h + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h + /usr/include/x86_64-linux-gnu/bits/fcntl.h + /usr/include/x86_64-linux-gnu/bits/floatn-common.h + /usr/include/x86_64-linux-gnu/bits/floatn.h + /usr/include/x86_64-linux-gnu/bits/getopt_core.h + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/locale.h + /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/posix_opt.h + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h + /usr/include/x86_64-linux-gnu/bits/sched.h + /usr/include/x86_64-linux-gnu/bits/select.h + /usr/include/x86_64-linux-gnu/bits/setjmp.h + /usr/include/x86_64-linux-gnu/bits/stat.h + /usr/include/x86_64-linux-gnu/bits/statvfs.h + /usr/include/x86_64-linux-gnu/bits/statx-generic.h + /usr/include/x86_64-linux-gnu/bits/statx.h + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h + /usr/include/x86_64-linux-gnu/bits/stdint-least.h + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h + /usr/include/x86_64-linux-gnu/bits/struct_stat.h + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h + /usr/include/x86_64-linux-gnu/bits/time.h + /usr/include/x86_64-linux-gnu/bits/time64.h + /usr/include/x86_64-linux-gnu/bits/timesize.h + /usr/include/x86_64-linux-gnu/bits/timex.h + /usr/include/x86_64-linux-gnu/bits/types.h + /usr/include/x86_64-linux-gnu/bits/types/FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h + /usr/include/x86_64-linux-gnu/bits/types/error_t.h + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h + /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h + /usr/include/x86_64-linux-gnu/bits/types/time_t.h + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h + /usr/include/x86_64-linux-gnu/bits/typesizes.h + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h + /usr/include/x86_64-linux-gnu/bits/uio-ext.h + /usr/include/x86_64-linux-gnu/bits/uio_lim.h + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h + /usr/include/x86_64-linux-gnu/bits/waitflags.h + /usr/include/x86_64-linux-gnu/bits/waitstatus.h + /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h + /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h + /usr/include/x86_64-linux-gnu/gnu/stubs.h + /usr/include/x86_64-linux-gnu/sys/cdefs.h + /usr/include/x86_64-linux-gnu/sys/select.h + /usr/include/x86_64-linux-gnu/sys/single_threaded.h + /usr/include/x86_64-linux-gnu/sys/stat.h + /usr/include/x86_64-linux-gnu/sys/statvfs.h + /usr/include/x86_64-linux-gnu/sys/types.h + /usr/include/x86_64-linux-gnu/sys/uio.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o + /home/diya_limbani/FastDevFs/src/src/fuse_functions/file_funcs.cpp + /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h + /home/diya_limbani/FastDevFs/src/include/daemon/file_io.h + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h + /home/diya_limbani/FastDevFs/src/include/fuse_functions/file_funcs.h + /usr/include/alloca.h + /usr/include/asm-generic/bitsperlong.h + /usr/include/asm-generic/errno-base.h + /usr/include/asm-generic/errno.h + /usr/include/asm-generic/int-ll64.h + /usr/include/asm-generic/posix_types.h + /usr/include/asm-generic/types.h + /usr/include/c++/13/backward/binders.h + /usr/include/c++/13/bit + /usr/include/c++/13/bits/alloc_traits.h + /usr/include/c++/13/bits/allocator.h + /usr/include/c++/13/bits/basic_ios.h + /usr/include/c++/13/bits/basic_ios.tcc + /usr/include/c++/13/bits/basic_string.h + /usr/include/c++/13/bits/basic_string.tcc + /usr/include/c++/13/bits/char_traits.h + /usr/include/c++/13/bits/charconv.h + /usr/include/c++/13/bits/concept_check.h + /usr/include/c++/13/bits/cpp_type_traits.h + /usr/include/c++/13/bits/cxxabi_forced.h + /usr/include/c++/13/bits/cxxabi_init_exception.h + /usr/include/c++/13/bits/exception.h + /usr/include/c++/13/bits/exception_defines.h + /usr/include/c++/13/bits/exception_ptr.h + /usr/include/c++/13/bits/functexcept.h + /usr/include/c++/13/bits/functional_hash.h + /usr/include/c++/13/bits/hash_bytes.h + /usr/include/c++/13/bits/invoke.h + /usr/include/c++/13/bits/ios_base.h + /usr/include/c++/13/bits/istream.tcc + /usr/include/c++/13/bits/locale_classes.h + /usr/include/c++/13/bits/locale_classes.tcc + /usr/include/c++/13/bits/locale_facets.h + /usr/include/c++/13/bits/locale_facets.tcc + /usr/include/c++/13/bits/localefwd.h + /usr/include/c++/13/bits/memory_resource.h + /usr/include/c++/13/bits/memoryfwd.h + /usr/include/c++/13/bits/move.h + /usr/include/c++/13/bits/nested_exception.h + /usr/include/c++/13/bits/new_allocator.h + /usr/include/c++/13/bits/ostream.tcc + /usr/include/c++/13/bits/ostream_insert.h + /usr/include/c++/13/bits/postypes.h + /usr/include/c++/13/bits/predefined_ops.h + /usr/include/c++/13/bits/ptr_traits.h + /usr/include/c++/13/bits/range_access.h + /usr/include/c++/13/bits/refwrap.h + /usr/include/c++/13/bits/requires_hosted.h + /usr/include/c++/13/bits/std_abs.h + /usr/include/c++/13/bits/stl_algobase.h + /usr/include/c++/13/bits/stl_construct.h + /usr/include/c++/13/bits/stl_function.h + /usr/include/c++/13/bits/stl_iterator.h + /usr/include/c++/13/bits/stl_iterator_base_funcs.h + /usr/include/c++/13/bits/stl_iterator_base_types.h + /usr/include/c++/13/bits/stl_pair.h + /usr/include/c++/13/bits/streambuf.tcc + /usr/include/c++/13/bits/streambuf_iterator.h + /usr/include/c++/13/bits/string_view.tcc + /usr/include/c++/13/bits/stringfwd.h + /usr/include/c++/13/bits/uses_allocator.h + /usr/include/c++/13/bits/uses_allocator_args.h + /usr/include/c++/13/bits/utility.h + /usr/include/c++/13/cctype + /usr/include/c++/13/cerrno + /usr/include/c++/13/clocale + /usr/include/c++/13/cstddef /usr/include/c++/13/cstdio + /usr/include/c++/13/cstdlib + /usr/include/c++/13/cstring + /usr/include/c++/13/cwchar + /usr/include/c++/13/cwctype + /usr/include/c++/13/debug/assertions.h + /usr/include/c++/13/debug/debug.h + /usr/include/c++/13/exception + /usr/include/c++/13/ext/alloc_traits.h + /usr/include/c++/13/ext/atomicity.h + /usr/include/c++/13/ext/numeric_traits.h + /usr/include/c++/13/ext/string_conversions.h + /usr/include/c++/13/ext/type_traits.h + /usr/include/c++/13/initializer_list + /usr/include/c++/13/ios + /usr/include/c++/13/iosfwd + /usr/include/c++/13/iostream + /usr/include/c++/13/istream + /usr/include/c++/13/new + /usr/include/c++/13/ostream /usr/include/c++/13/pstl/pstl_config.h + /usr/include/c++/13/stdexcept + /usr/include/c++/13/streambuf + /usr/include/c++/13/string + /usr/include/c++/13/string_view + /usr/include/c++/13/system_error + /usr/include/c++/13/tuple + /usr/include/c++/13/type_traits + /usr/include/c++/13/typeinfo + /usr/include/ctype.h + /usr/include/endian.h + /usr/include/errno.h + /usr/include/fcntl.h /usr/include/features-time64.h /usr/include/features.h + /usr/include/fuse3/fuse.h + /usr/include/fuse3/fuse_common.h + /usr/include/fuse3/fuse_log.h + /usr/include/fuse3/fuse_opt.h + /usr/include/fuse3/libfuse_config.h + /usr/include/linux/close_range.h + /usr/include/linux/errno.h + /usr/include/linux/falloc.h + /usr/include/linux/posix_types.h + /usr/include/linux/stat.h + /usr/include/linux/stddef.h + /usr/include/linux/types.h + /usr/include/locale.h /usr/include/pthread.h /usr/include/sched.h /usr/include/stdc-predef.h /usr/include/stdint.h /usr/include/stdio.h + /usr/include/stdlib.h /usr/include/string.h /usr/include/strings.h /usr/include/time.h + /usr/include/unistd.h + /usr/include/wchar.h + /usr/include/wctype.h + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h + /usr/include/x86_64-linux-gnu/asm/errno.h + /usr/include/x86_64-linux-gnu/asm/posix_types.h + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h + /usr/include/x86_64-linux-gnu/asm/types.h /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/x86_64-linux-gnu/bits/byteswap.h + /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/x86_64-linux-gnu/bits/endian.h /usr/include/x86_64-linux-gnu/bits/endianness.h + /usr/include/x86_64-linux-gnu/bits/environments.h + /usr/include/x86_64-linux-gnu/bits/errno.h + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h + /usr/include/x86_64-linux-gnu/bits/fcntl.h /usr/include/x86_64-linux-gnu/bits/floatn-common.h /usr/include/x86_64-linux-gnu/bits/floatn.h + /usr/include/x86_64-linux-gnu/bits/getopt_core.h + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/posix_opt.h /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/x86_64-linux-gnu/bits/sched.h + /usr/include/x86_64-linux-gnu/bits/select.h /usr/include/x86_64-linux-gnu/bits/setjmp.h + /usr/include/x86_64-linux-gnu/bits/stat.h + /usr/include/x86_64-linux-gnu/bits/statvfs.h + /usr/include/x86_64-linux-gnu/bits/statx-generic.h + /usr/include/x86_64-linux-gnu/bits/statx.h /usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/x86_64-linux-gnu/bits/stdint-least.h /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h /usr/include/x86_64-linux-gnu/bits/stdio_lim.h + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h /usr/include/x86_64-linux-gnu/bits/struct_mutex.h /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h + /usr/include/x86_64-linux-gnu/bits/struct_stat.h /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h /usr/include/x86_64-linux-gnu/bits/time.h /usr/include/x86_64-linux-gnu/bits/time64.h @@ -302,72 +1044,160 @@ CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o /usr/include/x86_64-linux-gnu/bits/types/clock_t.h /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h + /usr/include/x86_64-linux-gnu/bits/types/error_t.h /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h + /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h /usr/include/x86_64-linux-gnu/bits/types/time_t.h /usr/include/x86_64-linux-gnu/bits/types/timer_t.h + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h /usr/include/x86_64-linux-gnu/bits/typesizes.h + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h + /usr/include/x86_64-linux-gnu/bits/uio-ext.h + /usr/include/x86_64-linux-gnu/bits/uio_lim.h + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h + /usr/include/x86_64-linux-gnu/bits/waitflags.h + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h /usr/include/x86_64-linux-gnu/gnu/stubs-64.h /usr/include/x86_64-linux-gnu/gnu/stubs.h /usr/include/x86_64-linux-gnu/sys/cdefs.h + /usr/include/x86_64-linux-gnu/sys/select.h + /usr/include/x86_64-linux-gnu/sys/single_threaded.h + /usr/include/x86_64-linux-gnu/sys/stat.h + /usr/include/x86_64-linux-gnu/sys/statvfs.h + /usr/include/x86_64-linux-gnu/sys/types.h + /usr/include/x86_64-linux-gnu/sys/uio.h /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o - /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h - /usr/include/features-time64.h - /usr/include/features.h - /usr/include/stdc-predef.h - /usr/include/stdint.h - /usr/include/string.h - /usr/include/strings.h - /usr/include/x86_64-linux-gnu/bits/libc-header-start.h - /usr/include/x86_64-linux-gnu/bits/long-double.h - /usr/include/x86_64-linux-gnu/bits/stdint-intn.h - /usr/include/x86_64-linux-gnu/bits/stdint-least.h - /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h - /usr/include/x86_64-linux-gnu/bits/time64.h - /usr/include/x86_64-linux-gnu/bits/timesize.h - /usr/include/x86_64-linux-gnu/bits/types.h - /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h - /usr/include/x86_64-linux-gnu/bits/types/locale_t.h - /usr/include/x86_64-linux-gnu/bits/typesizes.h - /usr/include/x86_64-linux-gnu/bits/wchar.h - /usr/include/x86_64-linux-gnu/bits/wordsize.h - /usr/include/x86_64-linux-gnu/gnu/stubs-64.h - /usr/include/x86_64-linux-gnu/gnu/stubs.h - /usr/include/x86_64-linux-gnu/sys/cdefs.h - /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h - /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h - /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h - -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o - /home/diya_limbani/FastDevFs/src/src/fuse_functions/access.cpp +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o + /home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h /home/diya_limbani/FastDevFs/src/include/daemon/hash.h - /home/diya_limbani/FastDevFs/src/include/fuse_functions/access.h + /home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h + /usr/include/alloca.h /usr/include/asm-generic/bitsperlong.h /usr/include/asm-generic/errno-base.h /usr/include/asm-generic/errno.h /usr/include/asm-generic/int-ll64.h /usr/include/asm-generic/posix_types.h /usr/include/asm-generic/types.h + /usr/include/c++/13/backward/binders.h + /usr/include/c++/13/bit + /usr/include/c++/13/bits/alloc_traits.h + /usr/include/c++/13/bits/allocator.h + /usr/include/c++/13/bits/basic_ios.h + /usr/include/c++/13/bits/basic_ios.tcc + /usr/include/c++/13/bits/basic_string.h + /usr/include/c++/13/bits/basic_string.tcc + /usr/include/c++/13/bits/char_traits.h + /usr/include/c++/13/bits/charconv.h + /usr/include/c++/13/bits/concept_check.h + /usr/include/c++/13/bits/cpp_type_traits.h + /usr/include/c++/13/bits/cxxabi_forced.h + /usr/include/c++/13/bits/cxxabi_init_exception.h + /usr/include/c++/13/bits/exception.h + /usr/include/c++/13/bits/exception_defines.h + /usr/include/c++/13/bits/exception_ptr.h + /usr/include/c++/13/bits/functexcept.h + /usr/include/c++/13/bits/functional_hash.h + /usr/include/c++/13/bits/hash_bytes.h + /usr/include/c++/13/bits/invoke.h + /usr/include/c++/13/bits/ios_base.h + /usr/include/c++/13/bits/istream.tcc + /usr/include/c++/13/bits/locale_classes.h + /usr/include/c++/13/bits/locale_classes.tcc + /usr/include/c++/13/bits/locale_facets.h + /usr/include/c++/13/bits/locale_facets.tcc + /usr/include/c++/13/bits/localefwd.h + /usr/include/c++/13/bits/memory_resource.h + /usr/include/c++/13/bits/memoryfwd.h + /usr/include/c++/13/bits/move.h + /usr/include/c++/13/bits/nested_exception.h + /usr/include/c++/13/bits/new_allocator.h + /usr/include/c++/13/bits/ostream.tcc + /usr/include/c++/13/bits/ostream_insert.h + /usr/include/c++/13/bits/postypes.h + /usr/include/c++/13/bits/predefined_ops.h + /usr/include/c++/13/bits/ptr_traits.h + /usr/include/c++/13/bits/range_access.h + /usr/include/c++/13/bits/refwrap.h + /usr/include/c++/13/bits/requires_hosted.h + /usr/include/c++/13/bits/std_abs.h + /usr/include/c++/13/bits/stl_algobase.h + /usr/include/c++/13/bits/stl_construct.h + /usr/include/c++/13/bits/stl_function.h + /usr/include/c++/13/bits/stl_iterator.h + /usr/include/c++/13/bits/stl_iterator_base_funcs.h + /usr/include/c++/13/bits/stl_iterator_base_types.h + /usr/include/c++/13/bits/stl_pair.h + /usr/include/c++/13/bits/streambuf.tcc + /usr/include/c++/13/bits/streambuf_iterator.h + /usr/include/c++/13/bits/string_view.tcc + /usr/include/c++/13/bits/stringfwd.h + /usr/include/c++/13/bits/uses_allocator.h + /usr/include/c++/13/bits/uses_allocator_args.h + /usr/include/c++/13/bits/utility.h + /usr/include/c++/13/cctype /usr/include/c++/13/cerrno + /usr/include/c++/13/clocale + /usr/include/c++/13/cstddef + /usr/include/c++/13/cstdio + /usr/include/c++/13/cstdlib + /usr/include/c++/13/cstring + /usr/include/c++/13/cwchar + /usr/include/c++/13/cwctype + /usr/include/c++/13/debug/assertions.h + /usr/include/c++/13/debug/debug.h + /usr/include/c++/13/exception + /usr/include/c++/13/ext/alloc_traits.h + /usr/include/c++/13/ext/atomicity.h + /usr/include/c++/13/ext/numeric_traits.h + /usr/include/c++/13/ext/string_conversions.h + /usr/include/c++/13/ext/type_traits.h + /usr/include/c++/13/initializer_list + /usr/include/c++/13/ios + /usr/include/c++/13/iosfwd + /usr/include/c++/13/iostream + /usr/include/c++/13/istream + /usr/include/c++/13/new + /usr/include/c++/13/ostream /usr/include/c++/13/pstl/pstl_config.h + /usr/include/c++/13/stdexcept + /usr/include/c++/13/streambuf + /usr/include/c++/13/string + /usr/include/c++/13/string_view + /usr/include/c++/13/system_error + /usr/include/c++/13/tuple + /usr/include/c++/13/type_traits + /usr/include/c++/13/typeinfo + /usr/include/ctype.h /usr/include/endian.h /usr/include/errno.h /usr/include/fcntl.h @@ -378,17 +1208,26 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o /usr/include/fuse3/fuse_log.h /usr/include/fuse3/fuse_opt.h /usr/include/fuse3/libfuse_config.h + /usr/include/linux/close_range.h /usr/include/linux/errno.h /usr/include/linux/falloc.h /usr/include/linux/posix_types.h /usr/include/linux/stat.h /usr/include/linux/stddef.h /usr/include/linux/types.h + /usr/include/locale.h /usr/include/pthread.h /usr/include/sched.h /usr/include/stdc-predef.h /usr/include/stdint.h + /usr/include/stdio.h + /usr/include/stdlib.h + /usr/include/string.h + /usr/include/strings.h /usr/include/time.h + /usr/include/unistd.h + /usr/include/wchar.h + /usr/include/wctype.h /usr/include/x86_64-linux-gnu/asm/bitsperlong.h /usr/include/x86_64-linux-gnu/asm/errno.h /usr/include/x86_64-linux-gnu/asm/posix_types.h @@ -396,14 +1235,22 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o /usr/include/x86_64-linux-gnu/asm/types.h /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h /usr/include/x86_64-linux-gnu/bits/byteswap.h + /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/x86_64-linux-gnu/bits/endian.h /usr/include/x86_64-linux-gnu/bits/endianness.h + /usr/include/x86_64-linux-gnu/bits/environments.h /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h /usr/include/x86_64-linux-gnu/bits/fcntl.h + /usr/include/x86_64-linux-gnu/bits/floatn-common.h + /usr/include/x86_64-linux-gnu/bits/floatn.h + /usr/include/x86_64-linux-gnu/bits/getopt_core.h + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/posix_opt.h /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h @@ -417,6 +1264,8 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o /usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/x86_64-linux-gnu/bits/stdint-least.h /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h /usr/include/x86_64-linux-gnu/bits/struct_mutex.h /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/x86_64-linux-gnu/bits/struct_stat.h @@ -426,13 +1275,21 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o /usr/include/x86_64-linux-gnu/bits/timesize.h /usr/include/x86_64-linux-gnu/bits/timex.h /usr/include/x86_64-linux-gnu/bits/types.h + /usr/include/x86_64-linux-gnu/bits/types/FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h /usr/include/x86_64-linux-gnu/bits/types/clock_t.h /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h /usr/include/x86_64-linux-gnu/bits/types/error_t.h /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h @@ -444,19 +1301,33 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h /usr/include/x86_64-linux-gnu/bits/types/time_t.h /usr/include/x86_64-linux-gnu/bits/types/timer_t.h + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/x86_64-linux-gnu/bits/uintn-identity.h /usr/include/x86_64-linux-gnu/bits/uio-ext.h /usr/include/x86_64-linux-gnu/bits/uio_lim.h + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h + /usr/include/x86_64-linux-gnu/bits/waitflags.h + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h /usr/include/x86_64-linux-gnu/gnu/stubs-64.h /usr/include/x86_64-linux-gnu/gnu/stubs.h /usr/include/x86_64-linux-gnu/sys/cdefs.h /usr/include/x86_64-linux-gnu/sys/select.h + /usr/include/x86_64-linux-gnu/sys/single_threaded.h /usr/include/x86_64-linux-gnu/sys/stat.h /usr/include/x86_64-linux-gnu/sys/statvfs.h /usr/include/x86_64-linux-gnu/sys/types.h @@ -466,20 +1337,108 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o - /home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o + /home/diya_limbani/FastDevFs/src/src/fuse_functions/mkdir.cpp /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h /home/diya_limbani/FastDevFs/src/include/daemon/hash.h - /home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h + /home/diya_limbani/FastDevFs/src/include/fuse_functions/mkdir.h + /usr/include/alloca.h /usr/include/asm-generic/bitsperlong.h /usr/include/asm-generic/errno-base.h /usr/include/asm-generic/errno.h /usr/include/asm-generic/int-ll64.h /usr/include/asm-generic/posix_types.h /usr/include/asm-generic/types.h + /usr/include/c++/13/backward/binders.h + /usr/include/c++/13/bit + /usr/include/c++/13/bits/alloc_traits.h + /usr/include/c++/13/bits/allocator.h + /usr/include/c++/13/bits/basic_ios.h + /usr/include/c++/13/bits/basic_ios.tcc + /usr/include/c++/13/bits/basic_string.h + /usr/include/c++/13/bits/basic_string.tcc + /usr/include/c++/13/bits/char_traits.h + /usr/include/c++/13/bits/charconv.h + /usr/include/c++/13/bits/concept_check.h + /usr/include/c++/13/bits/cpp_type_traits.h + /usr/include/c++/13/bits/cxxabi_forced.h + /usr/include/c++/13/bits/cxxabi_init_exception.h + /usr/include/c++/13/bits/exception.h + /usr/include/c++/13/bits/exception_defines.h + /usr/include/c++/13/bits/exception_ptr.h + /usr/include/c++/13/bits/functexcept.h + /usr/include/c++/13/bits/functional_hash.h + /usr/include/c++/13/bits/hash_bytes.h + /usr/include/c++/13/bits/invoke.h + /usr/include/c++/13/bits/ios_base.h + /usr/include/c++/13/bits/istream.tcc + /usr/include/c++/13/bits/locale_classes.h + /usr/include/c++/13/bits/locale_classes.tcc + /usr/include/c++/13/bits/locale_facets.h + /usr/include/c++/13/bits/locale_facets.tcc + /usr/include/c++/13/bits/localefwd.h + /usr/include/c++/13/bits/memory_resource.h + /usr/include/c++/13/bits/memoryfwd.h + /usr/include/c++/13/bits/move.h + /usr/include/c++/13/bits/nested_exception.h + /usr/include/c++/13/bits/new_allocator.h + /usr/include/c++/13/bits/ostream.tcc + /usr/include/c++/13/bits/ostream_insert.h + /usr/include/c++/13/bits/postypes.h + /usr/include/c++/13/bits/predefined_ops.h + /usr/include/c++/13/bits/ptr_traits.h + /usr/include/c++/13/bits/range_access.h + /usr/include/c++/13/bits/refwrap.h + /usr/include/c++/13/bits/requires_hosted.h + /usr/include/c++/13/bits/std_abs.h + /usr/include/c++/13/bits/stl_algobase.h + /usr/include/c++/13/bits/stl_construct.h + /usr/include/c++/13/bits/stl_function.h + /usr/include/c++/13/bits/stl_iterator.h + /usr/include/c++/13/bits/stl_iterator_base_funcs.h + /usr/include/c++/13/bits/stl_iterator_base_types.h + /usr/include/c++/13/bits/stl_pair.h + /usr/include/c++/13/bits/streambuf.tcc + /usr/include/c++/13/bits/streambuf_iterator.h + /usr/include/c++/13/bits/string_view.tcc + /usr/include/c++/13/bits/stringfwd.h + /usr/include/c++/13/bits/uses_allocator.h + /usr/include/c++/13/bits/uses_allocator_args.h + /usr/include/c++/13/bits/utility.h + /usr/include/c++/13/cctype /usr/include/c++/13/cerrno + /usr/include/c++/13/clocale + /usr/include/c++/13/cstddef + /usr/include/c++/13/cstdio + /usr/include/c++/13/cstdlib /usr/include/c++/13/cstring + /usr/include/c++/13/cwchar + /usr/include/c++/13/cwctype + /usr/include/c++/13/debug/assertions.h + /usr/include/c++/13/debug/debug.h + /usr/include/c++/13/exception + /usr/include/c++/13/ext/alloc_traits.h + /usr/include/c++/13/ext/atomicity.h + /usr/include/c++/13/ext/numeric_traits.h + /usr/include/c++/13/ext/string_conversions.h + /usr/include/c++/13/ext/type_traits.h + /usr/include/c++/13/initializer_list + /usr/include/c++/13/ios + /usr/include/c++/13/iosfwd + /usr/include/c++/13/iostream + /usr/include/c++/13/istream + /usr/include/c++/13/new + /usr/include/c++/13/ostream /usr/include/c++/13/pstl/pstl_config.h + /usr/include/c++/13/stdexcept + /usr/include/c++/13/streambuf + /usr/include/c++/13/string + /usr/include/c++/13/string_view + /usr/include/c++/13/system_error + /usr/include/c++/13/tuple + /usr/include/c++/13/type_traits + /usr/include/c++/13/typeinfo + /usr/include/ctype.h /usr/include/endian.h /usr/include/errno.h /usr/include/fcntl.h @@ -497,14 +1456,19 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o /usr/include/linux/stat.h /usr/include/linux/stddef.h /usr/include/linux/types.h + /usr/include/locale.h /usr/include/pthread.h /usr/include/sched.h /usr/include/stdc-predef.h /usr/include/stdint.h + /usr/include/stdio.h + /usr/include/stdlib.h /usr/include/string.h /usr/include/strings.h /usr/include/time.h /usr/include/unistd.h + /usr/include/wchar.h + /usr/include/wctype.h /usr/include/x86_64-linux-gnu/asm/bitsperlong.h /usr/include/x86_64-linux-gnu/asm/errno.h /usr/include/x86_64-linux-gnu/asm/posix_types.h @@ -520,9 +1484,12 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h /usr/include/x86_64-linux-gnu/bits/fcntl.h + /usr/include/x86_64-linux-gnu/bits/floatn-common.h + /usr/include/x86_64-linux-gnu/bits/floatn.h /usr/include/x86_64-linux-gnu/bits/getopt_core.h /usr/include/x86_64-linux-gnu/bits/getopt_posix.h /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/x86_64-linux-gnu/bits/long-double.h /usr/include/x86_64-linux-gnu/bits/posix_opt.h /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h @@ -538,6 +1505,8 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o /usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/x86_64-linux-gnu/bits/stdint-least.h /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h /usr/include/x86_64-linux-gnu/bits/struct_mutex.h /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/x86_64-linux-gnu/bits/struct_stat.h @@ -547,13 +1516,21 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o /usr/include/x86_64-linux-gnu/bits/timesize.h /usr/include/x86_64-linux-gnu/bits/timex.h /usr/include/x86_64-linux-gnu/bits/types.h + /usr/include/x86_64-linux-gnu/bits/types/FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h /usr/include/x86_64-linux-gnu/bits/types/clock_t.h /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h /usr/include/x86_64-linux-gnu/bits/types/error_t.h /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h @@ -565,20 +1542,33 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h /usr/include/x86_64-linux-gnu/bits/types/time_t.h /usr/include/x86_64-linux-gnu/bits/types/timer_t.h + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/x86_64-linux-gnu/bits/uintn-identity.h /usr/include/x86_64-linux-gnu/bits/uio-ext.h /usr/include/x86_64-linux-gnu/bits/uio_lim.h /usr/include/x86_64-linux-gnu/bits/unistd_ext.h + /usr/include/x86_64-linux-gnu/bits/waitflags.h + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h /usr/include/x86_64-linux-gnu/gnu/stubs-64.h /usr/include/x86_64-linux-gnu/gnu/stubs.h /usr/include/x86_64-linux-gnu/sys/cdefs.h /usr/include/x86_64-linux-gnu/sys/select.h + /usr/include/x86_64-linux-gnu/sys/single_threaded.h /usr/include/x86_64-linux-gnu/sys/stat.h /usr/include/x86_64-linux-gnu/sys/statvfs.h /usr/include/x86_64-linux-gnu/sys/types.h @@ -588,20 +1578,108 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o - /home/diya_limbani/FastDevFs/src/src/fuse_functions/mkdir.cpp +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o + /home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h /home/diya_limbani/FastDevFs/src/include/daemon/hash.h - /home/diya_limbani/FastDevFs/src/include/fuse_functions/mkdir.h + /home/diya_limbani/FastDevFs/src/include/fuse_functions/opendir.h + /usr/include/alloca.h /usr/include/asm-generic/bitsperlong.h /usr/include/asm-generic/errno-base.h /usr/include/asm-generic/errno.h /usr/include/asm-generic/int-ll64.h /usr/include/asm-generic/posix_types.h /usr/include/asm-generic/types.h + /usr/include/c++/13/backward/binders.h + /usr/include/c++/13/bit + /usr/include/c++/13/bits/alloc_traits.h + /usr/include/c++/13/bits/allocator.h + /usr/include/c++/13/bits/basic_ios.h + /usr/include/c++/13/bits/basic_ios.tcc + /usr/include/c++/13/bits/basic_string.h + /usr/include/c++/13/bits/basic_string.tcc + /usr/include/c++/13/bits/char_traits.h + /usr/include/c++/13/bits/charconv.h + /usr/include/c++/13/bits/concept_check.h + /usr/include/c++/13/bits/cpp_type_traits.h + /usr/include/c++/13/bits/cxxabi_forced.h + /usr/include/c++/13/bits/cxxabi_init_exception.h + /usr/include/c++/13/bits/exception.h + /usr/include/c++/13/bits/exception_defines.h + /usr/include/c++/13/bits/exception_ptr.h + /usr/include/c++/13/bits/functexcept.h + /usr/include/c++/13/bits/functional_hash.h + /usr/include/c++/13/bits/hash_bytes.h + /usr/include/c++/13/bits/invoke.h + /usr/include/c++/13/bits/ios_base.h + /usr/include/c++/13/bits/istream.tcc + /usr/include/c++/13/bits/locale_classes.h + /usr/include/c++/13/bits/locale_classes.tcc + /usr/include/c++/13/bits/locale_facets.h + /usr/include/c++/13/bits/locale_facets.tcc + /usr/include/c++/13/bits/localefwd.h + /usr/include/c++/13/bits/memory_resource.h + /usr/include/c++/13/bits/memoryfwd.h + /usr/include/c++/13/bits/move.h + /usr/include/c++/13/bits/nested_exception.h + /usr/include/c++/13/bits/new_allocator.h + /usr/include/c++/13/bits/ostream.tcc + /usr/include/c++/13/bits/ostream_insert.h + /usr/include/c++/13/bits/postypes.h + /usr/include/c++/13/bits/predefined_ops.h + /usr/include/c++/13/bits/ptr_traits.h + /usr/include/c++/13/bits/range_access.h + /usr/include/c++/13/bits/refwrap.h + /usr/include/c++/13/bits/requires_hosted.h + /usr/include/c++/13/bits/std_abs.h + /usr/include/c++/13/bits/stl_algobase.h + /usr/include/c++/13/bits/stl_construct.h + /usr/include/c++/13/bits/stl_function.h + /usr/include/c++/13/bits/stl_iterator.h + /usr/include/c++/13/bits/stl_iterator_base_funcs.h + /usr/include/c++/13/bits/stl_iterator_base_types.h + /usr/include/c++/13/bits/stl_pair.h + /usr/include/c++/13/bits/streambuf.tcc + /usr/include/c++/13/bits/streambuf_iterator.h + /usr/include/c++/13/bits/string_view.tcc + /usr/include/c++/13/bits/stringfwd.h + /usr/include/c++/13/bits/uses_allocator.h + /usr/include/c++/13/bits/uses_allocator_args.h + /usr/include/c++/13/bits/utility.h + /usr/include/c++/13/cctype /usr/include/c++/13/cerrno + /usr/include/c++/13/clocale + /usr/include/c++/13/cstddef + /usr/include/c++/13/cstdio + /usr/include/c++/13/cstdlib /usr/include/c++/13/cstring + /usr/include/c++/13/cwchar + /usr/include/c++/13/cwctype + /usr/include/c++/13/debug/assertions.h + /usr/include/c++/13/debug/debug.h + /usr/include/c++/13/exception + /usr/include/c++/13/ext/alloc_traits.h + /usr/include/c++/13/ext/atomicity.h + /usr/include/c++/13/ext/numeric_traits.h + /usr/include/c++/13/ext/string_conversions.h + /usr/include/c++/13/ext/type_traits.h + /usr/include/c++/13/initializer_list + /usr/include/c++/13/ios + /usr/include/c++/13/iosfwd + /usr/include/c++/13/iostream + /usr/include/c++/13/istream + /usr/include/c++/13/new + /usr/include/c++/13/ostream /usr/include/c++/13/pstl/pstl_config.h + /usr/include/c++/13/stdexcept + /usr/include/c++/13/streambuf + /usr/include/c++/13/string + /usr/include/c++/13/string_view + /usr/include/c++/13/system_error + /usr/include/c++/13/tuple + /usr/include/c++/13/type_traits + /usr/include/c++/13/typeinfo + /usr/include/ctype.h /usr/include/endian.h /usr/include/errno.h /usr/include/fcntl.h @@ -612,19 +1690,26 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o /usr/include/fuse3/fuse_log.h /usr/include/fuse3/fuse_opt.h /usr/include/fuse3/libfuse_config.h + /usr/include/linux/close_range.h /usr/include/linux/errno.h /usr/include/linux/falloc.h /usr/include/linux/posix_types.h /usr/include/linux/stat.h /usr/include/linux/stddef.h /usr/include/linux/types.h + /usr/include/locale.h /usr/include/pthread.h /usr/include/sched.h /usr/include/stdc-predef.h /usr/include/stdint.h + /usr/include/stdio.h + /usr/include/stdlib.h /usr/include/string.h /usr/include/strings.h /usr/include/time.h + /usr/include/unistd.h + /usr/include/wchar.h + /usr/include/wctype.h /usr/include/x86_64-linux-gnu/asm/bitsperlong.h /usr/include/x86_64-linux-gnu/asm/errno.h /usr/include/x86_64-linux-gnu/asm/posix_types.h @@ -632,14 +1717,22 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o /usr/include/x86_64-linux-gnu/asm/types.h /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h /usr/include/x86_64-linux-gnu/bits/byteswap.h + /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/x86_64-linux-gnu/bits/endian.h /usr/include/x86_64-linux-gnu/bits/endianness.h + /usr/include/x86_64-linux-gnu/bits/environments.h /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h /usr/include/x86_64-linux-gnu/bits/fcntl.h + /usr/include/x86_64-linux-gnu/bits/floatn-common.h + /usr/include/x86_64-linux-gnu/bits/floatn.h + /usr/include/x86_64-linux-gnu/bits/getopt_core.h + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/posix_opt.h /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h @@ -653,6 +1746,8 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o /usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/x86_64-linux-gnu/bits/stdint-least.h /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h /usr/include/x86_64-linux-gnu/bits/struct_mutex.h /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/x86_64-linux-gnu/bits/struct_stat.h @@ -662,13 +1757,21 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o /usr/include/x86_64-linux-gnu/bits/timesize.h /usr/include/x86_64-linux-gnu/bits/timex.h /usr/include/x86_64-linux-gnu/bits/types.h + /usr/include/x86_64-linux-gnu/bits/types/FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h /usr/include/x86_64-linux-gnu/bits/types/clock_t.h /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h /usr/include/x86_64-linux-gnu/bits/types/error_t.h /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h @@ -680,19 +1783,33 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h /usr/include/x86_64-linux-gnu/bits/types/time_t.h /usr/include/x86_64-linux-gnu/bits/types/timer_t.h + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/x86_64-linux-gnu/bits/uintn-identity.h /usr/include/x86_64-linux-gnu/bits/uio-ext.h /usr/include/x86_64-linux-gnu/bits/uio_lim.h + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h + /usr/include/x86_64-linux-gnu/bits/waitflags.h + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h /usr/include/x86_64-linux-gnu/gnu/stubs-64.h /usr/include/x86_64-linux-gnu/gnu/stubs.h /usr/include/x86_64-linux-gnu/sys/cdefs.h /usr/include/x86_64-linux-gnu/sys/select.h + /usr/include/x86_64-linux-gnu/sys/single_threaded.h /usr/include/x86_64-linux-gnu/sys/stat.h /usr/include/x86_64-linux-gnu/sys/statvfs.h /usr/include/x86_64-linux-gnu/sys/types.h @@ -702,20 +1819,108 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o - /home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o + /home/diya_limbani/FastDevFs/src/src/fuse_functions/readdir.cpp /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h /home/diya_limbani/FastDevFs/src/include/daemon/hash.h - /home/diya_limbani/FastDevFs/src/include/fuse_functions/opendir.h + /home/diya_limbani/FastDevFs/src/include/fuse_functions/readdir.h + /usr/include/alloca.h /usr/include/asm-generic/bitsperlong.h /usr/include/asm-generic/errno-base.h /usr/include/asm-generic/errno.h /usr/include/asm-generic/int-ll64.h /usr/include/asm-generic/posix_types.h /usr/include/asm-generic/types.h + /usr/include/c++/13/backward/binders.h + /usr/include/c++/13/bit + /usr/include/c++/13/bits/alloc_traits.h + /usr/include/c++/13/bits/allocator.h + /usr/include/c++/13/bits/basic_ios.h + /usr/include/c++/13/bits/basic_ios.tcc + /usr/include/c++/13/bits/basic_string.h + /usr/include/c++/13/bits/basic_string.tcc + /usr/include/c++/13/bits/char_traits.h + /usr/include/c++/13/bits/charconv.h + /usr/include/c++/13/bits/concept_check.h + /usr/include/c++/13/bits/cpp_type_traits.h + /usr/include/c++/13/bits/cxxabi_forced.h + /usr/include/c++/13/bits/cxxabi_init_exception.h + /usr/include/c++/13/bits/exception.h + /usr/include/c++/13/bits/exception_defines.h + /usr/include/c++/13/bits/exception_ptr.h + /usr/include/c++/13/bits/functexcept.h + /usr/include/c++/13/bits/functional_hash.h + /usr/include/c++/13/bits/hash_bytes.h + /usr/include/c++/13/bits/invoke.h + /usr/include/c++/13/bits/ios_base.h + /usr/include/c++/13/bits/istream.tcc + /usr/include/c++/13/bits/locale_classes.h + /usr/include/c++/13/bits/locale_classes.tcc + /usr/include/c++/13/bits/locale_facets.h + /usr/include/c++/13/bits/locale_facets.tcc + /usr/include/c++/13/bits/localefwd.h + /usr/include/c++/13/bits/memory_resource.h + /usr/include/c++/13/bits/memoryfwd.h + /usr/include/c++/13/bits/move.h + /usr/include/c++/13/bits/nested_exception.h + /usr/include/c++/13/bits/new_allocator.h + /usr/include/c++/13/bits/ostream.tcc + /usr/include/c++/13/bits/ostream_insert.h + /usr/include/c++/13/bits/postypes.h + /usr/include/c++/13/bits/predefined_ops.h + /usr/include/c++/13/bits/ptr_traits.h + /usr/include/c++/13/bits/range_access.h + /usr/include/c++/13/bits/refwrap.h + /usr/include/c++/13/bits/requires_hosted.h + /usr/include/c++/13/bits/std_abs.h + /usr/include/c++/13/bits/stl_algobase.h + /usr/include/c++/13/bits/stl_construct.h + /usr/include/c++/13/bits/stl_function.h + /usr/include/c++/13/bits/stl_iterator.h + /usr/include/c++/13/bits/stl_iterator_base_funcs.h + /usr/include/c++/13/bits/stl_iterator_base_types.h + /usr/include/c++/13/bits/stl_pair.h + /usr/include/c++/13/bits/streambuf.tcc + /usr/include/c++/13/bits/streambuf_iterator.h + /usr/include/c++/13/bits/string_view.tcc + /usr/include/c++/13/bits/stringfwd.h + /usr/include/c++/13/bits/uses_allocator.h + /usr/include/c++/13/bits/uses_allocator_args.h + /usr/include/c++/13/bits/utility.h + /usr/include/c++/13/cctype /usr/include/c++/13/cerrno + /usr/include/c++/13/clocale + /usr/include/c++/13/cstddef + /usr/include/c++/13/cstdio + /usr/include/c++/13/cstdlib /usr/include/c++/13/cstring + /usr/include/c++/13/cwchar + /usr/include/c++/13/cwctype + /usr/include/c++/13/debug/assertions.h + /usr/include/c++/13/debug/debug.h + /usr/include/c++/13/exception + /usr/include/c++/13/ext/alloc_traits.h + /usr/include/c++/13/ext/atomicity.h + /usr/include/c++/13/ext/numeric_traits.h + /usr/include/c++/13/ext/string_conversions.h + /usr/include/c++/13/ext/type_traits.h + /usr/include/c++/13/initializer_list + /usr/include/c++/13/ios + /usr/include/c++/13/iosfwd + /usr/include/c++/13/iostream + /usr/include/c++/13/istream + /usr/include/c++/13/new + /usr/include/c++/13/ostream /usr/include/c++/13/pstl/pstl_config.h + /usr/include/c++/13/stdexcept + /usr/include/c++/13/streambuf + /usr/include/c++/13/string + /usr/include/c++/13/string_view + /usr/include/c++/13/system_error + /usr/include/c++/13/tuple + /usr/include/c++/13/type_traits + /usr/include/c++/13/typeinfo + /usr/include/ctype.h /usr/include/endian.h /usr/include/errno.h /usr/include/fcntl.h @@ -726,19 +1931,26 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o /usr/include/fuse3/fuse_log.h /usr/include/fuse3/fuse_opt.h /usr/include/fuse3/libfuse_config.h + /usr/include/linux/close_range.h /usr/include/linux/errno.h /usr/include/linux/falloc.h /usr/include/linux/posix_types.h /usr/include/linux/stat.h /usr/include/linux/stddef.h /usr/include/linux/types.h + /usr/include/locale.h /usr/include/pthread.h /usr/include/sched.h /usr/include/stdc-predef.h /usr/include/stdint.h + /usr/include/stdio.h + /usr/include/stdlib.h /usr/include/string.h /usr/include/strings.h /usr/include/time.h + /usr/include/unistd.h + /usr/include/wchar.h + /usr/include/wctype.h /usr/include/x86_64-linux-gnu/asm/bitsperlong.h /usr/include/x86_64-linux-gnu/asm/errno.h /usr/include/x86_64-linux-gnu/asm/posix_types.h @@ -746,14 +1958,22 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o /usr/include/x86_64-linux-gnu/asm/types.h /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h /usr/include/x86_64-linux-gnu/bits/byteswap.h + /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/x86_64-linux-gnu/bits/endian.h /usr/include/x86_64-linux-gnu/bits/endianness.h + /usr/include/x86_64-linux-gnu/bits/environments.h /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h /usr/include/x86_64-linux-gnu/bits/fcntl.h + /usr/include/x86_64-linux-gnu/bits/floatn-common.h + /usr/include/x86_64-linux-gnu/bits/floatn.h + /usr/include/x86_64-linux-gnu/bits/getopt_core.h + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/posix_opt.h /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h @@ -767,6 +1987,8 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o /usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/x86_64-linux-gnu/bits/stdint-least.h /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h /usr/include/x86_64-linux-gnu/bits/struct_mutex.h /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/x86_64-linux-gnu/bits/struct_stat.h @@ -776,13 +1998,21 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o /usr/include/x86_64-linux-gnu/bits/timesize.h /usr/include/x86_64-linux-gnu/bits/timex.h /usr/include/x86_64-linux-gnu/bits/types.h + /usr/include/x86_64-linux-gnu/bits/types/FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h /usr/include/x86_64-linux-gnu/bits/types/clock_t.h /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h /usr/include/x86_64-linux-gnu/bits/types/error_t.h /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h @@ -794,19 +2024,33 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h /usr/include/x86_64-linux-gnu/bits/types/time_t.h /usr/include/x86_64-linux-gnu/bits/types/timer_t.h + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/x86_64-linux-gnu/bits/uintn-identity.h /usr/include/x86_64-linux-gnu/bits/uio-ext.h /usr/include/x86_64-linux-gnu/bits/uio_lim.h + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h + /usr/include/x86_64-linux-gnu/bits/waitflags.h + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h /usr/include/x86_64-linux-gnu/gnu/stubs-64.h /usr/include/x86_64-linux-gnu/gnu/stubs.h /usr/include/x86_64-linux-gnu/sys/cdefs.h /usr/include/x86_64-linux-gnu/sys/select.h + /usr/include/x86_64-linux-gnu/sys/single_threaded.h /usr/include/x86_64-linux-gnu/sys/stat.h /usr/include/x86_64-linux-gnu/sys/statvfs.h /usr/include/x86_64-linux-gnu/sys/types.h @@ -816,20 +2060,108 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o - /home/diya_limbani/FastDevFs/src/src/fuse_functions/readdir.cpp +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o + /home/diya_limbani/FastDevFs/src/src/fuse_functions/rmdir.cpp /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h /home/diya_limbani/FastDevFs/src/include/daemon/hash.h - /home/diya_limbani/FastDevFs/src/include/fuse_functions/readdir.h + /home/diya_limbani/FastDevFs/src/include/fuse_functions/rmdir.h + /usr/include/alloca.h /usr/include/asm-generic/bitsperlong.h /usr/include/asm-generic/errno-base.h /usr/include/asm-generic/errno.h /usr/include/asm-generic/int-ll64.h /usr/include/asm-generic/posix_types.h /usr/include/asm-generic/types.h + /usr/include/c++/13/backward/binders.h + /usr/include/c++/13/bit + /usr/include/c++/13/bits/alloc_traits.h + /usr/include/c++/13/bits/allocator.h + /usr/include/c++/13/bits/basic_ios.h + /usr/include/c++/13/bits/basic_ios.tcc + /usr/include/c++/13/bits/basic_string.h + /usr/include/c++/13/bits/basic_string.tcc + /usr/include/c++/13/bits/char_traits.h + /usr/include/c++/13/bits/charconv.h + /usr/include/c++/13/bits/concept_check.h + /usr/include/c++/13/bits/cpp_type_traits.h + /usr/include/c++/13/bits/cxxabi_forced.h + /usr/include/c++/13/bits/cxxabi_init_exception.h + /usr/include/c++/13/bits/exception.h + /usr/include/c++/13/bits/exception_defines.h + /usr/include/c++/13/bits/exception_ptr.h + /usr/include/c++/13/bits/functexcept.h + /usr/include/c++/13/bits/functional_hash.h + /usr/include/c++/13/bits/hash_bytes.h + /usr/include/c++/13/bits/invoke.h + /usr/include/c++/13/bits/ios_base.h + /usr/include/c++/13/bits/istream.tcc + /usr/include/c++/13/bits/locale_classes.h + /usr/include/c++/13/bits/locale_classes.tcc + /usr/include/c++/13/bits/locale_facets.h + /usr/include/c++/13/bits/locale_facets.tcc + /usr/include/c++/13/bits/localefwd.h + /usr/include/c++/13/bits/memory_resource.h + /usr/include/c++/13/bits/memoryfwd.h + /usr/include/c++/13/bits/move.h + /usr/include/c++/13/bits/nested_exception.h + /usr/include/c++/13/bits/new_allocator.h + /usr/include/c++/13/bits/ostream.tcc + /usr/include/c++/13/bits/ostream_insert.h + /usr/include/c++/13/bits/postypes.h + /usr/include/c++/13/bits/predefined_ops.h + /usr/include/c++/13/bits/ptr_traits.h + /usr/include/c++/13/bits/range_access.h + /usr/include/c++/13/bits/refwrap.h + /usr/include/c++/13/bits/requires_hosted.h + /usr/include/c++/13/bits/std_abs.h + /usr/include/c++/13/bits/stl_algobase.h + /usr/include/c++/13/bits/stl_construct.h + /usr/include/c++/13/bits/stl_function.h + /usr/include/c++/13/bits/stl_iterator.h + /usr/include/c++/13/bits/stl_iterator_base_funcs.h + /usr/include/c++/13/bits/stl_iterator_base_types.h + /usr/include/c++/13/bits/stl_pair.h + /usr/include/c++/13/bits/streambuf.tcc + /usr/include/c++/13/bits/streambuf_iterator.h + /usr/include/c++/13/bits/string_view.tcc + /usr/include/c++/13/bits/stringfwd.h + /usr/include/c++/13/bits/uses_allocator.h + /usr/include/c++/13/bits/uses_allocator_args.h + /usr/include/c++/13/bits/utility.h + /usr/include/c++/13/cctype /usr/include/c++/13/cerrno + /usr/include/c++/13/clocale + /usr/include/c++/13/cstddef + /usr/include/c++/13/cstdio + /usr/include/c++/13/cstdlib /usr/include/c++/13/cstring + /usr/include/c++/13/cwchar + /usr/include/c++/13/cwctype + /usr/include/c++/13/debug/assertions.h + /usr/include/c++/13/debug/debug.h + /usr/include/c++/13/exception + /usr/include/c++/13/ext/alloc_traits.h + /usr/include/c++/13/ext/atomicity.h + /usr/include/c++/13/ext/numeric_traits.h + /usr/include/c++/13/ext/string_conversions.h + /usr/include/c++/13/ext/type_traits.h + /usr/include/c++/13/initializer_list + /usr/include/c++/13/ios + /usr/include/c++/13/iosfwd + /usr/include/c++/13/iostream + /usr/include/c++/13/istream + /usr/include/c++/13/new + /usr/include/c++/13/ostream /usr/include/c++/13/pstl/pstl_config.h + /usr/include/c++/13/stdexcept + /usr/include/c++/13/streambuf + /usr/include/c++/13/string + /usr/include/c++/13/string_view + /usr/include/c++/13/system_error + /usr/include/c++/13/tuple + /usr/include/c++/13/type_traits + /usr/include/c++/13/typeinfo + /usr/include/ctype.h /usr/include/endian.h /usr/include/errno.h /usr/include/fcntl.h @@ -840,19 +2172,26 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o /usr/include/fuse3/fuse_log.h /usr/include/fuse3/fuse_opt.h /usr/include/fuse3/libfuse_config.h + /usr/include/linux/close_range.h /usr/include/linux/errno.h /usr/include/linux/falloc.h /usr/include/linux/posix_types.h /usr/include/linux/stat.h /usr/include/linux/stddef.h /usr/include/linux/types.h + /usr/include/locale.h /usr/include/pthread.h /usr/include/sched.h /usr/include/stdc-predef.h /usr/include/stdint.h + /usr/include/stdio.h + /usr/include/stdlib.h /usr/include/string.h /usr/include/strings.h /usr/include/time.h + /usr/include/unistd.h + /usr/include/wchar.h + /usr/include/wctype.h /usr/include/x86_64-linux-gnu/asm/bitsperlong.h /usr/include/x86_64-linux-gnu/asm/errno.h /usr/include/x86_64-linux-gnu/asm/posix_types.h @@ -860,14 +2199,22 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o /usr/include/x86_64-linux-gnu/asm/types.h /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h /usr/include/x86_64-linux-gnu/bits/byteswap.h + /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/x86_64-linux-gnu/bits/endian.h /usr/include/x86_64-linux-gnu/bits/endianness.h + /usr/include/x86_64-linux-gnu/bits/environments.h /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h /usr/include/x86_64-linux-gnu/bits/fcntl.h + /usr/include/x86_64-linux-gnu/bits/floatn-common.h + /usr/include/x86_64-linux-gnu/bits/floatn.h + /usr/include/x86_64-linux-gnu/bits/getopt_core.h + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/posix_opt.h /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h @@ -881,6 +2228,8 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o /usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/x86_64-linux-gnu/bits/stdint-least.h /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h /usr/include/x86_64-linux-gnu/bits/struct_mutex.h /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/x86_64-linux-gnu/bits/struct_stat.h @@ -890,13 +2239,21 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o /usr/include/x86_64-linux-gnu/bits/timesize.h /usr/include/x86_64-linux-gnu/bits/timex.h /usr/include/x86_64-linux-gnu/bits/types.h + /usr/include/x86_64-linux-gnu/bits/types/FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h /usr/include/x86_64-linux-gnu/bits/types/clock_t.h /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h /usr/include/x86_64-linux-gnu/bits/types/error_t.h /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h @@ -908,19 +2265,33 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h /usr/include/x86_64-linux-gnu/bits/types/time_t.h /usr/include/x86_64-linux-gnu/bits/types/timer_t.h + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/x86_64-linux-gnu/bits/uintn-identity.h /usr/include/x86_64-linux-gnu/bits/uio-ext.h /usr/include/x86_64-linux-gnu/bits/uio_lim.h + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h + /usr/include/x86_64-linux-gnu/bits/waitflags.h + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h /usr/include/x86_64-linux-gnu/gnu/stubs-64.h /usr/include/x86_64-linux-gnu/gnu/stubs.h /usr/include/x86_64-linux-gnu/sys/cdefs.h /usr/include/x86_64-linux-gnu/sys/select.h + /usr/include/x86_64-linux-gnu/sys/single_threaded.h /usr/include/x86_64-linux-gnu/sys/stat.h /usr/include/x86_64-linux-gnu/sys/statvfs.h /usr/include/x86_64-linux-gnu/sys/types.h @@ -930,20 +2301,106 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o - /home/diya_limbani/FastDevFs/src/src/fuse_functions/rmdir.cpp - /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h - /home/diya_limbani/FastDevFs/src/include/fuse_functions/rmdir.h +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o + /home/diya_limbani/FastDevFs/src/src/fuse_functions/statfs.cpp + /home/diya_limbani/FastDevFs/src/include/fuse_functions/statfs.h + /usr/include/alloca.h /usr/include/asm-generic/bitsperlong.h /usr/include/asm-generic/errno-base.h /usr/include/asm-generic/errno.h /usr/include/asm-generic/int-ll64.h /usr/include/asm-generic/posix_types.h /usr/include/asm-generic/types.h + /usr/include/c++/13/backward/binders.h + /usr/include/c++/13/bit + /usr/include/c++/13/bits/alloc_traits.h + /usr/include/c++/13/bits/allocator.h + /usr/include/c++/13/bits/basic_ios.h + /usr/include/c++/13/bits/basic_ios.tcc + /usr/include/c++/13/bits/basic_string.h + /usr/include/c++/13/bits/basic_string.tcc + /usr/include/c++/13/bits/char_traits.h + /usr/include/c++/13/bits/charconv.h + /usr/include/c++/13/bits/concept_check.h + /usr/include/c++/13/bits/cpp_type_traits.h + /usr/include/c++/13/bits/cxxabi_forced.h + /usr/include/c++/13/bits/cxxabi_init_exception.h + /usr/include/c++/13/bits/exception.h + /usr/include/c++/13/bits/exception_defines.h + /usr/include/c++/13/bits/exception_ptr.h + /usr/include/c++/13/bits/functexcept.h + /usr/include/c++/13/bits/functional_hash.h + /usr/include/c++/13/bits/hash_bytes.h + /usr/include/c++/13/bits/invoke.h + /usr/include/c++/13/bits/ios_base.h + /usr/include/c++/13/bits/istream.tcc + /usr/include/c++/13/bits/locale_classes.h + /usr/include/c++/13/bits/locale_classes.tcc + /usr/include/c++/13/bits/locale_facets.h + /usr/include/c++/13/bits/locale_facets.tcc + /usr/include/c++/13/bits/localefwd.h + /usr/include/c++/13/bits/memory_resource.h + /usr/include/c++/13/bits/memoryfwd.h + /usr/include/c++/13/bits/move.h + /usr/include/c++/13/bits/nested_exception.h + /usr/include/c++/13/bits/new_allocator.h + /usr/include/c++/13/bits/ostream.tcc + /usr/include/c++/13/bits/ostream_insert.h + /usr/include/c++/13/bits/postypes.h + /usr/include/c++/13/bits/predefined_ops.h + /usr/include/c++/13/bits/ptr_traits.h + /usr/include/c++/13/bits/range_access.h + /usr/include/c++/13/bits/refwrap.h + /usr/include/c++/13/bits/requires_hosted.h + /usr/include/c++/13/bits/std_abs.h + /usr/include/c++/13/bits/stl_algobase.h + /usr/include/c++/13/bits/stl_construct.h + /usr/include/c++/13/bits/stl_function.h + /usr/include/c++/13/bits/stl_iterator.h + /usr/include/c++/13/bits/stl_iterator_base_funcs.h + /usr/include/c++/13/bits/stl_iterator_base_types.h + /usr/include/c++/13/bits/stl_pair.h + /usr/include/c++/13/bits/streambuf.tcc + /usr/include/c++/13/bits/streambuf_iterator.h + /usr/include/c++/13/bits/string_view.tcc + /usr/include/c++/13/bits/stringfwd.h + /usr/include/c++/13/bits/uses_allocator.h + /usr/include/c++/13/bits/uses_allocator_args.h + /usr/include/c++/13/bits/utility.h + /usr/include/c++/13/cctype /usr/include/c++/13/cerrno + /usr/include/c++/13/clocale + /usr/include/c++/13/cstddef + /usr/include/c++/13/cstdio + /usr/include/c++/13/cstdlib /usr/include/c++/13/cstring + /usr/include/c++/13/cwchar + /usr/include/c++/13/cwctype + /usr/include/c++/13/debug/assertions.h + /usr/include/c++/13/debug/debug.h + /usr/include/c++/13/exception + /usr/include/c++/13/ext/alloc_traits.h + /usr/include/c++/13/ext/atomicity.h + /usr/include/c++/13/ext/numeric_traits.h + /usr/include/c++/13/ext/string_conversions.h + /usr/include/c++/13/ext/type_traits.h + /usr/include/c++/13/initializer_list + /usr/include/c++/13/ios + /usr/include/c++/13/iosfwd + /usr/include/c++/13/iostream + /usr/include/c++/13/istream + /usr/include/c++/13/new + /usr/include/c++/13/ostream /usr/include/c++/13/pstl/pstl_config.h + /usr/include/c++/13/stdexcept + /usr/include/c++/13/streambuf + /usr/include/c++/13/string + /usr/include/c++/13/string_view + /usr/include/c++/13/system_error + /usr/include/c++/13/tuple + /usr/include/c++/13/type_traits + /usr/include/c++/13/typeinfo + /usr/include/ctype.h /usr/include/endian.h /usr/include/errno.h /usr/include/fcntl.h @@ -960,13 +2417,18 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o /usr/include/linux/stat.h /usr/include/linux/stddef.h /usr/include/linux/types.h + /usr/include/locale.h /usr/include/pthread.h /usr/include/sched.h /usr/include/stdc-predef.h /usr/include/stdint.h + /usr/include/stdio.h + /usr/include/stdlib.h /usr/include/string.h /usr/include/strings.h /usr/include/time.h + /usr/include/wchar.h + /usr/include/wctype.h /usr/include/x86_64-linux-gnu/asm/bitsperlong.h /usr/include/x86_64-linux-gnu/asm/errno.h /usr/include/x86_64-linux-gnu/asm/posix_types.h @@ -980,7 +2442,10 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h /usr/include/x86_64-linux-gnu/bits/fcntl.h + /usr/include/x86_64-linux-gnu/bits/floatn-common.h + /usr/include/x86_64-linux-gnu/bits/floatn.h /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/x86_64-linux-gnu/bits/long-double.h /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h @@ -995,6 +2460,8 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o /usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/x86_64-linux-gnu/bits/stdint-least.h /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h /usr/include/x86_64-linux-gnu/bits/struct_mutex.h /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/x86_64-linux-gnu/bits/struct_stat.h @@ -1004,13 +2471,21 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o /usr/include/x86_64-linux-gnu/bits/timesize.h /usr/include/x86_64-linux-gnu/bits/timex.h /usr/include/x86_64-linux-gnu/bits/types.h + /usr/include/x86_64-linux-gnu/bits/types/FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h /usr/include/x86_64-linux-gnu/bits/types/clock_t.h /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h /usr/include/x86_64-linux-gnu/bits/types/error_t.h /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h @@ -1022,38 +2497,143 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h /usr/include/x86_64-linux-gnu/bits/types/time_t.h /usr/include/x86_64-linux-gnu/bits/types/timer_t.h + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/x86_64-linux-gnu/bits/uintn-identity.h /usr/include/x86_64-linux-gnu/bits/uio-ext.h /usr/include/x86_64-linux-gnu/bits/uio_lim.h + /usr/include/x86_64-linux-gnu/bits/waitflags.h + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h /usr/include/x86_64-linux-gnu/gnu/stubs-64.h /usr/include/x86_64-linux-gnu/gnu/stubs.h /usr/include/x86_64-linux-gnu/sys/cdefs.h /usr/include/x86_64-linux-gnu/sys/select.h + /usr/include/x86_64-linux-gnu/sys/single_threaded.h /usr/include/x86_64-linux-gnu/sys/stat.h /usr/include/x86_64-linux-gnu/sys/statvfs.h /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/x86_64-linux-gnu/sys/uio.h /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h - /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o - /home/diya_limbani/FastDevFs/src/src/fuse_functions/statfs.cpp - /home/diya_limbani/FastDevFs/src/include/fuse_functions/statfs.h +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o + /home/diya_limbani/FastDevFs/src/src/fuse_functions/utimens.cpp + /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h + /home/diya_limbani/FastDevFs/src/include/fuse_functions/utimens.h + /usr/include/alloca.h /usr/include/asm-generic/bitsperlong.h + /usr/include/asm-generic/errno-base.h + /usr/include/asm-generic/errno.h /usr/include/asm-generic/int-ll64.h /usr/include/asm-generic/posix_types.h /usr/include/asm-generic/types.h - /usr/include/c++/13/cstring + /usr/include/c++/13/backward/binders.h + /usr/include/c++/13/bit + /usr/include/c++/13/bits/alloc_traits.h + /usr/include/c++/13/bits/allocator.h + /usr/include/c++/13/bits/basic_ios.h + /usr/include/c++/13/bits/basic_ios.tcc + /usr/include/c++/13/bits/basic_string.h + /usr/include/c++/13/bits/basic_string.tcc + /usr/include/c++/13/bits/char_traits.h + /usr/include/c++/13/bits/charconv.h + /usr/include/c++/13/bits/concept_check.h + /usr/include/c++/13/bits/cpp_type_traits.h + /usr/include/c++/13/bits/cxxabi_forced.h + /usr/include/c++/13/bits/cxxabi_init_exception.h + /usr/include/c++/13/bits/exception.h + /usr/include/c++/13/bits/exception_defines.h + /usr/include/c++/13/bits/exception_ptr.h + /usr/include/c++/13/bits/functexcept.h + /usr/include/c++/13/bits/functional_hash.h + /usr/include/c++/13/bits/hash_bytes.h + /usr/include/c++/13/bits/invoke.h + /usr/include/c++/13/bits/ios_base.h + /usr/include/c++/13/bits/istream.tcc + /usr/include/c++/13/bits/locale_classes.h + /usr/include/c++/13/bits/locale_classes.tcc + /usr/include/c++/13/bits/locale_facets.h + /usr/include/c++/13/bits/locale_facets.tcc + /usr/include/c++/13/bits/localefwd.h + /usr/include/c++/13/bits/memory_resource.h + /usr/include/c++/13/bits/memoryfwd.h + /usr/include/c++/13/bits/move.h + /usr/include/c++/13/bits/nested_exception.h + /usr/include/c++/13/bits/new_allocator.h + /usr/include/c++/13/bits/ostream.tcc + /usr/include/c++/13/bits/ostream_insert.h + /usr/include/c++/13/bits/postypes.h + /usr/include/c++/13/bits/predefined_ops.h + /usr/include/c++/13/bits/ptr_traits.h + /usr/include/c++/13/bits/range_access.h + /usr/include/c++/13/bits/refwrap.h + /usr/include/c++/13/bits/requires_hosted.h + /usr/include/c++/13/bits/std_abs.h + /usr/include/c++/13/bits/stl_algobase.h + /usr/include/c++/13/bits/stl_construct.h + /usr/include/c++/13/bits/stl_function.h + /usr/include/c++/13/bits/stl_iterator.h + /usr/include/c++/13/bits/stl_iterator_base_funcs.h + /usr/include/c++/13/bits/stl_iterator_base_types.h + /usr/include/c++/13/bits/stl_pair.h + /usr/include/c++/13/bits/streambuf.tcc + /usr/include/c++/13/bits/streambuf_iterator.h + /usr/include/c++/13/bits/string_view.tcc + /usr/include/c++/13/bits/stringfwd.h + /usr/include/c++/13/bits/uses_allocator.h + /usr/include/c++/13/bits/uses_allocator_args.h + /usr/include/c++/13/bits/utility.h + /usr/include/c++/13/cctype + /usr/include/c++/13/cerrno + /usr/include/c++/13/clocale + /usr/include/c++/13/cstddef + /usr/include/c++/13/cstdio + /usr/include/c++/13/cstdlib + /usr/include/c++/13/cwchar + /usr/include/c++/13/cwctype + /usr/include/c++/13/debug/assertions.h + /usr/include/c++/13/debug/debug.h + /usr/include/c++/13/exception + /usr/include/c++/13/ext/alloc_traits.h + /usr/include/c++/13/ext/atomicity.h + /usr/include/c++/13/ext/numeric_traits.h + /usr/include/c++/13/ext/string_conversions.h + /usr/include/c++/13/ext/type_traits.h + /usr/include/c++/13/initializer_list + /usr/include/c++/13/ios + /usr/include/c++/13/iosfwd + /usr/include/c++/13/iostream + /usr/include/c++/13/istream + /usr/include/c++/13/new + /usr/include/c++/13/ostream /usr/include/c++/13/pstl/pstl_config.h + /usr/include/c++/13/stdexcept + /usr/include/c++/13/streambuf + /usr/include/c++/13/string + /usr/include/c++/13/string_view + /usr/include/c++/13/system_error + /usr/include/c++/13/tuple + /usr/include/c++/13/type_traits + /usr/include/c++/13/typeinfo + /usr/include/ctype.h /usr/include/endian.h + /usr/include/errno.h /usr/include/fcntl.h /usr/include/features-time64.h /usr/include/features.h @@ -1062,31 +2642,53 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o /usr/include/fuse3/fuse_log.h /usr/include/fuse3/fuse_opt.h /usr/include/fuse3/libfuse_config.h + /usr/include/linux/close_range.h + /usr/include/linux/errno.h /usr/include/linux/falloc.h /usr/include/linux/posix_types.h /usr/include/linux/stat.h /usr/include/linux/stddef.h /usr/include/linux/types.h + /usr/include/locale.h + /usr/include/pthread.h + /usr/include/sched.h /usr/include/stdc-predef.h /usr/include/stdint.h - /usr/include/string.h - /usr/include/strings.h + /usr/include/stdio.h + /usr/include/stdlib.h /usr/include/time.h + /usr/include/unistd.h + /usr/include/wchar.h + /usr/include/wctype.h /usr/include/x86_64-linux-gnu/asm/bitsperlong.h + /usr/include/x86_64-linux-gnu/asm/errno.h /usr/include/x86_64-linux-gnu/asm/posix_types.h /usr/include/x86_64-linux-gnu/asm/posix_types_64.h /usr/include/x86_64-linux-gnu/asm/types.h /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h /usr/include/x86_64-linux-gnu/bits/byteswap.h + /usr/include/x86_64-linux-gnu/bits/confname.h + /usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/x86_64-linux-gnu/bits/endian.h /usr/include/x86_64-linux-gnu/bits/endianness.h + /usr/include/x86_64-linux-gnu/bits/environments.h + /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h /usr/include/x86_64-linux-gnu/bits/fcntl.h + /usr/include/x86_64-linux-gnu/bits/floatn-common.h + /usr/include/x86_64-linux-gnu/bits/floatn.h + /usr/include/x86_64-linux-gnu/bits/getopt_core.h + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h /usr/include/x86_64-linux-gnu/bits/libc-header-start.h + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/x86_64-linux-gnu/bits/long-double.h + /usr/include/x86_64-linux-gnu/bits/posix_opt.h + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h + /usr/include/x86_64-linux-gnu/bits/sched.h /usr/include/x86_64-linux-gnu/bits/select.h + /usr/include/x86_64-linux-gnu/bits/setjmp.h /usr/include/x86_64-linux-gnu/bits/stat.h /usr/include/x86_64-linux-gnu/bits/statvfs.h /usr/include/x86_64-linux-gnu/bits/statx-generic.h @@ -1094,6 +2696,8 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o /usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/x86_64-linux-gnu/bits/stdint-least.h /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h /usr/include/x86_64-linux-gnu/bits/struct_mutex.h /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/x86_64-linux-gnu/bits/struct_stat.h @@ -1103,14 +2707,25 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o /usr/include/x86_64-linux-gnu/bits/timesize.h /usr/include/x86_64-linux-gnu/bits/timex.h /usr/include/x86_64-linux-gnu/bits/types.h + /usr/include/x86_64-linux-gnu/bits/types/FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h /usr/include/x86_64-linux-gnu/bits/types/clock_t.h /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h + /usr/include/x86_64-linux-gnu/bits/types/error_t.h /usr/include/x86_64-linux-gnu/bits/types/locale_t.h + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h @@ -1118,24 +2733,39 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h /usr/include/x86_64-linux-gnu/bits/types/time_t.h /usr/include/x86_64-linux-gnu/bits/types/timer_t.h + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/x86_64-linux-gnu/bits/uintn-identity.h /usr/include/x86_64-linux-gnu/bits/uio-ext.h /usr/include/x86_64-linux-gnu/bits/uio_lim.h + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h + /usr/include/x86_64-linux-gnu/bits/waitflags.h + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/x86_64-linux-gnu/bits/wchar.h + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h /usr/include/x86_64-linux-gnu/bits/wordsize.h + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h /usr/include/x86_64-linux-gnu/gnu/stubs-64.h /usr/include/x86_64-linux-gnu/gnu/stubs.h /usr/include/x86_64-linux-gnu/sys/cdefs.h /usr/include/x86_64-linux-gnu/sys/select.h + /usr/include/x86_64-linux-gnu/sys/single_threaded.h /usr/include/x86_64-linux-gnu/sys/stat.h /usr/include/x86_64-linux-gnu/sys/statvfs.h /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/x86_64-linux-gnu/sys/uio.h /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h diff --git a/build/CMakeFiles/FastDevFS.dir/compiler_depend.make b/build/CMakeFiles/FastDevFS.dir/compiler_depend.make index fe010f0..17c9069 100644 --- a/build/CMakeFiles/FastDevFS.dir/compiler_depend.make +++ b/build/CMakeFiles/FastDevFS.dir/compiler_depend.make @@ -3,14 +3,17 @@ CMakeFiles/FastDevFS.dir/main.cpp.o: /home/diya_limbani/FastDevFs/main.cpp \ /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ + /home/diya_limbani/FastDevFs/src/include/daemon/file_io.h \ /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ /home/diya_limbani/FastDevFs/src/include/fuse_functions/access.h \ + /home/diya_limbani/FastDevFs/src/include/fuse_functions/file_funcs.h \ /home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h \ /home/diya_limbani/FastDevFs/src/include/fuse_functions/mkdir.h \ /home/diya_limbani/FastDevFs/src/include/fuse_functions/opendir.h \ /home/diya_limbani/FastDevFs/src/include/fuse_functions/readdir.h \ /home/diya_limbani/FastDevFs/src/include/fuse_functions/rmdir.h \ /home/diya_limbani/FastDevFs/src/include/fuse_functions/statfs.h \ + /home/diya_limbani/FastDevFs/src/include/fuse_functions/utimens.h \ /usr/include/alloca.h \ /usr/include/asm-generic/bitsperlong.h \ /usr/include/asm-generic/errno-base.h \ @@ -253,37 +256,164 @@ CMakeFiles/FastDevFS.dir/main.cpp.o: /home/diya_limbani/FastDevFs/main.cpp \ CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp \ /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ + /usr/include/alloca.h \ + /usr/include/asm-generic/bitsperlong.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/int-ll64.h \ + /usr/include/asm-generic/posix_types.h \ + /usr/include/asm-generic/types.h \ + /usr/include/c++/13/backward/binders.h \ + /usr/include/c++/13/bit \ + /usr/include/c++/13/bits/alloc_traits.h \ + /usr/include/c++/13/bits/allocator.h \ + /usr/include/c++/13/bits/basic_ios.h \ + /usr/include/c++/13/bits/basic_ios.tcc \ + /usr/include/c++/13/bits/basic_string.h \ + /usr/include/c++/13/bits/basic_string.tcc \ + /usr/include/c++/13/bits/char_traits.h \ + /usr/include/c++/13/bits/charconv.h \ + /usr/include/c++/13/bits/concept_check.h \ + /usr/include/c++/13/bits/cpp_type_traits.h \ + /usr/include/c++/13/bits/cxxabi_forced.h \ + /usr/include/c++/13/bits/cxxabi_init_exception.h \ + /usr/include/c++/13/bits/exception.h \ + /usr/include/c++/13/bits/exception_defines.h \ + /usr/include/c++/13/bits/exception_ptr.h \ + /usr/include/c++/13/bits/functexcept.h \ + /usr/include/c++/13/bits/functional_hash.h \ + /usr/include/c++/13/bits/hash_bytes.h \ + /usr/include/c++/13/bits/invoke.h \ + /usr/include/c++/13/bits/ios_base.h \ + /usr/include/c++/13/bits/istream.tcc \ + /usr/include/c++/13/bits/locale_classes.h \ + /usr/include/c++/13/bits/locale_classes.tcc \ + /usr/include/c++/13/bits/locale_facets.h \ + /usr/include/c++/13/bits/locale_facets.tcc \ + /usr/include/c++/13/bits/localefwd.h \ + /usr/include/c++/13/bits/memory_resource.h \ + /usr/include/c++/13/bits/memoryfwd.h \ + /usr/include/c++/13/bits/move.h \ + /usr/include/c++/13/bits/nested_exception.h \ + /usr/include/c++/13/bits/new_allocator.h \ + /usr/include/c++/13/bits/ostream.tcc \ + /usr/include/c++/13/bits/ostream_insert.h \ + /usr/include/c++/13/bits/postypes.h \ + /usr/include/c++/13/bits/predefined_ops.h \ + /usr/include/c++/13/bits/ptr_traits.h \ + /usr/include/c++/13/bits/range_access.h \ + /usr/include/c++/13/bits/refwrap.h \ + /usr/include/c++/13/bits/requires_hosted.h \ + /usr/include/c++/13/bits/std_abs.h \ + /usr/include/c++/13/bits/stl_algobase.h \ + /usr/include/c++/13/bits/stl_construct.h \ + /usr/include/c++/13/bits/stl_function.h \ + /usr/include/c++/13/bits/stl_iterator.h \ + /usr/include/c++/13/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/13/bits/stl_iterator_base_types.h \ + /usr/include/c++/13/bits/stl_pair.h \ + /usr/include/c++/13/bits/streambuf.tcc \ + /usr/include/c++/13/bits/streambuf_iterator.h \ + /usr/include/c++/13/bits/string_view.tcc \ + /usr/include/c++/13/bits/stringfwd.h \ + /usr/include/c++/13/bits/uses_allocator.h \ + /usr/include/c++/13/bits/uses_allocator_args.h \ + /usr/include/c++/13/bits/utility.h \ + /usr/include/c++/13/cctype \ + /usr/include/c++/13/cerrno \ + /usr/include/c++/13/clocale \ + /usr/include/c++/13/cstddef \ /usr/include/c++/13/cstdio \ + /usr/include/c++/13/cstdlib \ + /usr/include/c++/13/ctime \ + /usr/include/c++/13/cwchar \ + /usr/include/c++/13/cwctype \ + /usr/include/c++/13/debug/assertions.h \ + /usr/include/c++/13/debug/debug.h \ + /usr/include/c++/13/exception \ + /usr/include/c++/13/ext/alloc_traits.h \ + /usr/include/c++/13/ext/atomicity.h \ + /usr/include/c++/13/ext/numeric_traits.h \ + /usr/include/c++/13/ext/string_conversions.h \ + /usr/include/c++/13/ext/type_traits.h \ + /usr/include/c++/13/initializer_list \ + /usr/include/c++/13/ios \ + /usr/include/c++/13/iosfwd \ + /usr/include/c++/13/iostream \ + /usr/include/c++/13/istream \ + /usr/include/c++/13/new \ + /usr/include/c++/13/ostream \ /usr/include/c++/13/pstl/pstl_config.h \ + /usr/include/c++/13/stdexcept \ + /usr/include/c++/13/streambuf \ + /usr/include/c++/13/string \ + /usr/include/c++/13/string_view \ + /usr/include/c++/13/system_error \ + /usr/include/c++/13/tuple \ + /usr/include/c++/13/type_traits \ + /usr/include/c++/13/typeinfo \ + /usr/include/ctype.h \ + /usr/include/endian.h \ + /usr/include/errno.h \ /usr/include/features-time64.h \ /usr/include/features.h \ + /usr/include/linux/close_range.h \ + /usr/include/linux/errno.h \ + /usr/include/linux/posix_types.h \ + /usr/include/linux/stat.h \ + /usr/include/linux/stddef.h \ + /usr/include/linux/types.h \ + /usr/include/locale.h \ /usr/include/pthread.h \ /usr/include/sched.h \ /usr/include/stdc-predef.h \ /usr/include/stdint.h \ /usr/include/stdio.h \ + /usr/include/stdlib.h \ /usr/include/string.h \ /usr/include/strings.h \ /usr/include/time.h \ + /usr/include/unistd.h \ + /usr/include/wchar.h \ + /usr/include/wctype.h \ + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ + /usr/include/x86_64-linux-gnu/asm/errno.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \ + /usr/include/x86_64-linux-gnu/asm/types.h \ /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/confname.h \ /usr/include/x86_64-linux-gnu/bits/cpu-set.h \ /usr/include/x86_64-linux-gnu/bits/endian.h \ /usr/include/x86_64-linux-gnu/bits/endianness.h \ + /usr/include/x86_64-linux-gnu/bits/environments.h \ + /usr/include/x86_64-linux-gnu/bits/errno.h \ /usr/include/x86_64-linux-gnu/bits/floatn-common.h \ /usr/include/x86_64-linux-gnu/bits/floatn.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_core.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \ /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h \ /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/bits/stat.h \ + /usr/include/x86_64-linux-gnu/bits/statx-generic.h \ + /usr/include/x86_64-linux-gnu/bits/statx.h \ /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/x86_64-linux-gnu/bits/struct_stat.h \ /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \ /usr/include/x86_64-linux-gnu/bits/time.h \ /usr/include/x86_64-linux-gnu/bits/time64.h \ @@ -300,30 +430,160 @@ CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o: /home/diya_limbani/Fa /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \ /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h \ /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h \ /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h \ /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h \ /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h \ /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ /usr/include/x86_64-linux-gnu/gnu/stubs.h \ /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/sys/single_threaded.h \ + /usr/include/x86_64-linux-gnu/sys/stat.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h +CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/file_io.cpp \ + /home/diya_limbani/FastDevFs/src/include/daemon/file_io.h \ + /usr/include/alloca.h \ + /usr/include/asm-generic/bitsperlong.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/int-ll64.h \ + /usr/include/asm-generic/posix_types.h \ + /usr/include/asm-generic/types.h \ + /usr/include/c++/13/bits/std_abs.h \ + /usr/include/c++/13/cstdlib \ + /usr/include/c++/13/pstl/pstl_config.h \ + /usr/include/c++/13/stdlib.h \ + /usr/include/endian.h \ + /usr/include/errno.h \ + /usr/include/fcntl.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/linux/close_range.h \ + /usr/include/linux/errno.h \ + /usr/include/linux/falloc.h \ + /usr/include/linux/posix_types.h \ + /usr/include/linux/stat.h \ + /usr/include/linux/stddef.h \ + /usr/include/linux/types.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/unistd.h \ + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ + /usr/include/x86_64-linux-gnu/asm/errno.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \ + /usr/include/x86_64-linux-gnu/asm/types.h \ + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/confname.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endianness.h \ + /usr/include/x86_64-linux-gnu/bits/environments.h \ + /usr/include/x86_64-linux-gnu/bits/errno.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl.h \ + /usr/include/x86_64-linux-gnu/bits/floatn-common.h \ + /usr/include/x86_64-linux-gnu/bits/floatn.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_core.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \ + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/stat.h \ + /usr/include/x86_64-linux-gnu/bits/statx-generic.h \ + /usr/include/x86_64-linux-gnu/bits/statx.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/x86_64-linux-gnu/bits/struct_stat.h \ + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/x86_64-linux-gnu/bits/time64.h \ + /usr/include/x86_64-linux-gnu/bits/timesize.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/sys/stat.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h + CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp \ /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ /usr/include/features-time64.h \ @@ -356,14 +616,581 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o: /home/diya_limbani /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ /home/diya_limbani/FastDevFs/src/include/fuse_functions/access.h \ + /usr/include/alloca.h \ /usr/include/asm-generic/bitsperlong.h \ /usr/include/asm-generic/errno-base.h \ /usr/include/asm-generic/errno.h \ /usr/include/asm-generic/int-ll64.h \ /usr/include/asm-generic/posix_types.h \ /usr/include/asm-generic/types.h \ + /usr/include/c++/13/backward/binders.h \ + /usr/include/c++/13/bit \ + /usr/include/c++/13/bits/alloc_traits.h \ + /usr/include/c++/13/bits/allocator.h \ + /usr/include/c++/13/bits/basic_ios.h \ + /usr/include/c++/13/bits/basic_ios.tcc \ + /usr/include/c++/13/bits/basic_string.h \ + /usr/include/c++/13/bits/basic_string.tcc \ + /usr/include/c++/13/bits/char_traits.h \ + /usr/include/c++/13/bits/charconv.h \ + /usr/include/c++/13/bits/concept_check.h \ + /usr/include/c++/13/bits/cpp_type_traits.h \ + /usr/include/c++/13/bits/cxxabi_forced.h \ + /usr/include/c++/13/bits/cxxabi_init_exception.h \ + /usr/include/c++/13/bits/exception.h \ + /usr/include/c++/13/bits/exception_defines.h \ + /usr/include/c++/13/bits/exception_ptr.h \ + /usr/include/c++/13/bits/functexcept.h \ + /usr/include/c++/13/bits/functional_hash.h \ + /usr/include/c++/13/bits/hash_bytes.h \ + /usr/include/c++/13/bits/invoke.h \ + /usr/include/c++/13/bits/ios_base.h \ + /usr/include/c++/13/bits/istream.tcc \ + /usr/include/c++/13/bits/locale_classes.h \ + /usr/include/c++/13/bits/locale_classes.tcc \ + /usr/include/c++/13/bits/locale_facets.h \ + /usr/include/c++/13/bits/locale_facets.tcc \ + /usr/include/c++/13/bits/localefwd.h \ + /usr/include/c++/13/bits/memory_resource.h \ + /usr/include/c++/13/bits/memoryfwd.h \ + /usr/include/c++/13/bits/move.h \ + /usr/include/c++/13/bits/nested_exception.h \ + /usr/include/c++/13/bits/new_allocator.h \ + /usr/include/c++/13/bits/ostream.tcc \ + /usr/include/c++/13/bits/ostream_insert.h \ + /usr/include/c++/13/bits/postypes.h \ + /usr/include/c++/13/bits/predefined_ops.h \ + /usr/include/c++/13/bits/ptr_traits.h \ + /usr/include/c++/13/bits/range_access.h \ + /usr/include/c++/13/bits/refwrap.h \ + /usr/include/c++/13/bits/requires_hosted.h \ + /usr/include/c++/13/bits/std_abs.h \ + /usr/include/c++/13/bits/stl_algobase.h \ + /usr/include/c++/13/bits/stl_construct.h \ + /usr/include/c++/13/bits/stl_function.h \ + /usr/include/c++/13/bits/stl_iterator.h \ + /usr/include/c++/13/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/13/bits/stl_iterator_base_types.h \ + /usr/include/c++/13/bits/stl_pair.h \ + /usr/include/c++/13/bits/streambuf.tcc \ + /usr/include/c++/13/bits/streambuf_iterator.h \ + /usr/include/c++/13/bits/string_view.tcc \ + /usr/include/c++/13/bits/stringfwd.h \ + /usr/include/c++/13/bits/uses_allocator.h \ + /usr/include/c++/13/bits/uses_allocator_args.h \ + /usr/include/c++/13/bits/utility.h \ + /usr/include/c++/13/cctype \ + /usr/include/c++/13/cerrno \ + /usr/include/c++/13/clocale \ + /usr/include/c++/13/cstddef \ + /usr/include/c++/13/cstdio \ + /usr/include/c++/13/cstdlib \ + /usr/include/c++/13/cwchar \ + /usr/include/c++/13/cwctype \ + /usr/include/c++/13/debug/assertions.h \ + /usr/include/c++/13/debug/debug.h \ + /usr/include/c++/13/exception \ + /usr/include/c++/13/ext/alloc_traits.h \ + /usr/include/c++/13/ext/atomicity.h \ + /usr/include/c++/13/ext/numeric_traits.h \ + /usr/include/c++/13/ext/string_conversions.h \ + /usr/include/c++/13/ext/type_traits.h \ + /usr/include/c++/13/initializer_list \ + /usr/include/c++/13/ios \ + /usr/include/c++/13/iosfwd \ + /usr/include/c++/13/iostream \ + /usr/include/c++/13/istream \ + /usr/include/c++/13/new \ + /usr/include/c++/13/ostream \ + /usr/include/c++/13/pstl/pstl_config.h \ + /usr/include/c++/13/stdexcept \ + /usr/include/c++/13/streambuf \ + /usr/include/c++/13/string \ + /usr/include/c++/13/string_view \ + /usr/include/c++/13/system_error \ + /usr/include/c++/13/tuple \ + /usr/include/c++/13/type_traits \ + /usr/include/c++/13/typeinfo \ + /usr/include/ctype.h \ + /usr/include/endian.h \ + /usr/include/errno.h \ + /usr/include/fcntl.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/fuse3/fuse.h \ + /usr/include/fuse3/fuse_common.h \ + /usr/include/fuse3/fuse_log.h \ + /usr/include/fuse3/fuse_opt.h \ + /usr/include/fuse3/libfuse_config.h \ + /usr/include/linux/close_range.h \ + /usr/include/linux/errno.h \ + /usr/include/linux/falloc.h \ + /usr/include/linux/posix_types.h \ + /usr/include/linux/stat.h \ + /usr/include/linux/stddef.h \ + /usr/include/linux/types.h \ + /usr/include/locale.h \ + /usr/include/pthread.h \ + /usr/include/sched.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ + /usr/include/time.h \ + /usr/include/unistd.h \ + /usr/include/wchar.h \ + /usr/include/wctype.h \ + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ + /usr/include/x86_64-linux-gnu/asm/errno.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \ + /usr/include/x86_64-linux-gnu/asm/types.h \ + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/confname.h \ + /usr/include/x86_64-linux-gnu/bits/cpu-set.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endianness.h \ + /usr/include/x86_64-linux-gnu/bits/environments.h \ + /usr/include/x86_64-linux-gnu/bits/errno.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl.h \ + /usr/include/x86_64-linux-gnu/bits/floatn-common.h \ + /usr/include/x86_64-linux-gnu/bits/floatn.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_core.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \ + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h \ + /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/bits/stat.h \ + /usr/include/x86_64-linux-gnu/bits/statvfs.h \ + /usr/include/x86_64-linux-gnu/bits/statx-generic.h \ + /usr/include/x86_64-linux-gnu/bits/statx.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/x86_64-linux-gnu/bits/struct_stat.h \ + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/time64.h \ + /usr/include/x86_64-linux-gnu/bits/timesize.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ + /usr/include/x86_64-linux-gnu/bits/uio-ext.h \ + /usr/include/x86_64-linux-gnu/bits/uio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/sys/single_threaded.h \ + /usr/include/x86_64-linux-gnu/sys/stat.h \ + /usr/include/x86_64-linux-gnu/sys/statvfs.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/uio.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/file_funcs.cpp \ + /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ + /home/diya_limbani/FastDevFs/src/include/daemon/file_io.h \ + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ + /home/diya_limbani/FastDevFs/src/include/fuse_functions/file_funcs.h \ + /usr/include/alloca.h \ + /usr/include/asm-generic/bitsperlong.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/int-ll64.h \ + /usr/include/asm-generic/posix_types.h \ + /usr/include/asm-generic/types.h \ + /usr/include/c++/13/backward/binders.h \ + /usr/include/c++/13/bit \ + /usr/include/c++/13/bits/alloc_traits.h \ + /usr/include/c++/13/bits/allocator.h \ + /usr/include/c++/13/bits/basic_ios.h \ + /usr/include/c++/13/bits/basic_ios.tcc \ + /usr/include/c++/13/bits/basic_string.h \ + /usr/include/c++/13/bits/basic_string.tcc \ + /usr/include/c++/13/bits/char_traits.h \ + /usr/include/c++/13/bits/charconv.h \ + /usr/include/c++/13/bits/concept_check.h \ + /usr/include/c++/13/bits/cpp_type_traits.h \ + /usr/include/c++/13/bits/cxxabi_forced.h \ + /usr/include/c++/13/bits/cxxabi_init_exception.h \ + /usr/include/c++/13/bits/exception.h \ + /usr/include/c++/13/bits/exception_defines.h \ + /usr/include/c++/13/bits/exception_ptr.h \ + /usr/include/c++/13/bits/functexcept.h \ + /usr/include/c++/13/bits/functional_hash.h \ + /usr/include/c++/13/bits/hash_bytes.h \ + /usr/include/c++/13/bits/invoke.h \ + /usr/include/c++/13/bits/ios_base.h \ + /usr/include/c++/13/bits/istream.tcc \ + /usr/include/c++/13/bits/locale_classes.h \ + /usr/include/c++/13/bits/locale_classes.tcc \ + /usr/include/c++/13/bits/locale_facets.h \ + /usr/include/c++/13/bits/locale_facets.tcc \ + /usr/include/c++/13/bits/localefwd.h \ + /usr/include/c++/13/bits/memory_resource.h \ + /usr/include/c++/13/bits/memoryfwd.h \ + /usr/include/c++/13/bits/move.h \ + /usr/include/c++/13/bits/nested_exception.h \ + /usr/include/c++/13/bits/new_allocator.h \ + /usr/include/c++/13/bits/ostream.tcc \ + /usr/include/c++/13/bits/ostream_insert.h \ + /usr/include/c++/13/bits/postypes.h \ + /usr/include/c++/13/bits/predefined_ops.h \ + /usr/include/c++/13/bits/ptr_traits.h \ + /usr/include/c++/13/bits/range_access.h \ + /usr/include/c++/13/bits/refwrap.h \ + /usr/include/c++/13/bits/requires_hosted.h \ + /usr/include/c++/13/bits/std_abs.h \ + /usr/include/c++/13/bits/stl_algobase.h \ + /usr/include/c++/13/bits/stl_construct.h \ + /usr/include/c++/13/bits/stl_function.h \ + /usr/include/c++/13/bits/stl_iterator.h \ + /usr/include/c++/13/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/13/bits/stl_iterator_base_types.h \ + /usr/include/c++/13/bits/stl_pair.h \ + /usr/include/c++/13/bits/streambuf.tcc \ + /usr/include/c++/13/bits/streambuf_iterator.h \ + /usr/include/c++/13/bits/string_view.tcc \ + /usr/include/c++/13/bits/stringfwd.h \ + /usr/include/c++/13/bits/uses_allocator.h \ + /usr/include/c++/13/bits/uses_allocator_args.h \ + /usr/include/c++/13/bits/utility.h \ + /usr/include/c++/13/cctype \ + /usr/include/c++/13/cerrno \ + /usr/include/c++/13/clocale \ + /usr/include/c++/13/cstddef \ + /usr/include/c++/13/cstdio \ + /usr/include/c++/13/cstdlib \ + /usr/include/c++/13/cstring \ + /usr/include/c++/13/cwchar \ + /usr/include/c++/13/cwctype \ + /usr/include/c++/13/debug/assertions.h \ + /usr/include/c++/13/debug/debug.h \ + /usr/include/c++/13/exception \ + /usr/include/c++/13/ext/alloc_traits.h \ + /usr/include/c++/13/ext/atomicity.h \ + /usr/include/c++/13/ext/numeric_traits.h \ + /usr/include/c++/13/ext/string_conversions.h \ + /usr/include/c++/13/ext/type_traits.h \ + /usr/include/c++/13/initializer_list \ + /usr/include/c++/13/ios \ + /usr/include/c++/13/iosfwd \ + /usr/include/c++/13/iostream \ + /usr/include/c++/13/istream \ + /usr/include/c++/13/new \ + /usr/include/c++/13/ostream \ + /usr/include/c++/13/pstl/pstl_config.h \ + /usr/include/c++/13/stdexcept \ + /usr/include/c++/13/streambuf \ + /usr/include/c++/13/string \ + /usr/include/c++/13/string_view \ + /usr/include/c++/13/system_error \ + /usr/include/c++/13/tuple \ + /usr/include/c++/13/type_traits \ + /usr/include/c++/13/typeinfo \ + /usr/include/ctype.h \ + /usr/include/endian.h \ + /usr/include/errno.h \ + /usr/include/fcntl.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/fuse3/fuse.h \ + /usr/include/fuse3/fuse_common.h \ + /usr/include/fuse3/fuse_log.h \ + /usr/include/fuse3/fuse_opt.h \ + /usr/include/fuse3/libfuse_config.h \ + /usr/include/linux/close_range.h \ + /usr/include/linux/errno.h \ + /usr/include/linux/falloc.h \ + /usr/include/linux/posix_types.h \ + /usr/include/linux/stat.h \ + /usr/include/linux/stddef.h \ + /usr/include/linux/types.h \ + /usr/include/locale.h \ + /usr/include/pthread.h \ + /usr/include/sched.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/time.h \ + /usr/include/unistd.h \ + /usr/include/wchar.h \ + /usr/include/wctype.h \ + /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ + /usr/include/x86_64-linux-gnu/asm/errno.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types.h \ + /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \ + /usr/include/x86_64-linux-gnu/asm/types.h \ + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/confname.h \ + /usr/include/x86_64-linux-gnu/bits/cpu-set.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endianness.h \ + /usr/include/x86_64-linux-gnu/bits/environments.h \ + /usr/include/x86_64-linux-gnu/bits/errno.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ + /usr/include/x86_64-linux-gnu/bits/fcntl.h \ + /usr/include/x86_64-linux-gnu/bits/floatn-common.h \ + /usr/include/x86_64-linux-gnu/bits/floatn.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_core.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \ + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h \ + /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/bits/stat.h \ + /usr/include/x86_64-linux-gnu/bits/statvfs.h \ + /usr/include/x86_64-linux-gnu/bits/statx-generic.h \ + /usr/include/x86_64-linux-gnu/bits/statx.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/x86_64-linux-gnu/bits/struct_stat.h \ + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/time64.h \ + /usr/include/x86_64-linux-gnu/bits/timesize.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ + /usr/include/x86_64-linux-gnu/bits/uio-ext.h \ + /usr/include/x86_64-linux-gnu/bits/uio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/sys/single_threaded.h \ + /usr/include/x86_64-linux-gnu/sys/stat.h \ + /usr/include/x86_64-linux-gnu/sys/statvfs.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/uio.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h + +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp \ + /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ + /home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h \ + /usr/include/alloca.h \ + /usr/include/asm-generic/bitsperlong.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/int-ll64.h \ + /usr/include/asm-generic/posix_types.h \ + /usr/include/asm-generic/types.h \ + /usr/include/c++/13/backward/binders.h \ + /usr/include/c++/13/bit \ + /usr/include/c++/13/bits/alloc_traits.h \ + /usr/include/c++/13/bits/allocator.h \ + /usr/include/c++/13/bits/basic_ios.h \ + /usr/include/c++/13/bits/basic_ios.tcc \ + /usr/include/c++/13/bits/basic_string.h \ + /usr/include/c++/13/bits/basic_string.tcc \ + /usr/include/c++/13/bits/char_traits.h \ + /usr/include/c++/13/bits/charconv.h \ + /usr/include/c++/13/bits/concept_check.h \ + /usr/include/c++/13/bits/cpp_type_traits.h \ + /usr/include/c++/13/bits/cxxabi_forced.h \ + /usr/include/c++/13/bits/cxxabi_init_exception.h \ + /usr/include/c++/13/bits/exception.h \ + /usr/include/c++/13/bits/exception_defines.h \ + /usr/include/c++/13/bits/exception_ptr.h \ + /usr/include/c++/13/bits/functexcept.h \ + /usr/include/c++/13/bits/functional_hash.h \ + /usr/include/c++/13/bits/hash_bytes.h \ + /usr/include/c++/13/bits/invoke.h \ + /usr/include/c++/13/bits/ios_base.h \ + /usr/include/c++/13/bits/istream.tcc \ + /usr/include/c++/13/bits/locale_classes.h \ + /usr/include/c++/13/bits/locale_classes.tcc \ + /usr/include/c++/13/bits/locale_facets.h \ + /usr/include/c++/13/bits/locale_facets.tcc \ + /usr/include/c++/13/bits/localefwd.h \ + /usr/include/c++/13/bits/memory_resource.h \ + /usr/include/c++/13/bits/memoryfwd.h \ + /usr/include/c++/13/bits/move.h \ + /usr/include/c++/13/bits/nested_exception.h \ + /usr/include/c++/13/bits/new_allocator.h \ + /usr/include/c++/13/bits/ostream.tcc \ + /usr/include/c++/13/bits/ostream_insert.h \ + /usr/include/c++/13/bits/postypes.h \ + /usr/include/c++/13/bits/predefined_ops.h \ + /usr/include/c++/13/bits/ptr_traits.h \ + /usr/include/c++/13/bits/range_access.h \ + /usr/include/c++/13/bits/refwrap.h \ + /usr/include/c++/13/bits/requires_hosted.h \ + /usr/include/c++/13/bits/std_abs.h \ + /usr/include/c++/13/bits/stl_algobase.h \ + /usr/include/c++/13/bits/stl_construct.h \ + /usr/include/c++/13/bits/stl_function.h \ + /usr/include/c++/13/bits/stl_iterator.h \ + /usr/include/c++/13/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/13/bits/stl_iterator_base_types.h \ + /usr/include/c++/13/bits/stl_pair.h \ + /usr/include/c++/13/bits/streambuf.tcc \ + /usr/include/c++/13/bits/streambuf_iterator.h \ + /usr/include/c++/13/bits/string_view.tcc \ + /usr/include/c++/13/bits/stringfwd.h \ + /usr/include/c++/13/bits/uses_allocator.h \ + /usr/include/c++/13/bits/uses_allocator_args.h \ + /usr/include/c++/13/bits/utility.h \ + /usr/include/c++/13/cctype \ /usr/include/c++/13/cerrno \ + /usr/include/c++/13/clocale \ + /usr/include/c++/13/cstddef \ + /usr/include/c++/13/cstdio \ + /usr/include/c++/13/cstdlib \ + /usr/include/c++/13/cstring \ + /usr/include/c++/13/cwchar \ + /usr/include/c++/13/cwctype \ + /usr/include/c++/13/debug/assertions.h \ + /usr/include/c++/13/debug/debug.h \ + /usr/include/c++/13/exception \ + /usr/include/c++/13/ext/alloc_traits.h \ + /usr/include/c++/13/ext/atomicity.h \ + /usr/include/c++/13/ext/numeric_traits.h \ + /usr/include/c++/13/ext/string_conversions.h \ + /usr/include/c++/13/ext/type_traits.h \ + /usr/include/c++/13/initializer_list \ + /usr/include/c++/13/ios \ + /usr/include/c++/13/iosfwd \ + /usr/include/c++/13/iostream \ + /usr/include/c++/13/istream \ + /usr/include/c++/13/new \ + /usr/include/c++/13/ostream \ /usr/include/c++/13/pstl/pstl_config.h \ + /usr/include/c++/13/stdexcept \ + /usr/include/c++/13/streambuf \ + /usr/include/c++/13/string \ + /usr/include/c++/13/string_view \ + /usr/include/c++/13/system_error \ + /usr/include/c++/13/tuple \ + /usr/include/c++/13/type_traits \ + /usr/include/c++/13/typeinfo \ + /usr/include/ctype.h \ /usr/include/endian.h \ /usr/include/errno.h \ /usr/include/fcntl.h \ @@ -374,17 +1201,26 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o: /home/diya_limbani /usr/include/fuse3/fuse_log.h \ /usr/include/fuse3/fuse_opt.h \ /usr/include/fuse3/libfuse_config.h \ + /usr/include/linux/close_range.h \ /usr/include/linux/errno.h \ /usr/include/linux/falloc.h \ /usr/include/linux/posix_types.h \ /usr/include/linux/stat.h \ /usr/include/linux/stddef.h \ /usr/include/linux/types.h \ + /usr/include/locale.h \ /usr/include/pthread.h \ /usr/include/sched.h \ /usr/include/stdc-predef.h \ /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ + /usr/include/string.h \ + /usr/include/strings.h \ /usr/include/time.h \ + /usr/include/unistd.h \ + /usr/include/wchar.h \ + /usr/include/wctype.h \ /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ /usr/include/x86_64-linux-gnu/asm/errno.h \ /usr/include/x86_64-linux-gnu/asm/posix_types.h \ @@ -392,14 +1228,22 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o: /home/diya_limbani /usr/include/x86_64-linux-gnu/asm/types.h \ /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/confname.h \ /usr/include/x86_64-linux-gnu/bits/cpu-set.h \ /usr/include/x86_64-linux-gnu/bits/endian.h \ /usr/include/x86_64-linux-gnu/bits/endianness.h \ + /usr/include/x86_64-linux-gnu/bits/environments.h \ /usr/include/x86_64-linux-gnu/bits/errno.h \ /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ /usr/include/x86_64-linux-gnu/bits/fcntl.h \ + /usr/include/x86_64-linux-gnu/bits/floatn-common.h \ + /usr/include/x86_64-linux-gnu/bits/floatn.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_core.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \ /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h \ /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ @@ -413,6 +1257,8 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o: /home/diya_limbani /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ /usr/include/x86_64-linux-gnu/bits/struct_stat.h \ @@ -422,13 +1268,21 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o: /home/diya_limbani /usr/include/x86_64-linux-gnu/bits/timesize.h \ /usr/include/x86_64-linux-gnu/bits/timex.h \ /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \ /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \ /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \ /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \ /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \ /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ @@ -440,19 +1294,33 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o: /home/diya_limbani /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h \ /usr/include/x86_64-linux-gnu/bits/typesizes.h \ /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ /usr/include/x86_64-linux-gnu/bits/uio-ext.h \ /usr/include/x86_64-linux-gnu/bits/uio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h \ /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h \ /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h \ /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h \ /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ /usr/include/x86_64-linux-gnu/gnu/stubs.h \ /usr/include/x86_64-linux-gnu/sys/cdefs.h \ /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/sys/single_threaded.h \ /usr/include/x86_64-linux-gnu/sys/stat.h \ /usr/include/x86_64-linux-gnu/sys/statvfs.h \ /usr/include/x86_64-linux-gnu/sys/types.h \ @@ -462,19 +1330,107 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o: /home/diya_limbani /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp \ +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/mkdir.cpp \ /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ - /home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h \ + /home/diya_limbani/FastDevFs/src/include/fuse_functions/mkdir.h \ + /usr/include/alloca.h \ /usr/include/asm-generic/bitsperlong.h \ /usr/include/asm-generic/errno-base.h \ /usr/include/asm-generic/errno.h \ /usr/include/asm-generic/int-ll64.h \ /usr/include/asm-generic/posix_types.h \ /usr/include/asm-generic/types.h \ + /usr/include/c++/13/backward/binders.h \ + /usr/include/c++/13/bit \ + /usr/include/c++/13/bits/alloc_traits.h \ + /usr/include/c++/13/bits/allocator.h \ + /usr/include/c++/13/bits/basic_ios.h \ + /usr/include/c++/13/bits/basic_ios.tcc \ + /usr/include/c++/13/bits/basic_string.h \ + /usr/include/c++/13/bits/basic_string.tcc \ + /usr/include/c++/13/bits/char_traits.h \ + /usr/include/c++/13/bits/charconv.h \ + /usr/include/c++/13/bits/concept_check.h \ + /usr/include/c++/13/bits/cpp_type_traits.h \ + /usr/include/c++/13/bits/cxxabi_forced.h \ + /usr/include/c++/13/bits/cxxabi_init_exception.h \ + /usr/include/c++/13/bits/exception.h \ + /usr/include/c++/13/bits/exception_defines.h \ + /usr/include/c++/13/bits/exception_ptr.h \ + /usr/include/c++/13/bits/functexcept.h \ + /usr/include/c++/13/bits/functional_hash.h \ + /usr/include/c++/13/bits/hash_bytes.h \ + /usr/include/c++/13/bits/invoke.h \ + /usr/include/c++/13/bits/ios_base.h \ + /usr/include/c++/13/bits/istream.tcc \ + /usr/include/c++/13/bits/locale_classes.h \ + /usr/include/c++/13/bits/locale_classes.tcc \ + /usr/include/c++/13/bits/locale_facets.h \ + /usr/include/c++/13/bits/locale_facets.tcc \ + /usr/include/c++/13/bits/localefwd.h \ + /usr/include/c++/13/bits/memory_resource.h \ + /usr/include/c++/13/bits/memoryfwd.h \ + /usr/include/c++/13/bits/move.h \ + /usr/include/c++/13/bits/nested_exception.h \ + /usr/include/c++/13/bits/new_allocator.h \ + /usr/include/c++/13/bits/ostream.tcc \ + /usr/include/c++/13/bits/ostream_insert.h \ + /usr/include/c++/13/bits/postypes.h \ + /usr/include/c++/13/bits/predefined_ops.h \ + /usr/include/c++/13/bits/ptr_traits.h \ + /usr/include/c++/13/bits/range_access.h \ + /usr/include/c++/13/bits/refwrap.h \ + /usr/include/c++/13/bits/requires_hosted.h \ + /usr/include/c++/13/bits/std_abs.h \ + /usr/include/c++/13/bits/stl_algobase.h \ + /usr/include/c++/13/bits/stl_construct.h \ + /usr/include/c++/13/bits/stl_function.h \ + /usr/include/c++/13/bits/stl_iterator.h \ + /usr/include/c++/13/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/13/bits/stl_iterator_base_types.h \ + /usr/include/c++/13/bits/stl_pair.h \ + /usr/include/c++/13/bits/streambuf.tcc \ + /usr/include/c++/13/bits/streambuf_iterator.h \ + /usr/include/c++/13/bits/string_view.tcc \ + /usr/include/c++/13/bits/stringfwd.h \ + /usr/include/c++/13/bits/uses_allocator.h \ + /usr/include/c++/13/bits/uses_allocator_args.h \ + /usr/include/c++/13/bits/utility.h \ + /usr/include/c++/13/cctype \ /usr/include/c++/13/cerrno \ + /usr/include/c++/13/clocale \ + /usr/include/c++/13/cstddef \ + /usr/include/c++/13/cstdio \ + /usr/include/c++/13/cstdlib \ /usr/include/c++/13/cstring \ + /usr/include/c++/13/cwchar \ + /usr/include/c++/13/cwctype \ + /usr/include/c++/13/debug/assertions.h \ + /usr/include/c++/13/debug/debug.h \ + /usr/include/c++/13/exception \ + /usr/include/c++/13/ext/alloc_traits.h \ + /usr/include/c++/13/ext/atomicity.h \ + /usr/include/c++/13/ext/numeric_traits.h \ + /usr/include/c++/13/ext/string_conversions.h \ + /usr/include/c++/13/ext/type_traits.h \ + /usr/include/c++/13/initializer_list \ + /usr/include/c++/13/ios \ + /usr/include/c++/13/iosfwd \ + /usr/include/c++/13/iostream \ + /usr/include/c++/13/istream \ + /usr/include/c++/13/new \ + /usr/include/c++/13/ostream \ /usr/include/c++/13/pstl/pstl_config.h \ + /usr/include/c++/13/stdexcept \ + /usr/include/c++/13/streambuf \ + /usr/include/c++/13/string \ + /usr/include/c++/13/string_view \ + /usr/include/c++/13/system_error \ + /usr/include/c++/13/tuple \ + /usr/include/c++/13/type_traits \ + /usr/include/c++/13/typeinfo \ + /usr/include/ctype.h \ /usr/include/endian.h \ /usr/include/errno.h \ /usr/include/fcntl.h \ @@ -492,14 +1448,19 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o: /home/diya_limban /usr/include/linux/stat.h \ /usr/include/linux/stddef.h \ /usr/include/linux/types.h \ + /usr/include/locale.h \ /usr/include/pthread.h \ /usr/include/sched.h \ /usr/include/stdc-predef.h \ /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ /usr/include/string.h \ /usr/include/strings.h \ /usr/include/time.h \ /usr/include/unistd.h \ + /usr/include/wchar.h \ + /usr/include/wctype.h \ /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ /usr/include/x86_64-linux-gnu/asm/errno.h \ /usr/include/x86_64-linux-gnu/asm/posix_types.h \ @@ -515,9 +1476,12 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/bits/errno.h \ /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ /usr/include/x86_64-linux-gnu/bits/fcntl.h \ + /usr/include/x86_64-linux-gnu/bits/floatn-common.h \ + /usr/include/x86_64-linux-gnu/bits/floatn.h \ /usr/include/x86_64-linux-gnu/bits/getopt_core.h \ /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \ /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h \ /usr/include/x86_64-linux-gnu/bits/long-double.h \ /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ @@ -533,6 +1497,8 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ /usr/include/x86_64-linux-gnu/bits/struct_stat.h \ @@ -542,13 +1508,21 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/bits/timesize.h \ /usr/include/x86_64-linux-gnu/bits/timex.h \ /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \ /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \ /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \ /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \ /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \ /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ @@ -560,20 +1534,33 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h \ /usr/include/x86_64-linux-gnu/bits/typesizes.h \ /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ /usr/include/x86_64-linux-gnu/bits/uio-ext.h \ /usr/include/x86_64-linux-gnu/bits/uio_lim.h \ /usr/include/x86_64-linux-gnu/bits/unistd_ext.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h \ /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h \ /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h \ /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h \ /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ /usr/include/x86_64-linux-gnu/gnu/stubs.h \ /usr/include/x86_64-linux-gnu/sys/cdefs.h \ /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/sys/single_threaded.h \ /usr/include/x86_64-linux-gnu/sys/stat.h \ /usr/include/x86_64-linux-gnu/sys/statvfs.h \ /usr/include/x86_64-linux-gnu/sys/types.h \ @@ -583,19 +1570,107 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o: /home/diya_limban /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/mkdir.cpp \ +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp \ /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ - /home/diya_limbani/FastDevFs/src/include/fuse_functions/mkdir.h \ + /home/diya_limbani/FastDevFs/src/include/fuse_functions/opendir.h \ + /usr/include/alloca.h \ /usr/include/asm-generic/bitsperlong.h \ /usr/include/asm-generic/errno-base.h \ /usr/include/asm-generic/errno.h \ /usr/include/asm-generic/int-ll64.h \ /usr/include/asm-generic/posix_types.h \ /usr/include/asm-generic/types.h \ + /usr/include/c++/13/backward/binders.h \ + /usr/include/c++/13/bit \ + /usr/include/c++/13/bits/alloc_traits.h \ + /usr/include/c++/13/bits/allocator.h \ + /usr/include/c++/13/bits/basic_ios.h \ + /usr/include/c++/13/bits/basic_ios.tcc \ + /usr/include/c++/13/bits/basic_string.h \ + /usr/include/c++/13/bits/basic_string.tcc \ + /usr/include/c++/13/bits/char_traits.h \ + /usr/include/c++/13/bits/charconv.h \ + /usr/include/c++/13/bits/concept_check.h \ + /usr/include/c++/13/bits/cpp_type_traits.h \ + /usr/include/c++/13/bits/cxxabi_forced.h \ + /usr/include/c++/13/bits/cxxabi_init_exception.h \ + /usr/include/c++/13/bits/exception.h \ + /usr/include/c++/13/bits/exception_defines.h \ + /usr/include/c++/13/bits/exception_ptr.h \ + /usr/include/c++/13/bits/functexcept.h \ + /usr/include/c++/13/bits/functional_hash.h \ + /usr/include/c++/13/bits/hash_bytes.h \ + /usr/include/c++/13/bits/invoke.h \ + /usr/include/c++/13/bits/ios_base.h \ + /usr/include/c++/13/bits/istream.tcc \ + /usr/include/c++/13/bits/locale_classes.h \ + /usr/include/c++/13/bits/locale_classes.tcc \ + /usr/include/c++/13/bits/locale_facets.h \ + /usr/include/c++/13/bits/locale_facets.tcc \ + /usr/include/c++/13/bits/localefwd.h \ + /usr/include/c++/13/bits/memory_resource.h \ + /usr/include/c++/13/bits/memoryfwd.h \ + /usr/include/c++/13/bits/move.h \ + /usr/include/c++/13/bits/nested_exception.h \ + /usr/include/c++/13/bits/new_allocator.h \ + /usr/include/c++/13/bits/ostream.tcc \ + /usr/include/c++/13/bits/ostream_insert.h \ + /usr/include/c++/13/bits/postypes.h \ + /usr/include/c++/13/bits/predefined_ops.h \ + /usr/include/c++/13/bits/ptr_traits.h \ + /usr/include/c++/13/bits/range_access.h \ + /usr/include/c++/13/bits/refwrap.h \ + /usr/include/c++/13/bits/requires_hosted.h \ + /usr/include/c++/13/bits/std_abs.h \ + /usr/include/c++/13/bits/stl_algobase.h \ + /usr/include/c++/13/bits/stl_construct.h \ + /usr/include/c++/13/bits/stl_function.h \ + /usr/include/c++/13/bits/stl_iterator.h \ + /usr/include/c++/13/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/13/bits/stl_iterator_base_types.h \ + /usr/include/c++/13/bits/stl_pair.h \ + /usr/include/c++/13/bits/streambuf.tcc \ + /usr/include/c++/13/bits/streambuf_iterator.h \ + /usr/include/c++/13/bits/string_view.tcc \ + /usr/include/c++/13/bits/stringfwd.h \ + /usr/include/c++/13/bits/uses_allocator.h \ + /usr/include/c++/13/bits/uses_allocator_args.h \ + /usr/include/c++/13/bits/utility.h \ + /usr/include/c++/13/cctype \ /usr/include/c++/13/cerrno \ + /usr/include/c++/13/clocale \ + /usr/include/c++/13/cstddef \ + /usr/include/c++/13/cstdio \ + /usr/include/c++/13/cstdlib \ /usr/include/c++/13/cstring \ + /usr/include/c++/13/cwchar \ + /usr/include/c++/13/cwctype \ + /usr/include/c++/13/debug/assertions.h \ + /usr/include/c++/13/debug/debug.h \ + /usr/include/c++/13/exception \ + /usr/include/c++/13/ext/alloc_traits.h \ + /usr/include/c++/13/ext/atomicity.h \ + /usr/include/c++/13/ext/numeric_traits.h \ + /usr/include/c++/13/ext/string_conversions.h \ + /usr/include/c++/13/ext/type_traits.h \ + /usr/include/c++/13/initializer_list \ + /usr/include/c++/13/ios \ + /usr/include/c++/13/iosfwd \ + /usr/include/c++/13/iostream \ + /usr/include/c++/13/istream \ + /usr/include/c++/13/new \ + /usr/include/c++/13/ostream \ /usr/include/c++/13/pstl/pstl_config.h \ + /usr/include/c++/13/stdexcept \ + /usr/include/c++/13/streambuf \ + /usr/include/c++/13/string \ + /usr/include/c++/13/string_view \ + /usr/include/c++/13/system_error \ + /usr/include/c++/13/tuple \ + /usr/include/c++/13/type_traits \ + /usr/include/c++/13/typeinfo \ + /usr/include/ctype.h \ /usr/include/endian.h \ /usr/include/errno.h \ /usr/include/fcntl.h \ @@ -606,19 +1681,26 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o: /home/diya_limbani/ /usr/include/fuse3/fuse_log.h \ /usr/include/fuse3/fuse_opt.h \ /usr/include/fuse3/libfuse_config.h \ + /usr/include/linux/close_range.h \ /usr/include/linux/errno.h \ /usr/include/linux/falloc.h \ /usr/include/linux/posix_types.h \ /usr/include/linux/stat.h \ /usr/include/linux/stddef.h \ /usr/include/linux/types.h \ + /usr/include/locale.h \ /usr/include/pthread.h \ /usr/include/sched.h \ /usr/include/stdc-predef.h \ /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ /usr/include/string.h \ /usr/include/strings.h \ /usr/include/time.h \ + /usr/include/unistd.h \ + /usr/include/wchar.h \ + /usr/include/wctype.h \ /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ /usr/include/x86_64-linux-gnu/asm/errno.h \ /usr/include/x86_64-linux-gnu/asm/posix_types.h \ @@ -626,14 +1708,22 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o: /home/diya_limbani/ /usr/include/x86_64-linux-gnu/asm/types.h \ /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/confname.h \ /usr/include/x86_64-linux-gnu/bits/cpu-set.h \ /usr/include/x86_64-linux-gnu/bits/endian.h \ /usr/include/x86_64-linux-gnu/bits/endianness.h \ + /usr/include/x86_64-linux-gnu/bits/environments.h \ /usr/include/x86_64-linux-gnu/bits/errno.h \ /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ /usr/include/x86_64-linux-gnu/bits/fcntl.h \ + /usr/include/x86_64-linux-gnu/bits/floatn-common.h \ + /usr/include/x86_64-linux-gnu/bits/floatn.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_core.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \ /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h \ /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ @@ -647,6 +1737,8 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o: /home/diya_limbani/ /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ /usr/include/x86_64-linux-gnu/bits/struct_stat.h \ @@ -656,13 +1748,21 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o: /home/diya_limbani/ /usr/include/x86_64-linux-gnu/bits/timesize.h \ /usr/include/x86_64-linux-gnu/bits/timex.h \ /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \ /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \ /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \ /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \ /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \ /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ @@ -674,19 +1774,33 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o: /home/diya_limbani/ /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h \ /usr/include/x86_64-linux-gnu/bits/typesizes.h \ /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ /usr/include/x86_64-linux-gnu/bits/uio-ext.h \ /usr/include/x86_64-linux-gnu/bits/uio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h \ /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h \ /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h \ /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h \ /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ /usr/include/x86_64-linux-gnu/gnu/stubs.h \ /usr/include/x86_64-linux-gnu/sys/cdefs.h \ /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/sys/single_threaded.h \ /usr/include/x86_64-linux-gnu/sys/stat.h \ /usr/include/x86_64-linux-gnu/sys/statvfs.h \ /usr/include/x86_64-linux-gnu/sys/types.h \ @@ -696,19 +1810,107 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o: /home/diya_limbani/ /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp \ +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/readdir.cpp \ /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ - /home/diya_limbani/FastDevFs/src/include/fuse_functions/opendir.h \ + /home/diya_limbani/FastDevFs/src/include/fuse_functions/readdir.h \ + /usr/include/alloca.h \ /usr/include/asm-generic/bitsperlong.h \ /usr/include/asm-generic/errno-base.h \ /usr/include/asm-generic/errno.h \ /usr/include/asm-generic/int-ll64.h \ /usr/include/asm-generic/posix_types.h \ /usr/include/asm-generic/types.h \ + /usr/include/c++/13/backward/binders.h \ + /usr/include/c++/13/bit \ + /usr/include/c++/13/bits/alloc_traits.h \ + /usr/include/c++/13/bits/allocator.h \ + /usr/include/c++/13/bits/basic_ios.h \ + /usr/include/c++/13/bits/basic_ios.tcc \ + /usr/include/c++/13/bits/basic_string.h \ + /usr/include/c++/13/bits/basic_string.tcc \ + /usr/include/c++/13/bits/char_traits.h \ + /usr/include/c++/13/bits/charconv.h \ + /usr/include/c++/13/bits/concept_check.h \ + /usr/include/c++/13/bits/cpp_type_traits.h \ + /usr/include/c++/13/bits/cxxabi_forced.h \ + /usr/include/c++/13/bits/cxxabi_init_exception.h \ + /usr/include/c++/13/bits/exception.h \ + /usr/include/c++/13/bits/exception_defines.h \ + /usr/include/c++/13/bits/exception_ptr.h \ + /usr/include/c++/13/bits/functexcept.h \ + /usr/include/c++/13/bits/functional_hash.h \ + /usr/include/c++/13/bits/hash_bytes.h \ + /usr/include/c++/13/bits/invoke.h \ + /usr/include/c++/13/bits/ios_base.h \ + /usr/include/c++/13/bits/istream.tcc \ + /usr/include/c++/13/bits/locale_classes.h \ + /usr/include/c++/13/bits/locale_classes.tcc \ + /usr/include/c++/13/bits/locale_facets.h \ + /usr/include/c++/13/bits/locale_facets.tcc \ + /usr/include/c++/13/bits/localefwd.h \ + /usr/include/c++/13/bits/memory_resource.h \ + /usr/include/c++/13/bits/memoryfwd.h \ + /usr/include/c++/13/bits/move.h \ + /usr/include/c++/13/bits/nested_exception.h \ + /usr/include/c++/13/bits/new_allocator.h \ + /usr/include/c++/13/bits/ostream.tcc \ + /usr/include/c++/13/bits/ostream_insert.h \ + /usr/include/c++/13/bits/postypes.h \ + /usr/include/c++/13/bits/predefined_ops.h \ + /usr/include/c++/13/bits/ptr_traits.h \ + /usr/include/c++/13/bits/range_access.h \ + /usr/include/c++/13/bits/refwrap.h \ + /usr/include/c++/13/bits/requires_hosted.h \ + /usr/include/c++/13/bits/std_abs.h \ + /usr/include/c++/13/bits/stl_algobase.h \ + /usr/include/c++/13/bits/stl_construct.h \ + /usr/include/c++/13/bits/stl_function.h \ + /usr/include/c++/13/bits/stl_iterator.h \ + /usr/include/c++/13/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/13/bits/stl_iterator_base_types.h \ + /usr/include/c++/13/bits/stl_pair.h \ + /usr/include/c++/13/bits/streambuf.tcc \ + /usr/include/c++/13/bits/streambuf_iterator.h \ + /usr/include/c++/13/bits/string_view.tcc \ + /usr/include/c++/13/bits/stringfwd.h \ + /usr/include/c++/13/bits/uses_allocator.h \ + /usr/include/c++/13/bits/uses_allocator_args.h \ + /usr/include/c++/13/bits/utility.h \ + /usr/include/c++/13/cctype \ /usr/include/c++/13/cerrno \ + /usr/include/c++/13/clocale \ + /usr/include/c++/13/cstddef \ + /usr/include/c++/13/cstdio \ + /usr/include/c++/13/cstdlib \ /usr/include/c++/13/cstring \ + /usr/include/c++/13/cwchar \ + /usr/include/c++/13/cwctype \ + /usr/include/c++/13/debug/assertions.h \ + /usr/include/c++/13/debug/debug.h \ + /usr/include/c++/13/exception \ + /usr/include/c++/13/ext/alloc_traits.h \ + /usr/include/c++/13/ext/atomicity.h \ + /usr/include/c++/13/ext/numeric_traits.h \ + /usr/include/c++/13/ext/string_conversions.h \ + /usr/include/c++/13/ext/type_traits.h \ + /usr/include/c++/13/initializer_list \ + /usr/include/c++/13/ios \ + /usr/include/c++/13/iosfwd \ + /usr/include/c++/13/iostream \ + /usr/include/c++/13/istream \ + /usr/include/c++/13/new \ + /usr/include/c++/13/ostream \ /usr/include/c++/13/pstl/pstl_config.h \ + /usr/include/c++/13/stdexcept \ + /usr/include/c++/13/streambuf \ + /usr/include/c++/13/string \ + /usr/include/c++/13/string_view \ + /usr/include/c++/13/system_error \ + /usr/include/c++/13/tuple \ + /usr/include/c++/13/type_traits \ + /usr/include/c++/13/typeinfo \ + /usr/include/ctype.h \ /usr/include/endian.h \ /usr/include/errno.h \ /usr/include/fcntl.h \ @@ -719,19 +1921,26 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o: /home/diya_limban /usr/include/fuse3/fuse_log.h \ /usr/include/fuse3/fuse_opt.h \ /usr/include/fuse3/libfuse_config.h \ + /usr/include/linux/close_range.h \ /usr/include/linux/errno.h \ /usr/include/linux/falloc.h \ /usr/include/linux/posix_types.h \ /usr/include/linux/stat.h \ /usr/include/linux/stddef.h \ /usr/include/linux/types.h \ + /usr/include/locale.h \ /usr/include/pthread.h \ /usr/include/sched.h \ /usr/include/stdc-predef.h \ /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ /usr/include/string.h \ /usr/include/strings.h \ /usr/include/time.h \ + /usr/include/unistd.h \ + /usr/include/wchar.h \ + /usr/include/wctype.h \ /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ /usr/include/x86_64-linux-gnu/asm/errno.h \ /usr/include/x86_64-linux-gnu/asm/posix_types.h \ @@ -739,14 +1948,22 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/asm/types.h \ /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/confname.h \ /usr/include/x86_64-linux-gnu/bits/cpu-set.h \ /usr/include/x86_64-linux-gnu/bits/endian.h \ /usr/include/x86_64-linux-gnu/bits/endianness.h \ + /usr/include/x86_64-linux-gnu/bits/environments.h \ /usr/include/x86_64-linux-gnu/bits/errno.h \ /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ /usr/include/x86_64-linux-gnu/bits/fcntl.h \ + /usr/include/x86_64-linux-gnu/bits/floatn-common.h \ + /usr/include/x86_64-linux-gnu/bits/floatn.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_core.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \ /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h \ /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ @@ -760,6 +1977,8 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ /usr/include/x86_64-linux-gnu/bits/struct_stat.h \ @@ -769,13 +1988,21 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/bits/timesize.h \ /usr/include/x86_64-linux-gnu/bits/timex.h \ /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \ /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \ /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \ /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \ /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \ /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ @@ -787,19 +2014,33 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h \ /usr/include/x86_64-linux-gnu/bits/typesizes.h \ /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ /usr/include/x86_64-linux-gnu/bits/uio-ext.h \ /usr/include/x86_64-linux-gnu/bits/uio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h \ /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h \ /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h \ /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h \ /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ /usr/include/x86_64-linux-gnu/gnu/stubs.h \ /usr/include/x86_64-linux-gnu/sys/cdefs.h \ /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/sys/single_threaded.h \ /usr/include/x86_64-linux-gnu/sys/stat.h \ /usr/include/x86_64-linux-gnu/sys/statvfs.h \ /usr/include/x86_64-linux-gnu/sys/types.h \ @@ -809,19 +2050,107 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o: /home/diya_limban /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/readdir.cpp \ +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/rmdir.cpp \ /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ - /home/diya_limbani/FastDevFs/src/include/fuse_functions/readdir.h \ + /home/diya_limbani/FastDevFs/src/include/fuse_functions/rmdir.h \ + /usr/include/alloca.h \ /usr/include/asm-generic/bitsperlong.h \ /usr/include/asm-generic/errno-base.h \ /usr/include/asm-generic/errno.h \ /usr/include/asm-generic/int-ll64.h \ /usr/include/asm-generic/posix_types.h \ /usr/include/asm-generic/types.h \ + /usr/include/c++/13/backward/binders.h \ + /usr/include/c++/13/bit \ + /usr/include/c++/13/bits/alloc_traits.h \ + /usr/include/c++/13/bits/allocator.h \ + /usr/include/c++/13/bits/basic_ios.h \ + /usr/include/c++/13/bits/basic_ios.tcc \ + /usr/include/c++/13/bits/basic_string.h \ + /usr/include/c++/13/bits/basic_string.tcc \ + /usr/include/c++/13/bits/char_traits.h \ + /usr/include/c++/13/bits/charconv.h \ + /usr/include/c++/13/bits/concept_check.h \ + /usr/include/c++/13/bits/cpp_type_traits.h \ + /usr/include/c++/13/bits/cxxabi_forced.h \ + /usr/include/c++/13/bits/cxxabi_init_exception.h \ + /usr/include/c++/13/bits/exception.h \ + /usr/include/c++/13/bits/exception_defines.h \ + /usr/include/c++/13/bits/exception_ptr.h \ + /usr/include/c++/13/bits/functexcept.h \ + /usr/include/c++/13/bits/functional_hash.h \ + /usr/include/c++/13/bits/hash_bytes.h \ + /usr/include/c++/13/bits/invoke.h \ + /usr/include/c++/13/bits/ios_base.h \ + /usr/include/c++/13/bits/istream.tcc \ + /usr/include/c++/13/bits/locale_classes.h \ + /usr/include/c++/13/bits/locale_classes.tcc \ + /usr/include/c++/13/bits/locale_facets.h \ + /usr/include/c++/13/bits/locale_facets.tcc \ + /usr/include/c++/13/bits/localefwd.h \ + /usr/include/c++/13/bits/memory_resource.h \ + /usr/include/c++/13/bits/memoryfwd.h \ + /usr/include/c++/13/bits/move.h \ + /usr/include/c++/13/bits/nested_exception.h \ + /usr/include/c++/13/bits/new_allocator.h \ + /usr/include/c++/13/bits/ostream.tcc \ + /usr/include/c++/13/bits/ostream_insert.h \ + /usr/include/c++/13/bits/postypes.h \ + /usr/include/c++/13/bits/predefined_ops.h \ + /usr/include/c++/13/bits/ptr_traits.h \ + /usr/include/c++/13/bits/range_access.h \ + /usr/include/c++/13/bits/refwrap.h \ + /usr/include/c++/13/bits/requires_hosted.h \ + /usr/include/c++/13/bits/std_abs.h \ + /usr/include/c++/13/bits/stl_algobase.h \ + /usr/include/c++/13/bits/stl_construct.h \ + /usr/include/c++/13/bits/stl_function.h \ + /usr/include/c++/13/bits/stl_iterator.h \ + /usr/include/c++/13/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/13/bits/stl_iterator_base_types.h \ + /usr/include/c++/13/bits/stl_pair.h \ + /usr/include/c++/13/bits/streambuf.tcc \ + /usr/include/c++/13/bits/streambuf_iterator.h \ + /usr/include/c++/13/bits/string_view.tcc \ + /usr/include/c++/13/bits/stringfwd.h \ + /usr/include/c++/13/bits/uses_allocator.h \ + /usr/include/c++/13/bits/uses_allocator_args.h \ + /usr/include/c++/13/bits/utility.h \ + /usr/include/c++/13/cctype \ /usr/include/c++/13/cerrno \ + /usr/include/c++/13/clocale \ + /usr/include/c++/13/cstddef \ + /usr/include/c++/13/cstdio \ + /usr/include/c++/13/cstdlib \ /usr/include/c++/13/cstring \ + /usr/include/c++/13/cwchar \ + /usr/include/c++/13/cwctype \ + /usr/include/c++/13/debug/assertions.h \ + /usr/include/c++/13/debug/debug.h \ + /usr/include/c++/13/exception \ + /usr/include/c++/13/ext/alloc_traits.h \ + /usr/include/c++/13/ext/atomicity.h \ + /usr/include/c++/13/ext/numeric_traits.h \ + /usr/include/c++/13/ext/string_conversions.h \ + /usr/include/c++/13/ext/type_traits.h \ + /usr/include/c++/13/initializer_list \ + /usr/include/c++/13/ios \ + /usr/include/c++/13/iosfwd \ + /usr/include/c++/13/iostream \ + /usr/include/c++/13/istream \ + /usr/include/c++/13/new \ + /usr/include/c++/13/ostream \ /usr/include/c++/13/pstl/pstl_config.h \ + /usr/include/c++/13/stdexcept \ + /usr/include/c++/13/streambuf \ + /usr/include/c++/13/string \ + /usr/include/c++/13/string_view \ + /usr/include/c++/13/system_error \ + /usr/include/c++/13/tuple \ + /usr/include/c++/13/type_traits \ + /usr/include/c++/13/typeinfo \ + /usr/include/ctype.h \ /usr/include/endian.h \ /usr/include/errno.h \ /usr/include/fcntl.h \ @@ -832,19 +2161,26 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limban /usr/include/fuse3/fuse_log.h \ /usr/include/fuse3/fuse_opt.h \ /usr/include/fuse3/libfuse_config.h \ + /usr/include/linux/close_range.h \ /usr/include/linux/errno.h \ /usr/include/linux/falloc.h \ /usr/include/linux/posix_types.h \ /usr/include/linux/stat.h \ /usr/include/linux/stddef.h \ /usr/include/linux/types.h \ + /usr/include/locale.h \ /usr/include/pthread.h \ /usr/include/sched.h \ /usr/include/stdc-predef.h \ /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ /usr/include/string.h \ /usr/include/strings.h \ /usr/include/time.h \ + /usr/include/unistd.h \ + /usr/include/wchar.h \ + /usr/include/wctype.h \ /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ /usr/include/x86_64-linux-gnu/asm/errno.h \ /usr/include/x86_64-linux-gnu/asm/posix_types.h \ @@ -852,14 +2188,22 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/asm/types.h \ /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/confname.h \ /usr/include/x86_64-linux-gnu/bits/cpu-set.h \ /usr/include/x86_64-linux-gnu/bits/endian.h \ /usr/include/x86_64-linux-gnu/bits/endianness.h \ + /usr/include/x86_64-linux-gnu/bits/environments.h \ /usr/include/x86_64-linux-gnu/bits/errno.h \ /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ /usr/include/x86_64-linux-gnu/bits/fcntl.h \ + /usr/include/x86_64-linux-gnu/bits/floatn-common.h \ + /usr/include/x86_64-linux-gnu/bits/floatn.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_core.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \ /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h \ /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ @@ -873,6 +2217,8 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ /usr/include/x86_64-linux-gnu/bits/struct_stat.h \ @@ -882,13 +2228,21 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/bits/timesize.h \ /usr/include/x86_64-linux-gnu/bits/timex.h \ /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \ /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \ /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \ /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \ /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \ /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ @@ -900,19 +2254,33 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h \ /usr/include/x86_64-linux-gnu/bits/typesizes.h \ /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ /usr/include/x86_64-linux-gnu/bits/uio-ext.h \ /usr/include/x86_64-linux-gnu/bits/uio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h \ /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h \ /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h \ /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h \ /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ /usr/include/x86_64-linux-gnu/gnu/stubs.h \ /usr/include/x86_64-linux-gnu/sys/cdefs.h \ /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/sys/single_threaded.h \ /usr/include/x86_64-linux-gnu/sys/stat.h \ /usr/include/x86_64-linux-gnu/sys/statvfs.h \ /usr/include/x86_64-linux-gnu/sys/types.h \ @@ -922,19 +2290,105 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limban /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/rmdir.cpp \ - /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ - /home/diya_limbani/FastDevFs/src/include/fuse_functions/rmdir.h \ +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/statfs.cpp \ + /home/diya_limbani/FastDevFs/src/include/fuse_functions/statfs.h \ + /usr/include/alloca.h \ /usr/include/asm-generic/bitsperlong.h \ /usr/include/asm-generic/errno-base.h \ /usr/include/asm-generic/errno.h \ /usr/include/asm-generic/int-ll64.h \ /usr/include/asm-generic/posix_types.h \ /usr/include/asm-generic/types.h \ + /usr/include/c++/13/backward/binders.h \ + /usr/include/c++/13/bit \ + /usr/include/c++/13/bits/alloc_traits.h \ + /usr/include/c++/13/bits/allocator.h \ + /usr/include/c++/13/bits/basic_ios.h \ + /usr/include/c++/13/bits/basic_ios.tcc \ + /usr/include/c++/13/bits/basic_string.h \ + /usr/include/c++/13/bits/basic_string.tcc \ + /usr/include/c++/13/bits/char_traits.h \ + /usr/include/c++/13/bits/charconv.h \ + /usr/include/c++/13/bits/concept_check.h \ + /usr/include/c++/13/bits/cpp_type_traits.h \ + /usr/include/c++/13/bits/cxxabi_forced.h \ + /usr/include/c++/13/bits/cxxabi_init_exception.h \ + /usr/include/c++/13/bits/exception.h \ + /usr/include/c++/13/bits/exception_defines.h \ + /usr/include/c++/13/bits/exception_ptr.h \ + /usr/include/c++/13/bits/functexcept.h \ + /usr/include/c++/13/bits/functional_hash.h \ + /usr/include/c++/13/bits/hash_bytes.h \ + /usr/include/c++/13/bits/invoke.h \ + /usr/include/c++/13/bits/ios_base.h \ + /usr/include/c++/13/bits/istream.tcc \ + /usr/include/c++/13/bits/locale_classes.h \ + /usr/include/c++/13/bits/locale_classes.tcc \ + /usr/include/c++/13/bits/locale_facets.h \ + /usr/include/c++/13/bits/locale_facets.tcc \ + /usr/include/c++/13/bits/localefwd.h \ + /usr/include/c++/13/bits/memory_resource.h \ + /usr/include/c++/13/bits/memoryfwd.h \ + /usr/include/c++/13/bits/move.h \ + /usr/include/c++/13/bits/nested_exception.h \ + /usr/include/c++/13/bits/new_allocator.h \ + /usr/include/c++/13/bits/ostream.tcc \ + /usr/include/c++/13/bits/ostream_insert.h \ + /usr/include/c++/13/bits/postypes.h \ + /usr/include/c++/13/bits/predefined_ops.h \ + /usr/include/c++/13/bits/ptr_traits.h \ + /usr/include/c++/13/bits/range_access.h \ + /usr/include/c++/13/bits/refwrap.h \ + /usr/include/c++/13/bits/requires_hosted.h \ + /usr/include/c++/13/bits/std_abs.h \ + /usr/include/c++/13/bits/stl_algobase.h \ + /usr/include/c++/13/bits/stl_construct.h \ + /usr/include/c++/13/bits/stl_function.h \ + /usr/include/c++/13/bits/stl_iterator.h \ + /usr/include/c++/13/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/13/bits/stl_iterator_base_types.h \ + /usr/include/c++/13/bits/stl_pair.h \ + /usr/include/c++/13/bits/streambuf.tcc \ + /usr/include/c++/13/bits/streambuf_iterator.h \ + /usr/include/c++/13/bits/string_view.tcc \ + /usr/include/c++/13/bits/stringfwd.h \ + /usr/include/c++/13/bits/uses_allocator.h \ + /usr/include/c++/13/bits/uses_allocator_args.h \ + /usr/include/c++/13/bits/utility.h \ + /usr/include/c++/13/cctype \ /usr/include/c++/13/cerrno \ + /usr/include/c++/13/clocale \ + /usr/include/c++/13/cstddef \ + /usr/include/c++/13/cstdio \ + /usr/include/c++/13/cstdlib \ /usr/include/c++/13/cstring \ + /usr/include/c++/13/cwchar \ + /usr/include/c++/13/cwctype \ + /usr/include/c++/13/debug/assertions.h \ + /usr/include/c++/13/debug/debug.h \ + /usr/include/c++/13/exception \ + /usr/include/c++/13/ext/alloc_traits.h \ + /usr/include/c++/13/ext/atomicity.h \ + /usr/include/c++/13/ext/numeric_traits.h \ + /usr/include/c++/13/ext/string_conversions.h \ + /usr/include/c++/13/ext/type_traits.h \ + /usr/include/c++/13/initializer_list \ + /usr/include/c++/13/ios \ + /usr/include/c++/13/iosfwd \ + /usr/include/c++/13/iostream \ + /usr/include/c++/13/istream \ + /usr/include/c++/13/new \ + /usr/include/c++/13/ostream \ /usr/include/c++/13/pstl/pstl_config.h \ + /usr/include/c++/13/stdexcept \ + /usr/include/c++/13/streambuf \ + /usr/include/c++/13/string \ + /usr/include/c++/13/string_view \ + /usr/include/c++/13/system_error \ + /usr/include/c++/13/tuple \ + /usr/include/c++/13/type_traits \ + /usr/include/c++/13/typeinfo \ + /usr/include/ctype.h \ /usr/include/endian.h \ /usr/include/errno.h \ /usr/include/fcntl.h \ @@ -951,13 +2405,18 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o: /home/diya_limbani/ /usr/include/linux/stat.h \ /usr/include/linux/stddef.h \ /usr/include/linux/types.h \ + /usr/include/locale.h \ /usr/include/pthread.h \ /usr/include/sched.h \ /usr/include/stdc-predef.h \ /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ /usr/include/string.h \ /usr/include/strings.h \ /usr/include/time.h \ + /usr/include/wchar.h \ + /usr/include/wctype.h \ /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ /usr/include/x86_64-linux-gnu/asm/errno.h \ /usr/include/x86_64-linux-gnu/asm/posix_types.h \ @@ -971,7 +2430,10 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o: /home/diya_limbani/ /usr/include/x86_64-linux-gnu/bits/errno.h \ /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ /usr/include/x86_64-linux-gnu/bits/fcntl.h \ + /usr/include/x86_64-linux-gnu/bits/floatn-common.h \ + /usr/include/x86_64-linux-gnu/bits/floatn.h \ /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h \ /usr/include/x86_64-linux-gnu/bits/long-double.h \ /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ @@ -986,6 +2448,8 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o: /home/diya_limbani/ /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ /usr/include/x86_64-linux-gnu/bits/struct_stat.h \ @@ -995,13 +2459,21 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o: /home/diya_limbani/ /usr/include/x86_64-linux-gnu/bits/timesize.h \ /usr/include/x86_64-linux-gnu/bits/timex.h \ /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \ /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \ /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \ /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \ /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \ /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ @@ -1013,37 +2485,142 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o: /home/diya_limbani/ /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h \ /usr/include/x86_64-linux-gnu/bits/typesizes.h \ /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ /usr/include/x86_64-linux-gnu/bits/uio-ext.h \ /usr/include/x86_64-linux-gnu/bits/uio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h \ /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h \ /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h \ /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h \ /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ /usr/include/x86_64-linux-gnu/gnu/stubs.h \ /usr/include/x86_64-linux-gnu/sys/cdefs.h \ /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/sys/single_threaded.h \ /usr/include/x86_64-linux-gnu/sys/stat.h \ /usr/include/x86_64-linux-gnu/sys/statvfs.h \ /usr/include/x86_64-linux-gnu/sys/types.h \ /usr/include/x86_64-linux-gnu/sys/uio.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h \ - /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/statfs.cpp \ - /home/diya_limbani/FastDevFs/src/include/fuse_functions/statfs.h \ +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/utimens.cpp \ + /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ + /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ + /home/diya_limbani/FastDevFs/src/include/fuse_functions/utimens.h \ + /usr/include/alloca.h \ /usr/include/asm-generic/bitsperlong.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/asm-generic/errno.h \ /usr/include/asm-generic/int-ll64.h \ /usr/include/asm-generic/posix_types.h \ /usr/include/asm-generic/types.h \ - /usr/include/c++/13/cstring \ + /usr/include/c++/13/backward/binders.h \ + /usr/include/c++/13/bit \ + /usr/include/c++/13/bits/alloc_traits.h \ + /usr/include/c++/13/bits/allocator.h \ + /usr/include/c++/13/bits/basic_ios.h \ + /usr/include/c++/13/bits/basic_ios.tcc \ + /usr/include/c++/13/bits/basic_string.h \ + /usr/include/c++/13/bits/basic_string.tcc \ + /usr/include/c++/13/bits/char_traits.h \ + /usr/include/c++/13/bits/charconv.h \ + /usr/include/c++/13/bits/concept_check.h \ + /usr/include/c++/13/bits/cpp_type_traits.h \ + /usr/include/c++/13/bits/cxxabi_forced.h \ + /usr/include/c++/13/bits/cxxabi_init_exception.h \ + /usr/include/c++/13/bits/exception.h \ + /usr/include/c++/13/bits/exception_defines.h \ + /usr/include/c++/13/bits/exception_ptr.h \ + /usr/include/c++/13/bits/functexcept.h \ + /usr/include/c++/13/bits/functional_hash.h \ + /usr/include/c++/13/bits/hash_bytes.h \ + /usr/include/c++/13/bits/invoke.h \ + /usr/include/c++/13/bits/ios_base.h \ + /usr/include/c++/13/bits/istream.tcc \ + /usr/include/c++/13/bits/locale_classes.h \ + /usr/include/c++/13/bits/locale_classes.tcc \ + /usr/include/c++/13/bits/locale_facets.h \ + /usr/include/c++/13/bits/locale_facets.tcc \ + /usr/include/c++/13/bits/localefwd.h \ + /usr/include/c++/13/bits/memory_resource.h \ + /usr/include/c++/13/bits/memoryfwd.h \ + /usr/include/c++/13/bits/move.h \ + /usr/include/c++/13/bits/nested_exception.h \ + /usr/include/c++/13/bits/new_allocator.h \ + /usr/include/c++/13/bits/ostream.tcc \ + /usr/include/c++/13/bits/ostream_insert.h \ + /usr/include/c++/13/bits/postypes.h \ + /usr/include/c++/13/bits/predefined_ops.h \ + /usr/include/c++/13/bits/ptr_traits.h \ + /usr/include/c++/13/bits/range_access.h \ + /usr/include/c++/13/bits/refwrap.h \ + /usr/include/c++/13/bits/requires_hosted.h \ + /usr/include/c++/13/bits/std_abs.h \ + /usr/include/c++/13/bits/stl_algobase.h \ + /usr/include/c++/13/bits/stl_construct.h \ + /usr/include/c++/13/bits/stl_function.h \ + /usr/include/c++/13/bits/stl_iterator.h \ + /usr/include/c++/13/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/13/bits/stl_iterator_base_types.h \ + /usr/include/c++/13/bits/stl_pair.h \ + /usr/include/c++/13/bits/streambuf.tcc \ + /usr/include/c++/13/bits/streambuf_iterator.h \ + /usr/include/c++/13/bits/string_view.tcc \ + /usr/include/c++/13/bits/stringfwd.h \ + /usr/include/c++/13/bits/uses_allocator.h \ + /usr/include/c++/13/bits/uses_allocator_args.h \ + /usr/include/c++/13/bits/utility.h \ + /usr/include/c++/13/cctype \ + /usr/include/c++/13/cerrno \ + /usr/include/c++/13/clocale \ + /usr/include/c++/13/cstddef \ + /usr/include/c++/13/cstdio \ + /usr/include/c++/13/cstdlib \ + /usr/include/c++/13/cwchar \ + /usr/include/c++/13/cwctype \ + /usr/include/c++/13/debug/assertions.h \ + /usr/include/c++/13/debug/debug.h \ + /usr/include/c++/13/exception \ + /usr/include/c++/13/ext/alloc_traits.h \ + /usr/include/c++/13/ext/atomicity.h \ + /usr/include/c++/13/ext/numeric_traits.h \ + /usr/include/c++/13/ext/string_conversions.h \ + /usr/include/c++/13/ext/type_traits.h \ + /usr/include/c++/13/initializer_list \ + /usr/include/c++/13/ios \ + /usr/include/c++/13/iosfwd \ + /usr/include/c++/13/iostream \ + /usr/include/c++/13/istream \ + /usr/include/c++/13/new \ + /usr/include/c++/13/ostream \ /usr/include/c++/13/pstl/pstl_config.h \ + /usr/include/c++/13/stdexcept \ + /usr/include/c++/13/streambuf \ + /usr/include/c++/13/string \ + /usr/include/c++/13/string_view \ + /usr/include/c++/13/system_error \ + /usr/include/c++/13/tuple \ + /usr/include/c++/13/type_traits \ + /usr/include/c++/13/typeinfo \ + /usr/include/ctype.h \ /usr/include/endian.h \ + /usr/include/errno.h \ /usr/include/fcntl.h \ /usr/include/features-time64.h \ /usr/include/features.h \ @@ -1052,31 +2629,53 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani /usr/include/fuse3/fuse_log.h \ /usr/include/fuse3/fuse_opt.h \ /usr/include/fuse3/libfuse_config.h \ + /usr/include/linux/close_range.h \ + /usr/include/linux/errno.h \ /usr/include/linux/falloc.h \ /usr/include/linux/posix_types.h \ /usr/include/linux/stat.h \ /usr/include/linux/stddef.h \ /usr/include/linux/types.h \ + /usr/include/locale.h \ + /usr/include/pthread.h \ + /usr/include/sched.h \ /usr/include/stdc-predef.h \ /usr/include/stdint.h \ - /usr/include/string.h \ - /usr/include/strings.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ /usr/include/time.h \ + /usr/include/unistd.h \ + /usr/include/wchar.h \ + /usr/include/wctype.h \ /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ + /usr/include/x86_64-linux-gnu/asm/errno.h \ /usr/include/x86_64-linux-gnu/asm/posix_types.h \ /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \ /usr/include/x86_64-linux-gnu/asm/types.h \ /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/confname.h \ + /usr/include/x86_64-linux-gnu/bits/cpu-set.h \ /usr/include/x86_64-linux-gnu/bits/endian.h \ /usr/include/x86_64-linux-gnu/bits/endianness.h \ + /usr/include/x86_64-linux-gnu/bits/environments.h \ + /usr/include/x86_64-linux-gnu/bits/errno.h \ /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ /usr/include/x86_64-linux-gnu/bits/fcntl.h \ + /usr/include/x86_64-linux-gnu/bits/floatn-common.h \ + /usr/include/x86_64-linux-gnu/bits/floatn.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_core.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \ /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h \ /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ /usr/include/x86_64-linux-gnu/bits/stat.h \ /usr/include/x86_64-linux-gnu/bits/statvfs.h \ /usr/include/x86_64-linux-gnu/bits/statx-generic.h \ @@ -1084,6 +2683,8 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ /usr/include/x86_64-linux-gnu/bits/stdint-least.h \ /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ /usr/include/x86_64-linux-gnu/bits/struct_stat.h \ @@ -1093,14 +2694,25 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani /usr/include/x86_64-linux-gnu/bits/timesize.h \ /usr/include/x86_64-linux-gnu/bits/timex.h \ /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \ /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \ /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \ /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ @@ -1108,30 +2720,55 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h \ /usr/include/x86_64-linux-gnu/bits/typesizes.h \ /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ /usr/include/x86_64-linux-gnu/bits/uio-ext.h \ /usr/include/x86_64-linux-gnu/bits/uio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h \ /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/atomic_word.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h \ /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h \ /usr/include/x86_64-linux-gnu/c++/13/bits/cpu_defines.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr-default.h \ + /usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h \ /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h \ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ /usr/include/x86_64-linux-gnu/gnu/stubs.h \ /usr/include/x86_64-linux-gnu/sys/cdefs.h \ /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/sys/single_threaded.h \ /usr/include/x86_64-linux-gnu/sys/stat.h \ /usr/include/x86_64-linux-gnu/sys/statvfs.h \ /usr/include/x86_64-linux-gnu/sys/types.h \ /usr/include/x86_64-linux-gnu/sys/uio.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h \ + /usr/lib/gcc/x86_64-linux-gnu/13/include/stdbool.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h +/home/diya_limbani/FastDevFs/src/src/fuse_functions/utimens.cpp: + /home/diya_limbani/FastDevFs/src/src/fuse_functions/rmdir.cpp: +/home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp: + +/usr/include/c++/13/cstring: + +/home/diya_limbani/FastDevFs/src/src/fuse_functions/file_funcs.cpp: + +/home/diya_limbani/FastDevFs/src/src/fuse_functions/access.cpp: + /usr/include/locale.h: /usr/include/x86_64-linux-gnu/asm/bitsperlong.h: @@ -1144,8 +2781,6 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani /usr/include/c++/13/backward/binders.h: -/usr/include/fuse3/fuse_log.h: - /usr/include/c++/13/cctype: /usr/include/fuse3/fuse_common.h: @@ -1184,10 +2819,6 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani /usr/include/c++/13/ext/alloc_traits.h: -/usr/include/features-time64.h: - -/usr/include/c++/13/string_view: - /usr/include/c++/13/initializer_list: /usr/include/c++/13/iostream: @@ -1228,21 +2859,15 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani /usr/include/c++/13/exception: -/usr/include/sched.h: - -/usr/include/wctype.h: - /usr/include/c++/13/bits/stl_pair.h: /usr/include/x86_64-linux-gnu/bits/errno.h: /usr/include/c++/13/bits/uses_allocator.h: -/usr/include/c++/13/bits/postypes.h: - /usr/include/c++/13/bits/std_abs.h: -/home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp: +/usr/include/c++/13/bits/postypes.h: /usr/include/x86_64-linux-gnu/bits/libc-header-start.h: @@ -1250,11 +2875,17 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani /usr/include/x86_64-linux-gnu/sys/uio.h: -/usr/include/c++/13/bits/locale_facets.h: +/usr/include/c++/13/bits/refwrap.h: -/usr/include/stdc-predef.h: +/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h: -/usr/include/asm-generic/posix_types.h: +/usr/include/features-time64.h: + +/usr/include/c++/13/string_view: + +/home/diya_limbani/FastDevFs/src/src/daemon/file_io.cpp: + +/home/diya_limbani/FastDevFs/src/include/fuse_functions/file_funcs.h: /usr/include/c++/13/bits/basic_string.h: @@ -1268,19 +2899,25 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani /usr/include/c++/13/ios: -/usr/include/c++/13/type_traits: +/usr/include/c++/13/bits/basic_ios.h: -/usr/include/x86_64-linux-gnu/sys/single_threaded.h: +/usr/include/x86_64-linux-gnu/bits/time64.h: -/usr/include/c++/13/bit: +/usr/include/asm-generic/int-ll64.h: -/usr/include/c++/13/bits/basic_string.tcc: +/usr/include/c++/13/bits/localefwd.h: -/usr/include/c++/13/bits/basic_ios.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h: -/usr/include/x86_64-linux-gnu/bits/time64.h: +/home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp: -/usr/include/pthread.h: +/usr/include/c++/13/bits/exception.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/uintn-identity.h: + +/usr/include/c++/13/bits/ostream_insert.h: /usr/include/asm-generic/bitsperlong.h: @@ -1292,25 +2929,21 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani /usr/include/asm-generic/errno-base.h: -/usr/include/asm-generic/int-ll64.h: - -/usr/include/c++/13/bits/localefwd.h: - -/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h: +/usr/include/c++/13/iosfwd: -/home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp: +/usr/include/c++/13/bits/predefined_ops.h: -/usr/include/c++/13/bits/exception.h: +/usr/include/x86_64-linux-gnu/asm/posix_types.h: -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: +/usr/include/c++/13/cwctype: -/usr/include/x86_64-linux-gnu/bits/uintn-identity.h: +/home/diya_limbani/FastDevFs/src/include/fuse_functions/utimens.h: -/usr/include/c++/13/bits/ostream_insert.h: +/usr/include/c++/13/streambuf: -/usr/include/c++/13/iosfwd: +/usr/include/c++/13/bits/memory_resource.h: -/usr/include/c++/13/bits/predefined_ops.h: +/usr/include/wchar.h: /usr/include/features.h: @@ -1318,12 +2951,32 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani /usr/include/c++/13/bits/string_view.tcc: +/usr/include/c++/13/bits/invoke.h: + +/home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h: + /usr/include/linux/close_range.h: /usr/include/c++/13/bits/functional_hash.h: /usr/include/errno.h: +/usr/include/c++/13/type_traits: + +/usr/include/x86_64-linux-gnu/sys/single_threaded.h: + +/usr/include/c++/13/bit: + +/usr/include/c++/13/bits/basic_string.tcc: + +/usr/include/c++/13/bits/locale_facets.h: + +/usr/include/c++/13/bits/stl_construct.h: + +/usr/include/asm-generic/posix_types.h: + +/usr/include/stdc-predef.h: + /usr/include/fuse3/libfuse_config.h: /usr/include/c++/13/bits/cpp_type_traits.h: @@ -1338,7 +2991,7 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani /usr/include/c++/13/bits/move.h: -/usr/include/c++/13/bits/stl_construct.h: +/usr/include/alloca.h: /usr/include/linux/stddef.h: @@ -1366,6 +3019,10 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h: +/usr/include/x86_64-linux-gnu/bits/environments.h: + +/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h: + /usr/include/c++/13/debug/assertions.h: /home/diya_limbani/FastDevFs/src/include/fuse_functions/mkdir.h: @@ -1378,6 +3035,12 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani /usr/include/ctype.h: +/home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp: + +/usr/include/c++/13/istream: + +/home/diya_limbani/FastDevFs/src/include/fuse_functions/rmdir.h: + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h: /home/diya_limbani/FastDevFs/src/include/fuse_functions/opendir.h: @@ -1386,8 +3049,6 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani /home/diya_limbani/FastDevFs/src/include/fuse_functions/readdir.h: -/usr/include/alloca.h: - /usr/include/c++/13/bits/cxxabi_forced.h: /usr/include/c++/13/bits/exception_ptr.h: @@ -1398,6 +3059,8 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani /usr/include/c++/13/bits/nested_exception.h: +/home/diya_limbani/FastDevFs/src/include/daemon/file_io.h: + /usr/include/c++/13/bits/ios_base.h: /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h: @@ -1416,20 +3079,6 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani /usr/include/linux/stat.h: -/home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h: - -/usr/include/c++/13/bits/invoke.h: - -/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h: - -/usr/include/x86_64-linux-gnu/bits/environments.h: - -/usr/include/c++/13/streambuf: - -/usr/include/c++/13/bits/memory_resource.h: - -/usr/include/wchar.h: - /usr/include/c++/13/bits/memoryfwd.h: /home/diya_limbani/FastDevFs/src/include/fuse_functions/access.h: @@ -1440,9 +3089,11 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani /usr/include/c++/13/debug/debug.h: -/usr/include/c++/13/bits/refwrap.h: +/usr/include/pthread.h: -/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h: +/usr/include/wctype.h: + +/usr/include/sched.h: /usr/include/endian.h: @@ -1470,10 +3121,6 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h: -/usr/include/c++/13/cwctype: - -/usr/include/x86_64-linux-gnu/asm/posix_types.h: - /usr/include/x86_64-linux-gnu/asm/types.h: /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h: @@ -1564,6 +3211,12 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h: +/home/diya_limbani/FastDevFs/src/src/fuse_functions/mkdir.cpp: + +/usr/include/c++/13/bits/charconv.h: + +/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h: + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h: /usr/include/x86_64-linux-gnu/bits/wchar.h: @@ -1602,6 +3255,10 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani /usr/include/x86_64-linux-gnu/bits/uio_lim.h: +/usr/include/fuse3/fuse_log.h: + +/usr/include/c++/13/stdlib.h: + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h: /usr/include/x86_64-linux-gnu/bits/waitflags.h: @@ -1634,18 +3291,4 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h: -/usr/include/c++/13/istream: - -/home/diya_limbani/FastDevFs/src/include/fuse_functions/rmdir.h: - -/home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp: - -/home/diya_limbani/FastDevFs/src/src/fuse_functions/access.cpp: - -/usr/include/c++/13/cstring: - -/usr/include/c++/13/bits/charconv.h: - -/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h: - -/home/diya_limbani/FastDevFs/src/src/fuse_functions/mkdir.cpp: +/usr/include/c++/13/ctime: diff --git a/build/CMakeFiles/FastDevFS.dir/link.txt b/build/CMakeFiles/FastDevFS.dir/link.txt index 1e9de7d..ee2460d 100644 --- a/build/CMakeFiles/FastDevFS.dir/link.txt +++ b/build/CMakeFiles/FastDevFS.dir/link.txt @@ -1 +1 @@ -/usr/bin/c++ CMakeFiles/FastDevFS.dir/main.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o -o FastDevFS -lfuse3 -lpthread +/usr/bin/c++ CMakeFiles/FastDevFS.dir/main.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o -o FastDevFS -lfuse3 -lpthread diff --git a/build/CMakeFiles/FastDevFS.dir/progress.make b/build/CMakeFiles/FastDevFS.dir/progress.make index eeadf29..4f6e68a 100644 --- a/build/CMakeFiles/FastDevFS.dir/progress.make +++ b/build/CMakeFiles/FastDevFS.dir/progress.make @@ -9,4 +9,7 @@ CMAKE_PROGRESS_8 = 8 CMAKE_PROGRESS_9 = 9 CMAKE_PROGRESS_10 = 10 CMAKE_PROGRESS_11 = 11 +CMAKE_PROGRESS_12 = 12 +CMAKE_PROGRESS_13 = 13 +CMAKE_PROGRESS_14 = 14 diff --git a/build/CMakeFiles/Makefile2 b/build/CMakeFiles/Makefile2 index 249e605..a05ab15 100644 --- a/build/CMakeFiles/Makefile2 +++ b/build/CMakeFiles/Makefile2 @@ -98,12 +98,12 @@ test/clean: test/CMakeFiles/run_tests.dir/clean CMakeFiles/FastDevFS.dir/all: $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/depend $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9,10,11 "Built target FastDevFS" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9,10,11,12,13,14 "Built target FastDevFS" .PHONY : CMakeFiles/FastDevFS.dir/all # Build rule for subdir invocation for target. CMakeFiles/FastDevFS.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles 11 + $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles 14 $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/FastDevFS.dir/all $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles 0 .PHONY : CMakeFiles/FastDevFS.dir/rule @@ -124,7 +124,7 @@ CMakeFiles/FastDevFS.dir/clean: test/CMakeFiles/run_tests.dir/all: $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/depend $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=12,13,14,15,16,17 "Built target run_tests" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=15,16,17,18,19,20 "Built target run_tests" .PHONY : test/CMakeFiles/run_tests.dir/all # Build rule for subdir invocation for target. diff --git a/build/CMakeFiles/progress.marks b/build/CMakeFiles/progress.marks index 98d9bcb..209e3ef 100644 --- a/build/CMakeFiles/progress.marks +++ b/build/CMakeFiles/progress.marks @@ -1 +1 @@ -17 +20 diff --git a/build/FastDevFS b/build/FastDevFS index c3cc1eba841ccaa813437b8eee2d91a8e2d49686..0a720fc3e2ea597e4a5480bcac9b03a739fafca9 100755 GIT binary patch literal 33200 zcmeHwdw5jUx%Wz7FjX+|5{hVLL{Sh42}A@G4VS?|Zjlg0TOC3&fhoyMoC|`AMq||J zI5u8TJhdL$o>SYew&hs$1FRUZCDd9CmTKBsO+8*_4%DXJnp(5SbSg?@nfN@ERb^-T zOu3}fsm2@nswG}H()bAyu2U-?`DXK1Bz|*~JzcNrz4AB-*L>tI;`^TB`<~*{X^HZu zPPISDC-gU6$#tfxdP1j8zBP)^na+bux^zl9=&E@y-te#Jt5$qlYo#1#dVy+aooano zf{*-iv{#8DT&DE7wS%+1O1+re6k0W{a&l9{q^3|fv3}C}>C+}nt1OE}%BHYnvdfD< zimA(&)Cx39C&82(MPaKfYk7pDE=72v|H_x&pYYdpf1c&}+qA1fy#L{>Z@KDTu9@VN}k^D`PkPtF4m0hSLw z(S?4#3;n$?FrS{u>u~g$w*D7xUc$yiEEs663xxyG zU|o|4T)U(u(iHQBjGPH;2CODt84NcxEvT=FS5(xmsfz~U(YjDPwxHhUTL#$FRdumY zeIOExLtOKM<$>kp0bk8DSfB(~&tFy(sR{U`tomRy%DE{Op-3zM=3oHBakMVFArK0O z;_DdM6kBj~>gtz6*@c1Xh4o5&BoP;}a7#24jyH-HD2qe|ObgeyY=Dd4o%*$b`Za3< zjdh_W5nLYvb-XSvTHSc%|StgqIqpY zC@LZ?!7#+40`JU^0n`6Pa zsBenI7?uDGRjY4q0Rw6pjszgFE*^@6#f{Mr%x!M2YY|PcU~sK~iPZ2@X_lKxrC7Y7 ze&R$bPNQPI%+0T@@dc)qm5a+4EtoTR#R}vr%cf4T7G*v#rL5A(O`U3HP3V-e3n_jJ zG0zoZ{ZgoMlon!c_273H{|;e_;}|NjgfBvQ289 zt&r*gqlglehZv@XI!dYWRLbW;fgG9G^BBr zSl|dS;~Hgwt6K!dc`a}Rka3N-z)v)wLX=zJ#TNK<3!GwHUsV?PNg9aMZ-HCqw`vRg z6bt<>Dr6bH#sVK{k<(&v%tq%;GGuu*%tU-3;bLQ{Qr0MuZt`{OV?lJrpkEs$wzlJc`cXGL0V+WV1<7Qto z%hX}ByUj9n)a+AcnL23p+h&X_M8W|=x?*TN9VNTWEK>)`&N0i>F|t$4GIfaT zShGxv*zCz>nL0+c&@5Aj$bR$>UH{y;hp!W&v3Sfp!SRqAcNcamtmRuB<#mp7*imkD zl&^P`uX2=^ILh-KyESUVOMeHES5yG7}KknFjRsJ)Y}8S8yG84gJKQy%9*t)PfI#WqESroBm{? z8DUq2P!0F~#WPU*syL^3nhffjyRBd0%m+>cGhu~fyc4fxg*%>FskYXHd zFm@o9s?GRQzP{PpN!jdV_jVGwg9c=nO*fY!^EZ;8^h6QE@Z?%b+WK<|k~v1n+;d19 za|scrJU*g=2^|=k+WHD$LNTC|74#JhXqgYk2_db!5R%@U!5WeKpKB%SQ;-Qq)m%eG zcGOlw%j?M5T(*nZmCHr}oAe!Q+jvmA>?abL@f!ROBL|oDm;B{%a#?@McTl?Qhd`Jv z`;P1M6*8!iZJqVZe59TuR2VC}J=`z}@HC(n($$Zd|`2`|QdF}vJO3d211|Tmlm+N?T=Vlf->aeoT9IWAX&7cj=uucMBA|Qpe44U&1Yf0ZHZ5uzyC9VL^4{SW&B%ZYA zm5WF&b<;&xOAVDQtn@cmQIVr>3Lx7s=jF0P$@bKUI!H?SKJnLg`;*=NUA=|=0!lFK zsAR9dt+U9V^!1|x{i%-O%;xJ&R*xcpKh;5-lvFu?vbscpMwy^;$woUjM3k&PLjq1U z0A9u9HJSVhMEhXG1<@-MsN4jtfg`@X0u+Yx9{L+Q;=O4AvLohl&AT!a36Uy&xt0*@ zhzWpjBidT5%GP4Z#oddNzPJFpfU ztC^$kC|kbx+14tsV+ zBvL}1;6OPzE;Bev6~{k5W3wJNIsOiai&@FUyQppk!@x)u#2PM!hW5?`#YK@J{#lmS zm3dr>zswZ>7>WNg^~yJBY)E;2S!=80`DP`H+i8gblJD6`p2qlv39WcjCz^;H@k}Mv zmqvq2mELou-mYbYU^CCrdJn7u-M0*m;fmvvPuUThOpcELFED*e{TQrMs&Fi81rg(3S^CA(3|KF*ZgK(hPDZ+A(jJhIDemFWB^OWteAkKb}vfuRdOp|sa%*xo z`7FtEW@gk!PcqYQ)0O%BFJx`$H{FM*-t!aPpx528|&}Ntd-^rH_Zu=IlPd0 zl^r%>Gb9~h0<?VHaQQ?4uX7DgQS<~A;} zZ{7rC+W{Ibd=PV@O^lFYo-@S!Sc!Q=ikWVT*+gPc8~adMO(D;BVifbq#hqA_Y=fF7 zsHqIsO<-xB2MB0(h>x)TP5Rz#+xV_@cg)5UB%ZYABEz&(m1&32A5g<@E}{x^4L=7& zy8Ctb4XcL!@vUz3D=eR^@r@JI2YMb`vBR7yP{n7hp-Y=6*g6KSk;IF zaP-l6Pxk#Uv!2>MfAS91kH1e%Wq9x#gog*q$Sm^U70SRVgy3-q3=zWdF!g+tvdeK0vcke+7NqcG(HH>-CAVY*R+3gB~ zur$e<46;r|HdECr?K#6F^BH8_ifk%DQl>UdMtYEs3K_K}RVhpEjCqkEWP#O(kcU8Jc_w3qJujA=%9+x}az^?_x9 zoOfuRl7YD!qaJ`1n1fA5p3f;R4BHM87Z#isXor5oPr0s48zDGcGpYrzl=VKD2{>FM ztkRdUg=@Jn5Am(G=W8~7FEfiLK|pgZ`VBS}taH&-HXgsU@ifE6zg{kFeEWa6(ObF5 z7X1Mb+30EsG2ABUFf-Kl((J@rTDwPDH;sBGYAGqQDw5Qyt#jEqBpZ+(C zD_y}w_R}+f44mJ*+;l0=8`Q)`l}_U-d3F=fY_hS~6_TrFIiG#U#rOK~J6$N475-NXUo?5lw)+iD=?`4$C<;kEx}DV}=? zXpU|Nv9qR^#Wedi+js)RllBP1q!X1%pMAiUcx0a8wNC(%UVD|jHsWkZI=W>s#CJ?LN1ar?%DC!Qz7t(&F#JE5K&*I^m^=~kAuo5UZCsuQRq_ zYw#FjywP7MmeQqHL7W-`9)^dp*?>nRzMd4fBJGQT3f=yeA|j)09nZPUK|%ECYyx&= z{_rk&_C@rh2dS&1YP(S_OjxfF@{{9HPb_8L&aC4W^h5^Ibc3eDpSsSz^`DQTmznxJy@Ivqa1FleWH1aug)EUvlzV6}%VetsM611F!^ilo7x8ai$~MJqz1 zqSK#hXQZL+Tdb{}Na3yV=Mo{0m}`K5x5f!OxMXttWV3WbEl_|q$zU$M3$J` z~!g^<7j7tj7qA9D!=}3suq(_ThZH0{$zU(8{^qSgF<=}@%vM0 z2FfNq3!{CqeXq@AGV+h;Y;DgIJeMH*$&)GWBlKu#pr<~4M|r&)$9 z46@h2y@`fE)|u>}ewiAaE47J4)8dYYsPbe^M5#^Gh{+Dd zrkKGxgei-OX0V$7+$Xu84N(v|^hukoyCoVz z8z$xecrLLf+cRXDR148u(mN-TPp@%gNiTCWPR=hH=QYhX2F9cGK$`b~WGf{L5n-~a zkLb86R*A@@arT*`VZvz3Of=kj`l`@*(i~knwx8)CmmvPnF*~efyg?gCE3@B0pVa}5 z=QfU^;#?4N$3JjuihD<%?oRz29sJJD#FPV<-p(ERFofPV4$>s9MD}ddE}5qO?%#aR zL)^s=6m%HvwxlW7LRG7REbwq+7fGdflO8PLhm z8}qyz<#yq*P}0}iwy{^-Mo+3N)EALD*eZyo^2uw=(P>Bk<-m~vbs0yDaA_yZgc66>m(p3=foU4kB4y{t=9TEEuAc<=?8wo2f$IEf zrWcQ;Xt|k}y8!kSqn21c4@Q&jC?Qw)_R~D1qdc{!V<F^$JbtdXxgA}*_1K!G8 zjlq2I;~w%saeF72`2~`xN3Lj*Y-MUGYT^U)kBWt2$9$8-?C18_xkq*qBF{J|N2QCH+y6=&Vq0vY-)W2hsXW;FKJYtmYznPZ69)1 za8BJjJo1M9#`E@rTi{XW{Zx9>N(v2N#P*Z%gDv-u{Xg)h+X*c9BK|yzz+IWf*D<9a zm>!}>_LV#TM4^!O>{Hmizp-FP0`a0ki~*Zmc6nG0CIQ>(Cjz`BDsMkXYr*96Z^99{ z2kho#(_T)}ok#}MAl(OOs+}10Edi|ENgU~R!s*=*R-cK$&}93&fVVwQzhc9T%rEyt z0*2JW#5q`VvofsrEUcLc;KCY^PzP@DcXd+tI1t0Cm`qBsIQcS6@)aomGV0{tmAMR# z8Yz(gUPVB~Im1wsCN+`<3kHzAK$>tHV1NNTomf*0bGok_MI(T+xrpwH zlFuK6hY?}DNZewINGvh+ReEW#?Rnx53B))@7uERpucr7U znN=XI(heAvMT?c4V+8MFiZ(jfjn1>-*x zXdF3q9rM634;=HrF%KN`z%dUT^T06=9P_|24;=HrF%KN`z%dUTjR)vED0J1(H-SRo z)!zAavG}~;y7@KUd38a2EvT%lOyDy%_@YlRSk{2g;PCfs%+KBM_hW>Zk8kA!8@%y| zm%dID;*ZjJL0;ztbFe-hiEa>U>SAjGarzRGA;@dO%unc8fh68qE>PbpY;0(Z1@O_E zx_CS~(;E%O6VWi4KgqXbsc*@0;f604QUc@YD?KnTAAgxZz1@hk5crKr$R#dv-0)h& zWcI$2!ygQ?TjN`?pk}#ud^8e?Pms#oh+MH2hYaA=X5e)!dC4j_52($Y+L~*$8ARzu zw`A#Z-{R`!*SHWE`k242zCIX>*(+?Zb|9MBnU%iC)M#Usq8V9_hK&d9a@mp6s)6Wo ziJ*40b6Knzh+I%JZ^5$soJt@CSU!Q;e-3oHcYLI=5g%~!UOLMg!)KjTlMfWLV5xGj zLxP0zmz`#MDWN_gysI|EgE8uy!dn;jDjkBl=S;7S#ib)DfmW=xU;xSzNBWys`CPya zm7hS1&WFW6Wbno8^4nYaq{~XV;t|Oh+tvlW^og%vgL3mgawA-oJo>g**cNrR@g^}4 z&k`n!1z~SfB(gS;XbFTP{7tWMW#`9eETTpb<6@J?sqck32Tck)Z(}6Ntr-*rrw_UK z0_-WD1244f$mLcd-}=*B?jEEaNVibB6C1EdH@twYVx&Laoy+wg4gV~c>qqL@lgo|5 zu>Tm+=}6z`%H>ud-MKfHTaR@4FLJrfNQ++rKhl5yCHRpR{tEm^*S`vWJa#<~JG1ni z(RZ+AyaH(nw$#@ny%CQPHX}V7kJq*#y$op&(gR2jA-xoj9?uvmgzv3f?h>Spy{HG$ zLcEpKinIgi7Nk$(m9$QzKg4Tvy-2UZYn%A!mv{`R7wKHQpIU|V4!owj66t^9)#O&B ztMP*L7Nm5YDicv~(=t)8zNFyv;l~wqzy}0B1AkS|=W=+H4<9%^u7r|v@Q43t6h+%} zIsV4#i6!$-9CbzU2{#tCipxgNIDhInV~LLV@elo?4{gAV1jI$~IQ}w#tErX1tm|H+ z+o5kRd?0)$mfTf1cf_zEGl#$=#y<)0n|R#w6zntc-!IVkmjMo=E$N$;CjLGHe-PmJ zUIZSgfiJv|*jfH?@O=d_aIuYlios8Db>q)-xesjoZyEfHfWH(m^RNw{Ht;)1OGDMg^0;@h(VLTxsVi4TOI^{#ml+e zk8Swx8hHAa=m)RBKAZff4EYxTe@AyNS7yVHGw_Rm@4!Qh)i(U~2EGaSH_#`j9;SWY zG4S^SUylbwWUGO%VfP3xKu-c60G{H&!28;U6h1C#h_4$oAAqLDN>g}+;p0BwN24De zNAYjO*x{i>;034zu~+cBT<$E;nfOucBS6@Xm7qC{_eUNhfR<7CprKQL`iE>W{J0-TlqIK zJKO&W@NwXuu;P^y$%m(6EcrX|m)Yb`GvrqSKN@2X{mY7}f3$&L4*ZueChfM#-)`7X zFZ;d#{QWlkJ<>pe9lMU`0sTG1UK&twQB%-G-*lu)m+2dh)-rvgk*?t~q5r(*YlJF) zuS#a{`T}42JB+8RGKNaNMyphRkCFQg7F;ar4Bwj$Q(Qqzs-K2Da0$wc%j{PC*% z6J_5Cs*E=m_`?6v*e=B;wuL2Fu^AtjR&K!;DCLF!ljEyZRb0c@D@EGwBIP)|x6PN< zf2JyHIy}SW`hlE5c+Sk_9#s*%lfY$dC;nfS%XcdL-yC=){{LE{zlZJ=SgzW;N~P5* zU8&L*mA0z1L#10(x>co}D(zNjuS)w=ijVK|RiaX_O3PJRrP6AZu2gA@N?TRhq0%iX z-Kx?~m3FJNSEYR_)gLJ?p*Lx8c~vS)|NO81p6KOs=g#zwuU(Z0#}nR)sb%=i>!fK3 zE>5|1N@ZDj(CAM&;Pl<`e0sI~j~w(`{>Kiumj8(Z zzUm0_FS;_n{nH(AEq{gs9zKHnn;i7o{+k_eEuX$SLKnpHb<+{#7c7%>nqJE#zI^bG<%mKge2=cc&=(YU+a=^9xryTG{k0AeL2fdd6D+gT5f5id+ zk0Z$UQU}BZGQPC@vm9_Of2;%klOxDq<)GK{>m6_{zrg{gPw)-azixHVYx%c1;97pG z1OBRue7axHr`K(qd>8Zuxcj7UwmGkSay|mR5T^)z{)Xo9V4+bUz9^jY>xm2>WvoXu zJ+1Li#yGk3ED5P+xmY$cTvM6pDn&o+5((oqJhB@VeCQYn=X*$GA64*Y)B=s~Z2{k@ z;N!)Zm zOIR&TdCvhP_b7P73`x)TkjOrv;15iYaK48}b_c-=PZE0FFR_9TXUSKueJn>)ndyfv z@DW(}=ab`gftS0$uXKU0Vt9%8wep+354jrgN&cx)>mT03g1Ps($azi4x%*49P9LbM zy{q8#-$ZoLI7L^^Ma~(xvB_88$qX+MP3ne%_pl)6S{M2R!3%M-Qo`ztpPQAOr&QRKdSdCgC+Q5v6bl#ar!V60lprCo^0XEJ>B3|4_-{{V3p9 zD)@CXB{A>uAbXpOoGpNtpk1{8wTdT|oEOx5!F!58?sJjz4;T2!xFN|G&*K?hA{MC* z$9txbe=*=*ZGUuJ{qqmi{QACx>X@O?OiPZh{Y3) zjb-)1JeMXAZw}y;l5j8v%7#c_byH+jT~nX|4~k=fy2N@>A8BrB3dVyCIA|m<1)Y5o z3e-iTbsGY~a2(H<8>4m2!9YWzxtY#!v6T4K7#k@a!BSS=f>TkhT{NAaB}H0b367(Q zPlq-Z1c|{wbE`f1YInSk!}V zwpcy1=Dd3F%z1vcD=FylE$8GDRL;r=rkriWGp|4+j;o1rQ9ZTdJQ#8APq+?s<}y8= zH+e!4&IbbXm(5=63;34Iqf>+eIIAq+^DCf#-ZBxGcg>R7ix_B}xVB?Ut3YmMEq0}BsJxM=B7Lb zs&k8)rDgIA91#fe!#rrZs3AzPi|~mwAR=KYj!s&z6zBgm;7lc)vC|+=-?3H9e&|w_ zampJCcSeB98#en^v)rK$+W<47T!cvSa7ib-o_(HKqoNF^JwJfFx0 zLU)Tr0&D7UfD}%sLgUhdQhrVf*U5*a)fMIQLea%CF3~Dtb-)s+X0yw12LT;aRZ+q3 zmPl#UGyI5TJ_W0p1Q41VTKbDYG@kI=Ee`V>CpQ_`sg=&-n&{OR8=B9SG9VPa6pjV} zXCgTce3FMsnFN)5oRm?P@jqo6Mj?v>czBbq+%(u+g=*Hs|Alk1q&^+hx=%!DSW(WK z#vR1g@k~99PN*A#4%uoQ3x?~4;tv;lPC`T!h1&Mdr}6Oww<+w!m(g9?g)795YwD7W2>M# zC(J2yDt8n8Dh6tt&#CB5mR@TUtNb=YOR&aF6Q7gj)L0>F;MxSTU(0rKRMXj=Dr#~lnxVoXWDN>=st< z7<(1dnNG=)WI~k1HZ~gHqAVPV2g_E66J;$?tfHdv4HnR-x?s_L3U5GL6X@1hK= zX}q}RPRqnsJXAJ%V#5lTTFw0y5iSqxh7O8Zrf}Z z-OgC~o#*$SW22@$RQt8S!LOe~>C|f{AHaV#@Sow?rmnw!{;N}MKeie8a@t=9C_R$Z z{QCK@PWzNUsE*`k&99%+h5#cH&99#~>r_8q1_@sz!+PC-0zJFc{Q7yVPM0fUZNH|| z>8-%ivtV7;&x3WkMe&pUWT&=Yfkhe_Y7@<`pHJ&lKcCk6HNUPu?f(-09Q@IxpLgq& zl>$!u#N*`u7GUHPE#KIGQu|P9n;8`Ha>ftck6Zb@ichB{x?+l7p$#=pIQYxe&9zQ7 zy<#``G<>Urze@4z)Nrhe{_ReFwSTDh5!a~wBd2~{e!;=7_f>VO-?Py4PXGN}@f&Wc zR+K8;ihW1xrQ1)#euWJAU-Rqd7dpLwke17-|M$RI`FpRD#5#S*!Qj;Y9>`C`pX#Q@ zb6|bGxRYL&b@~_Z7F+oBbLTBz0T7p_lO?mP;q;voie0T=Kc~^>#q0Q^{zsSQ)A92I zz^MM3U%y|n?RuidM-?3Y)BHLe2E3Ku*w0+a>_)uGlBr*phl819Y5jU%uVkg9*rpMR zp-QDXIZ5d+*8r7j{)rAa*-Do+)v+Tn^0#WGOiQS7anUw;75;R+_4tErGQ)OcjjK8= ev+dXyvtC-ShMk0rql%3B&3Z{O+QHx`ivI&D0eYtZ literal 22808 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 MQN5xyT~q7)KV=6g8~^|S delta 258290 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 AO#lD@ diff --git a/dir_tree.dat b/dir_tree.dat index 9d5d650b1297ac020e907e1cb7780531cceea7a2..cb72b24105f26a93ff2ac1caf8a424adf6770762 100644 GIT binary patch literal 3280072 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 Pj(`4l{}&4J|ET>Bj-kol literal 2760072 zcmeF))vpzH_-A3<-QC^Y-JRl6+})vQkrsD%T8gx|LveR^mlmf5iaX5wl9^00>*V|c zd+nREv)-%Elke@$dA@7at?VHJ`}6I8e?tCmg8%#Xe>7V5Xx+S5>!z*R_h{OybMkB%PvIUuhw0&;cmqhkht4#;b) zfLtB?=-9!Z1M(UtAXf)JI&SdifV{>F$koA*jvxFvAg>7ma&_>d69#_{$ZMj2Tpj%A z#KE5f@|q+dR|h{jY4GQOye13C)xnQW9{f2VuPFj@b?~E827eC7YpQ@;9sKCj!Jh;2 znkFDu2R}M(@aKTMrVGf`!H-TK{5c@683J;3@S`&Ze-6lNrhr@>{OHWVp9AumB_LM^ zKRRph=YYIs3&_>Mj}G+TsRX5yBd8eQEoXr54{Cm{pkjcx+yTBnsQGzWrB(U-pU5}{-EZU3n~V9D<9zdgPLC< zs2Jd_Vu0@tYJR1lVt}{G0lq(|`Bj370p6+x`2L{gR|_fzc&i@Z`-7VQT~IN=Ta5tU zAJqJsLB#-XwE}#9Q1fdC6$8B03Gn?v&956&4DePj!1o6=zkX0Lz*~a=-yhWchC#&u zZ{G*_{-EYJ3MvM8YaHPFgPPwYs2Jd_X@Kt!YJRhzVt}{i0lq(|`7MHq0p3~$`2L{g zw+bo-cxxTt`-7U_Ca4(Tt!;qs4{Cn9pkjcx_5r>>sQDd&iUHm_2KfG<=64Dz26*cn z;QND`-zBIR;H_(b?+mr00O_D7=D!i0t-_;&ikN^S)Q4EJ9fWToC!x0G}a1_OGOacfTM=_j`00Jjb45uW3z-bi283`b8 z7R7K*0tlQ(FihQH&G0?B!Iwe6vG_} zAn+H8;cp2ba2LgJPXY+sM=?B*00IwD438v$z+)7{6A2*j4~pSm2_Wzk#qdl52s}qI z{3ihfUZ5CWN&taZD2CS(K;R9E;jIJ^c!y$mF98HTpcp<%0D(^^hR+f};0uc3s{|1E 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 diff --git a/hash_table.dat b/hash_table.dat index 18392c667cdcec68c01b7e420305c23f3c7c35ed..fda86653de77dbd062f589e1772ca7856364fd73 100644 GIT binary patch delta 1101 zcmYMzUsH@x9Ki8sdrs{Z>e($>@@KIK+1(@xQ52#mgb;0i5UN$FgrrpwvWgIzUP7iZ zdu65zH)dS)60+VvH;mB?zQ3&(F?Yl*)Y3`c3ru5*qPf@e_kdbeRYp~D1_sYvZ zx?MK>%g37(8MwW!YM)QWzw~4|SjKi+WbA5bZ;|0|Jz1_N!!O|@Ijrjc&?c9YVPoXP zs<{(WB! zBw;a^K3#WJK|IaXjLR>6VQScA22Vjb3F15&XOo3I&a*a8>a@E{#qk%4W<#CGgJ z7P7GuyRaKM*n_>uMIQEHKk`w412~97D8ykLK@o~^6vt44QXIz#oJ1K;;WW;m9A|M3 z=TU(RxQI%4QH5&Mpca>K8COt;tGI^is7C`D;lm9yp&2c>iB`0s9k10Wn_CG;OTDN;tI%fQ3Na%KD z%~|sPK4(uP6o`g=!QO~38XAaZe*P%P6(+QLV|u8|q7t@7l`;8^W|eSyiZZ6Kg;nci z#WYq+8%r-``8rrhE33bYl`1o using namespace std; @@ -125,6 +128,12 @@ int main(int argc, char* argv[]) { dir_manager_init(g_dir_manager); } + // Initialize data directory for file storage + if (init_data_dir() < 0) { + cerr << "Failed to initialize data directory" << endl; + exit(1); + } + // Initialize HashTable with separate mmap int hash_fd = open(HASH_TABLE_FILE, O_RDWR | O_CREAT, 0644); if (hash_fd < 0) { @@ -170,12 +179,14 @@ int main(int argc, char* argv[]) { fdfs_ops.statfs = fdfs_statfs; // file ops - // fdfs_ops.open = fdfs_open; - // fdfs_ops.read = fdfs_read, - // fdfs_ops.write = fdfs_write, - // fdfs_ops.create = fdfs_create, - // fdfs_ops.unlink = fdfs_unlink, - // fdfs_ops.truncate = fdfs_truncate, + fdfs_ops.open = fdfs_open; + fdfs_ops.read = fdfs_read; + fdfs_ops.write = fdfs_write; + fdfs_ops.create = fdfs_create; + fdfs_ops.unlink = fdfs_unlink; + fdfs_ops.truncate = fdfs_truncate; + fdfs_ops.utimens = fdfs_utimens; + // Start FUSE return fuse_main(argc, argv, &fdfs_ops, nullptr); diff --git a/src/include/daemon/dir_manager.h b/src/include/daemon/dir_manager.h index eb0d457..432106b 100644 --- a/src/include/daemon/dir_manager.h +++ b/src/include/daemon/dir_manager.h @@ -2,6 +2,9 @@ #include #include +#include +#include +#include #include "daemon/hash.h" #define MAX_NODES 10000 @@ -14,7 +17,14 @@ typedef struct DirNode { int first_child; int next_sibling; - int inode; + mode_t mode; // file type + permissions + uid_t uid; + gid_t gid; + off_t size; + time_t atime; + time_t mtime; + time_t ctime; + nlink_t nlink; bool in_use; int next_free; @@ -32,5 +42,6 @@ typedef struct DirManager { void dir_manager_init(DirManager* dm); int insert_node(DirManager* dm, const char* path); int lookup_node(DirManager* dm, const char* path); +int lookup_node_nolock(DirManager* dm, const char* path); bool remove_node(DirManager* dm, const char* path); bool is_dir_manager_initialized(DirManager* dm); diff --git a/src/include/daemon/file_io.h b/src/include/daemon/file_io.h new file mode 100644 index 0000000..7d68237 --- /dev/null +++ b/src/include/daemon/file_io.h @@ -0,0 +1,59 @@ +#pragma once + +#include + +// Data directory for storing file contents +#define DATA_DIR "data" + +// Helper functions for file I/O operations +// These functions handle reading/writing file data to the host filesystem +// using inode numbers as filenames + +/** + * Get the path to the data file for a given inode + * @param inode The inode number + * @param path_buf Buffer to store the constructed path + * @param buf_size Size of the buffer + */ +void get_data_file_path(int inode, char* path_buf, size_t buf_size); + +/** + * Read data from the host filesystem for a given inode + * @param inode The inode number + * @param buf Buffer to read data into + * @param size Number of bytes to read + * @param offset Offset to start reading from + * @return Number of bytes read, or -1 on error + */ +ssize_t read_inode_data(int inode, char* buf, size_t size, off_t offset); + +/** + * Write data to the host filesystem for a given inode + * @param inode The inode number + * @param buf Buffer containing data to write + * @param size Number of bytes to write + * @param offset Offset to start writing at + * @return Number of bytes written, or -1 on error + */ +ssize_t write_inode_data(int inode, const char* buf, size_t size, off_t offset); + +/** + * Truncate the data file for a given inode + * @param inode The inode number + * @param new_size New size for the file + * @return 0 on success, -1 on error + */ +int truncate_inode_data(int inode, off_t new_size); + +/** + * Delete the data file for a given inode + * @param inode The inode number + * @return 0 on success, -1 on error + */ +int delete_inode_data(int inode); + +/** + * Initialize the data directory + * @return 0 on success, -1 on error + */ +int init_data_dir(); diff --git a/src/include/fuse_functions/file_funcs.h b/src/include/fuse_functions/file_funcs.h new file mode 100644 index 0000000..a220f0c --- /dev/null +++ b/src/include/fuse_functions/file_funcs.h @@ -0,0 +1,17 @@ +#define FUSE_USE_VERSION 31 + +#pragma once + +#include +#include + +// file ops +int fdfs_open(const char *path, struct fuse_file_info *fi); +int fdfs_read(const char *path, char *buf, size_t size, + off_t offset, struct fuse_file_info *fi); +int fdfs_write(const char *path, const char *buf, size_t size, + off_t offset, struct fuse_file_info *fi); +int fdfs_create(const char *path, mode_t mode, + struct fuse_file_info *fi); +int fdfs_unlink(const char *path); +int fdfs_truncate(const char *path, off_t size, fuse_file_info* fi); diff --git a/src/include/fuse_functions/utimens.h b/src/include/fuse_functions/utimens.h new file mode 100644 index 0000000..3801e29 --- /dev/null +++ b/src/include/fuse_functions/utimens.h @@ -0,0 +1,15 @@ +#ifndef FDFS_UTIMENS_H +#define FDFS_UTIMENS_H + +#define FUSE_USE_VERSION 31 +#include + +/* + * Update file times (atime, mtime) + * Called by touch and similar utilities + */ +int fdfs_utimens(const char* path, + const struct timespec tv[2], + struct fuse_file_info* fi); + +#endif // FDFS_UTIMENS_H diff --git a/src/src/daemon/dir_manager.cpp b/src/src/daemon/dir_manager.cpp index ad2bfa9..e293c6a 100644 --- a/src/src/daemon/dir_manager.cpp +++ b/src/src/daemon/dir_manager.cpp @@ -1,18 +1,184 @@ +// #include "daemon/dir_manager.h" +// #include +// #include + +// void dir_manager_init(DirManager* dm) { +// pthread_rwlock_init(&dm->rwlock, NULL); + +// dm->magic = DIR_MANAGER_MAGIC; +// dm->root = 0; +// dm->nodes[0].name[0] = '/'; +// dm->nodes[0].parent = -1; +// dm->nodes[0].first_child = -1; +// dm->nodes[0].next_sibling = -1; +// dm->nodes[0].in_use = true; + +// dm->free_list = 1; +// for (int i = 1; i < MAX_NODES - 1; i++) { +// dm->nodes[i].next_free = i + 1; +// dm->nodes[i].in_use = false; +// } +// dm->nodes[MAX_NODES - 1].next_free = -1; +// } + +// bool is_dir_manager_initialized(DirManager* dm) { +// return dm->magic == DIR_MANAGER_MAGIC; +// } + +// int lookup_node(DirManager* dm, const char* path){ +// pthread_rwlock_rdlock(&dm->rwlock); + +// if (strcmp(path, "/") == 0) { +// pthread_rwlock_unlock(&dm->rwlock); +// return dm->root; +// } + +// uint64_t h = hash_path_poly(path); +// int res = hash_lookup(g_hash_table, h, path); + +// pthread_rwlock_unlock(&dm->rwlock); +// return res; +// } + +// int insert_node(DirManager* dm, const char* path) { +// pthread_rwlock_wrlock(&dm->rwlock); + +// if (strcmp(path, "/") == 0) { +// pthread_rwlock_unlock(&dm->rwlock); +// return -1; +// } + +// int parent = dm->root; +// char token[NAME_SIZE]; +// int ti = 0; + +// for (const char* p = path; ; ++p) { +// if (*p == '/' || *p == '\0') { +// if (ti > 0) { +// token[ti] = '\0'; + +// char full_key[KEY_SIZE]; +// snprintf(full_key, KEY_SIZE, "%.*s", +// (int)(p - path), path); + +// uint64_t h = hash_path_poly(full_key); +// int node = hash_lookup(g_hash_table, h, full_key); + +// if (*p == '\0') { +// if (node != -1 || dm->free_list == -1) { +// pthread_rwlock_unlock(&dm->rwlock); +// return -1; +// } + +// int new_node = dm->free_list; +// dm->free_list = dm->nodes[new_node].next_free; + +// DirNode* n = &dm->nodes[new_node]; +// strncpy(n->name, token, NAME_SIZE); +// n->parent = parent; +// n->first_child = -1; +// n->next_sibling = dm->nodes[parent].first_child; +// n->in_use = true; + +// dm->nodes[parent].first_child = new_node; +// hash_insert(g_hash_table, h, full_key, new_node); + +// pthread_rwlock_unlock(&dm->rwlock); +// return new_node; +// } + +// if (node == -1) { +// pthread_rwlock_unlock(&dm->rwlock); +// return -1; +// } + +// parent = node; +// ti = 0; +// } +// if (*p == '\0') +// break; +// } else if (ti < NAME_SIZE - 1) { +// token[ti++] = *p; +// } +// } + +// pthread_rwlock_unlock(&dm->rwlock); +// return -1; +// } + +// bool remove_node(DirManager* dm, const char* path) { +// pthread_rwlock_wrlock(&dm->rwlock); + +// int node = lookup_node(dm, path); +// if (node <= 0) { +// pthread_rwlock_unlock(&dm->rwlock); +// return false; +// } + +// DirNode* n = &dm->nodes[node]; +// if (n->first_child != -1) { +// pthread_rwlock_unlock(&dm->rwlock); +// return false; +// } + +// uint64_t h = hash_path_poly(path); + +// int parent = n->parent; +// int* link = &dm->nodes[parent].first_child; +// while (*link != -1 && *link != node) +// link = &dm->nodes[*link].next_sibling; + +// if (*link == node) +// *link = n->next_sibling; + +// hash_remove(g_hash_table, h, path); + +// n->in_use = false; +// n->next_free = dm->free_list; +// dm->free_list = node; + +// pthread_rwlock_unlock(&dm->rwlock); +// return true; +// } + + + + + + #include "daemon/dir_manager.h" #include #include +#include +#include +#include +/* -------------------- INIT -------------------- */ void dir_manager_init(DirManager* dm) { pthread_rwlock_init(&dm->rwlock, NULL); dm->magic = DIR_MANAGER_MAGIC; dm->root = 0; - dm->nodes[0].name[0] = '/'; - dm->nodes[0].parent = -1; - dm->nodes[0].first_child = -1; - dm->nodes[0].next_sibling = -1; - dm->nodes[0].in_use = true; + DirNode* r = &dm->nodes[0]; + + strcpy(r->name, "/"); + r->parent = -1; + r->first_child = -1; + r->next_sibling = -1; + + r->mode = S_IFDIR | 0755; + r->uid = getuid(); + r->gid = getgid(); + r->size = 0; + r->nlink = 2; // . and .. + + time_t now = time(NULL); + r->atime = r->mtime = r->ctime = now; + + r->in_use = true; + + /* freelist */ dm->free_list = 1; for (int i = 1; i < MAX_NODES - 1; i++) { dm->nodes[i].next_free = i + 1; @@ -25,21 +191,27 @@ bool is_dir_manager_initialized(DirManager* dm) { return dm->magic == DIR_MANAGER_MAGIC; } -int lookup_node(DirManager* dm, const char* path){ - pthread_rwlock_rdlock(&dm->rwlock); +/* -------------------- LOOKUP -------------------- */ +/* nolock helper (CRITICAL to avoid deadlock) */ - if (strcmp(path, "/") == 0) { - pthread_rwlock_unlock(&dm->rwlock); +int lookup_node_nolock(DirManager* dm, const char* path) { + if (strcmp(path, "/") == 0) return dm->root; - } uint64_t h = hash_path_poly(path); - int res = hash_lookup(g_hash_table, h, path); + std::cout<<"In look_up_nolock"<< hash_lookup(g_hash_table, h, path); + return hash_lookup(g_hash_table, h, path); +} +int lookup_node(DirManager* dm, const char* path) { + pthread_rwlock_rdlock(&dm->rwlock); + int res = lookup_node_nolock(dm, path); pthread_rwlock_unlock(&dm->rwlock); return res; } +/* -------------------- INSERT -------------------- */ + int insert_node(DirManager* dm, const char* path) { pthread_rwlock_wrlock(&dm->rwlock); @@ -64,6 +236,7 @@ int insert_node(DirManager* dm, const char* path) { uint64_t h = hash_path_poly(full_key); int node = hash_lookup(g_hash_table, h, full_key); + /* final component -> create */ if (*p == '\0') { if (node != -1 || dm->free_list == -1) { pthread_rwlock_unlock(&dm->rwlock); @@ -74,19 +247,34 @@ int insert_node(DirManager* dm, const char* path) { dm->free_list = dm->nodes[new_node].next_free; DirNode* n = &dm->nodes[new_node]; + strncpy(n->name, token, NAME_SIZE); n->parent = parent; n->first_child = -1; n->next_sibling = dm->nodes[parent].first_child; + + /* metadata defaults (directory) */ + n->mode = S_IFDIR | 0755; + n->uid = getuid(); + n->gid = getgid(); + n->size = 0; + n->nlink = 2; + + time_t now = time(NULL); + n->atime = n->mtime = n->ctime = now; + n->in_use = true; dm->nodes[parent].first_child = new_node; + dm->nodes[parent].nlink++; // new subdir + hash_insert(g_hash_table, h, full_key, new_node); pthread_rwlock_unlock(&dm->rwlock); return new_node; } + /* intermediate component must exist */ if (node == -1) { pthread_rwlock_unlock(&dm->rwlock); return -1; @@ -106,16 +294,20 @@ int insert_node(DirManager* dm, const char* path) { return -1; } +/* -------------------- REMOVE -------------------- */ + bool remove_node(DirManager* dm, const char* path) { pthread_rwlock_wrlock(&dm->rwlock); - int node = lookup_node(dm, path); + int node = lookup_node_nolock(dm, path); if (node <= 0) { pthread_rwlock_unlock(&dm->rwlock); return false; } DirNode* n = &dm->nodes[node]; + + /* must be empty */ if (n->first_child != -1) { pthread_rwlock_unlock(&dm->rwlock); return false; @@ -131,6 +323,8 @@ bool remove_node(DirManager* dm, const char* path) { if (*link == node) *link = n->next_sibling; + dm->nodes[parent].nlink--; // remove subdir + hash_remove(g_hash_table, h, path); n->in_use = false; @@ -139,4 +333,4 @@ bool remove_node(DirManager* dm, const char* path) { pthread_rwlock_unlock(&dm->rwlock); return true; -} +} \ No newline at end of file diff --git a/src/src/daemon/file_io.cpp b/src/src/daemon/file_io.cpp new file mode 100644 index 0000000..cb89f18 --- /dev/null +++ b/src/src/daemon/file_io.cpp @@ -0,0 +1,107 @@ +#include "daemon/file_io.h" +#include +#include +#include +#include +#include +#include +#include + +void get_data_file_path(int inode, char* path_buf, size_t buf_size) { + snprintf(path_buf, buf_size, "%s/%d", DATA_DIR, inode); +} + +int init_data_dir() { + struct stat st = {0}; + + // Create data directory if it doesn't exist + if (stat(DATA_DIR, &st) == -1) { + if (mkdir(DATA_DIR, 0755) == -1) { + perror("mkdir data directory"); + return -1; + } + } + + return 0; +} + +ssize_t read_inode_data(int inode, char* buf, size_t size, off_t offset) { + char path[256]; + get_data_file_path(inode, path, sizeof(path)); + + int fd = open(path, O_RDONLY); + if (fd < 0) { + // File doesn't exist yet - return all zeros + if (errno == ENOENT) { + memset(buf, 0, size); + return size; + } + return -1; + } + + // Seek to the offset + if (lseek(fd, offset, SEEK_SET) < 0) { + close(fd); + return -1; + } + + // Read the data + ssize_t bytes_read = read(fd, buf, size); + close(fd); + + return bytes_read; +} + +ssize_t write_inode_data(int inode, const char* buf, size_t size, off_t offset) { + char path[256]; + get_data_file_path(inode, path, sizeof(path)); + + // Open with O_CREAT to create file if it doesn't exist + int fd = open(path, O_WRONLY | O_CREAT, 0644); + if (fd < 0) { + perror("open for write"); + return -1; + } + + // Seek to the offset + if (lseek(fd, offset, SEEK_SET) < 0) { + close(fd); + return -1; + } + + // Write the data + ssize_t bytes_written = write(fd, buf, size); + close(fd); + + return bytes_written; +} + +int truncate_inode_data(int inode, off_t new_size) { + char path[256]; + get_data_file_path(inode, path, sizeof(path)); + + // If truncating to 0, we can just delete the file + if (new_size == 0) { + unlink(path); // Ignore errors if file doesn't exist + return 0; + } + + // Otherwise, truncate it + if (truncate(path, new_size) < 0 && errno != ENOENT) { + return -1; + } + + return 0; +} + +int delete_inode_data(int inode) { + char path[256]; + get_data_file_path(inode, path, sizeof(path)); + + // Delete the data file + if (unlink(path) < 0 && errno != ENOENT) { + return -1; + } + + return 0; +} diff --git a/src/src/fuse_functions/access.cpp b/src/src/fuse_functions/access.cpp index f5c205f..96837e9 100644 --- a/src/src/fuse_functions/access.cpp +++ b/src/src/fuse_functions/access.cpp @@ -2,6 +2,7 @@ #include "daemon/dir_manager.h" #include +#include /* * Global DirManager instance @@ -15,9 +16,11 @@ int fdfs_access(const char* path, int mask) // Check if path exists int node = lookup_node(g_dir_manager, path); if (node == -1) { + std::cout << "fdfs_access: returning -ENOENT" << std::endl; return -ENOENT; } // Allow all access for now + std::cout << "fdfs_access: returning 0" << std::endl; return 0; } diff --git a/src/src/fuse_functions/file_funcs.cpp b/src/src/fuse_functions/file_funcs.cpp new file mode 100644 index 0000000..8a44c1c --- /dev/null +++ b/src/src/fuse_functions/file_funcs.cpp @@ -0,0 +1,195 @@ +#include "fuse_functions/file_funcs.h" +#include "daemon/dir_manager.h" +#include "daemon/file_io.h" + +#include +#include +#include +#include +#include + +extern DirManager* g_dir_manager; + +/* CREATE */ +int fdfs_create(const char *path, mode_t mode, struct fuse_file_info *fi) { + int node = insert_node(g_dir_manager, path); + if (node < 0) { + std::cout << "fdfs_create: returning -EEXIST" << std::endl; + return -EEXIST; + } + + pthread_rwlock_wrlock(&g_dir_manager->rwlock); + + DirNode *n = &g_dir_manager->nodes[node]; + n->mode = S_IFREG | (mode & 0777); + n->uid = getuid(); + n->gid = getgid(); + n->size = 0; + n->nlink = 1; + + time_t now = time(NULL); + n->atime = n->mtime = n->ctime = now; + + pthread_rwlock_unlock(&g_dir_manager->rwlock); + std::cout << "fdfs_create: returning 0" << std::endl; + return 0; +} + +/* OPEN */ +int fdfs_open(const char *path, struct fuse_file_info *fi) { + pthread_rwlock_rdlock(&g_dir_manager->rwlock); + + int node = lookup_node_nolock(g_dir_manager, path); + if (node < 0) { + pthread_rwlock_unlock(&g_dir_manager->rwlock); + std::cout << "fdfs_open: returning -ENOENT" << std::endl; + return -ENOENT; + } + + DirNode *n = &g_dir_manager->nodes[node]; + if (S_ISDIR(n->mode)) { + pthread_rwlock_unlock(&g_dir_manager->rwlock); + std::cout << "fdfs_open: returning -EISDIR" << std::endl; + return -EISDIR; + } + + pthread_rwlock_unlock(&g_dir_manager->rwlock); + std::cout << "fdfs_open: returning 0" << std::endl; + return 0; +} + +/* READ */ +int fdfs_read(const char *path, char *buf, size_t size, + off_t offset, struct fuse_file_info *fi) { + pthread_rwlock_rdlock(&g_dir_manager->rwlock); + + int node = lookup_node_nolock(g_dir_manager, path); + if (node < 0) { + pthread_rwlock_unlock(&g_dir_manager->rwlock); + std::cout << "fdfs_read: returning -ENOENT" << std::endl; + return -ENOENT; + } + + DirNode *n = &g_dir_manager->nodes[node]; + if (offset >= n->size) { + pthread_rwlock_unlock(&g_dir_manager->rwlock); + std::cout << "fdfs_read: returning 0 (offset >= size)" << std::endl; + return 0; + } + + // Calculate how much data to read + size_t to_read = size; + if (offset + to_read > n->size) { + to_read = n->size - offset; + } + + pthread_rwlock_unlock(&g_dir_manager->rwlock); + + // Read data from host filesystem using inode number + ssize_t bytes_read = read_inode_data(node, buf, to_read, offset); + if (bytes_read < 0) { + std::cout << "fdfs_read: returning -EIO" << std::endl; + return -EIO; + } + + // Update access time + pthread_rwlock_wrlock(&g_dir_manager->rwlock); + n = &g_dir_manager->nodes[node]; + n->atime = time(NULL); + pthread_rwlock_unlock(&g_dir_manager->rwlock); + + std::cout << "fdfs_read: returning " << bytes_read << std::endl; + return bytes_read; +} + +/* WRITE */ +int fdfs_write(const char *path, const char *buf, size_t size, + off_t offset, struct fuse_file_info *fi) { + pthread_rwlock_wrlock(&g_dir_manager->rwlock); + std::cout << "fdfs_write: writing " << size << " bytes to " << path << " at offset " << offset << "data: "<rwlock); + std::cout << "fdfs_write: returning -ENOENT" << std::endl; + return -ENOENT; + } + + pthread_rwlock_unlock(&g_dir_manager->rwlock); + + // Write data to host filesystem using inode number + ssize_t bytes_written = write_inode_data(node, buf, size, offset); + if (bytes_written < 0) { + std::cout << "fdfs_write: returning -EIO" << std::endl; + return -EIO; + } + + // Update file size and modification time + pthread_rwlock_wrlock(&g_dir_manager->rwlock); + DirNode *n = &g_dir_manager->nodes[node]; + + off_t end = offset + size; + if (end > n->size) + n->size = end; + + n->mtime = n->ctime = time(NULL); + pthread_rwlock_unlock(&g_dir_manager->rwlock); + + std::cout << "fdfs_write: returning " << bytes_written << std::endl; + return bytes_written; +} + +/* TRUNCATE */ +int fdfs_truncate(const char *path, off_t size, + struct fuse_file_info *fi) { + pthread_rwlock_wrlock(&g_dir_manager->rwlock); + + int node = lookup_node_nolock(g_dir_manager, path); + if (node < 0) { + pthread_rwlock_unlock(&g_dir_manager->rwlock); + std::cout << "fdfs_truncate: returning -ENOENT" << std::endl; + return -ENOENT; + } + + pthread_rwlock_unlock(&g_dir_manager->rwlock); + + // Truncate the data file on host filesystem + if (truncate_inode_data(node, size) < 0) { + std::cout << "fdfs_truncate: returning -EIO" << std::endl; + return -EIO; + } + + // Update file size and modification time + pthread_rwlock_wrlock(&g_dir_manager->rwlock); + DirNode *n = &g_dir_manager->nodes[node]; + n->size = size; + n->mtime = n->ctime = time(NULL); + pthread_rwlock_unlock(&g_dir_manager->rwlock); + + std::cout << "fdfs_truncate: returning 0" << std::endl; + return 0; +} + +/* UNLINK */ +int fdfs_unlink(const char *path) { + pthread_rwlock_wrlock(&g_dir_manager->rwlock); + + int node = lookup_node_nolock(g_dir_manager, path); + if (node < 0) { + pthread_rwlock_unlock(&g_dir_manager->rwlock); + std::cout << "fdfs_unlink: returning -ENOENT" << std::endl; + return -ENOENT; + } + + pthread_rwlock_unlock(&g_dir_manager->rwlock); + + // Delete the data file from host filesystem + delete_inode_data(node); + + if (!remove_node(g_dir_manager, path)) { + std::cout << "fdfs_unlink: returning -ENOENT (remove failed)" << std::endl; + return -ENOENT; + } + + std::cout << "fdfs_unlink: returning 0" << std::endl; + return 0; +} \ No newline at end of file diff --git a/src/src/fuse_functions/getattr.cpp b/src/src/fuse_functions/getattr.cpp index 15f1678..255d00f 100644 --- a/src/src/fuse_functions/getattr.cpp +++ b/src/src/fuse_functions/getattr.cpp @@ -4,6 +4,7 @@ #include #include #include +#include /* * DirManager instance @@ -19,17 +20,30 @@ int fdfs_getattr(const char* path, memset(stbuf, 0, sizeof(struct stat)); // Ask DirManager if path exists - int node = lookup_node(g_dir_manager, path); + pthread_rwlock_rdlock(&g_dir_manager->rwlock); + + int node = lookup_node_nolock(g_dir_manager, path); if (node == -1) { + pthread_rwlock_unlock(&g_dir_manager->rwlock); + std::cout << "fdfs_getattr: returning -ENOENT" << std::endl; return -ENOENT; } - // Currently, everything is a directory - stbuf->st_mode = S_IFDIR | 0755; - stbuf->st_nlink = 2; - stbuf->st_size = 4096; - stbuf->st_uid = getuid(); - stbuf->st_gid = getgid(); + // Get the actual node metadata + DirNode* n = &g_dir_manager->nodes[node]; + + // Fill stat structure with actual metadata from DirNode + stbuf->st_mode = n->mode; + stbuf->st_nlink = n->nlink; + stbuf->st_size = n->size; + stbuf->st_uid = n->uid; + stbuf->st_gid = n->gid; + stbuf->st_atime = n->atime; + stbuf->st_mtime = n->mtime; + stbuf->st_ctime = n->ctime; + + pthread_rwlock_unlock(&g_dir_manager->rwlock); + std::cout << "fdfs_getattr: returning 0" << std::endl; return 0; } diff --git a/src/src/fuse_functions/mkdir.cpp b/src/src/fuse_functions/mkdir.cpp index d4ec1fd..a57a7f5 100644 --- a/src/src/fuse_functions/mkdir.cpp +++ b/src/src/fuse_functions/mkdir.cpp @@ -3,6 +3,7 @@ #include #include +#include /* * Global DirManager instance @@ -16,6 +17,7 @@ int fdfs_mkdir(const char* path, mode_t mode) // Disallow creating root if (strcmp(path, "/") == 0) { + std::cout << "fdfs_mkdir: returning -EEXIST (root)" << std::endl; return -EEXIST; } @@ -35,10 +37,13 @@ int fdfs_mkdir(const char* path, mode_t mode) * We conservatively return EEXIST or ENOENT. */ if (lookup_node(g_dir_manager, path) != -1) { + std::cout << "fdfs_mkdir: returning -EEXIST" << std::endl; return -EEXIST; } + std::cout << "fdfs_mkdir: returning -ENOENT" << std::endl; return -ENOENT; } + std::cout << "fdfs_mkdir: returning 0" << std::endl; return 0; } diff --git a/src/src/fuse_functions/opendir.cpp b/src/src/fuse_functions/opendir.cpp index 7794b82..15bd2bf 100644 --- a/src/src/fuse_functions/opendir.cpp +++ b/src/src/fuse_functions/opendir.cpp @@ -3,6 +3,7 @@ #include #include +#include /* * Global DirManager instance @@ -18,8 +19,10 @@ int fdfs_opendir(const char* path, // Ask ADT whether directory exists int node = lookup_node(g_dir_manager, path); if (node == -1) { + std::cout << "fdfs_opendir: returning -ENOENT" << std::endl; return -ENOENT; } + std::cout << "fdfs_opendir: returning 0" << std::endl; return 0; } diff --git a/src/src/fuse_functions/readdir.cpp b/src/src/fuse_functions/readdir.cpp index 36a3e23..2eb786a 100644 --- a/src/src/fuse_functions/readdir.cpp +++ b/src/src/fuse_functions/readdir.cpp @@ -3,7 +3,7 @@ #include #include - +#include /* * Global DirManager instance * (defined in main.cpp) @@ -20,10 +20,10 @@ int fdfs_readdir(const char* path, (void) offset; (void) fi; (void) flags; - // Find directory node int dir_node = lookup_node(g_dir_manager, path); if (dir_node == -1) { + std::cout << "fdfs_readdir: returning -ENOENT" << std::endl; return -ENOENT; } @@ -42,7 +42,10 @@ int fdfs_readdir(const char* path, } child = n->next_sibling; + // std::cout<<"I) am Here"; + // std::cout.flush(); } + std::cout << "fdfs_readdir: returning 0" << std::endl; return 0; } diff --git a/src/src/fuse_functions/rmdir.cpp b/src/src/fuse_functions/rmdir.cpp index 2b596fc..61e343e 100644 --- a/src/src/fuse_functions/rmdir.cpp +++ b/src/src/fuse_functions/rmdir.cpp @@ -3,6 +3,7 @@ #include #include +#include /* * Global DirManager instance @@ -14,6 +15,7 @@ int fdfs_rmdir(const char* path) { // Disallow removing root if (strcmp(path, "/") == 0) { + std::cout << "fdfs_rmdir: returning -EBUSY (root)" << std::endl; return -EBUSY; } @@ -24,12 +26,13 @@ int fdfs_rmdir(const char* path) */ bool ok = remove_node(g_dir_manager, path); if (!ok) { - // int node = lookup_node(&g_dir_manager, path); // if (node == -1) { // return -ENOENT; // } commented bcz of dead locking in lookup_node + std::cout << "fdfs_rmdir: returning -ENOTEMPTY" << std::endl; return -ENOTEMPTY; } + std::cout << "fdfs_rmdir: returning 0" << std::endl; return 0; } diff --git a/src/src/fuse_functions/statfs.cpp b/src/src/fuse_functions/statfs.cpp index ee3b6d4..5448501 100644 --- a/src/src/fuse_functions/statfs.cpp +++ b/src/src/fuse_functions/statfs.cpp @@ -1,6 +1,7 @@ #include "fuse_functions/statfs.h" #include +#include /* * We return fake but consistent filesystem stats. @@ -24,5 +25,6 @@ int fdfs_statfs(const char* path, struct statvfs* stbuf) stbuf->f_namemax = 255; // max filename length + std::cout << "fdfs_statfs: returning 0" << std::endl; return 0; } diff --git a/src/src/fuse_functions/utimens.cpp b/src/src/fuse_functions/utimens.cpp new file mode 100644 index 0000000..8d68478 --- /dev/null +++ b/src/src/fuse_functions/utimens.cpp @@ -0,0 +1,44 @@ +#include "fuse_functions/utimens.h" +#include "daemon/dir_manager.h" + +#include +#include +#include + +/* + * Global DirManager instance + */ +extern DirManager* g_dir_manager; + +int fdfs_utimens(const char* path, + const struct timespec tv[2], + struct fuse_file_info* fi) +{ + (void) fi; + + pthread_rwlock_wrlock(&g_dir_manager->rwlock); + + int node = lookup_node_nolock(g_dir_manager, path); + if (node < 0) { + pthread_rwlock_unlock(&g_dir_manager->rwlock); + std::cout << "fdfs_utimens: returning -ENOENT" << std::endl; + return -ENOENT; + } + + DirNode* n = &g_dir_manager->nodes[node]; + + // If tv is NULL, use current time + if (tv == nullptr) { + time_t now = time(NULL); + n->atime = now; + n->mtime = now; + } else { + // tv[0] is access time, tv[1] is modification time + n->atime = tv[0].tv_sec; + n->mtime = tv[1].tv_sec; + } + + pthread_rwlock_unlock(&g_dir_manager->rwlock); + std::cout << "fdfs_utimens: returning 0" << std::endl; + return 0; +} diff --git a/test_dir/a.txt b/test_dir/a.txt new file mode 100644 index 0000000..f835d26 --- /dev/null +++ b/test_dir/a.txt @@ -0,0 +1 @@ +asdf_ghjk \ No newline at end of file From 093d3719bab4c476bb8e7bc9c614714952562f0e Mon Sep 17 00:00:00 2001 From: bhardwajdevesh092005 Date: Wed, 11 Feb 2026 21:24:38 +0530 Subject: [PATCH 11/15] Resolved the issue of saving file --- .gitignore | 1 + .../api/v1/query/client-vscode/query.json | 1 + .../reply/cache-v2-e3136e00d30c5908e372.json | 1755 ++++ .../cmakeFiles-v1-ae41b24fe3af4aa1fa92.json | 873 ++ .../codemodel-v2-097f5234fdd668aa70da.json | 88 + ...irectory-.-Debug-f5ebdc15457944623624.json | 14 + ...ctory-test-Debug-451c0598f41488bb20b9.json | 14 + .../reply/index-2026-02-11T15-34-08-0106.json | 132 + ...-FastDevFS-Debug-b5e64aabc0ddb4081430.json | 222 + ...-run_tests-Debug-1f1095a4ed58c6fa64bb.json | 194 + .../toolchains-v1-de13eb4a293a7f94668f.json | 110 + build/CMakeCache.txt | 38 +- build/CMakeFiles/3.28.3/CMakeCCompiler.cmake | 2 +- .../CMakeFiles/3.28.3/CMakeCXXCompiler.cmake | 2 +- build/CMakeFiles/3.28.3/CMakeSystem.cmake | 8 +- build/CMakeFiles/CMakeConfigureLog.yaml | 728 +- .../CMakeDirectoryInformation.cmake | 16 - .../CMakeFiles/FastDevFS.dir/DependInfo.cmake | 26 +- build/CMakeFiles/FastDevFS.dir/build.make | 138 +- .../FastDevFS.dir/compiler_depend.internal | 110 +- .../FastDevFS.dir/compiler_depend.make | 398 +- build/CMakeFiles/FastDevFS.dir/flags.make | 2 +- build/CMakeFiles/Makefile.cmake | 66 - build/CMakeFiles/Makefile2 | 16 +- build/CMakeFiles/TargetDirectories.txt | 16 +- build/CMakeFiles/rules.ninja | 83 + build/CTestTestfile.cmake | 4 +- build/FastDevFS | Bin 33200 -> 33288 bytes build/Makefile | 8 +- build/Testing/20260211-1534/Test.xml | 34 + build/Testing/TAG | 3 + .../Temporary/LastTest_20260211-1534.log | 3 + build/build.ninja | 388 + build/cmake_install.cmake | 8 +- build/compile_commands.json | 110 + .../CMakeDirectoryInformation.cmake | 4 +- .../CMakeFiles/run_tests.dir/DependInfo.cmake | 10 +- .../test/CMakeFiles/run_tests.dir/build.make | 62 +- .../run_tests.dir/compiler_depend.internal | 26 +- .../run_tests.dir/compiler_depend.make | 164 +- .../test/CMakeFiles/run_tests.dir/flags.make | 2 +- build/test/CTestTestfile.cmake | 4 +- build/test/Makefile | 54 +- build/test/cmake_install.cmake | 4 +- build/test/run_tests | Bin 810472 -> 810472 bytes data/100 | 23 + data/101 | 23 + data/102 | 44 + data/103 | 33 + data/104 | 29 + data/105 | 40 + data/106 | 23 + data/107 | 162 + data/108 | 23 + data/109 | 43 + data/110 | 45 + data/111 | 22 + data/112 | 47 + data/113 | 20 + data/115 | 21 + data/117 | 22 + data/118 | 24 + data/119 | 13 + data/120 | 21 + data/121 | 13 + data/122 | 21 + data/123 | 9 + data/124 | 9 + data/125 | 9 + data/126 | 9 + data/127 | 11 + data/128 | 11 + data/129 | 21 + data/130 | 13 + data/131 | 12 + data/132 | 12 + data/133 | 43 + data/134 | 9 + data/135 | 21 + data/136 | 2 + data/137 | 80 + data/138 | 36 + data/139 | 58 + data/140 | 32 + data/141 | 9 + data/142 | 170 + data/143 | 146 + data/144 | 56 + data/145 | 79 + data/146 | 27 + data/147 | 58 + data/148 | 234 + data/149 | 38 + data/150 | 290 + data/151 | 101 + data/152 | 103 + data/153 | 60 + data/154 | 159 + data/155 | 225 + data/156 | 33 + data/157 | 21 + data/158 | 23 + data/159 | 19 + data/160 | 24 + data/161 | 21 + data/162 | 4 + data/163 | 21 + data/164 | 4 + data/166 | 9 + data/167 | 21 + data/168 | 21 + data/170 | 21 + data/171 | 21 + data/172 | 13 + data/173 | 13 + data/174 | 4 + data/175 | 21 + data/177 | 13 + data/178 | 13 + data/179 | 22 + data/181 | 21 + data/182 | 4 + data/183 | 17 + data/184 | 22 + data/185 | 15 + data/186 | 21 + data/187 | 38 + data/188 | 21 + data/189 | 65 + data/190 | 42 + data/191 | 162 + data/192 | 15 + data/193 | 9 + data/194 | 158 + data/195 | 39 + data/196 | 21 + data/197 | 54 + data/198 | 22 + data/199 | 538 + data/200 | 40 + data/201 | 272 + data/202 | 48 + data/203 | 22 + data/205 | 42 + data/206 | 50 + data/207 | 35 + data/208 | 6 + data/209 | 78 + data/210 | 30 + data/211 | 15 + data/214 | 8 + data/215 | 13 + data/216 | 14 + data/217 | 10 + data/219 | 19 + data/221 | 21 + data/222 | 21 + data/223 | 4 + data/224 | 21 + data/225 | 21 + data/227 | 69 + data/229 | 13 + data/230 | 4 + data/232 | 95 + data/233 | 33 + data/234 | 268 + data/235 | 9 + data/236 | 27 + data/237 | 49 + data/239 | 97 + data/240 | 22 + data/241 | 12 + data/242 | 23 + data/243 | 42 + data/244 | 24 + data/245 | 16 + data/246 | 98 + data/247 | 59 + data/248 | 186 + data/249 | 149 + data/250 | 131 + data/251 | 109 + data/252 | 29 + data/253 | 143 + data/255 | 30 + data/256 | 1 + data/257 | 43 + data/258 | 92 + data/259 | 38 + data/260 | 20 + data/261 | 274 + data/262 | 10 + data/263 | 68 + data/264 | 113 + data/267 | 23 + data/269 | 84 + data/271 | 43 + data/273 | 4 + data/275 | 31 + data/276 | 61 + data/277 | 87 + data/278 | 90 + data/279 | 152 + data/280 | 9342 +++++++++++++++++ data/281 | 133 + data/282 | 84 + data/283 | 42 + data/284 | 162 + data/285 | 169 + data/286 | 39 + data/287 | 532 + data/288 | 83 + data/289 | 94 + data/290 | 22 + data/291 | 33 + data/292 | 34 + data/293 | 36 + data/294 | 6 + data/295 | 6 + data/296 | 84 + data/297 | 378 + data/298 | 56 + data/299 | 4 + data/300 | 61 + data/301 | 19 + data/302 | 29 + data/303 | 192 + data/304 | 68 + data/305 | 139 + data/306 | 45 + data/307 | 22 + data/308 | 292 + data/309 | 409 + data/310 | 93 + data/311 | 3 + data/312 | 77 + data/313 | 11 + data/314 | 11 + data/315 | 40 + data/316 | 22 + data/317 | 23 + data/318 | 23 + data/319 | 81 + data/320 | 5 + data/321 | 4 + data/322 | 99 + data/323 | 114 + data/324 | 58 + data/325 | 24 + data/326 | 104 + data/327 | 114 + data/328 | 22 + data/329 | 104 + data/330 | 4 + data/331 | 12 + data/332 | 24 + data/333 | 24 + data/334 | 156 + data/335 | 22 + data/337 | 6 + data/338 | 24 + data/339 | 23 + data/340 | 23 + data/341 | 46 + data/342 | 22 + data/343 | 22 + data/344 | 23 + data/345 | 25 + data/346 | 23 + data/347 | 23 + data/348 | 21 + data/349 | 280 + data/351 | 19 + data/352 | 2 + data/353 | 9 + data/354 | 10 + data/355 | 26 + data/356 | 40 + data/357 | 136 + data/358 | 10 + data/359 | 15 + data/361 | 10 + data/362 | 80 + data/363 | 77 + data/364 | 87 + data/365 | 293 + data/366 | 85 + data/367 | 4 + data/368 | 16 + data/369 | 77 + data/370 | 4 + data/371 | 13 + data/373 | 71 + data/375 | 57 + data/376 | 458 + data/378 | 4 + data/379 | 233 + data/380 | 45 + data/381 | 80 + data/382 | 50 + data/383 | 3 + data/385 | 97 + data/386 | 46 + data/387 | 29 + data/388 | 9 + data/389 | 42 + data/390 | 9 + data/391 | 9 + data/392 | 47 + data/393 | 9 + data/394 | 4 + data/395 | 6 + data/396 | 631 ++ data/397 | 406 + data/398 | 81 + data/4 | 1 + data/401 | 10 + data/402 | 35 + data/403 | 64 + data/404 | 40 + data/405 | 6 + data/406 | 55 + data/407 | 47 + data/408 | 211 + data/409 | 252 + data/410 | 80 + data/411 | 63 + data/412 | 49 + data/413 | 53 + data/414 | 22 + data/415 | 6 + data/416 | 15 + data/417 | 335 + data/418 | 28 + data/419 | 239 + data/420 | 110 + data/421 | 4 + data/422 | 6 + data/423 | 336 + data/424 | 9 + data/425 | 748 ++ data/426 | 238 + data/427 | 267 + data/429 | 327 + data/430 | 250 + data/431 | 997 ++ data/432 | 208 + data/433 | 185 + data/434 | 77 + data/436 | 37 + data/437 | 11 + data/438 | 12 + data/439 | 24 + data/440 | 4 + data/441 | 117 + data/442 | 94 + data/444 | 62 + data/445 | 62 + data/446 | 29 + data/447 | 4 + data/448 | 4 + data/449 | 169 + data/451 | 21 + data/452 | 158 + data/453 | 43 + data/454 | 63 + data/455 | 70 + data/456 | 186 + data/457 | 85 + data/458 | 13 + data/459 | 15 + data/461 | 14 + data/462 | 80 + data/463 | 23 + data/464 | 263 + data/465 | 72 + data/466 | 50 + data/467 | 673 ++ data/468 | 1 + data/469 | 1 + data/470 | 3 + data/471 | 87 + data/472 | 57 + data/473 | 16 + data/474 | 62 + data/475 | 3 + data/476 | 12 + data/477 | 44 + data/479 | 14 + data/481 | 150 + data/482 | 61 + data/483 | 46 + data/484 | 49 + data/485 | 4 + data/486 | 47 + data/487 | 64 + data/488 | 142 + data/489 | 44 + data/490 | 47 + data/491 | 76 + data/492 | 47 + data/493 | 5 + data/495 | 3 + data/496 | 136 + data/497 | 49 + data/498 | 15 + data/500 | 317 + data/501 | 12 + data/502 | 14 + data/503 | 81 + data/505 | 205 + data/506 | 50 + data/507 | 292 + data/509 | 481 + data/510 | 161 + data/511 | 253 + data/512 | 9 + data/513 | 250 + data/514 | 3 + data/515 | 23 + data/516 | 71 + data/518 | 9 + data/519 | 12 + data/520 | 12 + data/521 | 11 + data/522 | 22 + data/523 | 11 + data/524 | 5 + data/525 | 63 + data/526 | 24 + data/527 | 23 + data/528 | 12 + data/529 | 7 + data/531 | 12 + data/532 | 30 + data/533 | 12 + data/534 | 45 + data/535 | 12 + data/536 | 40 + data/537 | 5 + data/538 | 42 + data/539 | 223 + data/540 | 247 + data/541 | 5 + data/542 | 317 + data/543 | 54 + data/544 | 46 + data/546 | 12 + data/547 | 428 + data/548 | 62 + data/549 | 55 + data/550 | 83 + data/551 | 198 + data/552 | 3 + data/553 | 139 + data/555 | 5 + data/556 | 140 + data/558 | 12 + data/559 | 224 + data/560 | 1 + data/561 | 514 + data/562 | 3 + data/563 | 360 + data/564 | 182 + data/565 | 5 + data/567 | 3 + data/568 | 19 + data/569 | 58 + data/570 | 56 + data/571 | 5 + data/572 | 247 + data/573 | 25 + data/574 | 85 + data/575 | 3 + data/576 | 12 + data/577 | 68 + data/578 | 15 + data/579 | 1 + data/580 | 126 + data/581 | 111 + data/582 | 4 + data/583 | 541 + data/584 | 179 + data/585 | 3 + data/586 | 12 + data/587 | 1 + data/588 | 9 + data/589 | 242 + data/590 | 3 + data/591 | 218 + data/592 | 12 + data/593 | 64 + data/594 | 4 + data/595 | 53 + data/596 | 3 + data/597 | 144 + data/598 | 3 + data/599 | 1053 ++ data/601 | 10 + data/602 | 4 + data/603 | 109 + data/604 | 294 + data/605 | 3 + data/606 | 91 + data/607 | 11 + data/608 | 44 + data/609 | 3 + data/610 | 12 + data/612 | 46 + data/613 | 86 + data/614 | 1396 +++ data/615 | 48 + data/617 | 228 + data/618 | 36 + data/619 | 3 + data/620 | 3 + data/621 | 43 + data/622 | 12 + data/623 | 3 + data/625 | 24 + data/626 | 13 + data/627 | 114 + data/628 | 271 + data/629 | 29 + data/630 | 50 + data/631 | 416 + data/632 | 212 + data/633 | 12 + data/634 | 1 + data/635 | 75 + data/636 | 142 + data/637 | 5 + data/638 | 1 + data/639 | 3 + data/641 | 98 + data/642 | 451 + data/643 | 3 + data/644 | 76 + data/645 | 205 + data/646 | 52 + data/647 | 1 + data/648 | 99 + data/649 | 141 + data/650 | 494 + data/651 | 3 + data/652 | 276 + data/653 | 17 + data/654 | 1 + data/655 | 178 + data/656 | 15 + data/657 | 3 + data/658 | 105 + data/659 | 15 + data/660 | 3 + data/661 | 187 + data/662 | 271 + data/663 | 3 + data/664 | 1 + data/665 | 3 + data/666 | 544 + data/667 | 1 + data/668 | 307 + data/669 | 1 + data/670 | 3 + data/672 | 283 + data/673 | 10 + data/674 | 12 + data/675 | 139 + data/677 | 122 + data/678 | 356 + data/679 | 12 + data/680 | 58 + data/681 | 26 + data/682 | 1310 +++ data/683 | 26 + data/684 | 264 + data/685 | 40 + data/686 | 12 + data/687 | 1 + data/688 | 261 + data/689 | 20 + data/690 | 320 + data/691 | 105 + data/692 | 273 + data/693 | 84 + data/694 | 424 + data/695 | 381 + data/697 | 177 + data/698 | 94 + data/699 | 12 + data/700 | 631 ++ data/701 | 182 + data/702 | 1 + data/703 | 29 + data/704 | 56 + data/705 | 70 + data/706 | 733 ++ data/707 | 125 + data/708 | 138 + data/711 | 423 + data/712 | 11 + data/713 | 78 + data/714 | 129 + data/715 | 56 + data/716 | 12 + data/717 | 827 ++ data/718 | 819 ++ data/75 | 5 + data/76 | 16 + data/77 | 5 + data/78 | 16 + data/79 | 13 + data/8 | 15 + data/80 | 21 + data/82 | 17 + data/83 | 42 + data/84 | 13 + data/85 | 9 + data/86 | 9 + data/87 | 5 + data/88 | 53 + data/89 | 9 + data/90 | 9 + data/91 | 27 + data/92 | 11 + data/93 | 16 + data/94 | 38 + data/95 | 29 + data/96 | 29 + data/97 | 34 + data/98 | 21 + data/99 | 10 + dir_tree.dat | Bin 3280072 -> 3280072 bytes hash_table.dat | Bin 10416400 -> 10416400 bytes src/include/daemon/file_io.h | 4 +- src/src/daemon/file_io.cpp | 19 +- test_dir/a.txt | 2 +- 637 files changed, 66859 insertions(+), 738 deletions(-) create mode 100644 build/.cmake/api/v1/query/client-vscode/query.json create mode 100644 build/.cmake/api/v1/reply/cache-v2-e3136e00d30c5908e372.json create mode 100644 build/.cmake/api/v1/reply/cmakeFiles-v1-ae41b24fe3af4aa1fa92.json create mode 100644 build/.cmake/api/v1/reply/codemodel-v2-097f5234fdd668aa70da.json create mode 100644 build/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json create mode 100644 build/.cmake/api/v1/reply/directory-test-Debug-451c0598f41488bb20b9.json create mode 100644 build/.cmake/api/v1/reply/index-2026-02-11T15-34-08-0106.json create mode 100644 build/.cmake/api/v1/reply/target-FastDevFS-Debug-b5e64aabc0ddb4081430.json create mode 100644 build/.cmake/api/v1/reply/target-run_tests-Debug-1f1095a4ed58c6fa64bb.json create mode 100644 build/.cmake/api/v1/reply/toolchains-v1-de13eb4a293a7f94668f.json delete mode 100644 build/CMakeFiles/CMakeDirectoryInformation.cmake delete mode 100644 build/CMakeFiles/Makefile.cmake create mode 100644 build/CMakeFiles/rules.ninja create mode 100644 build/Testing/20260211-1534/Test.xml create mode 100644 build/Testing/TAG create mode 100644 build/Testing/Temporary/LastTest_20260211-1534.log create mode 100644 build/build.ninja create mode 100644 build/compile_commands.json create mode 100644 data/100 create mode 100644 data/101 create mode 100644 data/102 create mode 100644 data/103 create mode 100644 data/104 create mode 100644 data/105 create mode 100644 data/106 create mode 100644 data/107 create mode 100644 data/108 create mode 100644 data/109 create mode 100644 data/110 create mode 100644 data/111 create mode 100644 data/112 create mode 100644 data/113 create mode 100644 data/115 create mode 100644 data/117 create mode 100644 data/118 create mode 100644 data/119 create mode 100644 data/120 create mode 100644 data/121 create mode 100644 data/122 create mode 100644 data/123 create mode 100644 data/124 create mode 100644 data/125 create mode 100644 data/126 create mode 100644 data/127 create mode 100644 data/128 create mode 100644 data/129 create mode 100644 data/130 create mode 100644 data/131 create mode 100644 data/132 create mode 100644 data/133 create mode 100644 data/134 create mode 100644 data/135 create mode 100644 data/136 create mode 100644 data/137 create mode 100644 data/138 create mode 100644 data/139 create mode 100644 data/140 create mode 100644 data/141 create mode 100644 data/142 create mode 100644 data/143 create mode 100644 data/144 create mode 100644 data/145 create mode 100644 data/146 create mode 100644 data/147 create mode 100644 data/148 create mode 100644 data/149 create mode 100644 data/150 create mode 100644 data/151 create mode 100644 data/152 create mode 100644 data/153 create mode 100644 data/154 create mode 100644 data/155 create mode 100644 data/156 create mode 100644 data/157 create mode 100644 data/158 create mode 100644 data/159 create mode 100644 data/160 create mode 100644 data/161 create mode 100644 data/162 create mode 100644 data/163 create mode 100644 data/164 create mode 100644 data/166 create mode 100644 data/167 create mode 100644 data/168 create mode 100644 data/170 create mode 100644 data/171 create mode 100644 data/172 create mode 100644 data/173 create mode 100644 data/174 create mode 100644 data/175 create mode 100644 data/177 create mode 100644 data/178 create mode 100644 data/179 create mode 100644 data/181 create mode 100644 data/182 create mode 100644 data/183 create mode 100644 data/184 create mode 100644 data/185 create mode 100644 data/186 create mode 100644 data/187 create mode 100644 data/188 create mode 100644 data/189 create mode 100644 data/190 create mode 100644 data/191 create mode 100644 data/192 create mode 100644 data/193 create mode 100644 data/194 create mode 100644 data/195 create mode 100644 data/196 create mode 100644 data/197 create mode 100644 data/198 create mode 100644 data/199 create mode 100644 data/200 create mode 100644 data/201 create mode 100644 data/202 create mode 100644 data/203 create mode 100644 data/205 create mode 100644 data/206 create mode 100644 data/207 create mode 100644 data/208 create mode 100644 data/209 create mode 100644 data/210 create mode 100644 data/211 create mode 100644 data/214 create mode 100644 data/215 create mode 100644 data/216 create mode 100644 data/217 create mode 100644 data/219 create mode 100644 data/221 create mode 100644 data/222 create mode 100644 data/223 create mode 100644 data/224 create mode 100644 data/225 create mode 100644 data/227 create mode 100644 data/229 create mode 100644 data/230 create mode 100644 data/232 create mode 100644 data/233 create mode 100644 data/234 create mode 100644 data/235 create mode 100644 data/236 create mode 100644 data/237 create mode 100644 data/239 create mode 100644 data/240 create mode 100644 data/241 create mode 100644 data/242 create mode 100644 data/243 create mode 100644 data/244 create mode 100644 data/245 create mode 100644 data/246 create mode 100644 data/247 create mode 100644 data/248 create mode 100644 data/249 create mode 100644 data/250 create mode 100644 data/251 create mode 100644 data/252 create mode 100644 data/253 create mode 100644 data/255 create mode 100644 data/256 create mode 100644 data/257 create mode 100644 data/258 create mode 100644 data/259 create mode 100644 data/260 create mode 100644 data/261 create mode 100644 data/262 create mode 100644 data/263 create mode 100644 data/264 create mode 100644 data/267 create mode 100644 data/269 create mode 100644 data/271 create mode 100644 data/273 create mode 100644 data/275 create mode 100644 data/276 create mode 100644 data/277 create mode 100644 data/278 create mode 100644 data/279 create mode 100644 data/280 create mode 100644 data/281 create mode 100644 data/282 create mode 100644 data/283 create mode 100644 data/284 create mode 100644 data/285 create mode 100644 data/286 create mode 100644 data/287 create mode 100644 data/288 create mode 100644 data/289 create mode 100644 data/290 create mode 100644 data/291 create mode 100644 data/292 create mode 100644 data/293 create mode 100644 data/294 create mode 100644 data/295 create mode 100644 data/296 create mode 100644 data/297 create mode 100644 data/298 create mode 100644 data/299 create mode 100644 data/300 create mode 100644 data/301 create mode 100644 data/302 create mode 100644 data/303 create mode 100644 data/304 create mode 100644 data/305 create mode 100644 data/306 create mode 100644 data/307 create mode 100644 data/308 create mode 100644 data/309 create mode 100644 data/310 create mode 100644 data/311 create mode 100644 data/312 create mode 100644 data/313 create mode 100644 data/314 create mode 100644 data/315 create mode 100644 data/316 create mode 100644 data/317 create mode 100644 data/318 create mode 100644 data/319 create mode 100644 data/320 create mode 100644 data/321 create mode 100644 data/322 create mode 100644 data/323 create mode 100644 data/324 create mode 100644 data/325 create mode 100644 data/326 create mode 100644 data/327 create mode 100644 data/328 create mode 100644 data/329 create mode 100644 data/330 create mode 100644 data/331 create mode 100644 data/332 create mode 100644 data/333 create mode 100644 data/334 create mode 100644 data/335 create mode 100644 data/337 create mode 100644 data/338 create mode 100644 data/339 create mode 100644 data/340 create mode 100644 data/341 create mode 100644 data/342 create mode 100644 data/343 create mode 100644 data/344 create mode 100644 data/345 create mode 100644 data/346 create mode 100644 data/347 create mode 100644 data/348 create mode 100644 data/349 create mode 100644 data/351 create mode 100644 data/352 create mode 100644 data/353 create mode 100644 data/354 create mode 100644 data/355 create mode 100644 data/356 create mode 100644 data/357 create mode 100644 data/358 create mode 100644 data/359 create mode 100644 data/361 create mode 100644 data/362 create mode 100644 data/363 create mode 100644 data/364 create mode 100644 data/365 create mode 100644 data/366 create mode 100644 data/367 create mode 100644 data/368 create mode 100644 data/369 create mode 100644 data/370 create mode 100644 data/371 create mode 100644 data/373 create mode 100644 data/375 create mode 100644 data/376 create mode 100644 data/378 create mode 100644 data/379 create mode 100644 data/380 create mode 100644 data/381 create mode 100644 data/382 create mode 100644 data/383 create mode 100644 data/385 create mode 100644 data/386 create mode 100644 data/387 create mode 100644 data/388 create mode 100644 data/389 create mode 100644 data/390 create mode 100644 data/391 create mode 100644 data/392 create mode 100644 data/393 create mode 100644 data/394 create mode 100644 data/395 create mode 100644 data/396 create mode 100644 data/397 create mode 100644 data/398 create mode 100644 data/4 create mode 100644 data/401 create mode 100644 data/402 create mode 100644 data/403 create mode 100644 data/404 create mode 100644 data/405 create mode 100644 data/406 create mode 100644 data/407 create mode 100644 data/408 create mode 100644 data/409 create mode 100644 data/410 create mode 100644 data/411 create mode 100644 data/412 create mode 100644 data/413 create mode 100644 data/414 create mode 100644 data/415 create mode 100644 data/416 create mode 100644 data/417 create mode 100644 data/418 create mode 100644 data/419 create mode 100644 data/420 create mode 100644 data/421 create mode 100644 data/422 create mode 100644 data/423 create mode 100644 data/424 create mode 100644 data/425 create mode 100644 data/426 create mode 100644 data/427 create mode 100644 data/429 create mode 100644 data/430 create mode 100644 data/431 create mode 100644 data/432 create mode 100644 data/433 create mode 100644 data/434 create mode 100644 data/436 create mode 100644 data/437 create mode 100644 data/438 create mode 100644 data/439 create mode 100644 data/440 create mode 100644 data/441 create mode 100644 data/442 create mode 100644 data/444 create mode 100644 data/445 create mode 100644 data/446 create mode 100644 data/447 create mode 100644 data/448 create mode 100644 data/449 create mode 100644 data/451 create mode 100644 data/452 create mode 100644 data/453 create mode 100644 data/454 create mode 100644 data/455 create mode 100644 data/456 create mode 100644 data/457 create mode 100644 data/458 create mode 100644 data/459 create mode 100644 data/461 create mode 100644 data/462 create mode 100644 data/463 create mode 100644 data/464 create mode 100644 data/465 create mode 100644 data/466 create mode 100644 data/467 create mode 100644 data/468 create mode 100644 data/469 create mode 100644 data/470 create mode 100644 data/471 create mode 100644 data/472 create mode 100644 data/473 create mode 100644 data/474 create mode 100644 data/475 create mode 100644 data/476 create mode 100644 data/477 create mode 100644 data/479 create mode 100644 data/481 create mode 100644 data/482 create mode 100644 data/483 create mode 100644 data/484 create mode 100644 data/485 create mode 100644 data/486 create mode 100644 data/487 create mode 100644 data/488 create mode 100644 data/489 create mode 100644 data/490 create mode 100644 data/491 create mode 100644 data/492 create mode 100644 data/493 create mode 100644 data/495 create mode 100644 data/496 create mode 100644 data/497 create mode 100644 data/498 create mode 100644 data/500 create mode 100644 data/501 create mode 100644 data/502 create mode 100644 data/503 create mode 100644 data/505 create mode 100644 data/506 create mode 100644 data/507 create mode 100644 data/509 create mode 100644 data/510 create mode 100644 data/511 create mode 100644 data/512 create mode 100644 data/513 create mode 100644 data/514 create mode 100644 data/515 create mode 100644 data/516 create mode 100644 data/518 create mode 100644 data/519 create mode 100644 data/520 create mode 100644 data/521 create mode 100644 data/522 create mode 100644 data/523 create mode 100644 data/524 create mode 100644 data/525 create mode 100644 data/526 create mode 100644 data/527 create mode 100644 data/528 create mode 100644 data/529 create mode 100644 data/531 create mode 100644 data/532 create mode 100644 data/533 create mode 100644 data/534 create mode 100644 data/535 create mode 100644 data/536 create mode 100644 data/537 create mode 100644 data/538 create mode 100644 data/539 create mode 100644 data/540 create mode 100644 data/541 create mode 100644 data/542 create mode 100644 data/543 create mode 100644 data/544 create mode 100644 data/546 create mode 100644 data/547 create mode 100644 data/548 create mode 100644 data/549 create mode 100644 data/550 create mode 100644 data/551 create mode 100644 data/552 create mode 100644 data/553 create mode 100644 data/555 create mode 100644 data/556 create mode 100644 data/558 create mode 100644 data/559 create mode 100644 data/560 create mode 100644 data/561 create mode 100644 data/562 create mode 100644 data/563 create mode 100644 data/564 create mode 100644 data/565 create mode 100644 data/567 create mode 100644 data/568 create mode 100644 data/569 create mode 100644 data/570 create mode 100644 data/571 create mode 100644 data/572 create mode 100644 data/573 create mode 100644 data/574 create mode 100644 data/575 create mode 100644 data/576 create mode 100644 data/577 create mode 100644 data/578 create mode 100644 data/579 create mode 100644 data/580 create mode 100644 data/581 create mode 100644 data/582 create mode 100644 data/583 create mode 100644 data/584 create mode 100644 data/585 create mode 100644 data/586 create mode 100644 data/587 create mode 100644 data/588 create mode 100644 data/589 create mode 100644 data/590 create mode 100644 data/591 create mode 100644 data/592 create mode 100644 data/593 create mode 100644 data/594 create mode 100644 data/595 create mode 100644 data/596 create mode 100644 data/597 create mode 100644 data/598 create mode 100644 data/599 create mode 100644 data/601 create mode 100644 data/602 create mode 100644 data/603 create mode 100644 data/604 create mode 100644 data/605 create mode 100644 data/606 create mode 100644 data/607 create mode 100644 data/608 create mode 100644 data/609 create mode 100644 data/610 create mode 100644 data/612 create mode 100644 data/613 create mode 100644 data/614 create mode 100644 data/615 create mode 100644 data/617 create mode 100644 data/618 create mode 100644 data/619 create mode 100644 data/620 create mode 100644 data/621 create mode 100644 data/622 create mode 100644 data/623 create mode 100644 data/625 create mode 100644 data/626 create mode 100644 data/627 create mode 100644 data/628 create mode 100644 data/629 create mode 100644 data/630 create mode 100644 data/631 create mode 100644 data/632 create mode 100644 data/633 create mode 100644 data/634 create mode 100644 data/635 create mode 100644 data/636 create mode 100644 data/637 create mode 100644 data/638 create mode 100644 data/639 create mode 100644 data/641 create mode 100644 data/642 create mode 100644 data/643 create mode 100644 data/644 create mode 100644 data/645 create mode 100644 data/646 create mode 100644 data/647 create mode 100644 data/648 create mode 100644 data/649 create mode 100644 data/650 create mode 100644 data/651 create mode 100644 data/652 create mode 100644 data/653 create mode 100644 data/654 create mode 100644 data/655 create mode 100644 data/656 create mode 100644 data/657 create mode 100644 data/658 create mode 100644 data/659 create mode 100644 data/660 create mode 100644 data/661 create mode 100644 data/662 create mode 100644 data/663 create mode 100644 data/664 create mode 100644 data/665 create mode 100644 data/666 create mode 100644 data/667 create mode 100644 data/668 create mode 100644 data/669 create mode 100644 data/670 create mode 100644 data/672 create mode 100644 data/673 create mode 100644 data/674 create mode 100644 data/675 create mode 100644 data/677 create mode 100644 data/678 create mode 100644 data/679 create mode 100644 data/680 create mode 100644 data/681 create mode 100644 data/682 create mode 100644 data/683 create mode 100644 data/684 create mode 100644 data/685 create mode 100644 data/686 create mode 100644 data/687 create mode 100644 data/688 create mode 100644 data/689 create mode 100644 data/690 create mode 100644 data/691 create mode 100644 data/692 create mode 100644 data/693 create mode 100644 data/694 create mode 100644 data/695 create mode 100644 data/697 create mode 100644 data/698 create mode 100644 data/699 create mode 100644 data/700 create mode 100644 data/701 create mode 100644 data/702 create mode 100644 data/703 create mode 100644 data/704 create mode 100644 data/705 create mode 100644 data/706 create mode 100644 data/707 create mode 100644 data/708 create mode 100644 data/711 create mode 100644 data/712 create mode 100644 data/713 create mode 100644 data/714 create mode 100644 data/715 create mode 100644 data/716 create mode 100644 data/717 create mode 100644 data/718 create mode 100644 data/75 create mode 100644 data/76 create mode 100644 data/77 create mode 100644 data/78 create mode 100644 data/79 create mode 100644 data/8 create mode 100644 data/80 create mode 100644 data/82 create mode 100644 data/83 create mode 100644 data/84 create mode 100644 data/85 create mode 100644 data/86 create mode 100644 data/87 create mode 100644 data/88 create mode 100644 data/89 create mode 100644 data/90 create mode 100644 data/91 create mode 100644 data/92 create mode 100644 data/93 create mode 100644 data/94 create mode 100644 data/95 create mode 100644 data/96 create mode 100644 data/97 create mode 100644 data/98 create mode 100644 data/99 diff --git a/.gitignore b/.gitignore index d4fb281..0e7d35d 100644 --- a/.gitignore +++ b/.gitignore @@ -39,3 +39,4 @@ # debug information files *.dwo +test_dir/* diff --git a/build/.cmake/api/v1/query/client-vscode/query.json b/build/.cmake/api/v1/query/client-vscode/query.json new file mode 100644 index 0000000..82bb964 --- /dev/null +++ b/build/.cmake/api/v1/query/client-vscode/query.json @@ -0,0 +1 @@ +{"requests":[{"kind":"cache","version":2},{"kind":"codemodel","version":2},{"kind":"toolchains","version":1},{"kind":"cmakeFiles","version":1}]} \ No newline at end of file diff --git a/build/.cmake/api/v1/reply/cache-v2-e3136e00d30c5908e372.json b/build/.cmake/api/v1/reply/cache-v2-e3136e00d30c5908e372.json new file mode 100644 index 0000000..91fc915 --- /dev/null +++ b/build/.cmake/api/v1/reply/cache-v2-e3136e00d30c5908e372.json @@ -0,0 +1,1755 @@ +{ + "entries" : + [ + { + "name" : "CMAKE_ADDR2LINE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/addr2line" + }, + { + "name" : "CMAKE_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/ar" + }, + { + "name" : "CMAKE_BUILD_TYPE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "STRING", + "value" : "Debug" + }, + { + "name" : "CMAKE_CACHEFILE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "This is the directory where this CMakeCache.txt was created" + } + ], + "type" : "INTERNAL", + "value" : "/home/devesh-bhardwaj/Desktop/FastDevFS/build" + }, + { + "name" : "CMAKE_CACHE_MAJOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Major version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "3" + }, + { + "name" : "CMAKE_CACHE_MINOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Minor version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "28" + }, + { + "name" : "CMAKE_CACHE_PATCH_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Patch version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "3" + }, + { + "name" : "CMAKE_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake executable." + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/cmake" + }, + { + "name" : "CMAKE_CPACK_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to cpack program executable." + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/cpack" + }, + { + "name" : "CMAKE_CTEST_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to ctest program executable." + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/ctest" + }, + { + "name" : "CMAKE_CXX_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "CXX compiler" + } + ], + "type" : "STRING", + "value" : "/usr/bin/g++" + }, + { + "name" : "CMAKE_CXX_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "A wrapper around 'ar' adding the appropriate '--plugin' option for the GCC compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/gcc-ar-13" + }, + { + "name" : "CMAKE_CXX_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "A wrapper around 'ranlib' adding the appropriate '--plugin' option for the GCC compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/gcc-ranlib-13" + }, + { + "name" : "CMAKE_CXX_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "-g" + }, + { + "name" : "CMAKE_CXX_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "-O3 -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_C_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "C compiler" + } + ], + "type" : "STRING", + "value" : "/usr/bin/gcc" + }, + { + "name" : "CMAKE_C_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "A wrapper around 'ar' adding the appropriate '--plugin' option for the GCC compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/gcc-ar-13" + }, + { + "name" : "CMAKE_C_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "A wrapper around 'ranlib' adding the appropriate '--plugin' option for the GCC compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/gcc-ranlib-13" + }, + { + "name" : "CMAKE_C_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "-g" + }, + { + "name" : "CMAKE_C_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_C_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "-O3 -DNDEBUG" + }, + { + "name" : "CMAKE_C_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_DLLTOOL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "CMAKE_DLLTOOL-NOTFOUND" + }, + { + "name" : "CMAKE_EXECUTABLE_FORMAT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Executable file format" + } + ], + "type" : "INTERNAL", + "value" : "ELF" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXPORT_COMPILE_COMMANDS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "BOOL", + "value" : "TRUE" + }, + { + "name" : "CMAKE_EXTRA_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of external makefile project generator." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_FIND_PACKAGE_REDIRECTS_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake." + } + ], + "type" : "STATIC", + "value" : "/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/pkgRedirects" + }, + { + "name" : "CMAKE_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator." + } + ], + "type" : "INTERNAL", + "value" : "Ninja" + }, + { + "name" : "CMAKE_GENERATOR_INSTANCE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Generator instance identifier." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_PLATFORM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator platform." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_TOOLSET", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator toolset." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_HAVE_LIBC_PTHREAD", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Test CMAKE_HAVE_LIBC_PTHREAD" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_HOME_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Source directory with the top level CMakeLists.txt file for this project" + } + ], + "type" : "INTERNAL", + "value" : "/home/devesh-bhardwaj/Desktop/FastDevFS" + }, + { + "name" : "CMAKE_INSTALL_PREFIX", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install path prefix, prepended onto install directories." + } + ], + "type" : "PATH", + "value" : "/usr/local" + }, + { + "name" : "CMAKE_INSTALL_SO_NO_EXE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install .so files without execute permission." + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_LINKER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/ld" + }, + { + "name" : "CMAKE_MAKE_PROGRAM", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Program used to build from build.ninja files." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/ninja" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_NM", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/nm" + }, + { + "name" : "CMAKE_NUMBER_OF_MAKEFILES", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "number of local generators" + } + ], + "type" : "INTERNAL", + "value" : "2" + }, + { + "name" : "CMAKE_OBJCOPY", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/objcopy" + }, + { + "name" : "CMAKE_OBJDUMP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/objdump" + }, + { + "name" : "CMAKE_PLATFORM_INFO_INITIALIZED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Platform information initialized" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_PROJECT_DESCRIPTION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_HOMEPAGE_URL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_NAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "FastDevFS" + }, + { + "name" : "CMAKE_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/ranlib" + }, + { + "name" : "CMAKE_READELF", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/readelf" + }, + { + "name" : "CMAKE_ROOT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake installation." + } + ], + "type" : "INTERNAL", + "value" : "/usr/share/cmake-3.28" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SKIP_INSTALL_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when installing shared libraries, but are added when building." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_SKIP_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when using shared libraries." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STRIP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/strip" + }, + { + "name" : "CMAKE_TAPI", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "CMAKE_TAPI-NOTFOUND" + }, + { + "name" : "CMAKE_UNAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "uname command" + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/uname" + }, + { + "name" : "CMAKE_VERBOSE_MAKEFILE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make. This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo." + } + ], + "type" : "BOOL", + "value" : "FALSE" + }, + { + "name" : "FIND_PACKAGE_MESSAGE_DETAILS_GTest", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Details about finding GTest" + } + ], + "type" : "INTERNAL", + "value" : "[/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestConfig.cmake][c ][v1.14.0()]" + }, + { + "name" : "FIND_PACKAGE_MESSAGE_DETAILS_PkgConfig", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Details about finding PkgConfig" + } + ], + "type" : "INTERNAL", + "value" : "[/usr/bin/pkg-config][v1.8.1()]" + }, + { + "name" : "FUSE3_CFLAGS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "-I/usr/include/fuse3" + }, + { + "name" : "FUSE3_CFLAGS_I", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "FUSE3_CFLAGS_OTHER", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "FUSE3_FOUND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "FUSE3_INCLUDEDIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "/usr/include" + }, + { + "name" : "FUSE3_INCLUDE_DIRS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "/usr/include/fuse3" + }, + { + "name" : "FUSE3_LDFLAGS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "-L/usr/lib/x86_64-linux-gnu;-lfuse3;-lpthread" + }, + { + "name" : "FUSE3_LDFLAGS_OTHER", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "FUSE3_LIBDIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "/usr/lib/x86_64-linux-gnu" + }, + { + "name" : "FUSE3_LIBRARIES", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "fuse3;pthread" + }, + { + "name" : "FUSE3_LIBRARY_DIRS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "/usr/lib/x86_64-linux-gnu" + }, + { + "name" : "FUSE3_LIBS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "FUSE3_LIBS_L", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "FUSE3_LIBS_OTHER", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "FUSE3_LIBS_PATHS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "FUSE3_MODULE_NAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "fuse3" + }, + { + "name" : "FUSE3_PREFIX", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "/usr" + }, + { + "name" : "FUSE3_STATIC_CFLAGS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "-I/usr/include/fuse3" + }, + { + "name" : "FUSE3_STATIC_CFLAGS_I", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "FUSE3_STATIC_CFLAGS_OTHER", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "FUSE3_STATIC_INCLUDE_DIRS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "/usr/include/fuse3" + }, + { + "name" : "FUSE3_STATIC_LDFLAGS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "-L/usr/lib/x86_64-linux-gnu;-lfuse3;-lpthread;-ldl;-pthread;-lrt" + }, + { + "name" : "FUSE3_STATIC_LDFLAGS_OTHER", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "-pthread" + }, + { + "name" : "FUSE3_STATIC_LIBDIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "FUSE3_STATIC_LIBRARIES", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "fuse3;pthread;dl;rt" + }, + { + "name" : "FUSE3_STATIC_LIBRARY_DIRS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "/usr/lib/x86_64-linux-gnu" + }, + { + "name" : "FUSE3_STATIC_LIBS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "FUSE3_STATIC_LIBS_L", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "FUSE3_STATIC_LIBS_OTHER", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "FUSE3_STATIC_LIBS_PATHS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "FUSE3_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "3.14.0" + }, + { + "name" : "FUSE3_fuse3_INCLUDEDIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "FUSE3_fuse3_LIBDIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "FUSE3_fuse3_PREFIX", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "FUSE3_fuse3_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "FastDevFS_BINARY_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/devesh-bhardwaj/Desktop/FastDevFS/build" + }, + { + "name" : "FastDevFS_IS_TOP_LEVEL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "ON" + }, + { + "name" : "FastDevFS_SOURCE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/devesh-bhardwaj/Desktop/FastDevFS" + }, + { + "name" : "GTest_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "The directory containing a CMake configuration file for GTest." + } + ], + "type" : "PATH", + "value" : "/usr/lib/x86_64-linux-gnu/cmake/GTest" + }, + { + "name" : "PKG_CONFIG_ARGN", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Arguments to supply to pkg-config" + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "PKG_CONFIG_EXECUTABLE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "pkg-config executable" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/pkg-config" + }, + { + "name" : "_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "linker supports push/pop state" + } + ], + "type" : "INTERNAL", + "value" : "TRUE" + }, + { + "name" : "__pkg_config_arguments_FUSE3", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "REQUIRED;fuse3" + }, + { + "name" : "__pkg_config_checked_FUSE3", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "pkgcfg_lib_FUSE3_fuse3", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a library." + } + ], + "type" : "FILEPATH", + "value" : "/usr/lib/x86_64-linux-gnu/libfuse3.so" + }, + { + "name" : "pkgcfg_lib_FUSE3_pthread", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a library." + } + ], + "type" : "FILEPATH", + "value" : "/usr/lib/x86_64-linux-gnu/libpthread.a" + }, + { + "name" : "prefix_result", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "/usr/lib/x86_64-linux-gnu" + } + ], + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } +} diff --git a/build/.cmake/api/v1/reply/cmakeFiles-v1-ae41b24fe3af4aa1fa92.json b/build/.cmake/api/v1/reply/cmakeFiles-v1-ae41b24fe3af4aa1fa92.json new file mode 100644 index 0000000..69cb8fb --- /dev/null +++ b/build/.cmake/api/v1/reply/cmakeFiles-v1-ae41b24fe3af4aa1fa92.json @@ -0,0 +1,873 @@ +{ + "inputs" : + [ + { + "path" : "CMakeLists.txt" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeDetermineSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeSystem.cmake.in" + }, + { + "isGenerated" : true, + "path" : "build/CMakeFiles/3.28.3/CMakeSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeNinjaFindMake.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeSystemSpecificInitialize.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Platform/Linux-Initialize.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeDetermineCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeDetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerId.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeCompilerIdDetection.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/ADSP-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/ARMClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/Borland-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/Clang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/Cray-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/CrayClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/GHS-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/GNU-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/HP-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/IAR-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/Intel-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/LCC-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/MSVC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/NVHPC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/OrangeC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/PGI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/PathScale-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/SCO-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/TI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/Tasking-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/Watcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/XL-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/XLClang-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/zOS-C-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeFindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/GNU-FindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeCCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "build/CMakeFiles/3.28.3/CMakeCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeDetermineCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeDetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Platform/Linux-Determine-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerId.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeCompilerIdDetection.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/ADSP-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/ARMClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/Borland-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/Clang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/Cray-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/CrayClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/GHS-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/IAR-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/Intel-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/MSVC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/NVHPC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/OrangeC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/PGI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/PathScale-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/SCO-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/TI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/Tasking-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/Watcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeFindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/GNU-FindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeCXXCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "build/CMakeFiles/3.28.3/CMakeCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeSystemSpecificInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeGenericSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeInitializeConfigs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Platform/Linux.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Platform/UnixPaths.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeCInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/GNU-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Platform/Linux-GNU-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Platform/Linux-GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeTestCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeParseImplicitIncludeInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeParseImplicitLinkInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeParseLibraryArchitecture.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeDetermineCompileFeatures.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Internal/FeatureTesting.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeCCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "build/CMakeFiles/3.28.3/CMakeCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeCXXInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/GNU-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Compiler/GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Platform/Linux-GNU-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Platform/Linux-GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeTestCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeParseImplicitIncludeInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeParseImplicitLinkInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeParseLibraryArchitecture.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeDetermineCompileFeatures.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Internal/FeatureTesting.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeCXXCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "build/CMakeFiles/3.28.3/CMakeCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/FindPkgConfig.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/FindPackageMessage.cmake" + }, + { + "path" : "test/CMakeLists.txt" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/FindGTest.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/GoogleTest.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/FindPackageMessage.cmake" + }, + { + "isExternal" : true, + "path" : "/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestConfigVersion.cmake" + }, + { + "isExternal" : true, + "path" : "/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestConfig.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CMakeFindDependencyMacro.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/FindThreads.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CheckLibraryExists.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CheckIncludeFile.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/CheckCSourceCompiles.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/Internal/CheckSourceCompiles.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.28/Modules/FindPackageMessage.cmake" + }, + { + "isExternal" : true, + "path" : "/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestTargets.cmake" + }, + { + "isExternal" : true, + "path" : "/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestTargets-none.cmake" + } + ], + "kind" : "cmakeFiles", + "paths" : + { + "build" : "/home/devesh-bhardwaj/Desktop/FastDevFS/build", + "source" : "/home/devesh-bhardwaj/Desktop/FastDevFS" + }, + "version" : + { + "major" : 1, + "minor" : 0 + } +} diff --git a/build/.cmake/api/v1/reply/codemodel-v2-097f5234fdd668aa70da.json b/build/.cmake/api/v1/reply/codemodel-v2-097f5234fdd668aa70da.json new file mode 100644 index 0000000..0bb2977 --- /dev/null +++ b/build/.cmake/api/v1/reply/codemodel-v2-097f5234fdd668aa70da.json @@ -0,0 +1,88 @@ +{ + "configurations" : + [ + { + "directories" : + [ + { + "build" : ".", + "childIndexes" : + [ + 1 + ], + "jsonFile" : "directory-.-Debug-f5ebdc15457944623624.json", + "minimumCMakeVersion" : + { + "string" : "3.12" + }, + "projectIndex" : 0, + "source" : ".", + "targetIndexes" : + [ + 0 + ] + }, + { + "build" : "test", + "jsonFile" : "directory-test-Debug-451c0598f41488bb20b9.json", + "minimumCMakeVersion" : + { + "string" : "3.10" + }, + "parentIndex" : 0, + "projectIndex" : 0, + "source" : "test", + "targetIndexes" : + [ + 1 + ] + } + ], + "name" : "Debug", + "projects" : + [ + { + "directoryIndexes" : + [ + 0, + 1 + ], + "name" : "FastDevFS", + "targetIndexes" : + [ + 0, + 1 + ] + } + ], + "targets" : + [ + { + "directoryIndex" : 0, + "id" : "FastDevFS::@6890427a1f51a3e7e1df", + "jsonFile" : "target-FastDevFS-Debug-b5e64aabc0ddb4081430.json", + "name" : "FastDevFS", + "projectIndex" : 0 + }, + { + "directoryIndex" : 1, + "id" : "run_tests::@36f028580bb02cc8272a", + "jsonFile" : "target-run_tests-Debug-1f1095a4ed58c6fa64bb.json", + "name" : "run_tests", + "projectIndex" : 0 + } + ] + } + ], + "kind" : "codemodel", + "paths" : + { + "build" : "/home/devesh-bhardwaj/Desktop/FastDevFS/build", + "source" : "/home/devesh-bhardwaj/Desktop/FastDevFS" + }, + "version" : + { + "major" : 2, + "minor" : 6 + } +} diff --git a/build/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json b/build/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json new file mode 100644 index 0000000..3a67af9 --- /dev/null +++ b/build/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : ".", + "source" : "." + } +} diff --git a/build/.cmake/api/v1/reply/directory-test-Debug-451c0598f41488bb20b9.json b/build/.cmake/api/v1/reply/directory-test-Debug-451c0598f41488bb20b9.json new file mode 100644 index 0000000..4826a59 --- /dev/null +++ b/build/.cmake/api/v1/reply/directory-test-Debug-451c0598f41488bb20b9.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : "test", + "source" : "test" + } +} diff --git a/build/.cmake/api/v1/reply/index-2026-02-11T15-34-08-0106.json b/build/.cmake/api/v1/reply/index-2026-02-11T15-34-08-0106.json new file mode 100644 index 0000000..5bdc0d0 --- /dev/null +++ b/build/.cmake/api/v1/reply/index-2026-02-11T15-34-08-0106.json @@ -0,0 +1,132 @@ +{ + "cmake" : + { + "generator" : + { + "multiConfig" : false, + "name" : "Ninja" + }, + "paths" : + { + "cmake" : "/usr/bin/cmake", + "cpack" : "/usr/bin/cpack", + "ctest" : "/usr/bin/ctest", + "root" : "/usr/share/cmake-3.28" + }, + "version" : + { + "isDirty" : false, + "major" : 3, + "minor" : 28, + "patch" : 3, + "string" : "3.28.3", + "suffix" : "" + } + }, + "objects" : + [ + { + "jsonFile" : "codemodel-v2-097f5234fdd668aa70da.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 6 + } + }, + { + "jsonFile" : "cache-v2-e3136e00d30c5908e372.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + { + "jsonFile" : "cmakeFiles-v1-ae41b24fe3af4aa1fa92.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + }, + { + "jsonFile" : "toolchains-v1-de13eb4a293a7f94668f.json", + "kind" : "toolchains", + "version" : + { + "major" : 1, + "minor" : 0 + } + } + ], + "reply" : + { + "client-vscode" : + { + "query.json" : + { + "requests" : + [ + { + "kind" : "cache", + "version" : 2 + }, + { + "kind" : "codemodel", + "version" : 2 + }, + { + "kind" : "toolchains", + "version" : 1 + }, + { + "kind" : "cmakeFiles", + "version" : 1 + } + ], + "responses" : + [ + { + "jsonFile" : "cache-v2-e3136e00d30c5908e372.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + { + "jsonFile" : "codemodel-v2-097f5234fdd668aa70da.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 6 + } + }, + { + "jsonFile" : "toolchains-v1-de13eb4a293a7f94668f.json", + "kind" : "toolchains", + "version" : + { + "major" : 1, + "minor" : 0 + } + }, + { + "jsonFile" : "cmakeFiles-v1-ae41b24fe3af4aa1fa92.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + } + ] + } + } + } +} diff --git a/build/.cmake/api/v1/reply/target-FastDevFS-Debug-b5e64aabc0ddb4081430.json b/build/.cmake/api/v1/reply/target-FastDevFS-Debug-b5e64aabc0ddb4081430.json new file mode 100644 index 0000000..cf221c9 --- /dev/null +++ b/build/.cmake/api/v1/reply/target-FastDevFS-Debug-b5e64aabc0ddb4081430.json @@ -0,0 +1,222 @@ +{ + "artifacts" : + [ + { + "path" : "FastDevFS" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_executable", + "target_link_libraries", + "target_include_directories" + ], + "files" : + [ + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 9, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 32, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 27, + "parent" : 0 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : "-g" + } + ], + "includes" : + [ + { + "backtrace" : 3, + "path" : "/usr/include/fuse3" + }, + { + "backtrace" : 3, + "path" : "/home/devesh-bhardwaj/Desktop/FastDevFS/src/include" + } + ], + "language" : "CXX", + "sourceIndexes" : + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12 + ] + } + ], + "id" : "FastDevFS::@6890427a1f51a3e7e1df", + "link" : + { + "commandFragments" : + [ + { + "fragment" : "-g", + "role" : "flags" + }, + { + "fragment" : "", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "-lfuse3", + "role" : "libraries" + }, + { + "backtrace" : 2, + "fragment" : "-lpthread", + "role" : "libraries" + } + ], + "language" : "CXX" + }, + "name" : "FastDevFS", + "nameOnDisk" : "FastDevFS", + "paths" : + { + "build" : ".", + "source" : "." + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "main.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/src/fuse_functions/getattr.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/src/fuse_functions/readdir.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/src/fuse_functions/opendir.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/src/fuse_functions/mkdir.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/src/fuse_functions/rmdir.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/src/fuse_functions/access.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/src/fuse_functions/statfs.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/src/fuse_functions/file_funcs.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/src/fuse_functions/utimens.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/src/daemon/dir_manager.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/src/daemon/hash.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/src/daemon/file_io.cpp", + "sourceGroupIndex" : 0 + } + ], + "type" : "EXECUTABLE" +} diff --git a/build/.cmake/api/v1/reply/target-run_tests-Debug-1f1095a4ed58c6fa64bb.json b/build/.cmake/api/v1/reply/target-run_tests-Debug-1f1095a4ed58c6fa64bb.json new file mode 100644 index 0000000..d64596d --- /dev/null +++ b/build/.cmake/api/v1/reply/target-run_tests-Debug-1f1095a4ed58c6fa64bb.json @@ -0,0 +1,194 @@ +{ + "artifacts" : + [ + { + "path" : "test/run_tests" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_executable", + "target_link_libraries", + "__gtest_define_backwards_compatible_library_targets", + "find_package", + "target_include_directories" + ], + "files" : + [ + "test/CMakeLists.txt", + "/usr/share/cmake-3.28/Modules/FindGTest.cmake" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 5, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 17, + "parent" : 0 + }, + { + "command" : 3, + "file" : 0, + "line" : 3, + "parent" : 0 + }, + { + "file" : 1, + "parent" : 3 + }, + { + "command" : 2, + "file" : 1, + "line" : 204, + "parent" : 4 + }, + { + "command" : 1, + "file" : 1, + "line" : 185, + "parent" : 5 + }, + { + "command" : 1, + "file" : 1, + "line" : 181, + "parent" : 5 + }, + { + "command" : 4, + "file" : 0, + "line" : 13, + "parent" : 0 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : "-g" + }, + { + "backtrace" : 2, + "fragment" : "-DGTEST_HAS_PTHREAD=1" + } + ], + "includes" : + [ + { + "backtrace" : 8, + "path" : "/home/devesh-bhardwaj/Desktop/FastDevFS/test/../src/include" + } + ], + "language" : "CXX", + "sourceIndexes" : + [ + 0, + 1, + 2, + 3, + 4 + ] + } + ], + "id" : "run_tests::@36f028580bb02cc8272a", + "link" : + { + "commandFragments" : + [ + { + "fragment" : "-g", + "role" : "flags" + }, + { + "fragment" : "", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "-lpthread", + "role" : "libraries" + }, + { + "backtrace" : 6, + "fragment" : "/usr/lib/x86_64-linux-gnu/libgtest_main.a", + "role" : "libraries" + }, + { + "backtrace" : 7, + "fragment" : "/usr/lib/x86_64-linux-gnu/libgtest.a", + "role" : "libraries" + } + ], + "language" : "CXX" + }, + "name" : "run_tests", + "nameOnDisk" : "run_tests", + "paths" : + { + "build" : "test", + "source" : "test" + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0, + 1, + 2, + 3, + 4 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "test/test_dir_manager.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "test/test_hash_store.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "test/persistence_test.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/src/daemon/dir_manager.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/src/daemon/hash.cpp", + "sourceGroupIndex" : 0 + } + ], + "type" : "EXECUTABLE" +} diff --git a/build/.cmake/api/v1/reply/toolchains-v1-de13eb4a293a7f94668f.json b/build/.cmake/api/v1/reply/toolchains-v1-de13eb4a293a7f94668f.json new file mode 100644 index 0000000..fe24098 --- /dev/null +++ b/build/.cmake/api/v1/reply/toolchains-v1-de13eb4a293a7f94668f.json @@ -0,0 +1,110 @@ +{ + "kind" : "toolchains", + "toolchains" : + [ + { + "compiler" : + { + "id" : "GNU", + "implicit" : + { + "includeDirectories" : + [ + "/usr/lib/gcc/x86_64-linux-gnu/13/include", + "/usr/local/include", + "/usr/include/x86_64-linux-gnu", + "/usr/include" + ], + "linkDirectories" : + [ + "/usr/lib/gcc/x86_64-linux-gnu/13", + "/usr/lib/x86_64-linux-gnu", + "/usr/lib", + "/lib/x86_64-linux-gnu", + "/lib" + ], + "linkFrameworkDirectories" : [], + "linkLibraries" : + [ + "gcc", + "gcc_s", + "c", + "gcc", + "gcc_s" + ] + }, + "path" : "/usr/bin/gcc", + "version" : "13.3.0" + }, + "language" : "C", + "sourceFileExtensions" : + [ + "c", + "m" + ] + }, + { + "compiler" : + { + "id" : "GNU", + "implicit" : + { + "includeDirectories" : + [ + "/usr/include/c++/13", + "/usr/include/x86_64-linux-gnu/c++/13", + "/usr/include/c++/13/backward", + "/usr/lib/gcc/x86_64-linux-gnu/13/include", + "/usr/local/include", + "/usr/include/x86_64-linux-gnu", + "/usr/include" + ], + "linkDirectories" : + [ + "/usr/lib/gcc/x86_64-linux-gnu/13", + "/usr/lib/x86_64-linux-gnu", + "/usr/lib", + "/lib/x86_64-linux-gnu", + "/lib" + ], + "linkFrameworkDirectories" : [], + "linkLibraries" : + [ + "stdc++", + "m", + "gcc_s", + "gcc", + "c", + "gcc_s", + "gcc" + ] + }, + "path" : "/usr/bin/g++", + "version" : "13.3.0" + }, + "language" : "CXX", + "sourceFileExtensions" : + [ + "C", + "M", + "c++", + "cc", + "cpp", + "cxx", + "mm", + "mpp", + "CPP", + "ixx", + "cppm", + "ccm", + "cxxm", + "c++m" + ] + } + ], + "version" : + { + "major" : 1, + "minor" : 0 + } +} diff --git a/build/CMakeCache.txt b/build/CMakeCache.txt index 4fcdd54..fc0cadd 100644 --- a/build/CMakeCache.txt +++ b/build/CMakeCache.txt @@ -1,5 +1,5 @@ # This is the CMakeCache file. -# For build in directory: /home/diya_limbani/FastDevFs/build +# For build in directory: /home/devesh-bhardwaj/Desktop/FastDevFS/build # It was generated by CMake: /usr/bin/cmake # You can edit this file to change values found and used by cmake. # If you do not want to change any of the values, simply exit the editor. @@ -20,15 +20,11 @@ CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line //Path to a program. CMAKE_AR:FILEPATH=/usr/bin/ar -//Choose the type of build, options are: None Debug Release RelWithDebInfo -// MinSizeRel ... -CMAKE_BUILD_TYPE:STRING= - -//Enable/Disable color output during build. -CMAKE_COLOR_MAKEFILE:BOOL=ON +//No help, variable specified on the command line. +CMAKE_BUILD_TYPE:STRING=Debug //CXX compiler -CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ +CMAKE_CXX_COMPILER:STRING=/usr/bin/g++ //A wrapper around 'ar' adding the appropriate '--plugin' option // for the GCC compiler @@ -54,7 +50,7 @@ CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG //C compiler -CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc +CMAKE_C_COMPILER:STRING=/usr/bin/gcc //A wrapper around 'ar' adding the appropriate '--plugin' option // for the GCC compiler @@ -97,11 +93,11 @@ CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= //Flags used by the linker during RELWITHDEBINFO builds. CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= -//Enable/Disable output of compile commands during generation. -CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= +//No help, variable specified on the command line. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE //Value Computed by CMake. -CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/home/diya_limbani/FastDevFs/build/CMakeFiles/pkgRedirects +CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/pkgRedirects //Install path prefix, prepended onto install directories. CMAKE_INSTALL_PREFIX:PATH=/usr/local @@ -109,8 +105,8 @@ CMAKE_INSTALL_PREFIX:PATH=/usr/local //Path to a program. CMAKE_LINKER:FILEPATH=/usr/bin/ld -//Path to a program. -CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake +//Program used to build from build.ninja files. +CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/ninja //Flags used by the linker during the creation of modules during // all build types. @@ -216,13 +212,13 @@ CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE //Value Computed by CMake -FastDevFS_BINARY_DIR:STATIC=/home/diya_limbani/FastDevFs/build +FastDevFS_BINARY_DIR:STATIC=/home/devesh-bhardwaj/Desktop/FastDevFS/build //Value Computed by CMake FastDevFS_IS_TOP_LEVEL:STATIC=ON //Value Computed by CMake -FastDevFS_SOURCE_DIR:STATIC=/home/diya_limbani/FastDevFs +FastDevFS_SOURCE_DIR:STATIC=/home/devesh-bhardwaj/Desktop/FastDevFS //The directory containing a CMake configuration file for GTest. GTest_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/GTest @@ -249,15 +245,13 @@ CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_AR CMAKE_AR-ADVANCED:INTERNAL=1 //This is the directory where this CMakeCache.txt was created -CMAKE_CACHEFILE_DIR:INTERNAL=/home/diya_limbani/FastDevFs/build +CMAKE_CACHEFILE_DIR:INTERNAL=/home/devesh-bhardwaj/Desktop/FastDevFS/build //Major version of cmake used to create the current loaded cache CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 //Minor version of cmake used to create the current loaded cache CMAKE_CACHE_MINOR_VERSION:INTERNAL=28 //Patch version of cmake used to create the current loaded cache CMAKE_CACHE_PATCH_VERSION:INTERNAL=3 -//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE -CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 //Path to CMake executable. CMAKE_COMMAND:INTERNAL=/usr/bin/cmake //Path to cpack program executable. @@ -310,12 +304,10 @@ CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS -CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 //Name of external makefile project generator. CMAKE_EXTRA_GENERATOR:INTERNAL= //Name of generator. -CMAKE_GENERATOR:INTERNAL=Unix Makefiles +CMAKE_GENERATOR:INTERNAL=Ninja //Generator instance identifier. CMAKE_GENERATOR_INSTANCE:INTERNAL= //Name of generator platform. @@ -326,7 +318,7 @@ CMAKE_GENERATOR_TOOLSET:INTERNAL= CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=1 //Source directory with the top level CMakeLists.txt file for this // project -CMAKE_HOME_DIRECTORY:INTERNAL=/home/diya_limbani/FastDevFs +CMAKE_HOME_DIRECTORY:INTERNAL=/home/devesh-bhardwaj/Desktop/FastDevFS //Install .so files without execute permission. CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 //ADVANCED property for variable: CMAKE_LINKER diff --git a/build/CMakeFiles/3.28.3/CMakeCCompiler.cmake b/build/CMakeFiles/3.28.3/CMakeCCompiler.cmake index 3766fe1..37e6c67 100644 --- a/build/CMakeFiles/3.28.3/CMakeCCompiler.cmake +++ b/build/CMakeFiles/3.28.3/CMakeCCompiler.cmake @@ -1,4 +1,4 @@ -set(CMAKE_C_COMPILER "/usr/bin/cc") +set(CMAKE_C_COMPILER "/usr/bin/gcc") set(CMAKE_C_COMPILER_ARG1 "") set(CMAKE_C_COMPILER_ID "GNU") set(CMAKE_C_COMPILER_VERSION "13.3.0") diff --git a/build/CMakeFiles/3.28.3/CMakeCXXCompiler.cmake b/build/CMakeFiles/3.28.3/CMakeCXXCompiler.cmake index 8dbc9d3..cd06620 100644 --- a/build/CMakeFiles/3.28.3/CMakeCXXCompiler.cmake +++ b/build/CMakeFiles/3.28.3/CMakeCXXCompiler.cmake @@ -1,4 +1,4 @@ -set(CMAKE_CXX_COMPILER "/usr/bin/c++") +set(CMAKE_CXX_COMPILER "/usr/bin/g++") set(CMAKE_CXX_COMPILER_ARG1 "") set(CMAKE_CXX_COMPILER_ID "GNU") set(CMAKE_CXX_COMPILER_VERSION "13.3.0") diff --git a/build/CMakeFiles/3.28.3/CMakeSystem.cmake b/build/CMakeFiles/3.28.3/CMakeSystem.cmake index fd6979d..d9bb08f 100644 --- a/build/CMakeFiles/3.28.3/CMakeSystem.cmake +++ b/build/CMakeFiles/3.28.3/CMakeSystem.cmake @@ -1,13 +1,13 @@ -set(CMAKE_HOST_SYSTEM "Linux-6.14.0-37-generic") +set(CMAKE_HOST_SYSTEM "Linux-6.17.0-14-generic") set(CMAKE_HOST_SYSTEM_NAME "Linux") -set(CMAKE_HOST_SYSTEM_VERSION "6.14.0-37-generic") +set(CMAKE_HOST_SYSTEM_VERSION "6.17.0-14-generic") set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") -set(CMAKE_SYSTEM "Linux-6.14.0-37-generic") +set(CMAKE_SYSTEM "Linux-6.17.0-14-generic") set(CMAKE_SYSTEM_NAME "Linux") -set(CMAKE_SYSTEM_VERSION "6.14.0-37-generic") +set(CMAKE_SYSTEM_VERSION "6.17.0-14-generic") set(CMAKE_SYSTEM_PROCESSOR "x86_64") set(CMAKE_CROSSCOMPILING "FALSE") diff --git a/build/CMakeFiles/CMakeConfigureLog.yaml b/build/CMakeFiles/CMakeConfigureLog.yaml index 6badad8..f61e453 100644 --- a/build/CMakeFiles/CMakeConfigureLog.yaml +++ b/build/CMakeFiles/CMakeConfigureLog.yaml @@ -7,7 +7,7 @@ events: - "/usr/share/cmake-3.28/Modules/CMakeDetermineSystem.cmake:233 (message)" - "CMakeLists.txt:3 (project)" message: | - The system is: Linux - 6.14.0-37-generic - x86_64 + The system is: Linux - 6.17.0-14-generic - x86_64 - kind: "message-v1" backtrace: @@ -28,7 +28,7 @@ events: Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" The C compiler identification is GNU, found in: - /home/diya_limbani/FastDevFs/build/CMakeFiles/3.28.3/CompilerIdC/a.out + /home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/3.28.3/CompilerIdC/a.out - kind: "message-v1" @@ -50,7 +50,7 @@ events: Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" The CXX compiler identification is GNU, found in: - /home/diya_limbani/FastDevFs/build/CMakeFiles/3.28.3/CompilerIdCXX/a.out + /home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/3.28.3/CompilerIdCXX/a.out - kind: "try_compile-v1" @@ -61,8 +61,8 @@ events: checks: - "Detecting C compiler ABI info" directories: - source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-QZ35ac" - binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-QZ35ac" + source: "/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-KPuFGU" + binary: "/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-KPuFGU" cmakeVariables: CMAKE_C_FLAGS: "" CMAKE_C_FLAGS_DEBUG: "-g" @@ -71,13 +71,13 @@ events: variable: "CMAKE_C_ABI_COMPILED" cached: true stdout: | - Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-QZ35ac' + Change Dir: '/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-KPuFGU' - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_4b6ba/fast - /usr/bin/gmake -f CMakeFiles/cmTC_4b6ba.dir/build.make CMakeFiles/cmTC_4b6ba.dir/build - gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-QZ35ac' - Building C object CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o - /usr/bin/cc -v -o CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c + Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_4f70d/fast + /usr/bin/gmake -f CMakeFiles/cmTC_4f70d.dir/build.make CMakeFiles/cmTC_4f70d.dir/build + gmake[1]: Entering directory '/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-KPuFGU' + Building C object CMakeFiles/cmTC_4f70d.dir/CMakeCCompilerABI.c.o + /usr/bin/cc -v -o CMakeFiles/cmTC_4f70d.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c Using built-in specs. COLLECT_GCC=/usr/bin/cc OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa @@ -87,8 +87,8 @@ events: Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4b6ba.dir/' - /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_4b6ba.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccnguc11.s + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_4f70d.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4f70d.dir/' + /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_4f70d.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccHInmCB.s GNU C17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu) compiled by GNU C version 13.3.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP @@ -105,15 +105,15 @@ events: /usr/include End of search list. Compiler executable checksum: 38987c28e967c64056a6454abdef726e - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4b6ba.dir/' - as -v --64 -o CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o /tmp/ccnguc11.s + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_4f70d.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4f70d.dir/' + as -v --64 -o CMakeFiles/cmTC_4f70d.dir/CMakeCCompilerABI.c.o /tmp/ccHInmCB.s GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42 COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.' - Linking C executable cmTC_4b6ba - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_4b6ba.dir/link.txt --verbose=1 - /usr/bin/cc -v CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o -o cmTC_4b6ba + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_4f70d.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4f70d.dir/CMakeCCompilerABI.c.' + Linking C executable cmTC_4f70d + /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_4f70d.dir/link.txt --verbose=1 + /usr/bin/cc -v CMakeFiles/cmTC_4f70d.dir/CMakeCCompilerABI.c.o -o cmTC_4f70d Using built-in specs. COLLECT_GCC=/usr/bin/cc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper @@ -126,10 +126,10 @@ events: gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_4b6ba' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_4b6ba.' - /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccTO3Yu4.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_4b6ba /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_4b6ba' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_4b6ba.' - gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-QZ35ac' + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_4f70d' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_4f70d.' + /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccAdhfIZ.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_4f70d /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_4f70d.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_4f70d' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_4f70d.' + gmake[1]: Leaving directory '/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-KPuFGU' exitCode: 0 - @@ -163,13 +163,13 @@ events: message: | Parsed C implicit link information: link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] - ignore line: [Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-QZ35ac'] + ignore line: [Change Dir: '/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-KPuFGU'] ignore line: [] - ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_4b6ba/fast] - ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_4b6ba.dir/build.make CMakeFiles/cmTC_4b6ba.dir/build] - ignore line: [gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-QZ35ac'] - ignore line: [Building C object CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o] - ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c] + ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_4f70d/fast] + ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_4f70d.dir/build.make CMakeFiles/cmTC_4f70d.dir/build] + ignore line: [gmake[1]: Entering directory '/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-KPuFGU'] + ignore line: [Building C object CMakeFiles/cmTC_4f70d.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_4f70d.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/cc] ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] @@ -179,8 +179,8 @@ events: ignore line: [Thread model: posix] ignore line: [Supported LTO compression algorithms: zlib zstd] ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4b6ba.dir/'] - ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_4b6ba.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccnguc11.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_4f70d.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4f70d.dir/'] + ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_4f70d.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccHInmCB.s] ignore line: [GNU C17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu)] ignore line: [ compiled by GNU C version 13.3.0 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] ignore line: [] @@ -197,15 +197,15 @@ events: ignore line: [ /usr/include] ignore line: [End of search list.] ignore line: [Compiler executable checksum: 38987c28e967c64056a6454abdef726e] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4b6ba.dir/'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o /tmp/ccnguc11.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_4f70d.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4f70d.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_4f70d.dir/CMakeCCompilerABI.c.o /tmp/ccHInmCB.s] ignore line: [GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.'] - ignore line: [Linking C executable cmTC_4b6ba] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_4b6ba.dir/link.txt --verbose=1] - ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o -o cmTC_4b6ba ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_4f70d.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4f70d.dir/CMakeCCompilerABI.c.'] + ignore line: [Linking C executable cmTC_4f70d] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_4f70d.dir/link.txt --verbose=1] + ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_4f70d.dir/CMakeCCompilerABI.c.o -o cmTC_4f70d ] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/cc] ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] @@ -218,13 +218,13 @@ events: ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_4b6ba' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_4b6ba.'] - link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccTO3Yu4.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_4b6ba /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_4f70d' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_4f70d.'] + link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccAdhfIZ.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_4f70d /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_4f70d.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] arg [/usr/libexec/gcc/x86_64-linux-gnu/13/collect2] ==> ignore arg [-plugin] ==> ignore arg [/usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so] ==> ignore arg [-plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/ccTO3Yu4.res] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccAdhfIZ.res] ==> ignore arg [-plugin-opt=-pass-through=-lgcc] ==> ignore arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore arg [-plugin-opt=-pass-through=-lc] ==> ignore @@ -242,7 +242,7 @@ events: arg [-znow] ==> ignore arg [-zrelro] ==> ignore arg [-o] ==> ignore - arg [cmTC_4b6ba] ==> ignore + arg [cmTC_4f70d] ==> ignore arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] @@ -254,7 +254,7 @@ events: arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..] - arg [CMakeFiles/cmTC_4b6ba.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [CMakeFiles/cmTC_4f70d.dir/CMakeCCompilerABI.c.o] ==> ignore arg [-lgcc] ==> lib [gcc] arg [--push-state] ==> ignore arg [--as-needed] ==> ignore @@ -294,8 +294,8 @@ events: checks: - "Detecting CXX compiler ABI info" directories: - source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-ntmMuY" - binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-ntmMuY" + source: "/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-xsHVvF" + binary: "/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-xsHVvF" cmakeVariables: CMAKE_CXX_FLAGS: "" CMAKE_CXX_FLAGS_DEBUG: "-g" @@ -304,13 +304,13 @@ events: variable: "CMAKE_CXX_ABI_COMPILED" cached: true stdout: | - Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-ntmMuY' + Change Dir: '/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-xsHVvF' - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_0feb6/fast - /usr/bin/gmake -f CMakeFiles/cmTC_0feb6.dir/build.make CMakeFiles/cmTC_0feb6.dir/build - gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-ntmMuY' - Building CXX object CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o - /usr/bin/c++ -v -o CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp + Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_96c94/fast + /usr/bin/gmake -f CMakeFiles/cmTC_96c94.dir/build.make CMakeFiles/cmTC_96c94.dir/build + gmake[1]: Entering directory '/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-xsHVvF' + Building CXX object CMakeFiles/cmTC_96c94.dir/CMakeCXXCompilerABI.cpp.o + /usr/bin/c++ -v -o CMakeFiles/cmTC_96c94.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp Using built-in specs. COLLECT_GCC=/usr/bin/c++ OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa @@ -320,8 +320,8 @@ events: Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_0feb6.dir/' - /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_0feb6.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccYyqWpk.s + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_96c94.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_96c94.dir/' + /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_96c94.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccTA7R8F.s GNU C++17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu) compiled by GNU C version 13.3.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP @@ -342,15 +342,15 @@ events: /usr/include End of search list. Compiler executable checksum: c81c05345ce537099dafd5580045814a - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_0feb6.dir/' - as -v --64 -o CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccYyqWpk.s + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_96c94.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_96c94.dir/' + as -v --64 -o CMakeFiles/cmTC_96c94.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccTA7R8F.s GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42 COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.' - Linking CXX executable cmTC_0feb6 - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_0feb6.dir/link.txt --verbose=1 - /usr/bin/c++ -v CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_0feb6 + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_96c94.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_96c94.dir/CMakeCXXCompilerABI.cpp.' + Linking CXX executable cmTC_96c94 + /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_96c94.dir/link.txt --verbose=1 + /usr/bin/c++ -v CMakeFiles/cmTC_96c94.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_96c94 Using built-in specs. COLLECT_GCC=/usr/bin/c++ COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper @@ -363,10 +363,10 @@ events: gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_0feb6' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_0feb6.' - /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccXKUEr3.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_0feb6 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_0feb6' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_0feb6.' - gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-ntmMuY' + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_96c94' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_96c94.' + /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/cctlAVu4.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_96c94 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_96c94.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_96c94' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_96c94.' + gmake[1]: Leaving directory '/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-xsHVvF' exitCode: 0 - @@ -406,13 +406,13 @@ events: message: | Parsed CXX implicit link information: link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] - ignore line: [Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-ntmMuY'] + ignore line: [Change Dir: '/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-xsHVvF'] ignore line: [] - ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_0feb6/fast] - ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_0feb6.dir/build.make CMakeFiles/cmTC_0feb6.dir/build] - ignore line: [gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-ntmMuY'] - ignore line: [Building CXX object CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o] - ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_96c94/fast] + ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_96c94.dir/build.make CMakeFiles/cmTC_96c94.dir/build] + ignore line: [gmake[1]: Entering directory '/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-xsHVvF'] + ignore line: [Building CXX object CMakeFiles/cmTC_96c94.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_96c94.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/c++] ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] @@ -422,8 +422,8 @@ events: ignore line: [Thread model: posix] ignore line: [Supported LTO compression algorithms: zlib zstd] ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_0feb6.dir/'] - ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_0feb6.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccYyqWpk.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_96c94.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_96c94.dir/'] + ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_96c94.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccTA7R8F.s] ignore line: [GNU C++17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu)] ignore line: [ compiled by GNU C version 13.3.0 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] ignore line: [] @@ -444,15 +444,15 @@ events: ignore line: [ /usr/include] ignore line: [End of search list.] ignore line: [Compiler executable checksum: c81c05345ce537099dafd5580045814a] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_0feb6.dir/'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccYyqWpk.s] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_96c94.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_96c94.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_96c94.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccTA7R8F.s] ignore line: [GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.'] - ignore line: [Linking CXX executable cmTC_0feb6] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_0feb6.dir/link.txt --verbose=1] - ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_0feb6 ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_96c94.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_96c94.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [Linking CXX executable cmTC_96c94] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_96c94.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_96c94.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_96c94 ] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/c++] ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] @@ -465,13 +465,13 @@ events: ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_0feb6' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_0feb6.'] - link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccXKUEr3.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_0feb6 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_96c94' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_96c94.'] + link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/cctlAVu4.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_96c94 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_96c94.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] arg [/usr/libexec/gcc/x86_64-linux-gnu/13/collect2] ==> ignore arg [-plugin] ==> ignore arg [/usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so] ==> ignore arg [-plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/ccXKUEr3.res] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/cctlAVu4.res] ==> ignore arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore arg [-plugin-opt=-pass-through=-lgcc] ==> ignore arg [-plugin-opt=-pass-through=-lc] ==> ignore @@ -489,7 +489,7 @@ events: arg [-znow] ==> ignore arg [-zrelro] ==> ignore arg [-o] ==> ignore - arg [cmTC_0feb6] ==> ignore + arg [cmTC_96c94] ==> ignore arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] @@ -501,7 +501,555 @@ events: arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..] - arg [CMakeFiles/cmTC_0feb6.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [CMakeFiles/cmTC_96c94.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> [/usr/lib/x86_64-linux-gnu/Scrt1.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> [/usr/lib/x86_64-linux-gnu/crti.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] ==> [/usr/lib/x86_64-linux-gnu/crtn.o] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/13] ==> [/usr/lib/gcc/x86_64-linux-gnu/13] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> [/usr/lib] + implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc] + implicit objs: [/usr/lib/x86_64-linux-gnu/Scrt1.o;/usr/lib/x86_64-linux-gnu/crti.o;/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o;/usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o;/usr/lib/x86_64-linux-gnu/crtn.o] + implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/13;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] + implicit fwks: [] + + +... + +--- +events: + - + kind: "try_compile-v1" + backtrace: + - "/usr/share/cmake-3.28/Modules/Internal/CheckSourceCompiles.cmake:101 (try_compile)" + - "/usr/share/cmake-3.28/Modules/CheckCSourceCompiles.cmake:52 (cmake_check_source_compiles)" + - "/usr/share/cmake-3.28/Modules/FindThreads.cmake:97 (CHECK_C_SOURCE_COMPILES)" + - "/usr/share/cmake-3.28/Modules/FindThreads.cmake:163 (_threads_check_libc)" + - "/usr/share/cmake-3.28/Modules/CMakeFindDependencyMacro.cmake:76 (find_package)" + - "/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestConfig.cmake:39 (find_dependency)" + - "/usr/share/cmake-3.28/Modules/FindGTest.cmake:194 (find_package)" + - "test/CMakeLists.txt:3 (find_package)" + directories: + source: "/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-XNK5xn" + binary: "/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-XNK5xn" + cmakeVariables: + CMAKE_C_FLAGS: "" + CMAKE_C_FLAGS_DEBUG: "-g" + CMAKE_EXE_LINKER_FLAGS: "" + buildResult: + variable: "CMAKE_HAVE_LIBC_PTHREAD" + cached: true + stdout: | + Change Dir: '/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-XNK5xn' + + Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_9fce7/fast + /usr/bin/gmake -f CMakeFiles/cmTC_9fce7.dir/build.make CMakeFiles/cmTC_9fce7.dir/build + gmake[1]: Entering directory '/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-XNK5xn' + Building C object CMakeFiles/cmTC_9fce7.dir/src.c.o + /usr/bin/cc -DCMAKE_HAVE_LIBC_PTHREAD -o CMakeFiles/cmTC_9fce7.dir/src.c.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-XNK5xn/src.c + Linking C executable cmTC_9fce7 + /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_9fce7.dir/link.txt --verbose=1 + /usr/bin/cc CMakeFiles/cmTC_9fce7.dir/src.c.o -o cmTC_9fce7 + gmake[1]: Leaving directory '/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-XNK5xn' + + exitCode: 0 +... + +--- +events: + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake-3.28/Modules/CMakeDetermineSystem.cmake:233 (message)" + - "CMakeLists.txt:3 (project)" + message: | + The system is: Linux - 6.17.0-14-generic - x86_64 + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "/usr/share/cmake-3.28/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:3 (project)" + message: | + Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. + Compiler: /usr/bin/gcc + Build flags: + Id flags: + + The output was: + 0 + + + Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + + The C compiler identification is GNU, found in: + /home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/3.28.3/CompilerIdC/a.out + + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "/usr/share/cmake-3.28/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:3 (project)" + message: | + Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. + Compiler: /usr/bin/g++ + Build flags: + Id flags: + + The output was: + 0 + + + Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + + The CXX compiler identification is GNU, found in: + /home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/3.28.3/CompilerIdCXX/a.out + + - + kind: "try_compile-v1" + backtrace: + - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake:57 (try_compile)" + - "/usr/share/cmake-3.28/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:3 (project)" + checks: + - "Detecting C compiler ABI info" + directories: + source: "/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-YQSqQf" + binary: "/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-YQSqQf" + cmakeVariables: + CMAKE_C_FLAGS: "" + CMAKE_C_FLAGS_DEBUG: "-g" + CMAKE_EXE_LINKER_FLAGS: "" + buildResult: + variable: "CMAKE_C_ABI_COMPILED" + cached: true + stdout: | + Change Dir: '/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-YQSqQf' + + Run Build Command(s): /usr/bin/ninja -v cmTC_311b1 + [1/2] /usr/bin/gcc -v -o CMakeFiles/cmTC_311b1.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c + Using built-in specs. + COLLECT_GCC=/usr/bin/gcc + OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa + OFFLOAD_TARGET_DEFAULT=1 + Target: x86_64-linux-gnu + Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_311b1.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_311b1.dir/' + /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_311b1.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccxv9Aup.s + GNU C17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu) + compiled by GNU C version 13.3.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP + + GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 + ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" + ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/include-fixed/x86_64-linux-gnu" + ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/include-fixed" + ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/../../../../x86_64-linux-gnu/include" + #include "..." search starts here: + #include <...> search starts here: + /usr/lib/gcc/x86_64-linux-gnu/13/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include + End of search list. + Compiler executable checksum: 38987c28e967c64056a6454abdef726e + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_311b1.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_311b1.dir/' + as -v --64 -o CMakeFiles/cmTC_311b1.dir/CMakeCCompilerABI.c.o /tmp/ccxv9Aup.s + GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42 + COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ + LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_311b1.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_311b1.dir/CMakeCCompilerABI.c.' + [2/2] : && /usr/bin/gcc -v CMakeFiles/cmTC_311b1.dir/CMakeCCompilerABI.c.o -o cmTC_311b1 && : + Using built-in specs. + COLLECT_GCC=/usr/bin/gcc + COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper + OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa + OFFLOAD_TARGET_DEFAULT=1 + Target: x86_64-linux-gnu + Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) + COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ + LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_311b1' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_311b1.' + /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccmsiI3z.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_311b1 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_311b1.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_311b1' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_311b1.' + + exitCode: 0 + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake:127 (message)" + - "/usr/share/cmake-3.28/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:3 (project)" + message: | + Parsed C implicit include dir info: rv=done + found start of include info + found start of implicit include info + add: [/usr/lib/gcc/x86_64-linux-gnu/13/include] + add: [/usr/local/include] + add: [/usr/include/x86_64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/13/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/13/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/lib/gcc/x86_64-linux-gnu/13/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include] + + + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake:159 (message)" + - "/usr/share/cmake-3.28/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:3 (project)" + message: | + Parsed C implicit link information: + link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] + ignore line: [Change Dir: '/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-YQSqQf'] + ignore line: [] + ignore line: [Run Build Command(s): /usr/bin/ninja -v cmTC_311b1] + ignore line: [[1/2] /usr/bin/gcc -v -o CMakeFiles/cmTC_311b1.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_311b1.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_311b1.dir/'] + ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_311b1.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccxv9Aup.s] + ignore line: [GNU C17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 13.3.0 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/include-fixed/x86_64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/../../../../x86_64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/13/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/x86_64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [Compiler executable checksum: 38987c28e967c64056a6454abdef726e] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_311b1.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_311b1.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_311b1.dir/CMakeCCompilerABI.c.o /tmp/ccxv9Aup.s] + ignore line: [GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42] + ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_311b1.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_311b1.dir/CMakeCCompilerABI.c.'] + ignore line: [[2/2] : && /usr/bin/gcc -v CMakeFiles/cmTC_311b1.dir/CMakeCCompilerABI.c.o -o cmTC_311b1 && :] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] + ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_311b1' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_311b1.'] + link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccmsiI3z.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_311b1 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_311b1.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + arg [/usr/libexec/gcc/x86_64-linux-gnu/13/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccmsiI3z.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-pie] ==> ignore + arg [-znow] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTC_311b1] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/13] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib] + arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..] + arg [CMakeFiles/cmTC_311b1.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> [/usr/lib/x86_64-linux-gnu/Scrt1.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> [/usr/lib/x86_64-linux-gnu/crti.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] ==> [/usr/lib/x86_64-linux-gnu/crtn.o] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/13] ==> [/usr/lib/gcc/x86_64-linux-gnu/13] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> [/usr/lib] + implicit libs: [gcc;gcc_s;c;gcc;gcc_s] + implicit objs: [/usr/lib/x86_64-linux-gnu/Scrt1.o;/usr/lib/x86_64-linux-gnu/crti.o;/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o;/usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o;/usr/lib/x86_64-linux-gnu/crtn.o] + implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/13;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] + implicit fwks: [] + + + - + kind: "try_compile-v1" + backtrace: + - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake:57 (try_compile)" + - "/usr/share/cmake-3.28/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:3 (project)" + checks: + - "Detecting CXX compiler ABI info" + directories: + source: "/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-AIvRlK" + binary: "/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-AIvRlK" + cmakeVariables: + CMAKE_CXX_FLAGS: "" + CMAKE_CXX_FLAGS_DEBUG: "-g" + CMAKE_EXE_LINKER_FLAGS: "" + buildResult: + variable: "CMAKE_CXX_ABI_COMPILED" + cached: true + stdout: | + Change Dir: '/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-AIvRlK' + + Run Build Command(s): /usr/bin/ninja -v cmTC_046be + [1/2] /usr/bin/g++ -v -o CMakeFiles/cmTC_046be.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp + Using built-in specs. + COLLECT_GCC=/usr/bin/g++ + OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa + OFFLOAD_TARGET_DEFAULT=1 + Target: x86_64-linux-gnu + Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_046be.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_046be.dir/' + /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_046be.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccSVYbTS.s + GNU C++17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu) + compiled by GNU C version 13.3.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP + + GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 + ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/13" + ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" + ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/include-fixed/x86_64-linux-gnu" + ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/include-fixed" + ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/../../../../x86_64-linux-gnu/include" + #include "..." search starts here: + #include <...> search starts here: + /usr/include/c++/13 + /usr/include/x86_64-linux-gnu/c++/13 + /usr/include/c++/13/backward + /usr/lib/gcc/x86_64-linux-gnu/13/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include + End of search list. + Compiler executable checksum: c81c05345ce537099dafd5580045814a + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_046be.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_046be.dir/' + as -v --64 -o CMakeFiles/cmTC_046be.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccSVYbTS.s + GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42 + COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ + LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_046be.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_046be.dir/CMakeCXXCompilerABI.cpp.' + [2/2] : && /usr/bin/g++ -v CMakeFiles/cmTC_046be.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_046be && : + Using built-in specs. + COLLECT_GCC=/usr/bin/g++ + COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper + OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa + OFFLOAD_TARGET_DEFAULT=1 + Target: x86_64-linux-gnu + Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) + COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ + LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_046be' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_046be.' + /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccmREaCV.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_046be /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_046be.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_046be' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_046be.' + + exitCode: 0 + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake:127 (message)" + - "/usr/share/cmake-3.28/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:3 (project)" + message: | + Parsed CXX implicit include dir info: rv=done + found start of include info + found start of implicit include info + add: [/usr/include/c++/13] + add: [/usr/include/x86_64-linux-gnu/c++/13] + add: [/usr/include/c++/13/backward] + add: [/usr/lib/gcc/x86_64-linux-gnu/13/include] + add: [/usr/local/include] + add: [/usr/include/x86_64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/include/c++/13] ==> [/usr/include/c++/13] + collapse include dir [/usr/include/x86_64-linux-gnu/c++/13] ==> [/usr/include/x86_64-linux-gnu/c++/13] + collapse include dir [/usr/include/c++/13/backward] ==> [/usr/include/c++/13/backward] + collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/13/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/13/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/include/c++/13;/usr/include/x86_64-linux-gnu/c++/13;/usr/include/c++/13/backward;/usr/lib/gcc/x86_64-linux-gnu/13/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include] + + + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake:159 (message)" + - "/usr/share/cmake-3.28/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:3 (project)" + message: | + Parsed CXX implicit link information: + link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] + ignore line: [Change Dir: '/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-AIvRlK'] + ignore line: [] + ignore line: [Run Build Command(s): /usr/bin/ninja -v cmTC_046be] + ignore line: [[1/2] /usr/bin/g++ -v -o CMakeFiles/cmTC_046be.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/g++] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_046be.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_046be.dir/'] + ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_046be.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccSVYbTS.s] + ignore line: [GNU C++17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 13.3.0 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/13"] + ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/include-fixed/x86_64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/../../../../x86_64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/include/c++/13] + ignore line: [ /usr/include/x86_64-linux-gnu/c++/13] + ignore line: [ /usr/include/c++/13/backward] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/13/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/x86_64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [Compiler executable checksum: c81c05345ce537099dafd5580045814a] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_046be.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_046be.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_046be.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccSVYbTS.s] + ignore line: [GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42] + ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_046be.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_046be.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [[2/2] : && /usr/bin/g++ -v CMakeFiles/cmTC_046be.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_046be && :] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/g++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] + ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_046be' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_046be.'] + link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccmREaCV.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_046be /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_046be.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + arg [/usr/libexec/gcc/x86_64-linux-gnu/13/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccmREaCV.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-pie] ==> ignore + arg [-znow] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTC_046be] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/13] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib] + arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..] + arg [CMakeFiles/cmTC_046be.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore arg [-lstdc++] ==> lib [stdc++] arg [-lm] ==> lib [m] arg [-lgcc_s] ==> lib [gcc_s] @@ -540,8 +1088,8 @@ events: - "/usr/share/cmake-3.28/Modules/FindGTest.cmake:194 (find_package)" - "test/CMakeLists.txt:3 (find_package)" directories: - source: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-0qIlcU" - binary: "/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-0qIlcU" + source: "/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-iKPgqT" + binary: "/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-iKPgqT" cmakeVariables: CMAKE_C_FLAGS: "" CMAKE_C_FLAGS_DEBUG: "-g" @@ -550,17 +1098,11 @@ events: variable: "CMAKE_HAVE_LIBC_PTHREAD" cached: true stdout: | - Change Dir: '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-0qIlcU' + Change Dir: '/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-iKPgqT' - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_ffaba/fast - /usr/bin/gmake -f CMakeFiles/cmTC_ffaba.dir/build.make CMakeFiles/cmTC_ffaba.dir/build - gmake[1]: Entering directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-0qIlcU' - Building C object CMakeFiles/cmTC_ffaba.dir/src.c.o - /usr/bin/cc -DCMAKE_HAVE_LIBC_PTHREAD -o CMakeFiles/cmTC_ffaba.dir/src.c.o -c /home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-0qIlcU/src.c - Linking C executable cmTC_ffaba - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_ffaba.dir/link.txt --verbose=1 - /usr/bin/cc CMakeFiles/cmTC_ffaba.dir/src.c.o -o cmTC_ffaba - gmake[1]: Leaving directory '/home/diya_limbani/FastDevFs/build/CMakeFiles/CMakeScratch/TryCompile-0qIlcU' + Run Build Command(s): /usr/bin/ninja -v cmTC_e24d2 + [1/2] /usr/bin/gcc -DCMAKE_HAVE_LIBC_PTHREAD -o CMakeFiles/cmTC_e24d2.dir/src.c.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/CMakeScratch/TryCompile-iKPgqT/src.c + [2/2] : && /usr/bin/gcc CMakeFiles/cmTC_e24d2.dir/src.c.o -o cmTC_e24d2 && : exitCode: 0 ... diff --git a/build/CMakeFiles/CMakeDirectoryInformation.cmake b/build/CMakeFiles/CMakeDirectoryInformation.cmake deleted file mode 100644 index 49d8993..0000000 --- a/build/CMakeFiles/CMakeDirectoryInformation.cmake +++ /dev/null @@ -1,16 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Relative path conversion top directories. -set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/diya_limbani/FastDevFs") -set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/diya_limbani/FastDevFs/build") - -# Force unix paths in dependencies. -set(CMAKE_FORCE_UNIX_PATHS 1) - - -# The C and CXX include file regular expressions for this directory. -set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") -set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") -set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) -set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/build/CMakeFiles/FastDevFS.dir/DependInfo.cmake b/build/CMakeFiles/FastDevFS.dir/DependInfo.cmake index 0484143..76ca241 100644 --- a/build/CMakeFiles/FastDevFS.dir/DependInfo.cmake +++ b/build/CMakeFiles/FastDevFS.dir/DependInfo.cmake @@ -8,19 +8,19 @@ set(CMAKE_DEPENDS_LANGUAGES # The set of dependency files which are needed: set(CMAKE_DEPENDS_DEPENDENCY_FILES - "/home/diya_limbani/FastDevFs/main.cpp" "CMakeFiles/FastDevFS.dir/main.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/main.cpp.o.d" - "/home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp" "CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o.d" - "/home/diya_limbani/FastDevFs/src/src/daemon/file_io.cpp" "CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o.d" - "/home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp" "CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o.d" - "/home/diya_limbani/FastDevFs/src/src/fuse_functions/access.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o.d" - "/home/diya_limbani/FastDevFs/src/src/fuse_functions/file_funcs.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o.d" - "/home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o.d" - "/home/diya_limbani/FastDevFs/src/src/fuse_functions/mkdir.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o.d" - "/home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o.d" - "/home/diya_limbani/FastDevFs/src/src/fuse_functions/readdir.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o.d" - "/home/diya_limbani/FastDevFs/src/src/fuse_functions/rmdir.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o.d" - "/home/diya_limbani/FastDevFs/src/src/fuse_functions/statfs.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o.d" - "/home/diya_limbani/FastDevFs/src/src/fuse_functions/utimens.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o.d" + "/home/devesh-bhardwaj/Desktop/FastDevFS/main.cpp" "CMakeFiles/FastDevFS.dir/main.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/main.cpp.o.d" + "/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/dir_manager.cpp" "CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o.d" + "/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/file_io.cpp" "CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o.d" + "/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/hash.cpp" "CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o.d" + "/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/access.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o.d" + "/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/file_funcs.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o.d" + "/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/getattr.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o.d" + "/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/mkdir.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o.d" + "/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/opendir.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o.d" + "/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/readdir.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o.d" + "/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/rmdir.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o.d" + "/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/statfs.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o.d" + "/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/utimens.cpp" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o" "gcc" "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o.d" ) # Targets to which this target links which contain Fortran sources. diff --git a/build/CMakeFiles/FastDevFS.dir/build.make b/build/CMakeFiles/FastDevFS.dir/build.make index 5faa861..efef232 100644 --- a/build/CMakeFiles/FastDevFS.dir/build.make +++ b/build/CMakeFiles/FastDevFS.dir/build.make @@ -53,10 +53,10 @@ RM = /usr/bin/cmake -E rm -f EQUALS = = # The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/diya_limbani/FastDevFs +CMAKE_SOURCE_DIR = /home/devesh-bhardwaj/Desktop/FastDevFS # The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/diya_limbani/FastDevFs/build +CMAKE_BINARY_DIR = /home/devesh-bhardwaj/Desktop/FastDevFS/build # Include any dependencies generated for this target. include CMakeFiles/FastDevFS.dir/depend.make @@ -70,186 +70,186 @@ include CMakeFiles/FastDevFS.dir/progress.make include CMakeFiles/FastDevFS.dir/flags.make CMakeFiles/FastDevFS.dir/main.cpp.o: CMakeFiles/FastDevFS.dir/flags.make -CMakeFiles/FastDevFS.dir/main.cpp.o: /home/diya_limbani/FastDevFs/main.cpp +CMakeFiles/FastDevFS.dir/main.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/main.cpp CMakeFiles/FastDevFS.dir/main.cpp.o: CMakeFiles/FastDevFS.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/FastDevFS.dir/main.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/main.cpp.o -MF CMakeFiles/FastDevFS.dir/main.cpp.o.d -o CMakeFiles/FastDevFS.dir/main.cpp.o -c /home/diya_limbani/FastDevFs/main.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/FastDevFS.dir/main.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/main.cpp.o -MF CMakeFiles/FastDevFS.dir/main.cpp.o.d -o CMakeFiles/FastDevFS.dir/main.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/main.cpp CMakeFiles/FastDevFS.dir/main.cpp.i: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/FastDevFS.dir/main.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/main.cpp > CMakeFiles/FastDevFS.dir/main.cpp.i + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/devesh-bhardwaj/Desktop/FastDevFS/main.cpp > CMakeFiles/FastDevFS.dir/main.cpp.i CMakeFiles/FastDevFS.dir/main.cpp.s: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/main.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/main.cpp -o CMakeFiles/FastDevFS.dir/main.cpp.s + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/devesh-bhardwaj/Desktop/FastDevFS/main.cpp -o CMakeFiles/FastDevFS.dir/main.cpp.s CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o: CMakeFiles/FastDevFS.dir/flags.make -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/getattr.cpp CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o: CMakeFiles/FastDevFS.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o -c /home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/getattr.cpp CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.i: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp > CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.i + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/getattr.cpp > CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.i CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.s: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.s + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/getattr.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.s CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: CMakeFiles/FastDevFS.dir/flags.make -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/readdir.cpp +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/readdir.cpp CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: CMakeFiles/FastDevFS.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o -c /home/diya_limbani/FastDevFs/src/src/fuse_functions/readdir.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/readdir.cpp CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.i: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/fuse_functions/readdir.cpp > CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.i + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/readdir.cpp > CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.i CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.s: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/fuse_functions/readdir.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.s + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/readdir.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.s CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o: CMakeFiles/FastDevFS.dir/flags.make -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/opendir.cpp CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o: CMakeFiles/FastDevFS.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o -c /home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/opendir.cpp CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.i: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp > CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.i + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/opendir.cpp > CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.i CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.s: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.s + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/opendir.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.s CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o: CMakeFiles/FastDevFS.dir/flags.make -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/mkdir.cpp +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/mkdir.cpp CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o: CMakeFiles/FastDevFS.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o -c /home/diya_limbani/FastDevFs/src/src/fuse_functions/mkdir.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/mkdir.cpp CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.i: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/fuse_functions/mkdir.cpp > CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.i + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/mkdir.cpp > CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.i CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.s: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/fuse_functions/mkdir.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.s + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/mkdir.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.s CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o: CMakeFiles/FastDevFS.dir/flags.make -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/rmdir.cpp +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/rmdir.cpp CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o: CMakeFiles/FastDevFS.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o -c /home/diya_limbani/FastDevFs/src/src/fuse_functions/rmdir.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/rmdir.cpp CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.i: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/fuse_functions/rmdir.cpp > CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.i + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/rmdir.cpp > CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.i CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.s: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/fuse_functions/rmdir.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.s + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/rmdir.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.s CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o: CMakeFiles/FastDevFS.dir/flags.make -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/access.cpp +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/access.cpp CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o: CMakeFiles/FastDevFS.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o -c /home/diya_limbani/FastDevFs/src/src/fuse_functions/access.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/access.cpp CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.i: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/fuse_functions/access.cpp > CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.i + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/access.cpp > CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.i CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.s: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/fuse_functions/access.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.s + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/access.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.s CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: CMakeFiles/FastDevFS.dir/flags.make -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/statfs.cpp +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/statfs.cpp CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: CMakeFiles/FastDevFS.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o -c /home/diya_limbani/FastDevFs/src/src/fuse_functions/statfs.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/statfs.cpp CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.i: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/fuse_functions/statfs.cpp > CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.i + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/statfs.cpp > CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.i CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.s: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/fuse_functions/statfs.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.s + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/statfs.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.s CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o: CMakeFiles/FastDevFS.dir/flags.make -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/file_funcs.cpp +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/file_funcs.cpp CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o: CMakeFiles/FastDevFS.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o -c /home/diya_limbani/FastDevFs/src/src/fuse_functions/file_funcs.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/file_funcs.cpp CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.i: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/fuse_functions/file_funcs.cpp > CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.i + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/file_funcs.cpp > CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.i CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.s: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/fuse_functions/file_funcs.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.s + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/file_funcs.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.s CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o: CMakeFiles/FastDevFS.dir/flags.make -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/utimens.cpp +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/utimens.cpp CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o: CMakeFiles/FastDevFS.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o -c /home/diya_limbani/FastDevFs/src/src/fuse_functions/utimens.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/utimens.cpp CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.i: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/fuse_functions/utimens.cpp > CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.i + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/utimens.cpp > CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.i CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.s: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/fuse_functions/utimens.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.s + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/utimens.cpp -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.s CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o: CMakeFiles/FastDevFS.dir/flags.make -CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp +CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/dir_manager.cpp CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o: CMakeFiles/FastDevFS.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o -c /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/dir_manager.cpp CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.i: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp > CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.i + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/dir_manager.cpp > CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.i CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.s: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp -o CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.s + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/dir_manager.cpp -o CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.s CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o: CMakeFiles/FastDevFS.dir/flags.make -CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp +CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/hash.cpp CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o: CMakeFiles/FastDevFS.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_12) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o -c /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_12) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/hash.cpp CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.i: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp > CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.i + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/hash.cpp > CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.i CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.s: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp -o CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.s + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/hash.cpp -o CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.s CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o: CMakeFiles/FastDevFS.dir/flags.make -CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/file_io.cpp +CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/file_io.cpp CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o: CMakeFiles/FastDevFS.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_13) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o -c /home/diya_limbani/FastDevFs/src/src/daemon/file_io.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_13) "Building CXX object CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o -MF CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o.d -o CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/file_io.cpp CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.i: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/daemon/file_io.cpp > CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.i + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/file_io.cpp > CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.i CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.s: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/daemon/file_io.cpp -o CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.s + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/file_io.cpp -o CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.s # Object files for target FastDevFS FastDevFS_OBJECTS = \ @@ -285,7 +285,7 @@ FastDevFS: CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o FastDevFS: CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o FastDevFS: CMakeFiles/FastDevFS.dir/build.make FastDevFS: CMakeFiles/FastDevFS.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_14) "Linking CXX executable FastDevFS" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_14) "Linking CXX executable FastDevFS" $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/FastDevFS.dir/link.txt --verbose=$(VERBOSE) # Rule to build all files generated by this target. @@ -297,6 +297,6 @@ CMakeFiles/FastDevFS.dir/clean: .PHONY : CMakeFiles/FastDevFS.dir/clean CMakeFiles/FastDevFS.dir/depend: - cd /home/diya_limbani/FastDevFs/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/diya_limbani/FastDevFs /home/diya_limbani/FastDevFs /home/diya_limbani/FastDevFs/build /home/diya_limbani/FastDevFs/build /home/diya_limbani/FastDevFs/build/CMakeFiles/FastDevFS.dir/DependInfo.cmake "--color=$(COLOR)" + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/devesh-bhardwaj/Desktop/FastDevFS /home/devesh-bhardwaj/Desktop/FastDevFS /home/devesh-bhardwaj/Desktop/FastDevFS/build /home/devesh-bhardwaj/Desktop/FastDevFS/build /home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/FastDevFS.dir/DependInfo.cmake "--color=$(COLOR)" .PHONY : CMakeFiles/FastDevFS.dir/depend diff --git a/build/CMakeFiles/FastDevFS.dir/compiler_depend.internal b/build/CMakeFiles/FastDevFS.dir/compiler_depend.internal index d1a3c4b..cd5f6ef 100644 --- a/build/CMakeFiles/FastDevFS.dir/compiler_depend.internal +++ b/build/CMakeFiles/FastDevFS.dir/compiler_depend.internal @@ -2,19 +2,19 @@ # Generated by "Unix Makefiles" Generator, CMake Version 3.28 CMakeFiles/FastDevFS.dir/main.cpp.o - /home/diya_limbani/FastDevFs/main.cpp - /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h - /home/diya_limbani/FastDevFs/src/include/daemon/file_io.h - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h - /home/diya_limbani/FastDevFs/src/include/fuse_functions/access.h - /home/diya_limbani/FastDevFs/src/include/fuse_functions/file_funcs.h - /home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h - /home/diya_limbani/FastDevFs/src/include/fuse_functions/mkdir.h - /home/diya_limbani/FastDevFs/src/include/fuse_functions/opendir.h - /home/diya_limbani/FastDevFs/src/include/fuse_functions/readdir.h - /home/diya_limbani/FastDevFs/src/include/fuse_functions/rmdir.h - /home/diya_limbani/FastDevFs/src/include/fuse_functions/statfs.h - /home/diya_limbani/FastDevFs/src/include/fuse_functions/utimens.h + /home/devesh-bhardwaj/Desktop/FastDevFS/main.cpp + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/dir_manager.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/file_io.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/access.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/file_funcs.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/getattr.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/mkdir.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/opendir.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/readdir.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/rmdir.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/statfs.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/utimens.h /usr/include/alloca.h /usr/include/asm-generic/bitsperlong.h /usr/include/asm-generic/errno-base.h @@ -255,9 +255,9 @@ CMakeFiles/FastDevFS.dir/main.cpp.o /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o - /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp - /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/dir_manager.cpp + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/dir_manager.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h /usr/include/alloca.h /usr/include/asm-generic/bitsperlong.h /usr/include/asm-generic/errno-base.h @@ -480,8 +480,8 @@ CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o - /home/diya_limbani/FastDevFs/src/src/daemon/file_io.cpp - /home/diya_limbani/FastDevFs/src/include/daemon/file_io.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/file_io.cpp + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/file_io.h /usr/include/alloca.h /usr/include/asm-generic/bitsperlong.h /usr/include/asm-generic/errno-base.h @@ -588,8 +588,8 @@ CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o - /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/hash.cpp + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h /usr/include/features-time64.h /usr/include/features.h /usr/include/stdc-predef.h @@ -617,10 +617,10 @@ CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o - /home/diya_limbani/FastDevFs/src/src/fuse_functions/access.cpp - /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h - /home/diya_limbani/FastDevFs/src/include/fuse_functions/access.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/access.cpp + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/dir_manager.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/access.h /usr/include/alloca.h /usr/include/asm-generic/bitsperlong.h /usr/include/asm-generic/errno-base.h @@ -855,11 +855,11 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o - /home/diya_limbani/FastDevFs/src/src/fuse_functions/file_funcs.cpp - /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h - /home/diya_limbani/FastDevFs/src/include/daemon/file_io.h - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h - /home/diya_limbani/FastDevFs/src/include/fuse_functions/file_funcs.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/file_funcs.cpp + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/dir_manager.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/file_io.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/file_funcs.h /usr/include/alloca.h /usr/include/asm-generic/bitsperlong.h /usr/include/asm-generic/errno-base.h @@ -1097,10 +1097,10 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o - /home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp - /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h - /home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/getattr.cpp + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/dir_manager.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/getattr.h /usr/include/alloca.h /usr/include/asm-generic/bitsperlong.h /usr/include/asm-generic/errno-base.h @@ -1338,10 +1338,10 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o - /home/diya_limbani/FastDevFs/src/src/fuse_functions/mkdir.cpp - /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h - /home/diya_limbani/FastDevFs/src/include/fuse_functions/mkdir.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/mkdir.cpp + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/dir_manager.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/mkdir.h /usr/include/alloca.h /usr/include/asm-generic/bitsperlong.h /usr/include/asm-generic/errno-base.h @@ -1579,10 +1579,10 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o - /home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp - /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h - /home/diya_limbani/FastDevFs/src/include/fuse_functions/opendir.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/opendir.cpp + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/dir_manager.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/opendir.h /usr/include/alloca.h /usr/include/asm-generic/bitsperlong.h /usr/include/asm-generic/errno-base.h @@ -1820,10 +1820,10 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o - /home/diya_limbani/FastDevFs/src/src/fuse_functions/readdir.cpp - /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h - /home/diya_limbani/FastDevFs/src/include/fuse_functions/readdir.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/readdir.cpp + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/dir_manager.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/readdir.h /usr/include/alloca.h /usr/include/asm-generic/bitsperlong.h /usr/include/asm-generic/errno-base.h @@ -2061,10 +2061,10 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o - /home/diya_limbani/FastDevFs/src/src/fuse_functions/rmdir.cpp - /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h - /home/diya_limbani/FastDevFs/src/include/fuse_functions/rmdir.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/rmdir.cpp + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/dir_manager.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/rmdir.h /usr/include/alloca.h /usr/include/asm-generic/bitsperlong.h /usr/include/asm-generic/errno-base.h @@ -2302,8 +2302,8 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o - /home/diya_limbani/FastDevFs/src/src/fuse_functions/statfs.cpp - /home/diya_limbani/FastDevFs/src/include/fuse_functions/statfs.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/statfs.cpp + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/statfs.h /usr/include/alloca.h /usr/include/asm-generic/bitsperlong.h /usr/include/asm-generic/errno-base.h @@ -2532,10 +2532,10 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o - /home/diya_limbani/FastDevFs/src/src/fuse_functions/utimens.cpp - /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h - /home/diya_limbani/FastDevFs/src/include/fuse_functions/utimens.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/utimens.cpp + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/dir_manager.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/utimens.h /usr/include/alloca.h /usr/include/asm-generic/bitsperlong.h /usr/include/asm-generic/errno-base.h diff --git a/build/CMakeFiles/FastDevFS.dir/compiler_depend.make b/build/CMakeFiles/FastDevFS.dir/compiler_depend.make index 17c9069..b8f9388 100644 --- a/build/CMakeFiles/FastDevFS.dir/compiler_depend.make +++ b/build/CMakeFiles/FastDevFS.dir/compiler_depend.make @@ -1,19 +1,19 @@ # CMAKE generated file: DO NOT EDIT! # Generated by "Unix Makefiles" Generator, CMake Version 3.28 -CMakeFiles/FastDevFS.dir/main.cpp.o: /home/diya_limbani/FastDevFs/main.cpp \ - /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ - /home/diya_limbani/FastDevFs/src/include/daemon/file_io.h \ - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ - /home/diya_limbani/FastDevFs/src/include/fuse_functions/access.h \ - /home/diya_limbani/FastDevFs/src/include/fuse_functions/file_funcs.h \ - /home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h \ - /home/diya_limbani/FastDevFs/src/include/fuse_functions/mkdir.h \ - /home/diya_limbani/FastDevFs/src/include/fuse_functions/opendir.h \ - /home/diya_limbani/FastDevFs/src/include/fuse_functions/readdir.h \ - /home/diya_limbani/FastDevFs/src/include/fuse_functions/rmdir.h \ - /home/diya_limbani/FastDevFs/src/include/fuse_functions/statfs.h \ - /home/diya_limbani/FastDevFs/src/include/fuse_functions/utimens.h \ +CMakeFiles/FastDevFS.dir/main.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/main.cpp \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/dir_manager.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/file_io.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/access.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/file_funcs.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/getattr.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/mkdir.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/opendir.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/readdir.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/rmdir.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/statfs.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/utimens.h \ /usr/include/alloca.h \ /usr/include/asm-generic/bitsperlong.h \ /usr/include/asm-generic/errno-base.h \ @@ -253,9 +253,9 @@ CMakeFiles/FastDevFS.dir/main.cpp.o: /home/diya_limbani/FastDevFs/main.cpp \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp \ - /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ +CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/dir_manager.cpp \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/dir_manager.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h \ /usr/include/alloca.h \ /usr/include/asm-generic/bitsperlong.h \ /usr/include/asm-generic/errno-base.h \ @@ -477,8 +477,8 @@ CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o: /home/diya_limbani/Fa /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/file_io.cpp \ - /home/diya_limbani/FastDevFs/src/include/daemon/file_io.h \ +CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/file_io.cpp \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/file_io.h \ /usr/include/alloca.h \ /usr/include/asm-generic/bitsperlong.h \ /usr/include/asm-generic/errno-base.h \ @@ -584,8 +584,8 @@ CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o: /home/diya_limbani/FastDe /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h -CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp \ - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ +CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/hash.cpp \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h \ /usr/include/features-time64.h \ /usr/include/features.h \ /usr/include/stdc-predef.h \ @@ -612,10 +612,10 @@ CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o: /home/diya_limbani/FastDevFs /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/access.cpp \ - /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ - /home/diya_limbani/FastDevFs/src/include/fuse_functions/access.h \ +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/access.cpp \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/dir_manager.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/access.h \ /usr/include/alloca.h \ /usr/include/asm-generic/bitsperlong.h \ /usr/include/asm-generic/errno-base.h \ @@ -849,11 +849,11 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o: /home/diya_limbani /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/file_funcs.cpp \ - /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ - /home/diya_limbani/FastDevFs/src/include/daemon/file_io.h \ - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ - /home/diya_limbani/FastDevFs/src/include/fuse_functions/file_funcs.h \ +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/file_funcs.cpp \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/dir_manager.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/file_io.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/file_funcs.h \ /usr/include/alloca.h \ /usr/include/asm-generic/bitsperlong.h \ /usr/include/asm-generic/errno-base.h \ @@ -1090,10 +1090,10 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o: /home/diya_lim /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp \ - /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ - /home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h \ +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/getattr.cpp \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/dir_manager.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/getattr.h \ /usr/include/alloca.h \ /usr/include/asm-generic/bitsperlong.h \ /usr/include/asm-generic/errno-base.h \ @@ -1330,10 +1330,10 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o: /home/diya_limban /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/mkdir.cpp \ - /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ - /home/diya_limbani/FastDevFs/src/include/fuse_functions/mkdir.h \ +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/mkdir.cpp \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/dir_manager.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/mkdir.h \ /usr/include/alloca.h \ /usr/include/asm-generic/bitsperlong.h \ /usr/include/asm-generic/errno-base.h \ @@ -1570,10 +1570,10 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o: /home/diya_limbani/ /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp \ - /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ - /home/diya_limbani/FastDevFs/src/include/fuse_functions/opendir.h \ +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/opendir.cpp \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/dir_manager.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/opendir.h \ /usr/include/alloca.h \ /usr/include/asm-generic/bitsperlong.h \ /usr/include/asm-generic/errno-base.h \ @@ -1810,10 +1810,10 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o: /home/diya_limban /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/readdir.cpp \ - /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ - /home/diya_limbani/FastDevFs/src/include/fuse_functions/readdir.h \ +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/readdir.cpp \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/dir_manager.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/readdir.h \ /usr/include/alloca.h \ /usr/include/asm-generic/bitsperlong.h \ /usr/include/asm-generic/errno-base.h \ @@ -2050,10 +2050,10 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: /home/diya_limban /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/rmdir.cpp \ - /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ - /home/diya_limbani/FastDevFs/src/include/fuse_functions/rmdir.h \ +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/rmdir.cpp \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/dir_manager.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/rmdir.h \ /usr/include/alloca.h \ /usr/include/asm-generic/bitsperlong.h \ /usr/include/asm-generic/errno-base.h \ @@ -2290,8 +2290,8 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o: /home/diya_limbani/ /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/statfs.cpp \ - /home/diya_limbani/FastDevFs/src/include/fuse_functions/statfs.h \ +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/statfs.cpp \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/statfs.h \ /usr/include/alloca.h \ /usr/include/asm-generic/bitsperlong.h \ /usr/include/asm-generic/errno-base.h \ @@ -2519,10 +2519,10 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: /home/diya_limbani /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o: /home/diya_limbani/FastDevFs/src/src/fuse_functions/utimens.cpp \ - /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ - /home/diya_limbani/FastDevFs/src/include/fuse_functions/utimens.h \ +CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/utimens.cpp \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/dir_manager.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/utimens.h \ /usr/include/alloca.h \ /usr/include/asm-generic/bitsperlong.h \ /usr/include/asm-generic/errno-base.h \ @@ -2757,67 +2757,47 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o: /home/diya_limban /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -/home/diya_limbani/FastDevFs/src/src/fuse_functions/utimens.cpp: +/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/utimens.cpp: -/home/diya_limbani/FastDevFs/src/src/fuse_functions/rmdir.cpp: +/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/readdir.cpp: -/home/diya_limbani/FastDevFs/src/src/fuse_functions/opendir.cpp: +/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/opendir.cpp: -/usr/include/c++/13/cstring: +/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/mkdir.cpp: -/home/diya_limbani/FastDevFs/src/src/fuse_functions/file_funcs.cpp: +/usr/include/c++/13/cstring: -/home/diya_limbani/FastDevFs/src/src/fuse_functions/access.cpp: +/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/access.cpp: /usr/include/locale.h: -/usr/include/x86_64-linux-gnu/asm/bitsperlong.h: - /usr/include/x86_64-linux-gnu/bits/mman.h: /usr/include/linux/types.h: -/usr/include/fuse3/fuse_opt.h: - -/usr/include/c++/13/backward/binders.h: - /usr/include/c++/13/cctype: /usr/include/fuse3/fuse_common.h: /usr/include/string.h: -/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h: - -/usr/include/fuse3/fuse.h: - /usr/include/c++/13/bits/streambuf.tcc: -/usr/include/c++/13/typeinfo: - -/usr/include/c++/13/bits/cxxabi_init_exception.h: - -/usr/include/c++/13/system_error: - -/usr/include/c++/13/bits/range_access.h: - -/usr/include/x86_64-linux-gnu/bits/mman-shared.h: - /usr/include/c++/13/pstl/pstl_config.h: /usr/include/fcntl.h: -/home/diya_limbani/FastDevFs/main.cpp: - /usr/include/c++/13/ostream: /usr/include/c++/13/bits/streambuf_iterator.h: /usr/include/x86_64-linux-gnu/bits/confname.h: -/usr/include/c++/13/new: +/usr/include/features-time64.h: -/usr/include/c++/13/ext/alloc_traits.h: +/usr/include/c++/13/string_view: + +/usr/include/c++/13/istream: /usr/include/c++/13/initializer_list: @@ -2829,9 +2809,17 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/bits/mman-map-flags-generic.h: +/home/devesh-bhardwaj/Desktop/FastDevFS/main.cpp: + +/usr/include/errno.h: + +/usr/include/c++/13/bits/functional_hash.h: + +/usr/include/c++/13/debug/assertions.h: + /usr/include/c++/13/cstdlib: -/usr/include/c++/13/cstdio: +/home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/statfs.h: /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h: @@ -2839,10 +2827,6 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o: /home/diya_limban /usr/include/c++/13/clocale: -/usr/include/c++/13/cerrno: - -/usr/include/x86_64-linux-gnu/bits/stdint-least.h: - /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h: /usr/include/c++/13/bits/utility.h: @@ -2869,8 +2853,12 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o: /home/diya_limban /usr/include/c++/13/bits/postypes.h: +/usr/include/c++/13/bits/functexcept.h: + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h: +/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/statfs.cpp: + /usr/include/c++/13/bits/stl_algobase.h: /usr/include/x86_64-linux-gnu/sys/uio.h: @@ -2879,19 +2867,15 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h: -/usr/include/features-time64.h: - -/usr/include/c++/13/string_view: - -/home/diya_limbani/FastDevFs/src/src/daemon/file_io.cpp: +/usr/include/c++/13/bits/stringfwd.h: -/home/diya_limbani/FastDevFs/src/include/fuse_functions/file_funcs.h: +/usr/include/c++/13/backward/binders.h: -/usr/include/c++/13/bits/basic_string.h: +/usr/include/fuse3/fuse_opt.h: -/usr/include/x86_64-linux-gnu/bits/endianness.h: +/usr/include/c++/13/ext/alloc_traits.h: -/usr/include/c++/13/bits/stringfwd.h: +/usr/include/c++/13/new: /usr/include/c++/13/bits/alloc_traits.h: @@ -2903,163 +2887,181 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/bits/time64.h: -/usr/include/asm-generic/int-ll64.h: +/usr/include/asm-generic/bitsperlong.h: -/usr/include/c++/13/bits/localefwd.h: +/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h: -/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h: +/usr/include/asm-generic/types.h: -/home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp: +/usr/include/c++/13/bits/stl_iterator_base_funcs.h: -/usr/include/c++/13/bits/exception.h: +/usr/include/asm-generic/errno-base.h: -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: +/usr/include/c++/13/bits/stl_construct.h: -/usr/include/x86_64-linux-gnu/bits/uintn-identity.h: +/usr/include/asm-generic/posix_types.h: -/usr/include/c++/13/bits/ostream_insert.h: +/usr/include/stdc-predef.h: -/usr/include/asm-generic/bitsperlong.h: +/usr/include/asm-generic/int-ll64.h: -/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h: +/usr/include/c++/13/cerrno: -/usr/include/asm-generic/types.h: +/home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/access.h: -/usr/include/c++/13/bits/stl_iterator_base_funcs.h: +/usr/include/x86_64-linux-gnu/bits/stdint-least.h: -/usr/include/asm-generic/errno-base.h: +/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h: -/usr/include/c++/13/iosfwd: +/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/dir_manager.cpp: -/usr/include/c++/13/bits/predefined_ops.h: +/usr/include/c++/13/bits/localefwd.h: -/usr/include/x86_64-linux-gnu/asm/posix_types.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h: -/usr/include/c++/13/cwctype: +/usr/include/features.h: -/home/diya_limbani/FastDevFs/src/include/fuse_functions/utimens.h: +/home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/readdir.h: -/usr/include/c++/13/streambuf: +/usr/include/c++/13/bits/allocator.h: -/usr/include/c++/13/bits/memory_resource.h: +/usr/include/c++/13/bits/locale_classes.tcc: -/usr/include/wchar.h: +/home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/dir_manager.h: -/usr/include/features.h: +/usr/include/linux/stddef.h: -/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h: +/usr/include/c++/13/bits/basic_ios.tcc: -/usr/include/c++/13/bits/string_view.tcc: +/usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h: -/usr/include/c++/13/bits/invoke.h: +/usr/include/linux/falloc.h: -/home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h: +/usr/include/linux/posix_types.h: -/usr/include/linux/close_range.h: +/usr/include/c++/13/bits/ptr_traits.h: -/usr/include/c++/13/bits/functional_hash.h: +/usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h: -/usr/include/errno.h: +/usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h: -/usr/include/c++/13/type_traits: +/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h: -/usr/include/x86_64-linux-gnu/sys/single_threaded.h: +/usr/include/fuse3/fuse.h: -/usr/include/c++/13/bit: +/usr/include/c++/13/cstdio: -/usr/include/c++/13/bits/basic_string.tcc: +/home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/mkdir.h: -/usr/include/c++/13/bits/locale_facets.h: +/usr/include/c++/13/bits/predefined_ops.h: -/usr/include/c++/13/bits/stl_construct.h: +/usr/include/c++/13/iosfwd: -/usr/include/asm-generic/posix_types.h: +/usr/include/c++/13/bits/basic_string.h: -/usr/include/stdc-predef.h: +/usr/include/x86_64-linux-gnu/bits/endianness.h: -/usr/include/fuse3/libfuse_config.h: +/home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/getattr.h: -/usr/include/c++/13/bits/cpp_type_traits.h: +/usr/include/x86_64-linux-gnu/asm/errno.h: -/usr/include/x86_64-linux-gnu/bits/mman-linux.h: +/usr/include/c++/13/ext/numeric_traits.h: -/usr/include/c++/13/string: +/usr/include/c++/13/bits/stl_iterator.h: -/usr/include/x86_64-linux-gnu/bits/stdint-intn.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h: -/usr/include/x86_64-linux-gnu/bits/types.h: +/usr/include/x86_64-linux-gnu/asm/bitsperlong.h: -/usr/include/c++/13/bits/move.h: +/home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h: -/usr/include/alloca.h: +/usr/include/c++/13/typeinfo: -/usr/include/linux/stddef.h: +/usr/include/c++/13/bits/cxxabi_init_exception.h: -/usr/include/c++/13/bits/basic_ios.tcc: +/usr/include/c++/13/system_error: -/usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h: +/usr/include/c++/13/bits/range_access.h: -/usr/include/linux/falloc.h: +/usr/include/x86_64-linux-gnu/bits/mman-shared.h: -/usr/include/linux/posix_types.h: +/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/hash.cpp: -/usr/include/c++/13/bits/ptr_traits.h: +/usr/include/c++/13/bits/string_view.tcc: -/usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h: +/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h: -/usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h: +/home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/file_funcs.h: -/home/diya_limbani/FastDevFs/src/include/daemon/hash.h: +/usr/include/c++/13/bits/basic_string.tcc: -/usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h: +/usr/include/c++/13/bit: -/usr/include/c++/13/bits/functexcept.h: +/usr/include/alloca.h: -/home/diya_limbani/FastDevFs/src/include/fuse_functions/statfs.h: +/usr/include/fuse3/libfuse_config.h: -/usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h: +/usr/include/c++/13/bits/cpp_type_traits.h: -/usr/include/x86_64-linux-gnu/bits/environments.h: +/usr/include/x86_64-linux-gnu/bits/mman-linux.h: -/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h: +/usr/include/c++/13/string: -/usr/include/c++/13/debug/assertions.h: +/usr/include/x86_64-linux-gnu/bits/stdint-intn.h: -/home/diya_limbani/FastDevFs/src/include/fuse_functions/mkdir.h: +/usr/include/x86_64-linux-gnu/bits/types.h: -/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h: +/usr/include/c++/13/bits/move.h: -/usr/include/c++/13/bits/exception_defines.h: +/home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/opendir.h: -/usr/include/x86_64-linux-gnu/bits/waitstatus.h: +/usr/include/linux/close_range.h: -/usr/include/ctype.h: +/usr/include/c++/13/bits/invoke.h: -/home/diya_limbani/FastDevFs/src/src/fuse_functions/getattr.cpp: +/usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h: -/usr/include/c++/13/istream: +/usr/include/x86_64-linux-gnu/bits/environments.h: -/home/diya_limbani/FastDevFs/src/include/fuse_functions/rmdir.h: +/usr/include/wchar.h: -/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h: +/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/getattr.cpp: -/home/diya_limbani/FastDevFs/src/include/fuse_functions/opendir.h: +/usr/include/c++/13/type_traits: -/usr/include/c++/13/bits/hash_bytes.h: +/usr/include/x86_64-linux-gnu/sys/single_threaded.h: + +/home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/rmdir.h: + +/usr/include/c++/13/cwctype: -/home/diya_limbani/FastDevFs/src/include/fuse_functions/readdir.h: +/usr/include/x86_64-linux-gnu/asm/posix_types.h: + +/usr/include/c++/13/bits/locale_facets.h: /usr/include/c++/13/bits/cxxabi_forced.h: +/usr/include/c++/13/bits/exception.h: + +/usr/include/c++/13/bits/memory_resource.h: + +/usr/include/c++/13/streambuf: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/uintn-identity.h: + /usr/include/c++/13/bits/exception_ptr.h: /usr/include/c++/13/bits/istream.tcc: +/home/devesh-bhardwaj/Desktop/FastDevFS/src/include/fuse_functions/utimens.h: + /usr/include/c++/13/tuple: /usr/include/c++/13/bits/nested_exception.h: -/home/diya_limbani/FastDevFs/src/include/daemon/file_io.h: +/usr/include/c++/13/bits/hash_bytes.h: /usr/include/c++/13/bits/ios_base.h: @@ -3069,11 +3071,7 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/bits/types/clock_t.h: -/usr/include/c++/13/bits/allocator.h: - -/usr/include/c++/13/bits/locale_classes.tcc: - -/home/diya_limbani/FastDevFs/src/src/fuse_functions/readdir.cpp: +/usr/include/ctype.h: /usr/include/c++/13/bits/locale_facets.tcc: @@ -3081,7 +3079,7 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o: /home/diya_limban /usr/include/c++/13/bits/memoryfwd.h: -/home/diya_limbani/FastDevFs/src/include/fuse_functions/access.h: +/usr/include/c++/13/bits/ostream_insert.h: /usr/include/c++/13/stdexcept: @@ -3113,13 +3111,7 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/sys/select.h: -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/c++/13/ext/numeric_traits.h: - -/usr/include/c++/13/bits/stl_iterator.h: - -/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h: +/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/file_funcs.cpp: /usr/include/x86_64-linux-gnu/asm/types.h: @@ -3127,10 +3119,6 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/bits/byteswap.h: -/usr/include/x86_64-linux-gnu/asm/posix_types_64.h: - -/usr/include/x86_64-linux-gnu/bits/cpu-set.h: - /usr/include/x86_64-linux-gnu/bits/endian.h: /usr/include/x86_64-linux-gnu/gnu/stubs.h: @@ -3145,7 +3133,7 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/bits/types/wint_t.h: -/home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp: +/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/rmdir.cpp: /usr/include/x86_64-linux-gnu/bits/floatn.h: @@ -3199,10 +3187,10 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/bits/time.h: -/usr/include/x86_64-linux-gnu/sys/statvfs.h: - /usr/include/c++/13/bits/locale_classes.h: +/usr/include/x86_64-linux-gnu/sys/statvfs.h: + /usr/include/x86_64-linux-gnu/bits/timesize.h: /usr/include/x86_64-linux-gnu/bits/types/__FILE.h: @@ -3211,8 +3199,6 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h: -/home/diya_limbani/FastDevFs/src/src/fuse_functions/mkdir.cpp: - /usr/include/c++/13/bits/charconv.h: /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h: @@ -3223,8 +3209,6 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/bits/types/error_t.h: -/home/diya_limbani/FastDevFs/src/src/fuse_functions/statfs.cpp: - /usr/include/x86_64-linux-gnu/bits/types/locale_t.h: /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h: @@ -3237,10 +3221,14 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o: /home/diya_limban /usr/include/asm-generic/errno.h: -/home/diya_limbani/FastDevFs/src/include/fuse_functions/getattr.h: - /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h: + +/usr/include/c++/13/bits/exception_defines.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + /usr/include/c++/13/ext/atomicity.h: /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h: @@ -3261,6 +3249,8 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/bits/unistd_ext.h: +/home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/file_io.h: + /usr/include/x86_64-linux-gnu/bits/waitflags.h: /usr/include/x86_64-linux-gnu/bits/wordsize.h: @@ -3273,6 +3263,8 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o: /home/diya_limban /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h: +/usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h: + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h: /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h: @@ -3291,4 +3283,12 @@ CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o: /home/diya_limban /usr/lib/gcc/x86_64-linux-gnu/13/include/stdarg.h: +/usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h: + /usr/include/c++/13/ctime: + +/usr/include/x86_64-linux-gnu/asm/posix_types_64.h: + +/usr/include/x86_64-linux-gnu/bits/cpu-set.h: + +/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/file_io.cpp: diff --git a/build/CMakeFiles/FastDevFS.dir/flags.make b/build/CMakeFiles/FastDevFS.dir/flags.make index 7db4e2d..712d2ca 100644 --- a/build/CMakeFiles/FastDevFS.dir/flags.make +++ b/build/CMakeFiles/FastDevFS.dir/flags.make @@ -4,7 +4,7 @@ # compile CXX with /usr/bin/c++ CXX_DEFINES = -CXX_INCLUDES = -I/usr/include/fuse3 -I/home/diya_limbani/FastDevFs/src/include +CXX_INCLUDES = -I/usr/include/fuse3 -I/home/devesh-bhardwaj/Desktop/FastDevFS/src/include CXX_FLAGS = diff --git a/build/CMakeFiles/Makefile.cmake b/build/CMakeFiles/Makefile.cmake deleted file mode 100644 index cdf26dc..0000000 --- a/build/CMakeFiles/Makefile.cmake +++ /dev/null @@ -1,66 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# The generator used is: -set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") - -# The top level Makefile was generated from the following files: -set(CMAKE_MAKEFILE_DEPENDS - "CMakeCache.txt" - "/home/diya_limbani/FastDevFs/CMakeLists.txt" - "CMakeFiles/3.28.3/CMakeCCompiler.cmake" - "CMakeFiles/3.28.3/CMakeCXXCompiler.cmake" - "CMakeFiles/3.28.3/CMakeSystem.cmake" - "/home/diya_limbani/FastDevFs/test/CMakeLists.txt" - "/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestConfig.cmake" - "/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestConfigVersion.cmake" - "/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestTargets-none.cmake" - "/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestTargets.cmake" - "/usr/share/cmake-3.28/Modules/CMakeCInformation.cmake" - "/usr/share/cmake-3.28/Modules/CMakeCXXInformation.cmake" - "/usr/share/cmake-3.28/Modules/CMakeCommonLanguageInclude.cmake" - "/usr/share/cmake-3.28/Modules/CMakeFindDependencyMacro.cmake" - "/usr/share/cmake-3.28/Modules/CMakeGenericSystem.cmake" - "/usr/share/cmake-3.28/Modules/CMakeInitializeConfigs.cmake" - "/usr/share/cmake-3.28/Modules/CMakeLanguageInformation.cmake" - "/usr/share/cmake-3.28/Modules/CMakeSystemSpecificInformation.cmake" - "/usr/share/cmake-3.28/Modules/CMakeSystemSpecificInitialize.cmake" - "/usr/share/cmake-3.28/Modules/CheckCSourceCompiles.cmake" - "/usr/share/cmake-3.28/Modules/CheckIncludeFile.cmake" - "/usr/share/cmake-3.28/Modules/CheckLibraryExists.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/CMakeCommonCompilerMacros.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/GNU-C.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/GNU-CXX.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/GNU.cmake" - "/usr/share/cmake-3.28/Modules/FindGTest.cmake" - "/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake" - "/usr/share/cmake-3.28/Modules/FindPackageMessage.cmake" - "/usr/share/cmake-3.28/Modules/FindPkgConfig.cmake" - "/usr/share/cmake-3.28/Modules/FindThreads.cmake" - "/usr/share/cmake-3.28/Modules/GoogleTest.cmake" - "/usr/share/cmake-3.28/Modules/Internal/CheckSourceCompiles.cmake" - "/usr/share/cmake-3.28/Modules/Platform/Linux-GNU-C.cmake" - "/usr/share/cmake-3.28/Modules/Platform/Linux-GNU-CXX.cmake" - "/usr/share/cmake-3.28/Modules/Platform/Linux-GNU.cmake" - "/usr/share/cmake-3.28/Modules/Platform/Linux-Initialize.cmake" - "/usr/share/cmake-3.28/Modules/Platform/Linux.cmake" - "/usr/share/cmake-3.28/Modules/Platform/UnixPaths.cmake" - ) - -# The corresponding makefile is: -set(CMAKE_MAKEFILE_OUTPUTS - "Makefile" - "CMakeFiles/cmake.check_cache" - ) - -# Byproducts of CMake generate step: -set(CMAKE_MAKEFILE_PRODUCTS - "CMakeFiles/CMakeDirectoryInformation.cmake" - "test/CMakeFiles/CMakeDirectoryInformation.cmake" - ) - -# Dependency information for all targets: -set(CMAKE_DEPEND_INFO_FILES - "CMakeFiles/FastDevFS.dir/DependInfo.cmake" - "test/CMakeFiles/run_tests.dir/DependInfo.cmake" - ) diff --git a/build/CMakeFiles/Makefile2 b/build/CMakeFiles/Makefile2 index a05ab15..d48877c 100644 --- a/build/CMakeFiles/Makefile2 +++ b/build/CMakeFiles/Makefile2 @@ -54,10 +54,10 @@ RM = /usr/bin/cmake -E rm -f EQUALS = = # The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/diya_limbani/FastDevFs +CMAKE_SOURCE_DIR = /home/devesh-bhardwaj/Desktop/FastDevFS # The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/diya_limbani/FastDevFs/build +CMAKE_BINARY_DIR = /home/devesh-bhardwaj/Desktop/FastDevFS/build #============================================================================= # Directory level rules for the build root directory @@ -98,14 +98,14 @@ test/clean: test/CMakeFiles/run_tests.dir/clean CMakeFiles/FastDevFS.dir/all: $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/depend $(MAKE) $(MAKESILENT) -f CMakeFiles/FastDevFS.dir/build.make CMakeFiles/FastDevFS.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9,10,11,12,13,14 "Built target FastDevFS" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9,10,11,12,13,14 "Built target FastDevFS" .PHONY : CMakeFiles/FastDevFS.dir/all # Build rule for subdir invocation for target. CMakeFiles/FastDevFS.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles 14 + $(CMAKE_COMMAND) -E cmake_progress_start /home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles 14 $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/FastDevFS.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles 0 + $(CMAKE_COMMAND) -E cmake_progress_start /home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles 0 .PHONY : CMakeFiles/FastDevFS.dir/rule # Convenience name for target. @@ -124,14 +124,14 @@ CMakeFiles/FastDevFS.dir/clean: test/CMakeFiles/run_tests.dir/all: $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/depend $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=15,16,17,18,19,20 "Built target run_tests" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles --progress-num=15,16,17,18,19,20 "Built target run_tests" .PHONY : test/CMakeFiles/run_tests.dir/all # Build rule for subdir invocation for target. test/CMakeFiles/run_tests.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles 6 + $(CMAKE_COMMAND) -E cmake_progress_start /home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles 6 $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 test/CMakeFiles/run_tests.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles 0 + $(CMAKE_COMMAND) -E cmake_progress_start /home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles 0 .PHONY : test/CMakeFiles/run_tests.dir/rule # Convenience name for target. diff --git a/build/CMakeFiles/TargetDirectories.txt b/build/CMakeFiles/TargetDirectories.txt index 4d4e9f1..d7931d3 100644 --- a/build/CMakeFiles/TargetDirectories.txt +++ b/build/CMakeFiles/TargetDirectories.txt @@ -1,8 +1,8 @@ -/home/diya_limbani/FastDevFs/build/CMakeFiles/FastDevFS.dir -/home/diya_limbani/FastDevFs/build/CMakeFiles/test.dir -/home/diya_limbani/FastDevFs/build/CMakeFiles/edit_cache.dir -/home/diya_limbani/FastDevFs/build/CMakeFiles/rebuild_cache.dir -/home/diya_limbani/FastDevFs/build/test/CMakeFiles/run_tests.dir -/home/diya_limbani/FastDevFs/build/test/CMakeFiles/test.dir -/home/diya_limbani/FastDevFs/build/test/CMakeFiles/edit_cache.dir -/home/diya_limbani/FastDevFs/build/test/CMakeFiles/rebuild_cache.dir +/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/FastDevFS.dir +/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/test.dir +/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/edit_cache.dir +/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles/rebuild_cache.dir +/home/devesh-bhardwaj/Desktop/FastDevFS/build/test/CMakeFiles/run_tests.dir +/home/devesh-bhardwaj/Desktop/FastDevFS/build/test/CMakeFiles/test.dir +/home/devesh-bhardwaj/Desktop/FastDevFS/build/test/CMakeFiles/edit_cache.dir +/home/devesh-bhardwaj/Desktop/FastDevFS/build/test/CMakeFiles/rebuild_cache.dir diff --git a/build/CMakeFiles/rules.ninja b/build/CMakeFiles/rules.ninja new file mode 100644 index 0000000..57c6bdf --- /dev/null +++ b/build/CMakeFiles/rules.ninja @@ -0,0 +1,83 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.28 + +# This file contains all the rules used to get the outputs files +# built from the input files. +# It is included in the main 'build.ninja'. + +# ============================================================================= +# Project: FastDevFS +# Configurations: Debug +# ============================================================================= +# ============================================================================= + +############################################# +# Rule for compiling CXX files. + +rule CXX_COMPILER__FastDevFS_unscanned_Debug + depfile = $DEP_FILE + deps = gcc + command = ${LAUNCHER}${CODE_CHECK}/usr/bin/g++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in + description = Building CXX object $out + + +############################################# +# Rule for linking CXX executable. + +rule CXX_EXECUTABLE_LINKER__FastDevFS_Debug + command = $PRE_LINK && /usr/bin/g++ $FLAGS $LINK_FLAGS $in -o $TARGET_FILE $LINK_PATH $LINK_LIBRARIES && $POST_BUILD + description = Linking CXX executable $TARGET_FILE + restat = $RESTAT + + +############################################# +# Rule for running custom commands. + +rule CUSTOM_COMMAND + command = $COMMAND + description = $DESC + + +############################################# +# Rule for compiling CXX files. + +rule CXX_COMPILER__run_tests_unscanned_Debug + depfile = $DEP_FILE + deps = gcc + command = ${LAUNCHER}${CODE_CHECK}/usr/bin/g++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in + description = Building CXX object $out + + +############################################# +# Rule for linking CXX executable. + +rule CXX_EXECUTABLE_LINKER__run_tests_Debug + command = $PRE_LINK && /usr/bin/g++ $FLAGS $LINK_FLAGS $in -o $TARGET_FILE $LINK_PATH $LINK_LIBRARIES && $POST_BUILD + description = Linking CXX executable $TARGET_FILE + restat = $RESTAT + + +############################################# +# Rule for re-running cmake. + +rule RERUN_CMAKE + command = /usr/bin/cmake --regenerate-during-build -S/home/devesh-bhardwaj/Desktop/FastDevFS -B/home/devesh-bhardwaj/Desktop/FastDevFS/build + description = Re-running CMake... + generator = 1 + + +############################################# +# Rule for cleaning all built files. + +rule CLEAN + command = /usr/bin/ninja $FILE_ARG -t clean $TARGETS + description = Cleaning all built files... + + +############################################# +# Rule for printing all primary targets available. + +rule HELP + command = /usr/bin/ninja -t targets + description = All primary targets available: + diff --git a/build/CTestTestfile.cmake b/build/CTestTestfile.cmake index af992f2..13e8814 100644 --- a/build/CTestTestfile.cmake +++ b/build/CTestTestfile.cmake @@ -1,6 +1,6 @@ # CMake generated Testfile for -# Source directory: /home/diya_limbani/FastDevFs -# Build directory: /home/diya_limbani/FastDevFs/build +# Source directory: /home/devesh-bhardwaj/Desktop/FastDevFS +# Build directory: /home/devesh-bhardwaj/Desktop/FastDevFS/build # # This file includes the relevant testing commands required for # testing this directory and lists subdirectories to be tested as well. diff --git a/build/FastDevFS b/build/FastDevFS index 0a720fc3e2ea597e4a5480bcac9b03a739fafca9..d7deeb486539124b28d5845110604dfc75a0ac64 100755 GIT binary patch delta 7398 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 HmGS=pCW18J delta 7236 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 diff --git a/build/Makefile b/build/Makefile index 67a77d9..c8e9645 100644 --- a/build/Makefile +++ b/build/Makefile @@ -57,10 +57,10 @@ RM = /usr/bin/cmake -E rm -f EQUALS = = # The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/diya_limbani/FastDevFs +CMAKE_SOURCE_DIR = /home/devesh-bhardwaj/Desktop/FastDevFS # The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/diya_limbani/FastDevFs/build +CMAKE_BINARY_DIR = /home/devesh-bhardwaj/Desktop/FastDevFS/build #============================================================================= # Targets provided globally by CMake. @@ -97,9 +97,9 @@ rebuild_cache/fast: rebuild_cache # The main all target all: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles /home/diya_limbani/FastDevFs/build//CMakeFiles/progress.marks + $(CMAKE_COMMAND) -E cmake_progress_start /home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles /home/devesh-bhardwaj/Desktop/FastDevFS/build//CMakeFiles/progress.marks $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all - $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles 0 + $(CMAKE_COMMAND) -E cmake_progress_start /home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles 0 .PHONY : all # The main clean target diff --git a/build/Testing/20260211-1534/Test.xml b/build/Testing/20260211-1534/Test.xml new file mode 100644 index 0000000..23dada6 --- /dev/null +++ b/build/Testing/20260211-1534/Test.xml @@ -0,0 +1,34 @@ + + + + Feb 11 21:04 IST + 1770824048 + + Feb 11 21:04 IST + 1770824048 + 0 + + diff --git a/build/Testing/TAG b/build/Testing/TAG new file mode 100644 index 0000000..957f28b --- /dev/null +++ b/build/Testing/TAG @@ -0,0 +1,3 @@ +20260211-1534 +Experimental +Experimental diff --git a/build/Testing/Temporary/LastTest_20260211-1534.log b/build/Testing/Temporary/LastTest_20260211-1534.log new file mode 100644 index 0000000..cf7b9ea --- /dev/null +++ b/build/Testing/Temporary/LastTest_20260211-1534.log @@ -0,0 +1,3 @@ +Start testing: Feb 11 21:04 IST +---------------------------------------------------------- +End testing: Feb 11 21:04 IST diff --git a/build/build.ninja b/build/build.ninja new file mode 100644 index 0000000..d28f80c --- /dev/null +++ b/build/build.ninja @@ -0,0 +1,388 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.28 + +# This file contains all the build statements describing the +# compilation DAG. + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# +# Which is the root file. +# ============================================================================= + +# ============================================================================= +# Project: FastDevFS +# Configurations: Debug +# ============================================================================= + +############################################# +# Minimal version of Ninja required by this file + +ninja_required_version = 1.5 + + +############################################# +# Set configuration variable for custom commands. + +CONFIGURATION = Debug +# ============================================================================= +# Include auxiliary files. + + +############################################# +# Include rules file. + +include CMakeFiles/rules.ninja + +# ============================================================================= + +############################################# +# Logical path to working directory; prefix for absolute paths. + +cmake_ninja_workdir = /home/devesh-bhardwaj/Desktop/FastDevFS/build/ +# ============================================================================= +# Object build statements for EXECUTABLE target FastDevFS + + +############################################# +# Order-only phony target for FastDevFS + +build cmake_object_order_depends_target_FastDevFS: phony || CMakeFiles/FastDevFS.dir + +build CMakeFiles/FastDevFS.dir/main.cpp.o: CXX_COMPILER__FastDevFS_unscanned_Debug /home/devesh-bhardwaj/Desktop/FastDevFS/main.cpp || cmake_object_order_depends_target_FastDevFS + DEP_FILE = CMakeFiles/FastDevFS.dir/main.cpp.o.d + FLAGS = -g + INCLUDES = -I/usr/include/fuse3 -I/home/devesh-bhardwaj/Desktop/FastDevFS/src/include + OBJECT_DIR = CMakeFiles/FastDevFS.dir + OBJECT_FILE_DIR = CMakeFiles/FastDevFS.dir + TARGET_COMPILE_PDB = CMakeFiles/FastDevFS.dir/ + TARGET_PDB = FastDevFS.pdb + +build CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o: CXX_COMPILER__FastDevFS_unscanned_Debug /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/getattr.cpp || cmake_object_order_depends_target_FastDevFS + DEP_FILE = CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o.d + FLAGS = -g + INCLUDES = -I/usr/include/fuse3 -I/home/devesh-bhardwaj/Desktop/FastDevFS/src/include + OBJECT_DIR = CMakeFiles/FastDevFS.dir + OBJECT_FILE_DIR = CMakeFiles/FastDevFS.dir/src/src/fuse_functions + TARGET_COMPILE_PDB = CMakeFiles/FastDevFS.dir/ + TARGET_PDB = FastDevFS.pdb + +build CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o: CXX_COMPILER__FastDevFS_unscanned_Debug /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/readdir.cpp || cmake_object_order_depends_target_FastDevFS + DEP_FILE = CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o.d + FLAGS = -g + INCLUDES = -I/usr/include/fuse3 -I/home/devesh-bhardwaj/Desktop/FastDevFS/src/include + OBJECT_DIR = CMakeFiles/FastDevFS.dir + OBJECT_FILE_DIR = CMakeFiles/FastDevFS.dir/src/src/fuse_functions + TARGET_COMPILE_PDB = CMakeFiles/FastDevFS.dir/ + TARGET_PDB = FastDevFS.pdb + +build CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o: CXX_COMPILER__FastDevFS_unscanned_Debug /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/opendir.cpp || cmake_object_order_depends_target_FastDevFS + DEP_FILE = CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o.d + FLAGS = -g + INCLUDES = -I/usr/include/fuse3 -I/home/devesh-bhardwaj/Desktop/FastDevFS/src/include + OBJECT_DIR = CMakeFiles/FastDevFS.dir + OBJECT_FILE_DIR = CMakeFiles/FastDevFS.dir/src/src/fuse_functions + TARGET_COMPILE_PDB = CMakeFiles/FastDevFS.dir/ + TARGET_PDB = FastDevFS.pdb + +build CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o: CXX_COMPILER__FastDevFS_unscanned_Debug /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/mkdir.cpp || cmake_object_order_depends_target_FastDevFS + DEP_FILE = CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o.d + FLAGS = -g + INCLUDES = -I/usr/include/fuse3 -I/home/devesh-bhardwaj/Desktop/FastDevFS/src/include + OBJECT_DIR = CMakeFiles/FastDevFS.dir + OBJECT_FILE_DIR = CMakeFiles/FastDevFS.dir/src/src/fuse_functions + TARGET_COMPILE_PDB = CMakeFiles/FastDevFS.dir/ + TARGET_PDB = FastDevFS.pdb + +build CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o: CXX_COMPILER__FastDevFS_unscanned_Debug /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/rmdir.cpp || cmake_object_order_depends_target_FastDevFS + DEP_FILE = CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o.d + FLAGS = -g + INCLUDES = -I/usr/include/fuse3 -I/home/devesh-bhardwaj/Desktop/FastDevFS/src/include + OBJECT_DIR = CMakeFiles/FastDevFS.dir + OBJECT_FILE_DIR = CMakeFiles/FastDevFS.dir/src/src/fuse_functions + TARGET_COMPILE_PDB = CMakeFiles/FastDevFS.dir/ + TARGET_PDB = FastDevFS.pdb + +build CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o: CXX_COMPILER__FastDevFS_unscanned_Debug /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/access.cpp || cmake_object_order_depends_target_FastDevFS + DEP_FILE = CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o.d + FLAGS = -g + INCLUDES = -I/usr/include/fuse3 -I/home/devesh-bhardwaj/Desktop/FastDevFS/src/include + OBJECT_DIR = CMakeFiles/FastDevFS.dir + OBJECT_FILE_DIR = CMakeFiles/FastDevFS.dir/src/src/fuse_functions + TARGET_COMPILE_PDB = CMakeFiles/FastDevFS.dir/ + TARGET_PDB = FastDevFS.pdb + +build CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o: CXX_COMPILER__FastDevFS_unscanned_Debug /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/statfs.cpp || cmake_object_order_depends_target_FastDevFS + DEP_FILE = CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o.d + FLAGS = -g + INCLUDES = -I/usr/include/fuse3 -I/home/devesh-bhardwaj/Desktop/FastDevFS/src/include + OBJECT_DIR = CMakeFiles/FastDevFS.dir + OBJECT_FILE_DIR = CMakeFiles/FastDevFS.dir/src/src/fuse_functions + TARGET_COMPILE_PDB = CMakeFiles/FastDevFS.dir/ + TARGET_PDB = FastDevFS.pdb + +build CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o: CXX_COMPILER__FastDevFS_unscanned_Debug /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/file_funcs.cpp || cmake_object_order_depends_target_FastDevFS + DEP_FILE = CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o.d + FLAGS = -g + INCLUDES = -I/usr/include/fuse3 -I/home/devesh-bhardwaj/Desktop/FastDevFS/src/include + OBJECT_DIR = CMakeFiles/FastDevFS.dir + OBJECT_FILE_DIR = CMakeFiles/FastDevFS.dir/src/src/fuse_functions + TARGET_COMPILE_PDB = CMakeFiles/FastDevFS.dir/ + TARGET_PDB = FastDevFS.pdb + +build CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o: CXX_COMPILER__FastDevFS_unscanned_Debug /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/utimens.cpp || cmake_object_order_depends_target_FastDevFS + DEP_FILE = CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o.d + FLAGS = -g + INCLUDES = -I/usr/include/fuse3 -I/home/devesh-bhardwaj/Desktop/FastDevFS/src/include + OBJECT_DIR = CMakeFiles/FastDevFS.dir + OBJECT_FILE_DIR = CMakeFiles/FastDevFS.dir/src/src/fuse_functions + TARGET_COMPILE_PDB = CMakeFiles/FastDevFS.dir/ + TARGET_PDB = FastDevFS.pdb + +build CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o: CXX_COMPILER__FastDevFS_unscanned_Debug /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/dir_manager.cpp || cmake_object_order_depends_target_FastDevFS + DEP_FILE = CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o.d + FLAGS = -g + INCLUDES = -I/usr/include/fuse3 -I/home/devesh-bhardwaj/Desktop/FastDevFS/src/include + OBJECT_DIR = CMakeFiles/FastDevFS.dir + OBJECT_FILE_DIR = CMakeFiles/FastDevFS.dir/src/src/daemon + TARGET_COMPILE_PDB = CMakeFiles/FastDevFS.dir/ + TARGET_PDB = FastDevFS.pdb + +build CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o: CXX_COMPILER__FastDevFS_unscanned_Debug /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/hash.cpp || cmake_object_order_depends_target_FastDevFS + DEP_FILE = CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o.d + FLAGS = -g + INCLUDES = -I/usr/include/fuse3 -I/home/devesh-bhardwaj/Desktop/FastDevFS/src/include + OBJECT_DIR = CMakeFiles/FastDevFS.dir + OBJECT_FILE_DIR = CMakeFiles/FastDevFS.dir/src/src/daemon + TARGET_COMPILE_PDB = CMakeFiles/FastDevFS.dir/ + TARGET_PDB = FastDevFS.pdb + +build CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o: CXX_COMPILER__FastDevFS_unscanned_Debug /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/file_io.cpp || cmake_object_order_depends_target_FastDevFS + DEP_FILE = CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o.d + FLAGS = -g + INCLUDES = -I/usr/include/fuse3 -I/home/devesh-bhardwaj/Desktop/FastDevFS/src/include + OBJECT_DIR = CMakeFiles/FastDevFS.dir + OBJECT_FILE_DIR = CMakeFiles/FastDevFS.dir/src/src/daemon + TARGET_COMPILE_PDB = CMakeFiles/FastDevFS.dir/ + TARGET_PDB = FastDevFS.pdb + + +# ============================================================================= +# Link build statements for EXECUTABLE target FastDevFS + + +############################################# +# Link the executable FastDevFS + +build FastDevFS: CXX_EXECUTABLE_LINKER__FastDevFS_Debug CMakeFiles/FastDevFS.dir/main.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o + FLAGS = -g + LINK_LIBRARIES = -lfuse3 -lpthread + OBJECT_DIR = CMakeFiles/FastDevFS.dir + POST_BUILD = : + PRE_LINK = : + TARGET_COMPILE_PDB = CMakeFiles/FastDevFS.dir/ + TARGET_FILE = FastDevFS + TARGET_PDB = FastDevFS.pdb + + +############################################# +# Utility command for test + +build CMakeFiles/test.util: CUSTOM_COMMAND + COMMAND = cd /home/devesh-bhardwaj/Desktop/FastDevFS/build && /usr/bin/ctest --force-new-ctest-process + DESC = Running tests... + pool = console + restat = 1 + +build test: phony CMakeFiles/test.util + + +############################################# +# Utility command for edit_cache + +build CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd /home/devesh-bhardwaj/Desktop/FastDevFS/build && /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. + DESC = No interactive CMake dialog available... + restat = 1 + +build edit_cache: phony CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd /home/devesh-bhardwaj/Desktop/FastDevFS/build && /usr/bin/cmake --regenerate-during-build -S/home/devesh-bhardwaj/Desktop/FastDevFS -B/home/devesh-bhardwaj/Desktop/FastDevFS/build + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build rebuild_cache: phony CMakeFiles/rebuild_cache.util + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# /home/devesh-bhardwaj/Desktop/FastDevFS/CMakeLists.txt +# ============================================================================= + +# ============================================================================= +# Object build statements for EXECUTABLE target run_tests + + +############################################# +# Order-only phony target for run_tests + +build cmake_object_order_depends_target_run_tests: phony || test/CMakeFiles/run_tests.dir + +build test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o: CXX_COMPILER__run_tests_unscanned_Debug /home/devesh-bhardwaj/Desktop/FastDevFS/test/test_dir_manager.cpp || cmake_object_order_depends_target_run_tests + DEP_FILE = test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o.d + FLAGS = -g -DGTEST_HAS_PTHREAD=1 + INCLUDES = -I/home/devesh-bhardwaj/Desktop/FastDevFS/test/../src/include + OBJECT_DIR = test/CMakeFiles/run_tests.dir + OBJECT_FILE_DIR = test/CMakeFiles/run_tests.dir + TARGET_COMPILE_PDB = test/CMakeFiles/run_tests.dir/ + TARGET_PDB = test/run_tests.pdb + +build test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: CXX_COMPILER__run_tests_unscanned_Debug /home/devesh-bhardwaj/Desktop/FastDevFS/test/test_hash_store.cpp || cmake_object_order_depends_target_run_tests + DEP_FILE = test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o.d + FLAGS = -g -DGTEST_HAS_PTHREAD=1 + INCLUDES = -I/home/devesh-bhardwaj/Desktop/FastDevFS/test/../src/include + OBJECT_DIR = test/CMakeFiles/run_tests.dir + OBJECT_FILE_DIR = test/CMakeFiles/run_tests.dir + TARGET_COMPILE_PDB = test/CMakeFiles/run_tests.dir/ + TARGET_PDB = test/run_tests.pdb + +build test/CMakeFiles/run_tests.dir/persistence_test.cpp.o: CXX_COMPILER__run_tests_unscanned_Debug /home/devesh-bhardwaj/Desktop/FastDevFS/test/persistence_test.cpp || cmake_object_order_depends_target_run_tests + DEP_FILE = test/CMakeFiles/run_tests.dir/persistence_test.cpp.o.d + FLAGS = -g -DGTEST_HAS_PTHREAD=1 + INCLUDES = -I/home/devesh-bhardwaj/Desktop/FastDevFS/test/../src/include + OBJECT_DIR = test/CMakeFiles/run_tests.dir + OBJECT_FILE_DIR = test/CMakeFiles/run_tests.dir + TARGET_COMPILE_PDB = test/CMakeFiles/run_tests.dir/ + TARGET_PDB = test/run_tests.pdb + +build test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o: CXX_COMPILER__run_tests_unscanned_Debug /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/dir_manager.cpp || cmake_object_order_depends_target_run_tests + DEP_FILE = test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o.d + FLAGS = -g -DGTEST_HAS_PTHREAD=1 + INCLUDES = -I/home/devesh-bhardwaj/Desktop/FastDevFS/test/../src/include + OBJECT_DIR = test/CMakeFiles/run_tests.dir + OBJECT_FILE_DIR = test/CMakeFiles/run_tests.dir/__/src/src/daemon + TARGET_COMPILE_PDB = test/CMakeFiles/run_tests.dir/ + TARGET_PDB = test/run_tests.pdb + +build test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o: CXX_COMPILER__run_tests_unscanned_Debug /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/hash.cpp || cmake_object_order_depends_target_run_tests + DEP_FILE = test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o.d + FLAGS = -g -DGTEST_HAS_PTHREAD=1 + INCLUDES = -I/home/devesh-bhardwaj/Desktop/FastDevFS/test/../src/include + OBJECT_DIR = test/CMakeFiles/run_tests.dir + OBJECT_FILE_DIR = test/CMakeFiles/run_tests.dir/__/src/src/daemon + TARGET_COMPILE_PDB = test/CMakeFiles/run_tests.dir/ + TARGET_PDB = test/run_tests.pdb + + +# ============================================================================= +# Link build statements for EXECUTABLE target run_tests + + +############################################# +# Link the executable test/run_tests + +build test/run_tests: CXX_EXECUTABLE_LINKER__run_tests_Debug test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o test/CMakeFiles/run_tests.dir/persistence_test.cpp.o test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o | /usr/lib/x86_64-linux-gnu/libgtest_main.a /usr/lib/x86_64-linux-gnu/libgtest.a + FLAGS = -g + LINK_LIBRARIES = -lpthread /usr/lib/x86_64-linux-gnu/libgtest_main.a /usr/lib/x86_64-linux-gnu/libgtest.a + OBJECT_DIR = test/CMakeFiles/run_tests.dir + POST_BUILD = : + PRE_LINK = : + TARGET_COMPILE_PDB = test/CMakeFiles/run_tests.dir/ + TARGET_FILE = test/run_tests + TARGET_PDB = test/run_tests.pdb + + +############################################# +# Utility command for test + +build test/CMakeFiles/test.util: CUSTOM_COMMAND + COMMAND = cd /home/devesh-bhardwaj/Desktop/FastDevFS/build/test && /usr/bin/ctest --force-new-ctest-process + DESC = Running tests... + pool = console + restat = 1 + +build test/test: phony test/CMakeFiles/test.util + + +############################################# +# Utility command for edit_cache + +build test/CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd /home/devesh-bhardwaj/Desktop/FastDevFS/build/test && /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. + DESC = No interactive CMake dialog available... + restat = 1 + +build test/edit_cache: phony test/CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build test/CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd /home/devesh-bhardwaj/Desktop/FastDevFS/build/test && /usr/bin/cmake --regenerate-during-build -S/home/devesh-bhardwaj/Desktop/FastDevFS -B/home/devesh-bhardwaj/Desktop/FastDevFS/build + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build test/rebuild_cache: phony test/CMakeFiles/rebuild_cache.util + +# ============================================================================= +# Target aliases. + +build run_tests: phony test/run_tests + +# ============================================================================= +# Folder targets. + +# ============================================================================= + +############################################# +# Folder: /home/devesh-bhardwaj/Desktop/FastDevFS/build + +build all: phony FastDevFS test/all + +# ============================================================================= + +############################################# +# Folder: /home/devesh-bhardwaj/Desktop/FastDevFS/build/test + +build test/all: phony test/run_tests + +# ============================================================================= +# Built-in targets + + +############################################# +# Re-run CMake if any of its inputs changed. + +build build.ninja: RERUN_CMAKE | /home/devesh-bhardwaj/Desktop/FastDevFS/CMakeLists.txt /home/devesh-bhardwaj/Desktop/FastDevFS/test/CMakeLists.txt /usr/lib/x86_64-linux-gnu/cmake/GTest/GTestConfig.cmake /usr/lib/x86_64-linux-gnu/cmake/GTest/GTestConfigVersion.cmake /usr/lib/x86_64-linux-gnu/cmake/GTest/GTestTargets-none.cmake /usr/lib/x86_64-linux-gnu/cmake/GTest/GTestTargets.cmake /usr/share/cmake-3.28/Modules/CMakeCCompiler.cmake.in /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c /usr/share/cmake-3.28/Modules/CMakeCInformation.cmake /usr/share/cmake-3.28/Modules/CMakeCXXCompiler.cmake.in /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp /usr/share/cmake-3.28/Modules/CMakeCXXInformation.cmake /usr/share/cmake-3.28/Modules/CMakeCommonLanguageInclude.cmake /usr/share/cmake-3.28/Modules/CMakeCompilerIdDetection.cmake /usr/share/cmake-3.28/Modules/CMakeDetermineCCompiler.cmake /usr/share/cmake-3.28/Modules/CMakeDetermineCXXCompiler.cmake /usr/share/cmake-3.28/Modules/CMakeDetermineCompileFeatures.cmake /usr/share/cmake-3.28/Modules/CMakeDetermineCompiler.cmake /usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake /usr/share/cmake-3.28/Modules/CMakeDetermineCompilerId.cmake /usr/share/cmake-3.28/Modules/CMakeDetermineSystem.cmake /usr/share/cmake-3.28/Modules/CMakeFindBinUtils.cmake /usr/share/cmake-3.28/Modules/CMakeFindDependencyMacro.cmake /usr/share/cmake-3.28/Modules/CMakeGenericSystem.cmake /usr/share/cmake-3.28/Modules/CMakeInitializeConfigs.cmake /usr/share/cmake-3.28/Modules/CMakeLanguageInformation.cmake /usr/share/cmake-3.28/Modules/CMakeNinjaFindMake.cmake /usr/share/cmake-3.28/Modules/CMakeParseImplicitIncludeInfo.cmake /usr/share/cmake-3.28/Modules/CMakeParseImplicitLinkInfo.cmake /usr/share/cmake-3.28/Modules/CMakeParseLibraryArchitecture.cmake /usr/share/cmake-3.28/Modules/CMakeSystem.cmake.in /usr/share/cmake-3.28/Modules/CMakeSystemSpecificInformation.cmake /usr/share/cmake-3.28/Modules/CMakeSystemSpecificInitialize.cmake /usr/share/cmake-3.28/Modules/CMakeTestCCompiler.cmake /usr/share/cmake-3.28/Modules/CMakeTestCXXCompiler.cmake /usr/share/cmake-3.28/Modules/CMakeTestCompilerCommon.cmake /usr/share/cmake-3.28/Modules/CheckCSourceCompiles.cmake /usr/share/cmake-3.28/Modules/CheckIncludeFile.cmake /usr/share/cmake-3.28/Modules/CheckLibraryExists.cmake /usr/share/cmake-3.28/Modules/Compiler/ADSP-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/ARMCC-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/ARMClang-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/AppleClang-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/Borland-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/Bruce-C-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/share/cmake-3.28/Modules/Compiler/Clang-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /usr/share/cmake-3.28/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/Compaq-C-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/Cray-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/CrayClang-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/GHS-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/GNU-C-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/GNU-C.cmake /usr/share/cmake-3.28/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/GNU-CXX.cmake /usr/share/cmake-3.28/Modules/Compiler/GNU-FindBinUtils.cmake /usr/share/cmake-3.28/Modules/Compiler/GNU.cmake /usr/share/cmake-3.28/Modules/Compiler/HP-C-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/IAR-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake /usr/share/cmake-3.28/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /usr/share/cmake-3.28/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/Intel-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/LCC-C-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/MSVC-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/NVHPC-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/OrangeC-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/PGI-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/PathScale-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/SCO-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/SDCC-C-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/SunPro-C-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/TI-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/Tasking-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/Watcom-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/XL-C-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/XLClang-C-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/zOS-C-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/FindGTest.cmake /usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake /usr/share/cmake-3.28/Modules/FindPackageMessage.cmake /usr/share/cmake-3.28/Modules/FindPkgConfig.cmake /usr/share/cmake-3.28/Modules/FindThreads.cmake /usr/share/cmake-3.28/Modules/GoogleTest.cmake /usr/share/cmake-3.28/Modules/Internal/CheckSourceCompiles.cmake /usr/share/cmake-3.28/Modules/Internal/FeatureTesting.cmake /usr/share/cmake-3.28/Modules/Platform/Linux-Determine-CXX.cmake /usr/share/cmake-3.28/Modules/Platform/Linux-GNU-C.cmake /usr/share/cmake-3.28/Modules/Platform/Linux-GNU-CXX.cmake /usr/share/cmake-3.28/Modules/Platform/Linux-GNU.cmake /usr/share/cmake-3.28/Modules/Platform/Linux-Initialize.cmake /usr/share/cmake-3.28/Modules/Platform/Linux.cmake /usr/share/cmake-3.28/Modules/Platform/UnixPaths.cmake CMakeCache.txt CMakeFiles/3.28.3/CMakeCCompiler.cmake CMakeFiles/3.28.3/CMakeCXXCompiler.cmake CMakeFiles/3.28.3/CMakeSystem.cmake + pool = console + + +############################################# +# A missing CMake input file is not an error. + +build /home/devesh-bhardwaj/Desktop/FastDevFS/CMakeLists.txt /home/devesh-bhardwaj/Desktop/FastDevFS/test/CMakeLists.txt /usr/lib/x86_64-linux-gnu/cmake/GTest/GTestConfig.cmake /usr/lib/x86_64-linux-gnu/cmake/GTest/GTestConfigVersion.cmake /usr/lib/x86_64-linux-gnu/cmake/GTest/GTestTargets-none.cmake /usr/lib/x86_64-linux-gnu/cmake/GTest/GTestTargets.cmake /usr/share/cmake-3.28/Modules/CMakeCCompiler.cmake.in /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c /usr/share/cmake-3.28/Modules/CMakeCInformation.cmake /usr/share/cmake-3.28/Modules/CMakeCXXCompiler.cmake.in /usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp /usr/share/cmake-3.28/Modules/CMakeCXXInformation.cmake /usr/share/cmake-3.28/Modules/CMakeCommonLanguageInclude.cmake /usr/share/cmake-3.28/Modules/CMakeCompilerIdDetection.cmake /usr/share/cmake-3.28/Modules/CMakeDetermineCCompiler.cmake /usr/share/cmake-3.28/Modules/CMakeDetermineCXXCompiler.cmake /usr/share/cmake-3.28/Modules/CMakeDetermineCompileFeatures.cmake /usr/share/cmake-3.28/Modules/CMakeDetermineCompiler.cmake /usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake /usr/share/cmake-3.28/Modules/CMakeDetermineCompilerId.cmake /usr/share/cmake-3.28/Modules/CMakeDetermineSystem.cmake /usr/share/cmake-3.28/Modules/CMakeFindBinUtils.cmake /usr/share/cmake-3.28/Modules/CMakeFindDependencyMacro.cmake /usr/share/cmake-3.28/Modules/CMakeGenericSystem.cmake /usr/share/cmake-3.28/Modules/CMakeInitializeConfigs.cmake /usr/share/cmake-3.28/Modules/CMakeLanguageInformation.cmake /usr/share/cmake-3.28/Modules/CMakeNinjaFindMake.cmake /usr/share/cmake-3.28/Modules/CMakeParseImplicitIncludeInfo.cmake /usr/share/cmake-3.28/Modules/CMakeParseImplicitLinkInfo.cmake /usr/share/cmake-3.28/Modules/CMakeParseLibraryArchitecture.cmake /usr/share/cmake-3.28/Modules/CMakeSystem.cmake.in /usr/share/cmake-3.28/Modules/CMakeSystemSpecificInformation.cmake /usr/share/cmake-3.28/Modules/CMakeSystemSpecificInitialize.cmake /usr/share/cmake-3.28/Modules/CMakeTestCCompiler.cmake /usr/share/cmake-3.28/Modules/CMakeTestCXXCompiler.cmake /usr/share/cmake-3.28/Modules/CMakeTestCompilerCommon.cmake /usr/share/cmake-3.28/Modules/CheckCSourceCompiles.cmake /usr/share/cmake-3.28/Modules/CheckIncludeFile.cmake /usr/share/cmake-3.28/Modules/CheckLibraryExists.cmake /usr/share/cmake-3.28/Modules/Compiler/ADSP-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/ARMCC-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/ARMClang-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/AppleClang-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/Borland-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/Bruce-C-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/share/cmake-3.28/Modules/Compiler/Clang-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /usr/share/cmake-3.28/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/Compaq-C-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/Cray-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/CrayClang-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/GHS-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/GNU-C-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/GNU-C.cmake /usr/share/cmake-3.28/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/GNU-CXX.cmake /usr/share/cmake-3.28/Modules/Compiler/GNU-FindBinUtils.cmake /usr/share/cmake-3.28/Modules/Compiler/GNU.cmake /usr/share/cmake-3.28/Modules/Compiler/HP-C-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/IAR-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake /usr/share/cmake-3.28/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /usr/share/cmake-3.28/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/Intel-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/LCC-C-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/MSVC-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/NVHPC-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/OrangeC-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/PGI-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/PathScale-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/SCO-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/SDCC-C-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/SunPro-C-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/TI-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/Tasking-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/Watcom-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/XL-C-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/XLClang-C-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/zOS-C-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /usr/share/cmake-3.28/Modules/FindGTest.cmake /usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake /usr/share/cmake-3.28/Modules/FindPackageMessage.cmake /usr/share/cmake-3.28/Modules/FindPkgConfig.cmake /usr/share/cmake-3.28/Modules/FindThreads.cmake /usr/share/cmake-3.28/Modules/GoogleTest.cmake /usr/share/cmake-3.28/Modules/Internal/CheckSourceCompiles.cmake /usr/share/cmake-3.28/Modules/Internal/FeatureTesting.cmake /usr/share/cmake-3.28/Modules/Platform/Linux-Determine-CXX.cmake /usr/share/cmake-3.28/Modules/Platform/Linux-GNU-C.cmake /usr/share/cmake-3.28/Modules/Platform/Linux-GNU-CXX.cmake /usr/share/cmake-3.28/Modules/Platform/Linux-GNU.cmake /usr/share/cmake-3.28/Modules/Platform/Linux-Initialize.cmake /usr/share/cmake-3.28/Modules/Platform/Linux.cmake /usr/share/cmake-3.28/Modules/Platform/UnixPaths.cmake CMakeCache.txt CMakeFiles/3.28.3/CMakeCCompiler.cmake CMakeFiles/3.28.3/CMakeCXXCompiler.cmake CMakeFiles/3.28.3/CMakeSystem.cmake: phony + + +############################################# +# Clean all the built files. + +build clean: CLEAN + + +############################################# +# Print all primary targets available. + +build help: HELP + + +############################################# +# Make the all target the default. + +default all diff --git a/build/cmake_install.cmake b/build/cmake_install.cmake index befc592..826a317 100644 --- a/build/cmake_install.cmake +++ b/build/cmake_install.cmake @@ -1,4 +1,4 @@ -# Install script for directory: /home/diya_limbani/FastDevFs +# Install script for directory: /home/devesh-bhardwaj/Desktop/FastDevFS # Set the install prefix if(NOT DEFINED CMAKE_INSTALL_PREFIX) @@ -12,7 +12,7 @@ if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") else() - set(CMAKE_INSTALL_CONFIG_NAME "") + set(CMAKE_INSTALL_CONFIG_NAME "Debug") endif() message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") endif() @@ -44,7 +44,7 @@ endif() if(NOT CMAKE_INSTALL_LOCAL_ONLY) # Include the install script for each subdirectory. - include("/home/diya_limbani/FastDevFs/build/test/cmake_install.cmake") + include("/home/devesh-bhardwaj/Desktop/FastDevFS/build/test/cmake_install.cmake") endif() @@ -56,5 +56,5 @@ endif() string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT "${CMAKE_INSTALL_MANIFEST_FILES}") -file(WRITE "/home/diya_limbani/FastDevFs/build/${CMAKE_INSTALL_MANIFEST}" +file(WRITE "/home/devesh-bhardwaj/Desktop/FastDevFS/build/${CMAKE_INSTALL_MANIFEST}" "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/build/compile_commands.json b/build/compile_commands.json new file mode 100644 index 0000000..8551d07 --- /dev/null +++ b/build/compile_commands.json @@ -0,0 +1,110 @@ +[ +{ + "directory": "/home/devesh-bhardwaj/Desktop/FastDevFS/build", + "command": "/usr/bin/g++ -I/usr/include/fuse3 -I/home/devesh-bhardwaj/Desktop/FastDevFS/src/include -g -o CMakeFiles/FastDevFS.dir/main.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/main.cpp", + "file": "/home/devesh-bhardwaj/Desktop/FastDevFS/main.cpp", + "output": "CMakeFiles/FastDevFS.dir/main.cpp.o" +}, +{ + "directory": "/home/devesh-bhardwaj/Desktop/FastDevFS/build", + "command": "/usr/bin/g++ -I/usr/include/fuse3 -I/home/devesh-bhardwaj/Desktop/FastDevFS/src/include -g -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/getattr.cpp", + "file": "/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/getattr.cpp", + "output": "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/getattr.cpp.o" +}, +{ + "directory": "/home/devesh-bhardwaj/Desktop/FastDevFS/build", + "command": "/usr/bin/g++ -I/usr/include/fuse3 -I/home/devesh-bhardwaj/Desktop/FastDevFS/src/include -g -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/readdir.cpp", + "file": "/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/readdir.cpp", + "output": "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/readdir.cpp.o" +}, +{ + "directory": "/home/devesh-bhardwaj/Desktop/FastDevFS/build", + "command": "/usr/bin/g++ -I/usr/include/fuse3 -I/home/devesh-bhardwaj/Desktop/FastDevFS/src/include -g -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/opendir.cpp", + "file": "/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/opendir.cpp", + "output": "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/opendir.cpp.o" +}, +{ + "directory": "/home/devesh-bhardwaj/Desktop/FastDevFS/build", + "command": "/usr/bin/g++ -I/usr/include/fuse3 -I/home/devesh-bhardwaj/Desktop/FastDevFS/src/include -g -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/mkdir.cpp", + "file": "/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/mkdir.cpp", + "output": "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/mkdir.cpp.o" +}, +{ + "directory": "/home/devesh-bhardwaj/Desktop/FastDevFS/build", + "command": "/usr/bin/g++ -I/usr/include/fuse3 -I/home/devesh-bhardwaj/Desktop/FastDevFS/src/include -g -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/rmdir.cpp", + "file": "/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/rmdir.cpp", + "output": "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/rmdir.cpp.o" +}, +{ + "directory": "/home/devesh-bhardwaj/Desktop/FastDevFS/build", + "command": "/usr/bin/g++ -I/usr/include/fuse3 -I/home/devesh-bhardwaj/Desktop/FastDevFS/src/include -g -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/access.cpp", + "file": "/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/access.cpp", + "output": "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/access.cpp.o" +}, +{ + "directory": "/home/devesh-bhardwaj/Desktop/FastDevFS/build", + "command": "/usr/bin/g++ -I/usr/include/fuse3 -I/home/devesh-bhardwaj/Desktop/FastDevFS/src/include -g -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/statfs.cpp", + "file": "/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/statfs.cpp", + "output": "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/statfs.cpp.o" +}, +{ + "directory": "/home/devesh-bhardwaj/Desktop/FastDevFS/build", + "command": "/usr/bin/g++ -I/usr/include/fuse3 -I/home/devesh-bhardwaj/Desktop/FastDevFS/src/include -g -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/file_funcs.cpp", + "file": "/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/file_funcs.cpp", + "output": "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/file_funcs.cpp.o" +}, +{ + "directory": "/home/devesh-bhardwaj/Desktop/FastDevFS/build", + "command": "/usr/bin/g++ -I/usr/include/fuse3 -I/home/devesh-bhardwaj/Desktop/FastDevFS/src/include -g -o CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/utimens.cpp", + "file": "/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/fuse_functions/utimens.cpp", + "output": "CMakeFiles/FastDevFS.dir/src/src/fuse_functions/utimens.cpp.o" +}, +{ + "directory": "/home/devesh-bhardwaj/Desktop/FastDevFS/build", + "command": "/usr/bin/g++ -I/usr/include/fuse3 -I/home/devesh-bhardwaj/Desktop/FastDevFS/src/include -g -o CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/dir_manager.cpp", + "file": "/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/dir_manager.cpp", + "output": "CMakeFiles/FastDevFS.dir/src/src/daemon/dir_manager.cpp.o" +}, +{ + "directory": "/home/devesh-bhardwaj/Desktop/FastDevFS/build", + "command": "/usr/bin/g++ -I/usr/include/fuse3 -I/home/devesh-bhardwaj/Desktop/FastDevFS/src/include -g -o CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/hash.cpp", + "file": "/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/hash.cpp", + "output": "CMakeFiles/FastDevFS.dir/src/src/daemon/hash.cpp.o" +}, +{ + "directory": "/home/devesh-bhardwaj/Desktop/FastDevFS/build", + "command": "/usr/bin/g++ -I/usr/include/fuse3 -I/home/devesh-bhardwaj/Desktop/FastDevFS/src/include -g -o CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/file_io.cpp", + "file": "/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/file_io.cpp", + "output": "CMakeFiles/FastDevFS.dir/src/src/daemon/file_io.cpp.o" +}, +{ + "directory": "/home/devesh-bhardwaj/Desktop/FastDevFS/build", + "command": "/usr/bin/g++ -I/home/devesh-bhardwaj/Desktop/FastDevFS/test/../src/include -g -DGTEST_HAS_PTHREAD=1 -o test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/test/test_dir_manager.cpp", + "file": "/home/devesh-bhardwaj/Desktop/FastDevFS/test/test_dir_manager.cpp", + "output": "test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o" +}, +{ + "directory": "/home/devesh-bhardwaj/Desktop/FastDevFS/build", + "command": "/usr/bin/g++ -I/home/devesh-bhardwaj/Desktop/FastDevFS/test/../src/include -g -DGTEST_HAS_PTHREAD=1 -o test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/test/test_hash_store.cpp", + "file": "/home/devesh-bhardwaj/Desktop/FastDevFS/test/test_hash_store.cpp", + "output": "test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o" +}, +{ + "directory": "/home/devesh-bhardwaj/Desktop/FastDevFS/build", + "command": "/usr/bin/g++ -I/home/devesh-bhardwaj/Desktop/FastDevFS/test/../src/include -g -DGTEST_HAS_PTHREAD=1 -o test/CMakeFiles/run_tests.dir/persistence_test.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/test/persistence_test.cpp", + "file": "/home/devesh-bhardwaj/Desktop/FastDevFS/test/persistence_test.cpp", + "output": "test/CMakeFiles/run_tests.dir/persistence_test.cpp.o" +}, +{ + "directory": "/home/devesh-bhardwaj/Desktop/FastDevFS/build", + "command": "/usr/bin/g++ -I/home/devesh-bhardwaj/Desktop/FastDevFS/test/../src/include -g -DGTEST_HAS_PTHREAD=1 -o test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/dir_manager.cpp", + "file": "/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/dir_manager.cpp", + "output": "test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o" +}, +{ + "directory": "/home/devesh-bhardwaj/Desktop/FastDevFS/build", + "command": "/usr/bin/g++ -I/home/devesh-bhardwaj/Desktop/FastDevFS/test/../src/include -g -DGTEST_HAS_PTHREAD=1 -o test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/hash.cpp", + "file": "/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/hash.cpp", + "output": "test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o" +} +] \ No newline at end of file diff --git a/build/test/CMakeFiles/CMakeDirectoryInformation.cmake b/build/test/CMakeFiles/CMakeDirectoryInformation.cmake index 49d8993..9965d31 100644 --- a/build/test/CMakeFiles/CMakeDirectoryInformation.cmake +++ b/build/test/CMakeFiles/CMakeDirectoryInformation.cmake @@ -2,8 +2,8 @@ # Generated by "Unix Makefiles" Generator, CMake Version 3.28 # Relative path conversion top directories. -set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/diya_limbani/FastDevFs") -set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/diya_limbani/FastDevFs/build") +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/devesh-bhardwaj/Desktop/FastDevFS") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/devesh-bhardwaj/Desktop/FastDevFS/build") # Force unix paths in dependencies. set(CMAKE_FORCE_UNIX_PATHS 1) diff --git a/build/test/CMakeFiles/run_tests.dir/DependInfo.cmake b/build/test/CMakeFiles/run_tests.dir/DependInfo.cmake index 0c5a8de..c36f6e2 100644 --- a/build/test/CMakeFiles/run_tests.dir/DependInfo.cmake +++ b/build/test/CMakeFiles/run_tests.dir/DependInfo.cmake @@ -8,11 +8,11 @@ set(CMAKE_DEPENDS_LANGUAGES # The set of dependency files which are needed: set(CMAKE_DEPENDS_DEPENDENCY_FILES - "/home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp" "test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o" "gcc" "test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o.d" - "/home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp" "test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o" "gcc" "test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o.d" - "/home/diya_limbani/FastDevFs/test/persistence_test.cpp" "test/CMakeFiles/run_tests.dir/persistence_test.cpp.o" "gcc" "test/CMakeFiles/run_tests.dir/persistence_test.cpp.o.d" - "/home/diya_limbani/FastDevFs/test/test_dir_manager.cpp" "test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o" "gcc" "test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o.d" - "/home/diya_limbani/FastDevFs/test/test_hash_store.cpp" "test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o" "gcc" "test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o.d" + "/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/dir_manager.cpp" "test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o" "gcc" "test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o.d" + "/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/hash.cpp" "test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o" "gcc" "test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o.d" + "/home/devesh-bhardwaj/Desktop/FastDevFS/test/persistence_test.cpp" "test/CMakeFiles/run_tests.dir/persistence_test.cpp.o" "gcc" "test/CMakeFiles/run_tests.dir/persistence_test.cpp.o.d" + "/home/devesh-bhardwaj/Desktop/FastDevFS/test/test_dir_manager.cpp" "test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o" "gcc" "test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o.d" + "/home/devesh-bhardwaj/Desktop/FastDevFS/test/test_hash_store.cpp" "test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o" "gcc" "test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o.d" ) # Targets to which this target links which contain Fortran sources. diff --git a/build/test/CMakeFiles/run_tests.dir/build.make b/build/test/CMakeFiles/run_tests.dir/build.make index f183927..05c3770 100644 --- a/build/test/CMakeFiles/run_tests.dir/build.make +++ b/build/test/CMakeFiles/run_tests.dir/build.make @@ -53,10 +53,10 @@ RM = /usr/bin/cmake -E rm -f EQUALS = = # The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/diya_limbani/FastDevFs +CMAKE_SOURCE_DIR = /home/devesh-bhardwaj/Desktop/FastDevFS # The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/diya_limbani/FastDevFs/build +CMAKE_BINARY_DIR = /home/devesh-bhardwaj/Desktop/FastDevFS/build # Include any dependencies generated for this target. include test/CMakeFiles/run_tests.dir/depend.make @@ -70,74 +70,74 @@ include test/CMakeFiles/run_tests.dir/progress.make include test/CMakeFiles/run_tests.dir/flags.make test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o: test/CMakeFiles/run_tests.dir/flags.make -test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o: /home/diya_limbani/FastDevFs/test/test_dir_manager.cpp +test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/test/test_dir_manager.cpp test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o: test/CMakeFiles/run_tests.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o" - cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o -MF CMakeFiles/run_tests.dir/test_dir_manager.cpp.o.d -o CMakeFiles/run_tests.dir/test_dir_manager.cpp.o -c /home/diya_limbani/FastDevFs/test/test_dir_manager.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o" + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o -MF CMakeFiles/run_tests.dir/test_dir_manager.cpp.o.d -o CMakeFiles/run_tests.dir/test_dir_manager.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/test/test_dir_manager.cpp test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.i: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/run_tests.dir/test_dir_manager.cpp.i" - cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/test/test_dir_manager.cpp > CMakeFiles/run_tests.dir/test_dir_manager.cpp.i + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/devesh-bhardwaj/Desktop/FastDevFS/test/test_dir_manager.cpp > CMakeFiles/run_tests.dir/test_dir_manager.cpp.i test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.s: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/run_tests.dir/test_dir_manager.cpp.s" - cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/test/test_dir_manager.cpp -o CMakeFiles/run_tests.dir/test_dir_manager.cpp.s + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/devesh-bhardwaj/Desktop/FastDevFS/test/test_dir_manager.cpp -o CMakeFiles/run_tests.dir/test_dir_manager.cpp.s test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: test/CMakeFiles/run_tests.dir/flags.make -test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevFs/test/test_hash_store.cpp +test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/test/test_hash_store.cpp test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: test/CMakeFiles/run_tests.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o" - cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o -MF CMakeFiles/run_tests.dir/test_hash_store.cpp.o.d -o CMakeFiles/run_tests.dir/test_hash_store.cpp.o -c /home/diya_limbani/FastDevFs/test/test_hash_store.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o" + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o -MF CMakeFiles/run_tests.dir/test_hash_store.cpp.o.d -o CMakeFiles/run_tests.dir/test_hash_store.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/test/test_hash_store.cpp test/CMakeFiles/run_tests.dir/test_hash_store.cpp.i: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/run_tests.dir/test_hash_store.cpp.i" - cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/test/test_hash_store.cpp > CMakeFiles/run_tests.dir/test_hash_store.cpp.i + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/devesh-bhardwaj/Desktop/FastDevFS/test/test_hash_store.cpp > CMakeFiles/run_tests.dir/test_hash_store.cpp.i test/CMakeFiles/run_tests.dir/test_hash_store.cpp.s: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/run_tests.dir/test_hash_store.cpp.s" - cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/test/test_hash_store.cpp -o CMakeFiles/run_tests.dir/test_hash_store.cpp.s + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/devesh-bhardwaj/Desktop/FastDevFS/test/test_hash_store.cpp -o CMakeFiles/run_tests.dir/test_hash_store.cpp.s test/CMakeFiles/run_tests.dir/persistence_test.cpp.o: test/CMakeFiles/run_tests.dir/flags.make -test/CMakeFiles/run_tests.dir/persistence_test.cpp.o: /home/diya_limbani/FastDevFs/test/persistence_test.cpp +test/CMakeFiles/run_tests.dir/persistence_test.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/test/persistence_test.cpp test/CMakeFiles/run_tests.dir/persistence_test.cpp.o: test/CMakeFiles/run_tests.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object test/CMakeFiles/run_tests.dir/persistence_test.cpp.o" - cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT test/CMakeFiles/run_tests.dir/persistence_test.cpp.o -MF CMakeFiles/run_tests.dir/persistence_test.cpp.o.d -o CMakeFiles/run_tests.dir/persistence_test.cpp.o -c /home/diya_limbani/FastDevFs/test/persistence_test.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object test/CMakeFiles/run_tests.dir/persistence_test.cpp.o" + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT test/CMakeFiles/run_tests.dir/persistence_test.cpp.o -MF CMakeFiles/run_tests.dir/persistence_test.cpp.o.d -o CMakeFiles/run_tests.dir/persistence_test.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/test/persistence_test.cpp test/CMakeFiles/run_tests.dir/persistence_test.cpp.i: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/run_tests.dir/persistence_test.cpp.i" - cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/test/persistence_test.cpp > CMakeFiles/run_tests.dir/persistence_test.cpp.i + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/devesh-bhardwaj/Desktop/FastDevFS/test/persistence_test.cpp > CMakeFiles/run_tests.dir/persistence_test.cpp.i test/CMakeFiles/run_tests.dir/persistence_test.cpp.s: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/run_tests.dir/persistence_test.cpp.s" - cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/test/persistence_test.cpp -o CMakeFiles/run_tests.dir/persistence_test.cpp.s + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/devesh-bhardwaj/Desktop/FastDevFS/test/persistence_test.cpp -o CMakeFiles/run_tests.dir/persistence_test.cpp.s test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o: test/CMakeFiles/run_tests.dir/flags.make -test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp +test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/dir_manager.cpp test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o: test/CMakeFiles/run_tests.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o" - cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o -MF CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o.d -o CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o -c /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o" + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o -MF CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o.d -o CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/dir_manager.cpp test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.i: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.i" - cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp > CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.i + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/dir_manager.cpp > CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.i test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.s: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.s" - cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp -o CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.s + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/dir_manager.cpp -o CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.s test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o: test/CMakeFiles/run_tests.dir/flags.make -test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp +test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/hash.cpp test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o: test/CMakeFiles/run_tests.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building CXX object test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o" - cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o -MF CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o.d -o CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o -c /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building CXX object test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o" + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o -MF CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o.d -o CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o -c /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/hash.cpp test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.i: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.i" - cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp > CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.i + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/hash.cpp > CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.i test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.s: cmake_force @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.s" - cd /home/diya_limbani/FastDevFs/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp -o CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.s + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build/test && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/hash.cpp -o CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.s # Object files for target run_tests run_tests_OBJECTS = \ @@ -159,18 +159,18 @@ test/run_tests: test/CMakeFiles/run_tests.dir/build.make test/run_tests: /usr/lib/x86_64-linux-gnu/libgtest_main.a test/run_tests: /usr/lib/x86_64-linux-gnu/libgtest.a test/run_tests: test/CMakeFiles/run_tests.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/diya_limbani/FastDevFs/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Linking CXX executable run_tests" - cd /home/diya_limbani/FastDevFs/build/test && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/run_tests.dir/link.txt --verbose=$(VERBOSE) + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Linking CXX executable run_tests" + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build/test && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/run_tests.dir/link.txt --verbose=$(VERBOSE) # Rule to build all files generated by this target. test/CMakeFiles/run_tests.dir/build: test/run_tests .PHONY : test/CMakeFiles/run_tests.dir/build test/CMakeFiles/run_tests.dir/clean: - cd /home/diya_limbani/FastDevFs/build/test && $(CMAKE_COMMAND) -P CMakeFiles/run_tests.dir/cmake_clean.cmake + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build/test && $(CMAKE_COMMAND) -P CMakeFiles/run_tests.dir/cmake_clean.cmake .PHONY : test/CMakeFiles/run_tests.dir/clean test/CMakeFiles/run_tests.dir/depend: - cd /home/diya_limbani/FastDevFs/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/diya_limbani/FastDevFs /home/diya_limbani/FastDevFs/test /home/diya_limbani/FastDevFs/build /home/diya_limbani/FastDevFs/build/test /home/diya_limbani/FastDevFs/build/test/CMakeFiles/run_tests.dir/DependInfo.cmake "--color=$(COLOR)" + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/devesh-bhardwaj/Desktop/FastDevFS /home/devesh-bhardwaj/Desktop/FastDevFS/test /home/devesh-bhardwaj/Desktop/FastDevFS/build /home/devesh-bhardwaj/Desktop/FastDevFS/build/test /home/devesh-bhardwaj/Desktop/FastDevFS/build/test/CMakeFiles/run_tests.dir/DependInfo.cmake "--color=$(COLOR)" .PHONY : test/CMakeFiles/run_tests.dir/depend diff --git a/build/test/CMakeFiles/run_tests.dir/compiler_depend.internal b/build/test/CMakeFiles/run_tests.dir/compiler_depend.internal index c5d9b72..3ff72f7 100644 --- a/build/test/CMakeFiles/run_tests.dir/compiler_depend.internal +++ b/build/test/CMakeFiles/run_tests.dir/compiler_depend.internal @@ -2,9 +2,9 @@ # Generated by "Unix Makefiles" Generator, CMake Version 3.28 test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o - /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp - /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/dir_manager.cpp + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/dir_manager.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h /usr/include/alloca.h /usr/include/asm-generic/bitsperlong.h /usr/include/asm-generic/errno-base.h @@ -227,8 +227,8 @@ test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o - /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/hash.cpp + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h /usr/include/features-time64.h /usr/include/features.h /usr/include/stdc-predef.h @@ -256,9 +256,9 @@ test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h test/CMakeFiles/run_tests.dir/persistence_test.cpp.o - /home/diya_limbani/FastDevFs/test/persistence_test.cpp - /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h + /home/devesh-bhardwaj/Desktop/FastDevFS/test/persistence_test.cpp + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/dir_manager.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h /usr/include/alloca.h /usr/include/asm-generic/bitsperlong.h /usr/include/asm-generic/errno-base.h @@ -617,9 +617,9 @@ test/CMakeFiles/run_tests.dir/persistence_test.cpp.o /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o - /home/diya_limbani/FastDevFs/test/test_dir_manager.cpp - /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h + /home/devesh-bhardwaj/Desktop/FastDevFS/test/test_dir_manager.cpp + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/dir_manager.h + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h /usr/include/alloca.h /usr/include/asm-generic/bitsperlong.h /usr/include/asm-generic/errno-base.h @@ -969,8 +969,8 @@ test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o - /home/diya_limbani/FastDevFs/test/test_hash_store.cpp - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h + /home/devesh-bhardwaj/Desktop/FastDevFS/test/test_hash_store.cpp + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h /usr/include/alloca.h /usr/include/asm-generic/bitsperlong.h /usr/include/asm-generic/errno-base.h diff --git a/build/test/CMakeFiles/run_tests.dir/compiler_depend.make b/build/test/CMakeFiles/run_tests.dir/compiler_depend.make index 6320228..6c70728 100644 --- a/build/test/CMakeFiles/run_tests.dir/compiler_depend.make +++ b/build/test/CMakeFiles/run_tests.dir/compiler_depend.make @@ -1,9 +1,9 @@ # CMAKE generated file: DO NOT EDIT! # Generated by "Unix Makefiles" Generator, CMake Version 3.28 -test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp \ - /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ +test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/dir_manager.cpp \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/dir_manager.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h \ /usr/include/alloca.h \ /usr/include/asm-generic/bitsperlong.h \ /usr/include/asm-generic/errno-base.h \ @@ -225,8 +225,8 @@ test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o: /home/diya_li /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o: /home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp \ - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ +test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/hash.cpp \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h \ /usr/include/features-time64.h \ /usr/include/features.h \ /usr/include/stdc-predef.h \ @@ -253,9 +253,9 @@ test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o: /home/diya_limbani/F /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -test/CMakeFiles/run_tests.dir/persistence_test.cpp.o: /home/diya_limbani/FastDevFs/test/persistence_test.cpp \ - /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ +test/CMakeFiles/run_tests.dir/persistence_test.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/test/persistence_test.cpp \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/dir_manager.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h \ /usr/include/alloca.h \ /usr/include/asm-generic/bitsperlong.h \ /usr/include/asm-generic/errno-base.h \ @@ -613,9 +613,9 @@ test/CMakeFiles/run_tests.dir/persistence_test.cpp.o: /home/diya_limbani/FastDev /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o: /home/diya_limbani/FastDevFs/test/test_dir_manager.cpp \ - /home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h \ - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ +test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/test/test_dir_manager.cpp \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/dir_manager.h \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h \ /usr/include/alloca.h \ /usr/include/asm-generic/bitsperlong.h \ /usr/include/asm-generic/errno-base.h \ @@ -964,8 +964,8 @@ test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o: /home/diya_limbani/FastDev /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h \ /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h -test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevFs/test/test_hash_store.cpp \ - /home/diya_limbani/FastDevFs/src/include/daemon/hash.h \ +test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/devesh-bhardwaj/Desktop/FastDevFS/test/test_hash_store.cpp \ + /home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h \ /usr/include/alloca.h \ /usr/include/asm-generic/bitsperlong.h \ /usr/include/asm-generic/errno-base.h \ @@ -1316,8 +1316,12 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/include/c++/13/chrono: +/usr/include/c++/13/thread: + /usr/include/c++/13/bits/this_thread_sleep.h: +/home/devesh-bhardwaj/Desktop/FastDevFS/test/test_dir_manager.cpp: + /usr/include/x86_64-linux-gnu/sys/ucontext.h: /usr/include/x86_64-linux-gnu/sys/mman.h: @@ -1344,6 +1348,8 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/include/x86_64-linux-gnu/bits/sigthread.h: +/usr/include/x86_64-linux-gnu/bits/sigstack.h: + /usr/include/x86_64-linux-gnu/bits/siginfo-consts-arch.h: /usr/include/x86_64-linux-gnu/bits/siginfo-arch.h: @@ -1422,8 +1428,6 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/include/c++/13/pstl/execution_defs.h: -/usr/include/c++/13/mutex: - /usr/include/c++/13/memory: /usr/include/c++/13/locale: @@ -1458,16 +1462,10 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/include/c++/13/bits/stl_relops.h: -/usr/include/c++/13/bits/stl_raw_storage_iter.h: +/home/devesh-bhardwaj/Desktop/FastDevFS/test/test_hash_store.cpp: /usr/include/c++/13/bits/stl_multiset.h: -/usr/include/x86_64-linux-gnu/asm/errno.h: - -/usr/include/c++/13/bits/atomic_lockfree_defines.h: - -/usr/include/x86_64-linux-gnu/asm/bitsperlong.h: - /usr/include/locale.h: /usr/include/c++/13/pstl/glue_memory_defs.h: @@ -1540,6 +1538,12 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/include/c++/13/cctype: +/usr/include/errno.h: + +/usr/include/c++/13/bits/functional_hash.h: + +/usr/include/c++/13/debug/assertions.h: + /usr/include/c++/13/ctime: /usr/include/c++/13/cstdlib: @@ -1562,6 +1566,10 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/include/c++/13/cerrno: +/usr/include/c++/13/mutex: + +/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/dir_manager.cpp: + /usr/include/x86_64-linux-gnu/bits/stdint-least.h: /usr/include/c++/13/bits/unique_ptr.h: @@ -1582,8 +1590,6 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/include/c++/13/bits/atomic_base.h: -/home/diya_limbani/FastDevFs/test/test_dir_manager.cpp: - /usr/include/c++/13/bits/uses_allocator.h: /usr/include/c++/13/bits/postypes.h: @@ -1592,24 +1598,12 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/include/c++/13/bits/functexcept.h: -/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h: - -/usr/include/c++/13/ext/numeric_traits.h: - -/usr/include/c++/13/bits/stl_iterator.h: - /usr/include/x86_64-linux-gnu/bits/libc-header-start.h: /usr/include/c++/13/bits/alloc_traits.h: /usr/include/c++/13/bits/concept_check.h: -/usr/include/x86_64-linux-gnu/bits/sigstack.h: - -/home/diya_limbani/FastDevFs/src/include/daemon/hash.h: - -/usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h: - /usr/include/c++/13/bits/cxxabi_forced.h: /usr/include/c++/13/bits/memoryfwd.h: @@ -1622,11 +1616,23 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h: -/usr/include/stdc-predef.h: +/usr/include/asm-generic/int-ll64.h: -/usr/include/asm-generic/posix_types.h: +/usr/include/linux/stddef.h: -/usr/include/c++/13/bits/basic_string.h: +/usr/include/c++/13/bits/basic_ios.tcc: + +/usr/include/gtest/gtest-param-test.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h: + +/usr/include/linux/posix_types.h: + +/usr/include/c++/13/bits/ptr_traits.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h: + +/usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h: /usr/include/c++/13/bits/stringfwd.h: @@ -1634,33 +1640,35 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/include/features.h: -/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h: +/usr/include/c++/13/bits/stl_raw_storage_iter.h: -/usr/include/c++/13/bits/string_view.tcc: +/home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/dir_manager.h: -/usr/include/linux/close_range.h: +/usr/include/stdc-predef.h: -/usr/include/c++/13/bits/functional_hash.h: +/usr/include/asm-generic/posix_types.h: -/usr/include/errno.h: +/usr/include/c++/13/bits/basic_string.h: -/usr/include/asm-generic/int-ll64.h: +/usr/include/x86_64-linux-gnu/asm/errno.h: -/usr/include/linux/stddef.h: +/usr/include/c++/13/ext/numeric_traits.h: -/usr/include/c++/13/bits/basic_ios.tcc: +/usr/include/c++/13/bits/stl_iterator.h: -/usr/include/gtest/gtest-param-test.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h: -/usr/include/x86_64-linux-gnu/c++/13/bits/gthr.h: +/usr/include/c++/13/bits/atomic_lockfree_defines.h: -/usr/include/linux/posix_types.h: +/usr/include/x86_64-linux-gnu/asm/bitsperlong.h: -/usr/include/c++/13/bits/ptr_traits.h: +/home/devesh-bhardwaj/Desktop/FastDevFS/src/include/daemon/hash.h: -/usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h: +/usr/include/c++/13/bits/exception_ptr.h: -/usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h: +/usr/include/c++/13/bits/basic_ios.h: + +/usr/include/x86_64-linux-gnu/bits/time64.h: /usr/include/c++/13/bits/basic_string.tcc: @@ -1670,19 +1678,13 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/include/alloca.h: -/usr/include/c++/13/bits/exception_ptr.h: - -/usr/include/c++/13/debug/assertions.h: - -/usr/include/c++/13/stdexcept: - -/usr/include/linux/errno.h: +/usr/include/c++/13/bits/exception.h: -/usr/include/c++/13/debug/debug.h: +/usr/include/c++/13/condition_variable: -/usr/include/c++/13/bits/basic_ios.h: +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: -/usr/include/x86_64-linux-gnu/bits/time64.h: +/usr/include/x86_64-linux-gnu/bits/uintn-identity.h: /usr/include/x86_64-linux-gnu/sys/select.h: @@ -1700,12 +1702,6 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/include/c++/13/bits/sstream.tcc: -/usr/include/c++/13/condition_variable: - -/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: - -/usr/include/x86_64-linux-gnu/bits/uintn-identity.h: - /usr/include/c++/13/cassert: /usr/include/c++/13/bits/cpp_type_traits.h: @@ -1744,9 +1740,7 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/include/asm-generic/errno-base.h: -/usr/include/c++/13/bits/exception.h: - -/home/diya_limbani/FastDevFs/src/src/daemon/hash.cpp: +/usr/include/linux/close_range.h: /usr/include/c++/13/bits/hash_bytes.h: @@ -1772,10 +1766,6 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/include/ctype.h: -/usr/include/c++/13/thread: - -/home/diya_limbani/FastDevFs/test/persistence_test.cpp: - /usr/include/c++/13/unordered_map: /usr/include/c++/13/bits/allocator.h: @@ -1790,8 +1780,6 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/include/linux/stat.h: -/home/diya_limbani/FastDevFs/src/include/daemon/dir_manager.h: - /usr/include/c++/13/bits/invoke.h: /usr/lib/gcc/x86_64-linux-gnu/13/include/stddef.h: @@ -1802,6 +1790,12 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/include/c++/13/bits/ostream_insert.h: +/usr/include/c++/13/stdexcept: + +/usr/include/linux/errno.h: + +/usr/include/c++/13/debug/debug.h: + /usr/include/c++/13/bits/refwrap.h: /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h: @@ -1834,8 +1828,6 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/include/x86_64-linux-gnu/bits/types/wint_t.h: -/home/diya_limbani/FastDevFs/src/src/daemon/dir_manager.cpp: - /usr/include/x86_64-linux-gnu/bits/floatn.h: /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h: @@ -1872,6 +1864,8 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/include/x86_64-linux-gnu/bits/statx.h: +/home/devesh-bhardwaj/Desktop/FastDevFS/test/persistence_test.cpp: + /usr/include/x86_64-linux-gnu/bits/types/FILE.h: /usr/include/x86_64-linux-gnu/bits/struct_mutex.h: @@ -1960,6 +1954,8 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_inline.h: +/usr/include/x86_64-linux-gnu/c++/13/bits/error_constants.h: + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h: /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h: @@ -1978,6 +1974,12 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/lib/gcc/x86_64-linux-gnu/13/include/stdint.h: +/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h: + +/usr/include/c++/13/bits/string_view.tcc: + +/home/devesh-bhardwaj/Desktop/FastDevFS/src/src/daemon/hash.cpp: + /usr/include/assert.h: /usr/include/x86_64-linux-gnu/c++/13/bits/ctype_base.h: @@ -2034,8 +2036,6 @@ test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o: /home/diya_limbani/FastDevF /usr/include/c++/13/bits/quoted_string.h: -/home/diya_limbani/FastDevFs/test/test_hash_store.cpp: - /usr/include/wchar.h: /usr/include/c++/13/bits/shared_ptr_base.h: diff --git a/build/test/CMakeFiles/run_tests.dir/flags.make b/build/test/CMakeFiles/run_tests.dir/flags.make index 56124f1..e51efec 100644 --- a/build/test/CMakeFiles/run_tests.dir/flags.make +++ b/build/test/CMakeFiles/run_tests.dir/flags.make @@ -4,7 +4,7 @@ # compile CXX with /usr/bin/c++ CXX_DEFINES = -CXX_INCLUDES = -I/home/diya_limbani/FastDevFs/test/../src/include +CXX_INCLUDES = -I/home/devesh-bhardwaj/Desktop/FastDevFS/test/../src/include CXX_FLAGS = -DGTEST_HAS_PTHREAD=1 diff --git a/build/test/CTestTestfile.cmake b/build/test/CTestTestfile.cmake index 99a9dd3..3267c54 100644 --- a/build/test/CTestTestfile.cmake +++ b/build/test/CTestTestfile.cmake @@ -1,6 +1,6 @@ # CMake generated Testfile for -# Source directory: /home/diya_limbani/FastDevFs/test -# Build directory: /home/diya_limbani/FastDevFs/build/test +# Source directory: /home/devesh-bhardwaj/Desktop/FastDevFS/test +# Build directory: /home/devesh-bhardwaj/Desktop/FastDevFS/build/test # # This file includes the relevant testing commands required for # testing this directory and lists subdirectories to be tested as well. diff --git a/build/test/Makefile b/build/test/Makefile index 55c83d3..dd2aff3 100644 --- a/build/test/Makefile +++ b/build/test/Makefile @@ -57,10 +57,10 @@ RM = /usr/bin/cmake -E rm -f EQUALS = = # The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/diya_limbani/FastDevFs +CMAKE_SOURCE_DIR = /home/devesh-bhardwaj/Desktop/FastDevFS # The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/diya_limbani/FastDevFs/build +CMAKE_BINARY_DIR = /home/devesh-bhardwaj/Desktop/FastDevFS/build #============================================================================= # Targets provided globally by CMake. @@ -97,14 +97,14 @@ rebuild_cache/fast: rebuild_cache # The main all target all: cmake_check_build_system - cd /home/diya_limbani/FastDevFs/build && $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles /home/diya_limbani/FastDevFs/build/test//CMakeFiles/progress.marks - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 test/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/diya_limbani/FastDevFs/build/CMakeFiles 0 + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build && $(CMAKE_COMMAND) -E cmake_progress_start /home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles /home/devesh-bhardwaj/Desktop/FastDevFS/build/test//CMakeFiles/progress.marks + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 test/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/devesh-bhardwaj/Desktop/FastDevFS/build/CMakeFiles 0 .PHONY : all # The main clean target clean: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 test/clean + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 test/clean .PHONY : clean # The main clean target @@ -113,22 +113,22 @@ clean/fast: clean # Prepare targets for installation. preinstall: all - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 test/preinstall + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 test/preinstall .PHONY : preinstall # Prepare targets for installation. preinstall/fast: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 test/preinstall + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 test/preinstall .PHONY : preinstall/fast # clear depends depend: - cd /home/diya_limbani/FastDevFs/build && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 .PHONY : depend # Convenience name for target. test/CMakeFiles/run_tests.dir/rule: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 test/CMakeFiles/run_tests.dir/rule + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 test/CMakeFiles/run_tests.dir/rule .PHONY : test/CMakeFiles/run_tests.dir/rule # Convenience name for target. @@ -137,7 +137,7 @@ run_tests: test/CMakeFiles/run_tests.dir/rule # fast build rule for target. run_tests/fast: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/build + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/build .PHONY : run_tests/fast __/src/src/daemon/dir_manager.o: __/src/src/daemon/dir_manager.cpp.o @@ -145,7 +145,7 @@ __/src/src/daemon/dir_manager.o: __/src/src/daemon/dir_manager.cpp.o # target to build an object file __/src/src/daemon/dir_manager.cpp.o: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.o .PHONY : __/src/src/daemon/dir_manager.cpp.o __/src/src/daemon/dir_manager.i: __/src/src/daemon/dir_manager.cpp.i @@ -153,7 +153,7 @@ __/src/src/daemon/dir_manager.i: __/src/src/daemon/dir_manager.cpp.i # target to preprocess a source file __/src/src/daemon/dir_manager.cpp.i: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.i + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.i .PHONY : __/src/src/daemon/dir_manager.cpp.i __/src/src/daemon/dir_manager.s: __/src/src/daemon/dir_manager.cpp.s @@ -161,7 +161,7 @@ __/src/src/daemon/dir_manager.s: __/src/src/daemon/dir_manager.cpp.s # target to generate assembly for a file __/src/src/daemon/dir_manager.cpp.s: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.s + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/__/src/src/daemon/dir_manager.cpp.s .PHONY : __/src/src/daemon/dir_manager.cpp.s __/src/src/daemon/hash.o: __/src/src/daemon/hash.cpp.o @@ -169,7 +169,7 @@ __/src/src/daemon/hash.o: __/src/src/daemon/hash.cpp.o # target to build an object file __/src/src/daemon/hash.cpp.o: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.o .PHONY : __/src/src/daemon/hash.cpp.o __/src/src/daemon/hash.i: __/src/src/daemon/hash.cpp.i @@ -177,7 +177,7 @@ __/src/src/daemon/hash.i: __/src/src/daemon/hash.cpp.i # target to preprocess a source file __/src/src/daemon/hash.cpp.i: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.i + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.i .PHONY : __/src/src/daemon/hash.cpp.i __/src/src/daemon/hash.s: __/src/src/daemon/hash.cpp.s @@ -185,7 +185,7 @@ __/src/src/daemon/hash.s: __/src/src/daemon/hash.cpp.s # target to generate assembly for a file __/src/src/daemon/hash.cpp.s: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.s + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/__/src/src/daemon/hash.cpp.s .PHONY : __/src/src/daemon/hash.cpp.s persistence_test.o: persistence_test.cpp.o @@ -193,7 +193,7 @@ persistence_test.o: persistence_test.cpp.o # target to build an object file persistence_test.cpp.o: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/persistence_test.cpp.o + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/persistence_test.cpp.o .PHONY : persistence_test.cpp.o persistence_test.i: persistence_test.cpp.i @@ -201,7 +201,7 @@ persistence_test.i: persistence_test.cpp.i # target to preprocess a source file persistence_test.cpp.i: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/persistence_test.cpp.i + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/persistence_test.cpp.i .PHONY : persistence_test.cpp.i persistence_test.s: persistence_test.cpp.s @@ -209,7 +209,7 @@ persistence_test.s: persistence_test.cpp.s # target to generate assembly for a file persistence_test.cpp.s: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/persistence_test.cpp.s + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/persistence_test.cpp.s .PHONY : persistence_test.cpp.s test_dir_manager.o: test_dir_manager.cpp.o @@ -217,7 +217,7 @@ test_dir_manager.o: test_dir_manager.cpp.o # target to build an object file test_dir_manager.cpp.o: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.o .PHONY : test_dir_manager.cpp.o test_dir_manager.i: test_dir_manager.cpp.i @@ -225,7 +225,7 @@ test_dir_manager.i: test_dir_manager.cpp.i # target to preprocess a source file test_dir_manager.cpp.i: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.i + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.i .PHONY : test_dir_manager.cpp.i test_dir_manager.s: test_dir_manager.cpp.s @@ -233,7 +233,7 @@ test_dir_manager.s: test_dir_manager.cpp.s # target to generate assembly for a file test_dir_manager.cpp.s: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.s + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/test_dir_manager.cpp.s .PHONY : test_dir_manager.cpp.s test_hash_store.o: test_hash_store.cpp.o @@ -241,7 +241,7 @@ test_hash_store.o: test_hash_store.cpp.o # target to build an object file test_hash_store.cpp.o: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/test_hash_store.cpp.o .PHONY : test_hash_store.cpp.o test_hash_store.i: test_hash_store.cpp.i @@ -249,7 +249,7 @@ test_hash_store.i: test_hash_store.cpp.i # target to preprocess a source file test_hash_store.cpp.i: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/test_hash_store.cpp.i + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/test_hash_store.cpp.i .PHONY : test_hash_store.cpp.i test_hash_store.s: test_hash_store.cpp.s @@ -257,7 +257,7 @@ test_hash_store.s: test_hash_store.cpp.s # target to generate assembly for a file test_hash_store.cpp.s: - cd /home/diya_limbani/FastDevFs/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/test_hash_store.cpp.s + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build && $(MAKE) $(MAKESILENT) -f test/CMakeFiles/run_tests.dir/build.make test/CMakeFiles/run_tests.dir/test_hash_store.cpp.s .PHONY : test_hash_store.cpp.s # Help Target @@ -296,6 +296,6 @@ help: # No rule that depends on this can have commands that come from listfiles # because they might be regenerated. cmake_check_build_system: - cd /home/diya_limbani/FastDevFs/build && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 + cd /home/devesh-bhardwaj/Desktop/FastDevFS/build && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 .PHONY : cmake_check_build_system diff --git a/build/test/cmake_install.cmake b/build/test/cmake_install.cmake index 4bd1489..d0343c4 100644 --- a/build/test/cmake_install.cmake +++ b/build/test/cmake_install.cmake @@ -1,4 +1,4 @@ -# Install script for directory: /home/diya_limbani/FastDevFs/test +# Install script for directory: /home/devesh-bhardwaj/Desktop/FastDevFS/test # Set the install prefix if(NOT DEFINED CMAKE_INSTALL_PREFIX) @@ -12,7 +12,7 @@ if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") else() - set(CMAKE_INSTALL_CONFIG_NAME "") + set(CMAKE_INSTALL_CONFIG_NAME "Debug") endif() message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") endif() diff --git a/build/test/run_tests b/build/test/run_tests index 2a9b328ef67567b5374ed3cbc2791e7c24e843de..c3c0fd64ea0d7c3d2d387e5d4f26c202a63b195a 100755 GIT binary patch delta 3712 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 diff --git a/data/100 b/data/100 new file mode 100644 index 0000000..63e95a9 --- /dev/null +++ b/data/100 @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2012-2014 TJ Holowaychuk +Copyright (c) 2015 Jed Watson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/data/101 b/data/101 new file mode 100644 index 0000000..28a3161 --- /dev/null +++ b/data/101 @@ -0,0 +1,23 @@ + +The MIT License (MIT) + +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2016 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/data/102 b/data/102 new file mode 100644 index 0000000..abea6d8 --- /dev/null +++ b/data/102 @@ -0,0 +1,44 @@ +{ + "name": "range-parser", + "author": "TJ Holowaychuk (http://tjholowaychuk.com)", + "description": "Range header field string parser", + "version": "1.2.1", + "contributors": [ + "Douglas Christopher Wilson ", + "James Wyatt Cready ", + "Jonathan Ong (http://jongleberry.com)" + ], + "license": "MIT", + "keywords": [ + "range", + "parser", + "http" + ], + "repository": "jshttp/range-parser", + "devDependencies": { + "deep-equal": "1.0.1", + "eslint": "5.16.0", + "eslint-config-standard": "12.0.0", + "eslint-plugin-markdown": "1.0.0", + "eslint-plugin-import": "2.17.2", + "eslint-plugin-node": "8.0.1", + "eslint-plugin-promise": "4.1.1", + "eslint-plugin-standard": "4.0.0", + "mocha": "6.1.4", + "nyc": "14.1.1" + }, + "files": [ + "HISTORY.md", + "LICENSE", + "index.js" + ], + "engines": { + "node": ">= 0.6" + }, + "scripts": { + "lint": "eslint --plugin markdown --ext js,md .", + "test": "mocha --reporter spec", + "test-cov": "nyc --reporter=html --reporter=text npm test", + "test-travis": "nyc --reporter=text npm test" + } +} diff --git a/data/103 b/data/103 new file mode 100644 index 0000000..16815b2 --- /dev/null +++ b/data/103 @@ -0,0 +1,33 @@ +{ + "name": "once", + "version": "1.4.0", + "description": "Run a function exactly one time", + "main": "once.js", + "directories": { + "test": "test" + }, + "dependencies": { + "wrappy": "1" + }, + "devDependencies": { + "tap": "^7.0.1" + }, + "scripts": { + "test": "tap test/*.js" + }, + "files": [ + "once.js" + ], + "repository": { + "type": "git", + "url": "git://github.com/isaacs/once" + }, + "keywords": [ + "once", + "function", + "one", + "single" + ], + "author": "Isaac Z. Schlueter (http://blog.izs.me/)", + "license": "ISC" +} diff --git a/data/104 b/data/104 new file mode 100644 index 0000000..37b4366 --- /dev/null +++ b/data/104 @@ -0,0 +1,29 @@ +{ + "name": "inherits", + "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()", + "version": "2.0.4", + "keywords": [ + "inheritance", + "class", + "klass", + "oop", + "object-oriented", + "inherits", + "browser", + "browserify" + ], + "main": "./inherits.js", + "browser": "./inherits_browser.js", + "repository": "git://github.com/isaacs/inherits", + "license": "ISC", + "scripts": { + "test": "tap" + }, + "devDependencies": { + "tap": "^14.2.4" + }, + "files": [ + "inherits.js", + "inherits_browser.js" + ] +} diff --git a/data/105 b/data/105 new file mode 100644 index 0000000..6b443ca --- /dev/null +++ b/data/105 @@ -0,0 +1,40 @@ +{ + "name": "parseurl", + "description": "parse a url with memoization", + "version": "1.3.3", + "contributors": [ + "Douglas Christopher Wilson ", + "Jonathan Ong (http://jongleberry.com)" + ], + "repository": "pillarjs/parseurl", + "license": "MIT", + "devDependencies": { + "beautify-benchmark": "0.2.4", + "benchmark": "2.1.4", + "eslint": "5.16.0", + "eslint-config-standard": "12.0.0", + "eslint-plugin-import": "2.17.1", + "eslint-plugin-node": "7.0.1", + "eslint-plugin-promise": "4.1.1", + "eslint-plugin-standard": "4.0.0", + "fast-url-parser": "1.1.3", + "istanbul": "0.4.5", + "mocha": "6.1.3" + }, + "files": [ + "LICENSE", + "HISTORY.md", + "README.md", + "index.js" + ], + "engines": { + "node": ">= 0.8" + }, + "scripts": { + "bench": "node benchmark/index.js", + "lint": "eslint .", + "test": "mocha --check-leaks --bail --reporter spec test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --check-leaks --reporter dot test/", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --check-leaks --reporter spec test/" + } +} diff --git a/data/106 b/data/106 new file mode 100644 index 0000000..5931fd2 --- /dev/null +++ b/data/106 @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2013 Jonathan Ong +Copyright (c) 2014 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/data/107 b/data/107 new file mode 100644 index 0000000..ea734fb --- /dev/null +++ b/data/107 @@ -0,0 +1,162 @@ +/** + * Helpers. + */ + +var s = 1000; +var m = s * 60; +var h = m * 60; +var d = h * 24; +var w = d * 7; +var y = d * 365.25; + +/** + * Parse or format the given `val`. + * + * Options: + * + * - `long` verbose formatting [false] + * + * @param {String|Number} val + * @param {Object} [options] + * @throws {Error} throw an error if val is not a non-empty string or a number + * @return {String|Number} + * @api public + */ + +module.exports = function (val, options) { + options = options || {}; + var type = typeof val; + if (type === 'string' && val.length > 0) { + return parse(val); + } else if (type === 'number' && isFinite(val)) { + return options.long ? fmtLong(val) : fmtShort(val); + } + throw new Error( + 'val is not a non-empty string or a valid number. val=' + + JSON.stringify(val) + ); +}; + +/** + * Parse the given `str` and return milliseconds. + * + * @param {String} str + * @return {Number} + * @api private + */ + +function parse(str) { + str = String(str); + if (str.length > 100) { + return; + } + var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( + str + ); + if (!match) { + return; + } + var n = parseFloat(match[1]); + var type = (match[2] || 'ms').toLowerCase(); + switch (type) { + case 'years': + case 'year': + case 'yrs': + case 'yr': + case 'y': + return n * y; + case 'weeks': + case 'week': + case 'w': + return n * w; + case 'days': + case 'day': + case 'd': + return n * d; + case 'hours': + case 'hour': + case 'hrs': + case 'hr': + case 'h': + return n * h; + case 'minutes': + case 'minute': + case 'mins': + case 'min': + case 'm': + return n * m; + case 'seconds': + case 'second': + case 'secs': + case 'sec': + case 's': + return n * s; + case 'milliseconds': + case 'millisecond': + case 'msecs': + case 'msec': + case 'ms': + return n; + default: + return undefined; + } +} + +/** + * Short format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + +function fmtShort(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return Math.round(ms / d) + 'd'; + } + if (msAbs >= h) { + return Math.round(ms / h) + 'h'; + } + if (msAbs >= m) { + return Math.round(ms / m) + 'm'; + } + if (msAbs >= s) { + return Math.round(ms / s) + 's'; + } + return ms + 'ms'; +} + +/** + * Long format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + +function fmtLong(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return plural(ms, msAbs, d, 'day'); + } + if (msAbs >= h) { + return plural(ms, msAbs, h, 'hour'); + } + if (msAbs >= m) { + return plural(ms, msAbs, m, 'minute'); + } + if (msAbs >= s) { + return plural(ms, msAbs, s, 'second'); + } + return ms + ' ms'; +} + +/** + * Pluralization helper. + */ + +function plural(ms, msAbs, n, name) { + var isPlural = msAbs >= n * 1.5; + return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : ''); +} diff --git a/data/108 b/data/108 new file mode 100644 index 0000000..82af4df --- /dev/null +++ b/data/108 @@ -0,0 +1,23 @@ + +The MIT License (MIT) + +Copyright (c) 2014 Jonathan Ong me@jongleberry.com +Copyright (c) 2016 Douglas Christopher Wilson doug@somethingdoug.com + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/data/109 b/data/109 new file mode 100644 index 0000000..028f72a --- /dev/null +++ b/data/109 @@ -0,0 +1,43 @@ +{ + "name": "vary", + "description": "Manipulate the HTTP Vary header", + "version": "1.1.2", + "author": "Douglas Christopher Wilson ", + "license": "MIT", + "keywords": [ + "http", + "res", + "vary" + ], + "repository": "jshttp/vary", + "devDependencies": { + "beautify-benchmark": "0.2.4", + "benchmark": "2.1.4", + "eslint": "3.19.0", + "eslint-config-standard": "10.2.1", + "eslint-plugin-import": "2.7.0", + "eslint-plugin-markdown": "1.0.0-beta.6", + "eslint-plugin-node": "5.1.1", + "eslint-plugin-promise": "3.5.0", + "eslint-plugin-standard": "3.0.1", + "istanbul": "0.4.5", + "mocha": "2.5.3", + "supertest": "1.1.0" + }, + "files": [ + "HISTORY.md", + "LICENSE", + "README.md", + "index.js" + ], + "engines": { + "node": ">= 0.8" + }, + "scripts": { + "bench": "node benchmark/index.js", + "lint": "eslint --plugin markdown --ext js,md .", + "test": "mocha --reporter spec --bail --check-leaks test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" + } +} diff --git a/data/110 b/data/110 new file mode 100644 index 0000000..3857e19 --- /dev/null +++ b/data/110 @@ -0,0 +1,45 @@ +{ + "name": "depd", + "description": "Deprecate all the things", + "version": "2.0.0", + "author": "Douglas Christopher Wilson ", + "license": "MIT", + "keywords": [ + "deprecate", + "deprecated" + ], + "repository": "dougwilson/nodejs-depd", + "browser": "lib/browser/index.js", + "devDependencies": { + "benchmark": "2.1.4", + "beautify-benchmark": "0.2.4", + "eslint": "5.7.0", + "eslint-config-standard": "12.0.0", + "eslint-plugin-import": "2.14.0", + "eslint-plugin-markdown": "1.0.0-beta.7", + "eslint-plugin-node": "7.0.1", + "eslint-plugin-promise": "4.0.1", + "eslint-plugin-standard": "4.0.0", + "istanbul": "0.4.5", + "mocha": "5.2.0", + "safe-buffer": "5.1.2", + "uid-safe": "2.1.5" + }, + "files": [ + "lib/", + "History.md", + "LICENSE", + "index.js", + "Readme.md" + ], + "engines": { + "node": ">= 0.8" + }, + "scripts": { + "bench": "node benchmark/index.js", + "lint": "eslint --plugin markdown --ext js,md .", + "test": "mocha --reporter spec --bail test/", + "test-ci": "istanbul cover --print=none node_modules/mocha/bin/_mocha -- --reporter spec test/ && istanbul report lcovonly text-summary", + "test-cov": "istanbul cover --print=none node_modules/mocha/bin/_mocha -- --reporter dot test/ && istanbul report lcov text-summary" + } +} diff --git a/data/111 b/data/111 new file mode 100644 index 0000000..8812229 --- /dev/null +++ b/data/111 @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2016 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/data/112 b/data/112 new file mode 100644 index 0000000..b06ab80 --- /dev/null +++ b/data/112 @@ -0,0 +1,47 @@ +{ + "name": "etag", + "description": "Create simple HTTP ETags", + "version": "1.8.1", + "contributors": [ + "Douglas Christopher Wilson ", + "David Björklund " + ], + "license": "MIT", + "keywords": [ + "etag", + "http", + "res" + ], + "repository": "jshttp/etag", + "devDependencies": { + "beautify-benchmark": "0.2.4", + "benchmark": "2.1.4", + "eslint": "3.19.0", + "eslint-config-standard": "10.2.1", + "eslint-plugin-import": "2.7.0", + "eslint-plugin-markdown": "1.0.0-beta.6", + "eslint-plugin-node": "5.1.1", + "eslint-plugin-promise": "3.5.0", + "eslint-plugin-standard": "3.0.1", + "istanbul": "0.4.5", + "mocha": "1.21.5", + "safe-buffer": "5.1.1", + "seedrandom": "2.4.3" + }, + "files": [ + "LICENSE", + "HISTORY.md", + "README.md", + "index.js" + ], + "engines": { + "node": ">= 0.6" + }, + "scripts": { + "bench": "node benchmark/index.js", + "lint": "eslint --plugin markdown --ext js,md .", + "test": "mocha --reporter spec --bail --check-leaks test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" + } +} diff --git a/data/113 b/data/113 new file mode 100644 index 0000000..1a9820e --- /dev/null +++ b/data/113 @@ -0,0 +1,20 @@ +(The MIT License) + +Copyright (c) 2014-2017 TJ Holowaychuk +Copyright (c) 2018-2021 Josh Junon + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the 'Software'), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/data/115 b/data/115 new file mode 100644 index 0000000..d518d83 --- /dev/null +++ b/data/115 @@ -0,0 +1,21 @@ +Copyright (c) 2011 Alexander Shtuchkin + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/data/117 b/data/117 new file mode 100644 index 0000000..34b1a2d --- /dev/null +++ b/data/117 @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2015 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/data/118 b/data/118 new file mode 100644 index 0000000..57ec7bd --- /dev/null +++ b/data/118 @@ -0,0 +1,24 @@ +{ + "name": "escape-html", + "description": "Escape string for use in HTML", + "version": "1.0.3", + "license": "MIT", + "keywords": [ + "escape", + "html", + "utility" + ], + "repository": "component/escape-html", + "devDependencies": { + "benchmark": "1.0.0", + "beautify-benchmark": "0.2.4" + }, + "files": [ + "LICENSE", + "Readme.md", + "index.js" + ], + "scripts": { + "bench": "node benchmark/index.js" + } +} diff --git a/data/119 b/data/119 new file mode 100644 index 0000000..1826526 --- /dev/null +++ b/data/119 @@ -0,0 +1,13 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "lines": 86, + "statements": 85.93, + "functions": 82.43, + "branches": 76.06, + "exclude": [ + "coverage", + "test" + ] +} diff --git a/data/120 b/data/120 new file mode 100644 index 0000000..6abfe14 --- /dev/null +++ b/data/120 @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/data/121 b/data/121 new file mode 100644 index 0000000..1826526 --- /dev/null +++ b/data/121 @@ -0,0 +1,13 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "lines": 86, + "statements": 85.93, + "functions": 82.43, + "branches": 76.06, + "exclude": [ + "coverage", + "test" + ] +} diff --git a/data/122 b/data/122 new file mode 100644 index 0000000..f82f389 --- /dev/null +++ b/data/122 @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/data/123 b/data/123 new file mode 100644 index 0000000..bdd626c --- /dev/null +++ b/data/123 @@ -0,0 +1,9 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "exclude": [ + "coverage", + "test" + ] +} diff --git a/data/124 b/data/124 new file mode 100644 index 0000000..bdd626c --- /dev/null +++ b/data/124 @@ -0,0 +1,9 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "exclude": [ + "coverage", + "test" + ] +} diff --git a/data/125 b/data/125 new file mode 100644 index 0000000..bdd626c --- /dev/null +++ b/data/125 @@ -0,0 +1,9 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "exclude": [ + "coverage", + "test" + ] +} diff --git a/data/126 b/data/126 new file mode 100644 index 0000000..bdd626c --- /dev/null +++ b/data/126 @@ -0,0 +1,9 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "exclude": [ + "coverage", + "test" + ] +} diff --git a/data/127 b/data/127 new file mode 100644 index 0000000..93978e7 --- /dev/null +++ b/data/127 @@ -0,0 +1,11 @@ +{ + "root": true, + + "extends": "@ljharb", + + "rules": { + "max-lines-per-function": 0, + "multiline-comment-style": 1, + "new-cap": [2, { "capIsNewExceptions": ["GetIntrinsic"] }], + }, +} diff --git a/data/128 b/data/128 new file mode 100644 index 0000000..93978e7 --- /dev/null +++ b/data/128 @@ -0,0 +1,11 @@ +{ + "root": true, + + "extends": "@ljharb", + + "rules": { + "max-lines-per-function": 0, + "multiline-comment-style": 1, + "new-cap": [2, { "capIsNewExceptions": ["GetIntrinsic"] }], + }, +} diff --git a/data/129 b/data/129 new file mode 100644 index 0000000..f82f389 --- /dev/null +++ b/data/129 @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/data/130 b/data/130 new file mode 100644 index 0000000..58a5db7 --- /dev/null +++ b/data/130 @@ -0,0 +1,13 @@ +{ + "all": true, + "check-coverage": false, + "instrumentation": false, + "sourceMap": false, + "reporter": ["text-summary", "text", "html", "json"], + "exclude": [ + "coverage", + "example", + "test", + "test-core-js.js" + ] +} diff --git a/data/131 b/data/131 new file mode 100644 index 0000000..9b13ad8 --- /dev/null +++ b/data/131 @@ -0,0 +1,12 @@ +{ + "root": true, + + "extends": "@ljharb", + + "rules": { + "id-length": 0, + "max-lines-per-function": 0, + "multiline-comment-style": 1, + "new-cap": [2, { "capIsNewExceptions": ["GetIntrinsic"] }], + }, +} diff --git a/data/132 b/data/132 new file mode 100644 index 0000000..9b13ad8 --- /dev/null +++ b/data/132 @@ -0,0 +1,12 @@ +{ + "root": true, + + "extends": "@ljharb", + + "rules": { + "id-length": 0, + "max-lines-per-function": 0, + "multiline-comment-style": 1, + "new-cap": [2, { "capIsNewExceptions": ["GetIntrinsic"] }], + }, +} diff --git a/data/133 b/data/133 new file mode 100644 index 0000000..e536ad2 --- /dev/null +++ b/data/133 @@ -0,0 +1,43 @@ +# unpipe + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-image]][node-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Unpipe a stream from all destinations. + +## Installation + +```sh +$ npm install unpipe +``` + +## API + +```js +var unpipe = require('unpipe') +``` + +### unpipe(stream) + +Unpipes all destinations from a given stream. With stream 2+, this is +equivalent to `stream.unpipe()`. When used with streams 1 style streams +(typically Node.js 0.8 and below), this module attempts to undo the +actions done in `stream.pipe(dest)`. + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/unpipe.svg +[npm-url]: https://npmjs.org/package/unpipe +[node-image]: https://img.shields.io/node/v/unpipe.svg +[node-url]: http://nodejs.org/download/ +[travis-image]: https://img.shields.io/travis/stream-utils/unpipe.svg +[travis-url]: https://travis-ci.org/stream-utils/unpipe +[coveralls-image]: https://img.shields.io/coveralls/stream-utils/unpipe.svg +[coveralls-url]: https://coveralls.io/r/stream-utils/unpipe?branch=master +[downloads-image]: https://img.shields.io/npm/dm/unpipe.svg +[downloads-url]: https://npmjs.org/package/unpipe diff --git a/data/134 b/data/134 new file mode 100644 index 0000000..bdd626c --- /dev/null +++ b/data/134 @@ -0,0 +1,9 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "exclude": [ + "coverage", + "test" + ] +} diff --git a/data/135 b/data/135 new file mode 100644 index 0000000..34995e7 --- /dev/null +++ b/data/135 @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 ECMAScript Shims + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/data/136 b/data/136 new file mode 100644 index 0000000..f108ecd --- /dev/null +++ b/data/136 @@ -0,0 +1,2 @@ +declare function setPrototypeOf(o: any, proto: object | null): any; +export = setPrototypeOf; diff --git a/data/137 b/data/137 new file mode 100644 index 0000000..cbd2478 --- /dev/null +++ b/data/137 @@ -0,0 +1,80 @@ +# EE First + +[![NPM version][npm-image]][npm-url] +[![Build status][travis-image]][travis-url] +[![Test coverage][coveralls-image]][coveralls-url] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] +[![Gittip][gittip-image]][gittip-url] + +Get the first event in a set of event emitters and event pairs, +then clean up after itself. + +## Install + +```sh +$ npm install ee-first +``` + +## API + +```js +var first = require('ee-first') +``` + +### first(arr, listener) + +Invoke `listener` on the first event from the list specified in `arr`. `arr` is +an array of arrays, with each array in the format `[ee, ...event]`. `listener` +will be called only once, the first time any of the given events are emitted. If +`error` is one of the listened events, then if that fires first, the `listener` +will be given the `err` argument. + +The `listener` is invoked as `listener(err, ee, event, args)`, where `err` is the +first argument emitted from an `error` event, if applicable; `ee` is the event +emitter that fired; `event` is the string event name that fired; and `args` is an +array of the arguments that were emitted on the event. + +```js +var ee1 = new EventEmitter() +var ee2 = new EventEmitter() + +first([ + [ee1, 'close', 'end', 'error'], + [ee2, 'error'] +], function (err, ee, event, args) { + // listener invoked +}) +``` + +#### .cancel() + +The group of listeners can be cancelled before being invoked and have all the event +listeners removed from the underlying event emitters. + +```js +var thunk = first([ + [ee1, 'close', 'end', 'error'], + [ee2, 'error'] +], function (err, ee, event, args) { + // listener invoked +}) + +// cancel and clean up +thunk.cancel() +``` + +[npm-image]: https://img.shields.io/npm/v/ee-first.svg?style=flat-square +[npm-url]: https://npmjs.org/package/ee-first +[github-tag]: http://img.shields.io/github/tag/jonathanong/ee-first.svg?style=flat-square +[github-url]: https://github.com/jonathanong/ee-first/tags +[travis-image]: https://img.shields.io/travis/jonathanong/ee-first.svg?style=flat-square +[travis-url]: https://travis-ci.org/jonathanong/ee-first +[coveralls-image]: https://img.shields.io/coveralls/jonathanong/ee-first.svg?style=flat-square +[coveralls-url]: https://coveralls.io/r/jonathanong/ee-first?branch=master +[license-image]: http://img.shields.io/npm/l/ee-first.svg?style=flat-square +[license-url]: LICENSE.md +[downloads-image]: http://img.shields.io/npm/dm/ee-first.svg?style=flat-square +[downloads-url]: https://npmjs.org/package/ee-first +[gittip-image]: https://img.shields.io/gittip/jonathanong.svg?style=flat-square +[gittip-url]: https://www.gittip.com/jonathanong/ diff --git a/data/138 b/data/138 new file mode 100644 index 0000000..98eab25 --- /dev/null +++ b/data/138 @@ -0,0 +1,36 @@ +# wrappy + +Callback wrapping utility + +## USAGE + +```javascript +var wrappy = require("wrappy") + +// var wrapper = wrappy(wrapperFunction) + +// make sure a cb is called only once +// See also: http://npm.im/once for this specific use case +var once = wrappy(function (cb) { + var called = false + return function () { + if (called) return + called = true + return cb.apply(this, arguments) + } +}) + +function printBoo () { + console.log('boo') +} +// has some rando property +printBoo.iAmBooPrinter = true + +var onlyPrintOnce = once(printBoo) + +onlyPrintOnce() // prints 'boo' +onlyPrintOnce() // does nothing + +// random property is retained! +assert.equal(onlyPrintOnce.iAmBooPrinter, true) +``` diff --git a/data/139 b/data/139 new file mode 100644 index 0000000..ca41fdc --- /dev/null +++ b/data/139 @@ -0,0 +1,58 @@ +/* eslint-disable node/no-deprecated-api */ + +'use strict' + +var buffer = require('buffer') +var Buffer = buffer.Buffer +var safer = require('./safer.js') +var Safer = safer.Buffer + +var dangerous = {} + +var key + +for (key in safer) { + if (!safer.hasOwnProperty(key)) continue + dangerous[key] = safer[key] +} + +var Dangereous = dangerous.Buffer = {} + +// Copy Safer API +for (key in Safer) { + if (!Safer.hasOwnProperty(key)) continue + Dangereous[key] = Safer[key] +} + +// Copy those missing unsafe methods, if they are present +for (key in Buffer) { + if (!Buffer.hasOwnProperty(key)) continue + if (Dangereous.hasOwnProperty(key)) continue + Dangereous[key] = Buffer[key] +} + +if (!Dangereous.allocUnsafe) { + Dangereous.allocUnsafe = function (size) { + if (typeof size !== 'number') { + throw new TypeError('The "size" argument must be of type number. Received type ' + typeof size) + } + if (size < 0 || size >= 2 * (1 << 30)) { + throw new RangeError('The value "' + size + '" is invalid for option "size"') + } + return Buffer(size) + } +} + +if (!Dangereous.allocUnsafeSlow) { + Dangereous.allocUnsafeSlow = function (size) { + if (typeof size !== 'number') { + throw new TypeError('The "size" argument must be of type number. Received type ' + typeof size) + } + if (size < 0 || size >= 2 * (1 << 30)) { + throw new RangeError('The value "' + size + '" is invalid for option "size"') + } + return buffer.SlowBuffer(size) + } +} + +module.exports = dangerous diff --git a/data/140 b/data/140 new file mode 100644 index 0000000..9295d02 --- /dev/null +++ b/data/140 @@ -0,0 +1,32 @@ +/*! + * toidentifier + * Copyright(c) 2016 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module exports. + * @public + */ + +module.exports = toIdentifier + +/** + * Trasform the given string into a JavaScript identifier + * + * @param {string} str + * @returns {string} + * @public + */ + +function toIdentifier (str) { + return str + .split(' ') + .map(function (token) { + return token.slice(0, 1).toUpperCase() + token.slice(1) + }) + .join('') + .replace(/[^ _0-9a-z]/gi, '') +} diff --git a/data/141 b/data/141 new file mode 100644 index 0000000..bdd626c --- /dev/null +++ b/data/141 @@ -0,0 +1,9 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "exclude": [ + "coverage", + "test" + ] +} diff --git a/data/142 b/data/142 new file mode 100644 index 0000000..6f2d0f8 --- /dev/null +++ b/data/142 @@ -0,0 +1,170 @@ +/*! + * bytes + * Copyright(c) 2012-2014 TJ Holowaychuk + * Copyright(c) 2015 Jed Watson + * MIT Licensed + */ + +'use strict'; + +/** + * Module exports. + * @public + */ + +module.exports = bytes; +module.exports.format = format; +module.exports.parse = parse; + +/** + * Module variables. + * @private + */ + +var formatThousandsRegExp = /\B(?=(\d{3})+(?!\d))/g; + +var formatDecimalsRegExp = /(?:\.0*|(\.[^0]+)0+)$/; + +var map = { + b: 1, + kb: 1 << 10, + mb: 1 << 20, + gb: 1 << 30, + tb: Math.pow(1024, 4), + pb: Math.pow(1024, 5), +}; + +var parseRegExp = /^((-|\+)?(\d+(?:\.\d+)?)) *(kb|mb|gb|tb|pb)$/i; + +/** + * Convert the given value in bytes into a string or parse to string to an integer in bytes. + * + * @param {string|number} value + * @param {{ + * case: [string], + * decimalPlaces: [number] + * fixedDecimals: [boolean] + * thousandsSeparator: [string] + * unitSeparator: [string] + * }} [options] bytes options. + * + * @returns {string|number|null} + */ + +function bytes(value, options) { + if (typeof value === 'string') { + return parse(value); + } + + if (typeof value === 'number') { + return format(value, options); + } + + return null; +} + +/** + * Format the given value in bytes into a string. + * + * If the value is negative, it is kept as such. If it is a float, + * it is rounded. + * + * @param {number} value + * @param {object} [options] + * @param {number} [options.decimalPlaces=2] + * @param {number} [options.fixedDecimals=false] + * @param {string} [options.thousandsSeparator=] + * @param {string} [options.unit=] + * @param {string} [options.unitSeparator=] + * + * @returns {string|null} + * @public + */ + +function format(value, options) { + if (!Number.isFinite(value)) { + return null; + } + + var mag = Math.abs(value); + var thousandsSeparator = (options && options.thousandsSeparator) || ''; + var unitSeparator = (options && options.unitSeparator) || ''; + var decimalPlaces = (options && options.decimalPlaces !== undefined) ? options.decimalPlaces : 2; + var fixedDecimals = Boolean(options && options.fixedDecimals); + var unit = (options && options.unit) || ''; + + if (!unit || !map[unit.toLowerCase()]) { + if (mag >= map.pb) { + unit = 'PB'; + } else if (mag >= map.tb) { + unit = 'TB'; + } else if (mag >= map.gb) { + unit = 'GB'; + } else if (mag >= map.mb) { + unit = 'MB'; + } else if (mag >= map.kb) { + unit = 'KB'; + } else { + unit = 'B'; + } + } + + var val = value / map[unit.toLowerCase()]; + var str = val.toFixed(decimalPlaces); + + if (!fixedDecimals) { + str = str.replace(formatDecimalsRegExp, '$1'); + } + + if (thousandsSeparator) { + str = str.split('.').map(function (s, i) { + return i === 0 + ? s.replace(formatThousandsRegExp, thousandsSeparator) + : s + }).join('.'); + } + + return str + unitSeparator + unit; +} + +/** + * Parse the string value into an integer in bytes. + * + * If no unit is given, it is assumed the value is in bytes. + * + * @param {number|string} val + * + * @returns {number|null} + * @public + */ + +function parse(val) { + if (typeof val === 'number' && !isNaN(val)) { + return val; + } + + if (typeof val !== 'string') { + return null; + } + + // Test if the string passed is valid + var results = parseRegExp.exec(val); + var floatValue; + var unit = 'b'; + + if (!results) { + // Nothing could be extracted from the given string + floatValue = parseInt(val, 10); + unit = 'b' + } else { + // Retrieve the value and the unit + floatValue = parseFloat(results[1]); + unit = results[4].toLowerCase(); + } + + if (isNaN(floatValue)) { + return null; + } + + return Math.floor(map[unit] * floatValue); +} diff --git a/data/143 b/data/143 new file mode 100644 index 0000000..ea351c5 --- /dev/null +++ b/data/143 @@ -0,0 +1,146 @@ +/*! + * statuses + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2016 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var codes = require('./codes.json') + +/** + * Module exports. + * @public + */ + +module.exports = status + +// status code to message map +status.message = codes + +// status message (lower-case) to code map +status.code = createMessageToStatusCodeMap(codes) + +// array of status codes +status.codes = createStatusCodeList(codes) + +// status codes for redirects +status.redirect = { + 300: true, + 301: true, + 302: true, + 303: true, + 305: true, + 307: true, + 308: true +} + +// status codes for empty bodies +status.empty = { + 204: true, + 205: true, + 304: true +} + +// status codes for when you should retry the request +status.retry = { + 502: true, + 503: true, + 504: true +} + +/** + * Create a map of message to status code. + * @private + */ + +function createMessageToStatusCodeMap (codes) { + var map = {} + + Object.keys(codes).forEach(function forEachCode (code) { + var message = codes[code] + var status = Number(code) + + // populate map + map[message.toLowerCase()] = status + }) + + return map +} + +/** + * Create a list of all status codes. + * @private + */ + +function createStatusCodeList (codes) { + return Object.keys(codes).map(function mapCode (code) { + return Number(code) + }) +} + +/** + * Get the status code for given message. + * @private + */ + +function getStatusCode (message) { + var msg = message.toLowerCase() + + if (!Object.prototype.hasOwnProperty.call(status.code, msg)) { + throw new Error('invalid status message: "' + message + '"') + } + + return status.code[msg] +} + +/** + * Get the status message for given code. + * @private + */ + +function getStatusMessage (code) { + if (!Object.prototype.hasOwnProperty.call(status.message, code)) { + throw new Error('invalid status code: ' + code) + } + + return status.message[code] +} + +/** + * Get the status code. + * + * Given a number, this will throw if it is not a known status + * code, otherwise the code will be returned. Given a string, + * the string will be parsed for a number and return the code + * if valid, otherwise will lookup the code assuming this is + * the status message. + * + * @param {string|number} code + * @returns {number} + * @public + */ + +function status (code) { + if (typeof code === 'number') { + return getStatusMessage(code) + } + + if (typeof code !== 'string') { + throw new TypeError('code must be a number or string') + } + + // '403' + var n = parseInt(code, 10) + if (!isNaN(n)) { + return getStatusMessage(n) + } + + return getStatusCode(code) +} diff --git a/data/144 b/data/144 new file mode 100644 index 0000000..70a973d --- /dev/null +++ b/data/144 @@ -0,0 +1,56 @@ +1.2.1 / 2019-05-10 +================== + + * Improve error when `str` is not a string + +1.2.0 / 2016-06-01 +================== + + * Add `combine` option to combine overlapping ranges + +1.1.0 / 2016-05-13 +================== + + * Fix incorrectly returning -1 when there is at least one valid range + * perf: remove internal function + +1.0.3 / 2015-10-29 +================== + + * perf: enable strict mode + +1.0.2 / 2014-09-08 +================== + + * Support Node.js 0.6 + +1.0.1 / 2014-09-07 +================== + + * Move repository to jshttp + +1.0.0 / 2013-12-11 +================== + + * Add repository to package.json + * Add MIT license + +0.0.4 / 2012-06-17 +================== + + * Change ret -1 for unsatisfiable and -2 when invalid + +0.0.3 / 2012-06-17 +================== + + * Fix last-byte-pos default to len - 1 + +0.0.2 / 2012-06-14 +================== + + * Add `.type` + +0.0.1 / 2012-06-11 +================== + + * Initial release diff --git a/data/145 b/data/145 new file mode 100644 index 0000000..1f1ffca --- /dev/null +++ b/data/145 @@ -0,0 +1,79 @@ +# once + +Only call a function once. + +## usage + +```javascript +var once = require('once') + +function load (file, cb) { + cb = once(cb) + loader.load('file') + loader.once('load', cb) + loader.once('error', cb) +} +``` + +Or add to the Function.prototype in a responsible way: + +```javascript +// only has to be done once +require('once').proto() + +function load (file, cb) { + cb = cb.once() + loader.load('file') + loader.once('load', cb) + loader.once('error', cb) +} +``` + +Ironically, the prototype feature makes this module twice as +complicated as necessary. + +To check whether you function has been called, use `fn.called`. Once the +function is called for the first time the return value of the original +function is saved in `fn.value` and subsequent calls will continue to +return this value. + +```javascript +var once = require('once') + +function load (cb) { + cb = once(cb) + var stream = createStream() + stream.once('data', cb) + stream.once('end', function () { + if (!cb.called) cb(new Error('not found')) + }) +} +``` + +## `once.strict(func)` + +Throw an error if the function is called twice. + +Some functions are expected to be called only once. Using `once` for them would +potentially hide logical errors. + +In the example below, the `greet` function has to call the callback only once: + +```javascript +function greet (name, cb) { + // return is missing from the if statement + // when no name is passed, the callback is called twice + if (!name) cb('Hello anonymous') + cb('Hello ' + name) +} + +function log (msg) { + console.log(msg) +} + +// this will print 'Hello anonymous' but the logical error will be missed +greet(null, once(msg)) + +// once.strict will print 'Hello anonymous' and throw an error when the callback will be called the second time +greet(null, once.strict(msg)) +``` diff --git a/data/146 b/data/146 new file mode 100644 index 0000000..86bbb3d --- /dev/null +++ b/data/146 @@ -0,0 +1,27 @@ +if (typeof Object.create === 'function') { + // implementation from standard node.js 'util' module + module.exports = function inherits(ctor, superCtor) { + if (superCtor) { + ctor.super_ = superCtor + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }) + } + }; +} else { + // old school shim for old browsers + module.exports = function inherits(ctor, superCtor) { + if (superCtor) { + ctor.super_ = superCtor + var TempCtor = function () {} + TempCtor.prototype = superCtor.prototype + ctor.prototype = new TempCtor() + ctor.prototype.constructor = ctor + } + } +} diff --git a/data/147 b/data/147 new file mode 100644 index 0000000..8e40954 --- /dev/null +++ b/data/147 @@ -0,0 +1,58 @@ +1.3.3 / 2019-04-15 +================== + + * Fix Node.js 0.8 return value inconsistencies + +1.3.2 / 2017-09-09 +================== + + * perf: reduce overhead for full URLs + * perf: unroll the "fast-path" `RegExp` + +1.3.1 / 2016-01-17 +================== + + * perf: enable strict mode + +1.3.0 / 2014-08-09 +================== + + * Add `parseurl.original` for parsing `req.originalUrl` with fallback + * Return `undefined` if `req.url` is `undefined` + +1.2.0 / 2014-07-21 +================== + + * Cache URLs based on original value + * Remove no-longer-needed URL mis-parse work-around + * Simplify the "fast-path" `RegExp` + +1.1.3 / 2014-07-08 +================== + + * Fix typo + +1.1.2 / 2014-07-08 +================== + + * Seriously fix Node.js 0.8 compatibility + +1.1.1 / 2014-07-08 +================== + + * Fix Node.js 0.8 compatibility + +1.1.0 / 2014-07-08 +================== + + * Incorporate URL href-only parse fast-path + +1.0.1 / 2014-03-08 +================== + + * Add missing `require` + +1.0.0 / 2014-03-08 +================== + + * Genesis from `connect` diff --git a/data/148 b/data/148 new file mode 100644 index 0000000..e68df7b --- /dev/null +++ b/data/148 @@ -0,0 +1,234 @@ +/*! + * on-finished + * Copyright(c) 2013 Jonathan Ong + * Copyright(c) 2014 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module exports. + * @public + */ + +module.exports = onFinished +module.exports.isFinished = isFinished + +/** + * Module dependencies. + * @private + */ + +var asyncHooks = tryRequireAsyncHooks() +var first = require('ee-first') + +/** + * Variables. + * @private + */ + +/* istanbul ignore next */ +var defer = typeof setImmediate === 'function' + ? setImmediate + : function (fn) { process.nextTick(fn.bind.apply(fn, arguments)) } + +/** + * Invoke callback when the response has finished, useful for + * cleaning up resources afterwards. + * + * @param {object} msg + * @param {function} listener + * @return {object} + * @public + */ + +function onFinished (msg, listener) { + if (isFinished(msg) !== false) { + defer(listener, null, msg) + return msg + } + + // attach the listener to the message + attachListener(msg, wrap(listener)) + + return msg +} + +/** + * Determine if message is already finished. + * + * @param {object} msg + * @return {boolean} + * @public + */ + +function isFinished (msg) { + var socket = msg.socket + + if (typeof msg.finished === 'boolean') { + // OutgoingMessage + return Boolean(msg.finished || (socket && !socket.writable)) + } + + if (typeof msg.complete === 'boolean') { + // IncomingMessage + return Boolean(msg.upgrade || !socket || !socket.readable || (msg.complete && !msg.readable)) + } + + // don't know + return undefined +} + +/** + * Attach a finished listener to the message. + * + * @param {object} msg + * @param {function} callback + * @private + */ + +function attachFinishedListener (msg, callback) { + var eeMsg + var eeSocket + var finished = false + + function onFinish (error) { + eeMsg.cancel() + eeSocket.cancel() + + finished = true + callback(error) + } + + // finished on first message event + eeMsg = eeSocket = first([[msg, 'end', 'finish']], onFinish) + + function onSocket (socket) { + // remove listener + msg.removeListener('socket', onSocket) + + if (finished) return + if (eeMsg !== eeSocket) return + + // finished on first socket event + eeSocket = first([[socket, 'error', 'close']], onFinish) + } + + if (msg.socket) { + // socket already assigned + onSocket(msg.socket) + return + } + + // wait for socket to be assigned + msg.on('socket', onSocket) + + if (msg.socket === undefined) { + // istanbul ignore next: node.js 0.8 patch + patchAssignSocket(msg, onSocket) + } +} + +/** + * Attach the listener to the message. + * + * @param {object} msg + * @return {function} + * @private + */ + +function attachListener (msg, listener) { + var attached = msg.__onFinished + + // create a private single listener with queue + if (!attached || !attached.queue) { + attached = msg.__onFinished = createListener(msg) + attachFinishedListener(msg, attached) + } + + attached.queue.push(listener) +} + +/** + * Create listener on message. + * + * @param {object} msg + * @return {function} + * @private + */ + +function createListener (msg) { + function listener (err) { + if (msg.__onFinished === listener) msg.__onFinished = null + if (!listener.queue) return + + var queue = listener.queue + listener.queue = null + + for (var i = 0; i < queue.length; i++) { + queue[i](err, msg) + } + } + + listener.queue = [] + + return listener +} + +/** + * Patch ServerResponse.prototype.assignSocket for node.js 0.8. + * + * @param {ServerResponse} res + * @param {function} callback + * @private + */ + +// istanbul ignore next: node.js 0.8 patch +function patchAssignSocket (res, callback) { + var assignSocket = res.assignSocket + + if (typeof assignSocket !== 'function') return + + // res.on('socket', callback) is broken in 0.8 + res.assignSocket = function _assignSocket (socket) { + assignSocket.call(this, socket) + callback(socket) + } +} + +/** + * Try to require async_hooks + * @private + */ + +function tryRequireAsyncHooks () { + try { + return require('async_hooks') + } catch (e) { + return {} + } +} + +/** + * Wrap function with async resource, if possible. + * AsyncResource.bind static method backported. + * @private + */ + +function wrap (fn) { + var res + + // create anonymous resource + if (asyncHooks.AsyncResource) { + res = new asyncHooks.AsyncResource(fn.name || 'bound-anonymous-fn') + } + + // incompatible node.js + if (!res || !res.runInAsyncScope) { + return fn + } + + // return bound function + return res.runInAsyncScope.bind(res, fn, null) +} diff --git a/data/149 b/data/149 new file mode 100644 index 0000000..4997189 --- /dev/null +++ b/data/149 @@ -0,0 +1,38 @@ +{ + "name": "ms", + "version": "2.1.3", + "description": "Tiny millisecond conversion utility", + "repository": "vercel/ms", + "main": "./index", + "files": [ + "index.js" + ], + "scripts": { + "precommit": "lint-staged", + "lint": "eslint lib/* bin/*", + "test": "mocha tests.js" + }, + "eslintConfig": { + "extends": "eslint:recommended", + "env": { + "node": true, + "es6": true + } + }, + "lint-staged": { + "*.js": [ + "npm run lint", + "prettier --single-quote --write", + "git add" + ] + }, + "license": "MIT", + "devDependencies": { + "eslint": "4.18.2", + "expect.js": "0.3.1", + "husky": "0.14.3", + "lint-staged": "5.0.0", + "mocha": "4.0.1", + "prettier": "2.0.5" + } +} diff --git a/data/150 b/data/150 new file mode 100644 index 0000000..82271f6 --- /dev/null +++ b/data/150 @@ -0,0 +1,290 @@ +/*! + * http-errors + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2016 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var deprecate = require('depd')('http-errors') +var setPrototypeOf = require('setprototypeof') +var statuses = require('statuses') +var inherits = require('inherits') +var toIdentifier = require('toidentifier') + +/** + * Module exports. + * @public + */ + +module.exports = createError +module.exports.HttpError = createHttpErrorConstructor() +module.exports.isHttpError = createIsHttpErrorFunction(module.exports.HttpError) + +// Populate exports for all constructors +populateConstructorExports(module.exports, statuses.codes, module.exports.HttpError) + +/** + * Get the code class of a status code. + * @private + */ + +function codeClass (status) { + return Number(String(status).charAt(0) + '00') +} + +/** + * Create a new HTTP Error. + * + * @returns {Error} + * @public + */ + +function createError () { + // so much arity going on ~_~ + var err + var msg + var status = 500 + var props = {} + for (var i = 0; i < arguments.length; i++) { + var arg = arguments[i] + var type = typeof arg + if (type === 'object' && arg instanceof Error) { + err = arg + status = err.status || err.statusCode || status + } else if (type === 'number' && i === 0) { + status = arg + } else if (type === 'string') { + msg = arg + } else if (type === 'object') { + props = arg + } else { + throw new TypeError('argument #' + (i + 1) + ' unsupported type ' + type) + } + } + + if (typeof status === 'number' && (status < 400 || status >= 600)) { + deprecate('non-error status code; use only 4xx or 5xx status codes') + } + + if (typeof status !== 'number' || + (!statuses.message[status] && (status < 400 || status >= 600))) { + status = 500 + } + + // constructor + var HttpError = createError[status] || createError[codeClass(status)] + + if (!err) { + // create error + err = HttpError + ? new HttpError(msg) + : new Error(msg || statuses.message[status]) + Error.captureStackTrace(err, createError) + } + + if (!HttpError || !(err instanceof HttpError) || err.status !== status) { + // add properties to generic error + err.expose = status < 500 + err.status = err.statusCode = status + } + + for (var key in props) { + if (key !== 'status' && key !== 'statusCode') { + err[key] = props[key] + } + } + + return err +} + +/** + * Create HTTP error abstract base class. + * @private + */ + +function createHttpErrorConstructor () { + function HttpError () { + throw new TypeError('cannot construct abstract class') + } + + inherits(HttpError, Error) + + return HttpError +} + +/** + * Create a constructor for a client error. + * @private + */ + +function createClientErrorConstructor (HttpError, name, code) { + var className = toClassName(name) + + function ClientError (message) { + // create the error object + var msg = message != null ? message : statuses.message[code] + var err = new Error(msg) + + // capture a stack trace to the construction point + Error.captureStackTrace(err, ClientError) + + // adjust the [[Prototype]] + setPrototypeOf(err, ClientError.prototype) + + // redefine the error message + Object.defineProperty(err, 'message', { + enumerable: true, + configurable: true, + value: msg, + writable: true + }) + + // redefine the error name + Object.defineProperty(err, 'name', { + enumerable: false, + configurable: true, + value: className, + writable: true + }) + + return err + } + + inherits(ClientError, HttpError) + nameFunc(ClientError, className) + + ClientError.prototype.status = code + ClientError.prototype.statusCode = code + ClientError.prototype.expose = true + + return ClientError +} + +/** + * Create function to test is a value is a HttpError. + * @private + */ + +function createIsHttpErrorFunction (HttpError) { + return function isHttpError (val) { + if (!val || typeof val !== 'object') { + return false + } + + if (val instanceof HttpError) { + return true + } + + return val instanceof Error && + typeof val.expose === 'boolean' && + typeof val.statusCode === 'number' && val.status === val.statusCode + } +} + +/** + * Create a constructor for a server error. + * @private + */ + +function createServerErrorConstructor (HttpError, name, code) { + var className = toClassName(name) + + function ServerError (message) { + // create the error object + var msg = message != null ? message : statuses.message[code] + var err = new Error(msg) + + // capture a stack trace to the construction point + Error.captureStackTrace(err, ServerError) + + // adjust the [[Prototype]] + setPrototypeOf(err, ServerError.prototype) + + // redefine the error message + Object.defineProperty(err, 'message', { + enumerable: true, + configurable: true, + value: msg, + writable: true + }) + + // redefine the error name + Object.defineProperty(err, 'name', { + enumerable: false, + configurable: true, + value: className, + writable: true + }) + + return err + } + + inherits(ServerError, HttpError) + nameFunc(ServerError, className) + + ServerError.prototype.status = code + ServerError.prototype.statusCode = code + ServerError.prototype.expose = false + + return ServerError +} + +/** + * Set the name of a function, if possible. + * @private + */ + +function nameFunc (func, name) { + var desc = Object.getOwnPropertyDescriptor(func, 'name') + + if (desc && desc.configurable) { + desc.value = name + Object.defineProperty(func, 'name', desc) + } +} + +/** + * Populate the exports object with constructors for every error class. + * @private + */ + +function populateConstructorExports (exports, codes, HttpError) { + codes.forEach(function forEachCode (code) { + var CodeError + var name = toIdentifier(statuses.message[code]) + + switch (codeClass(code)) { + case 400: + CodeError = createClientErrorConstructor(HttpError, name, code) + break + case 500: + CodeError = createServerErrorConstructor(HttpError, name, code) + break + } + + if (CodeError) { + // export the constructor + exports[code] = CodeError + exports[name] = CodeError + } + }) +} + +/** + * Get a class name from a name identifier. + * + * @param {string} name + * @returns {string} + * @private + */ + +function toClassName (name) { + return name.slice(-5) === 'Error' ? name : name + 'Error' +} diff --git a/data/151 b/data/151 new file mode 100644 index 0000000..cc000b3 --- /dev/null +++ b/data/151 @@ -0,0 +1,101 @@ +# vary + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Manipulate the HTTP Vary header + +## Installation + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```sh +$ npm install vary +``` + +## API + + + +```js +var vary = require('vary') +``` + +### vary(res, field) + +Adds the given header `field` to the `Vary` response header of `res`. +This can be a string of a single field, a string of a valid `Vary` +header, or an array of multiple fields. + +This will append the header if not already listed, otherwise leaves +it listed in the current location. + + + +```js +// Append "Origin" to the Vary header of the response +vary(res, 'Origin') +``` + +### vary.append(header, field) + +Adds the given header `field` to the `Vary` response header string `header`. +This can be a string of a single field, a string of a valid `Vary` header, +or an array of multiple fields. + +This will append the header if not already listed, otherwise leaves +it listed in the current location. The new header string is returned. + + + +```js +// Get header string appending "Origin" to "Accept, User-Agent" +vary.append('Accept, User-Agent', 'Origin') +``` + +## Examples + +### Updating the Vary header when content is based on it + +```js +var http = require('http') +var vary = require('vary') + +http.createServer(function onRequest (req, res) { + // about to user-agent sniff + vary(res, 'User-Agent') + + var ua = req.headers['user-agent'] || '' + var isMobile = /mobi|android|touch|mini/i.test(ua) + + // serve site, depending on isMobile + res.setHeader('Content-Type', 'text/html') + res.end('You are (probably) ' + (isMobile ? '' : 'not ') + 'a mobile user') +}) +``` + +## Testing + +```sh +$ npm test +``` + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/vary.svg +[npm-url]: https://npmjs.org/package/vary +[node-version-image]: https://img.shields.io/node/v/vary.svg +[node-version-url]: https://nodejs.org/en/download +[travis-image]: https://img.shields.io/travis/jshttp/vary/master.svg +[travis-url]: https://travis-ci.org/jshttp/vary +[coveralls-image]: https://img.shields.io/coveralls/jshttp/vary/master.svg +[coveralls-url]: https://coveralls.io/r/jshttp/vary +[downloads-image]: https://img.shields.io/npm/dm/vary.svg +[downloads-url]: https://npmjs.org/package/vary diff --git a/data/152 b/data/152 new file mode 100644 index 0000000..cd9ebaa --- /dev/null +++ b/data/152 @@ -0,0 +1,103 @@ +2.0.0 / 2018-10-26 +================== + + * Drop support for Node.js 0.6 + * Replace internal `eval` usage with `Function` constructor + * Use instance methods on `process` to check for listeners + +1.1.2 / 2018-01-11 +================== + + * perf: remove argument reassignment + * Support Node.js 0.6 to 9.x + +1.1.1 / 2017-07-27 +================== + + * Remove unnecessary `Buffer` loading + * Support Node.js 0.6 to 8.x + +1.1.0 / 2015-09-14 +================== + + * Enable strict mode in more places + * Support io.js 3.x + * Support io.js 2.x + * Support web browser loading + - Requires bundler like Browserify or webpack + +1.0.1 / 2015-04-07 +================== + + * Fix `TypeError`s when under `'use strict'` code + * Fix useless type name on auto-generated messages + * Support io.js 1.x + * Support Node.js 0.12 + +1.0.0 / 2014-09-17 +================== + + * No changes + +0.4.5 / 2014-09-09 +================== + + * Improve call speed to functions using the function wrapper + * Support Node.js 0.6 + +0.4.4 / 2014-07-27 +================== + + * Work-around v8 generating empty stack traces + +0.4.3 / 2014-07-26 +================== + + * Fix exception when global `Error.stackTraceLimit` is too low + +0.4.2 / 2014-07-19 +================== + + * Correct call site for wrapped functions and properties + +0.4.1 / 2014-07-19 +================== + + * Improve automatic message generation for function properties + +0.4.0 / 2014-07-19 +================== + + * Add `TRACE_DEPRECATION` environment variable + * Remove non-standard grey color from color output + * Support `--no-deprecation` argument + * Support `--trace-deprecation` argument + * Support `deprecate.property(fn, prop, message)` + +0.3.0 / 2014-06-16 +================== + + * Add `NO_DEPRECATION` environment variable + +0.2.0 / 2014-06-15 +================== + + * Add `deprecate.property(obj, prop, message)` + * Remove `supports-color` dependency for node.js 0.8 + +0.1.0 / 2014-06-15 +================== + + * Add `deprecate.function(fn, message)` + * Add `process.on('deprecation', fn)` emitter + * Automatically generate message when omitted from `deprecate()` + +0.0.1 / 2014-06-15 +================== + + * Fix warning for dynamic calls at singe call site + +0.0.0 / 2014-06-15 +================== + + * Initial implementation diff --git a/data/153 b/data/153 new file mode 100644 index 0000000..a49ee5a --- /dev/null +++ b/data/153 @@ -0,0 +1,60 @@ +/*! + * encodeurl + * Copyright(c) 2016 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module exports. + * @public + */ + +module.exports = encodeUrl + +/** + * RegExp to match non-URL code points, *after* encoding (i.e. not including "%") + * and including invalid escape sequences. + * @private + */ + +var ENCODE_CHARS_REGEXP = /(?:[^\x21\x23-\x3B\x3D\x3F-\x5F\x61-\x7A\x7C\x7E]|%(?:[^0-9A-Fa-f]|[0-9A-Fa-f][^0-9A-Fa-f]|$))+/g + +/** + * RegExp to match unmatched surrogate pair. + * @private + */ + +var UNMATCHED_SURROGATE_PAIR_REGEXP = /(^|[^\uD800-\uDBFF])[\uDC00-\uDFFF]|[\uD800-\uDBFF]([^\uDC00-\uDFFF]|$)/g + +/** + * String to replace unmatched surrogate pair with. + * @private + */ + +var UNMATCHED_SURROGATE_PAIR_REPLACE = '$1\uFFFD$2' + +/** + * Encode a URL to a percent-encoded form, excluding already-encoded sequences. + * + * This function will take an already-encoded URL and encode all the non-URL + * code points. This function will not encode the "%" character unless it is + * not part of a valid sequence (`%20` will be left as-is, but `%foo` will + * be encoded as `%25foo`). + * + * This encode is meant to be "safe" and does not throw errors. It will try as + * hard as it can to properly encode the given URL, including replacing any raw, + * unpaired surrogate pairs with the Unicode replacement character prior to + * encoding. + * + * @param {string} url + * @return {string} + * @public + */ + +function encodeUrl (url) { + return String(url) + .replace(UNMATCHED_SURROGATE_PAIR_REGEXP, UNMATCHED_SURROGATE_PAIR_REPLACE) + .replace(ENCODE_CHARS_REGEXP, encodeURI) +} diff --git a/data/154 b/data/154 new file mode 100644 index 0000000..09c2169 --- /dev/null +++ b/data/154 @@ -0,0 +1,159 @@ +# etag + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Create simple HTTP ETags + +This module generates HTTP ETags (as defined in RFC 7232) for use in +HTTP responses. + +## Installation + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```sh +$ npm install etag +``` + +## API + + + +```js +var etag = require('etag') +``` + +### etag(entity, [options]) + +Generate a strong ETag for the given entity. This should be the complete +body of the entity. Strings, `Buffer`s, and `fs.Stats` are accepted. By +default, a strong ETag is generated except for `fs.Stats`, which will +generate a weak ETag (this can be overwritten by `options.weak`). + + + +```js +res.setHeader('ETag', etag(body)) +``` + +#### Options + +`etag` accepts these properties in the options object. + +##### weak + +Specifies if the generated ETag will include the weak validator mark (that +is, the leading `W/`). The actual entity tag is the same. The default value +is `false`, unless the `entity` is `fs.Stats`, in which case it is `true`. + +## Testing + +```sh +$ npm test +``` + +## Benchmark + +```bash +$ npm run-script bench + +> etag@1.8.1 bench nodejs-etag +> node benchmark/index.js + + http_parser@2.7.0 + node@6.11.1 + v8@5.1.281.103 + uv@1.11.0 + zlib@1.2.11 + ares@1.10.1-DEV + icu@58.2 + modules@48 + openssl@1.0.2k + +> node benchmark/body0-100b.js + + 100B body + + 4 tests completed. + + buffer - strong x 258,647 ops/sec ±1.07% (180 runs sampled) + buffer - weak x 263,812 ops/sec ±0.61% (184 runs sampled) + string - strong x 259,955 ops/sec ±1.19% (185 runs sampled) + string - weak x 264,356 ops/sec ±1.09% (184 runs sampled) + +> node benchmark/body1-1kb.js + + 1KB body + + 4 tests completed. + + buffer - strong x 189,018 ops/sec ±1.12% (182 runs sampled) + buffer - weak x 190,586 ops/sec ±0.81% (186 runs sampled) + string - strong x 144,272 ops/sec ±0.96% (188 runs sampled) + string - weak x 145,380 ops/sec ±1.43% (187 runs sampled) + +> node benchmark/body2-5kb.js + + 5KB body + + 4 tests completed. + + buffer - strong x 92,435 ops/sec ±0.42% (188 runs sampled) + buffer - weak x 92,373 ops/sec ±0.58% (189 runs sampled) + string - strong x 48,850 ops/sec ±0.56% (186 runs sampled) + string - weak x 49,380 ops/sec ±0.56% (190 runs sampled) + +> node benchmark/body3-10kb.js + + 10KB body + + 4 tests completed. + + buffer - strong x 55,989 ops/sec ±0.93% (188 runs sampled) + buffer - weak x 56,148 ops/sec ±0.55% (190 runs sampled) + string - strong x 27,345 ops/sec ±0.43% (188 runs sampled) + string - weak x 27,496 ops/sec ±0.45% (190 runs sampled) + +> node benchmark/body4-100kb.js + + 100KB body + + 4 tests completed. + + buffer - strong x 7,083 ops/sec ±0.22% (190 runs sampled) + buffer - weak x 7,115 ops/sec ±0.26% (191 runs sampled) + string - strong x 3,068 ops/sec ±0.34% (190 runs sampled) + string - weak x 3,096 ops/sec ±0.35% (190 runs sampled) + +> node benchmark/stats.js + + stat + + 4 tests completed. + + real - strong x 871,642 ops/sec ±0.34% (189 runs sampled) + real - weak x 867,613 ops/sec ±0.39% (190 runs sampled) + fake - strong x 401,051 ops/sec ±0.40% (189 runs sampled) + fake - weak x 400,100 ops/sec ±0.47% (188 runs sampled) +``` + +## License + +[MIT](LICENSE) + +[npm-image]: https://img.shields.io/npm/v/etag.svg +[npm-url]: https://npmjs.org/package/etag +[node-version-image]: https://img.shields.io/node/v/etag.svg +[node-version-url]: https://nodejs.org/en/download/ +[travis-image]: https://img.shields.io/travis/jshttp/etag/master.svg +[travis-url]: https://travis-ci.org/jshttp/etag +[coveralls-image]: https://img.shields.io/coveralls/jshttp/etag/master.svg +[coveralls-url]: https://coveralls.io/r/jshttp/etag?branch=master +[downloads-image]: https://img.shields.io/npm/dm/etag.svg +[downloads-url]: https://npmjs.org/package/etag diff --git a/data/155 b/data/155 new file mode 100644 index 0000000..41840e7 --- /dev/null +++ b/data/155 @@ -0,0 +1,225 @@ +/*! + * content-type + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * RegExp to match *( ";" parameter ) in RFC 7231 sec 3.1.1.1 + * + * parameter = token "=" ( token / quoted-string ) + * token = 1*tchar + * tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*" + * / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~" + * / DIGIT / ALPHA + * ; any VCHAR, except delimiters + * quoted-string = DQUOTE *( qdtext / quoted-pair ) DQUOTE + * qdtext = HTAB / SP / %x21 / %x23-5B / %x5D-7E / obs-text + * obs-text = %x80-FF + * quoted-pair = "\" ( HTAB / SP / VCHAR / obs-text ) + */ +var PARAM_REGEXP = /; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g // eslint-disable-line no-control-regex +var TEXT_REGEXP = /^[\u000b\u0020-\u007e\u0080-\u00ff]+$/ // eslint-disable-line no-control-regex +var TOKEN_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/ + +/** + * RegExp to match quoted-pair in RFC 7230 sec 3.2.6 + * + * quoted-pair = "\" ( HTAB / SP / VCHAR / obs-text ) + * obs-text = %x80-FF + */ +var QESC_REGEXP = /\\([\u000b\u0020-\u00ff])/g // eslint-disable-line no-control-regex + +/** + * RegExp to match chars that must be quoted-pair in RFC 7230 sec 3.2.6 + */ +var QUOTE_REGEXP = /([\\"])/g + +/** + * RegExp to match type in RFC 7231 sec 3.1.1.1 + * + * media-type = type "/" subtype + * type = token + * subtype = token + */ +var TYPE_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/ + +/** + * Module exports. + * @public + */ + +exports.format = format +exports.parse = parse + +/** + * Format object to media type. + * + * @param {object} obj + * @return {string} + * @public + */ + +function format (obj) { + if (!obj || typeof obj !== 'object') { + throw new TypeError('argument obj is required') + } + + var parameters = obj.parameters + var type = obj.type + + if (!type || !TYPE_REGEXP.test(type)) { + throw new TypeError('invalid type') + } + + var string = type + + // append parameters + if (parameters && typeof parameters === 'object') { + var param + var params = Object.keys(parameters).sort() + + for (var i = 0; i < params.length; i++) { + param = params[i] + + if (!TOKEN_REGEXP.test(param)) { + throw new TypeError('invalid parameter name') + } + + string += '; ' + param + '=' + qstring(parameters[param]) + } + } + + return string +} + +/** + * Parse media type to object. + * + * @param {string|object} string + * @return {Object} + * @public + */ + +function parse (string) { + if (!string) { + throw new TypeError('argument string is required') + } + + // support req/res-like objects as argument + var header = typeof string === 'object' + ? getcontenttype(string) + : string + + if (typeof header !== 'string') { + throw new TypeError('argument string is required to be a string') + } + + var index = header.indexOf(';') + var type = index !== -1 + ? header.slice(0, index).trim() + : header.trim() + + if (!TYPE_REGEXP.test(type)) { + throw new TypeError('invalid media type') + } + + var obj = new ContentType(type.toLowerCase()) + + // parse parameters + if (index !== -1) { + var key + var match + var value + + PARAM_REGEXP.lastIndex = index + + while ((match = PARAM_REGEXP.exec(header))) { + if (match.index !== index) { + throw new TypeError('invalid parameter format') + } + + index += match[0].length + key = match[1].toLowerCase() + value = match[2] + + if (value.charCodeAt(0) === 0x22 /* " */) { + // remove quotes + value = value.slice(1, -1) + + // remove escapes + if (value.indexOf('\\') !== -1) { + value = value.replace(QESC_REGEXP, '$1') + } + } + + obj.parameters[key] = value + } + + if (index !== header.length) { + throw new TypeError('invalid parameter format') + } + } + + return obj +} + +/** + * Get content-type from req/res objects. + * + * @param {object} + * @return {Object} + * @private + */ + +function getcontenttype (obj) { + var header + + if (typeof obj.getHeader === 'function') { + // res-like + header = obj.getHeader('content-type') + } else if (typeof obj.headers === 'object') { + // req-like + header = obj.headers && obj.headers['content-type'] + } + + if (typeof header !== 'string') { + throw new TypeError('content-type header is missing from object') + } + + return header +} + +/** + * Quote a string if necessary. + * + * @param {string} val + * @return {string} + * @private + */ + +function qstring (val) { + var str = String(val) + + // no need to quote tokens + if (TOKEN_REGEXP.test(str)) { + return str + } + + if (str.length > 0 && !TEXT_REGEXP.test(str)) { + throw new TypeError('invalid parameter value') + } + + return '"' + str.replace(QUOTE_REGEXP, '\\$1') + '"' +} + +/** + * Class to represent a content type. + * @private + */ +function ContentType (type) { + this.parameters = Object.create(null) + this.type = type +} diff --git a/data/156 b/data/156 new file mode 100644 index 0000000..1dca712 --- /dev/null +++ b/data/156 @@ -0,0 +1,33 @@ +{ + "name": "media-typer", + "description": "Simple RFC 6838 media type parser and formatter", + "version": "1.1.0", + "author": "Douglas Christopher Wilson ", + "license": "MIT", + "repository": "jshttp/media-typer", + "devDependencies": { + "eslint": "5.16.0", + "eslint-config-standard": "12.0.0", + "eslint-plugin-import": "2.17.2", + "eslint-plugin-markdown": "1.0.0", + "eslint-plugin-node": "8.0.1", + "eslint-plugin-promise": "4.1.1", + "eslint-plugin-standard": "4.0.0", + "mocha": "6.1.4", + "nyc": "14.0.0" + }, + "files": [ + "LICENSE", + "HISTORY.md", + "index.js" + ], + "engines": { + "node": ">= 0.8" + }, + "scripts": { + "lint": "eslint --plugin markdown --ext js,md .", + "test": "mocha --reporter spec --check-leaks --bail test/", + "test-cov": "nyc --reporter=html --reporter=text npm test", + "test-travis": "nyc --reporter=text npm test" + } +} diff --git a/data/157 b/data/157 new file mode 100644 index 0000000..983fbe8 --- /dev/null +++ b/data/157 @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/data/158 b/data/158 new file mode 100644 index 0000000..0751cb1 --- /dev/null +++ b/data/158 @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2015-2022 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/data/159 b/data/159 new file mode 100644 index 0000000..27cc9f3 --- /dev/null +++ b/data/159 @@ -0,0 +1,19 @@ +Copyright (c) 2014 Forbes Lindesay + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/data/160 b/data/160 new file mode 100644 index 0000000..2e70de9 --- /dev/null +++ b/data/160 @@ -0,0 +1,24 @@ +(The MIT License) + +Copyright (c) 2012-2013 TJ Holowaychuk +Copyright (c) 2015 Andreas Lubbe +Copyright (c) 2015 Tiancheng "Timothy" Gu + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/data/161 b/data/161 new file mode 100644 index 0000000..34995e7 --- /dev/null +++ b/data/161 @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 ECMAScript Shims + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/data/162 b/data/162 new file mode 100644 index 0000000..cf9616c --- /dev/null +++ b/data/162 @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./gOPD')} */ +module.exports = Object.getOwnPropertyDescriptor; diff --git a/data/163 b/data/163 new file mode 100644 index 0000000..0314929 --- /dev/null +++ b/data/163 @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) Jordan Harband and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/data/164 b/data/164 new file mode 100644 index 0000000..1d33cef --- /dev/null +++ b/data/164 @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('.')} */ +module.exports = Object; diff --git a/data/166 b/data/166 new file mode 100644 index 0000000..8a56d5b --- /dev/null +++ b/data/166 @@ -0,0 +1,9 @@ +{ + "rules": { + "array-bracket-newline": 0, + "array-element-newline": 0, + "max-statements-per-line": [2, { "max": 2 }], + "no-invalid-this": 0, + "no-magic-numbers": 0, + } +} diff --git a/data/167 b/data/167 new file mode 100644 index 0000000..f82f389 --- /dev/null +++ b/data/167 @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/data/168 b/data/168 new file mode 100644 index 0000000..f82f389 --- /dev/null +++ b/data/168 @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/data/170 b/data/170 new file mode 100644 index 0000000..48f05d0 --- /dev/null +++ b/data/170 @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/data/171 b/data/171 new file mode 100644 index 0000000..f82f389 --- /dev/null +++ b/data/171 @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/data/172 b/data/172 new file mode 100644 index 0000000..1826526 --- /dev/null +++ b/data/172 @@ -0,0 +1,13 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "lines": 86, + "statements": 85.93, + "functions": 82.43, + "branches": 76.06, + "exclude": [ + "coverage", + "test" + ] +} diff --git a/data/173 b/data/173 new file mode 100644 index 0000000..1826526 --- /dev/null +++ b/data/173 @@ -0,0 +1,13 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "lines": 86, + "statements": 85.93, + "functions": 82.43, + "branches": 76.06, + "exclude": [ + "coverage", + "test" + ] +} diff --git a/data/174 b/data/174 new file mode 100644 index 0000000..725ccb6 --- /dev/null +++ b/data/174 @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./eval')} */ +module.exports = EvalError; diff --git a/data/175 b/data/175 new file mode 100644 index 0000000..ca64cc1 --- /dev/null +++ b/data/175 @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2013 James Halliday + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/data/177 b/data/177 new file mode 100644 index 0000000..1826526 --- /dev/null +++ b/data/177 @@ -0,0 +1,13 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "lines": 86, + "statements": 85.93, + "functions": 82.43, + "branches": 76.06, + "exclude": [ + "coverage", + "test" + ] +} diff --git a/data/178 b/data/178 new file mode 100644 index 0000000..1826526 --- /dev/null +++ b/data/178 @@ -0,0 +1,13 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "lines": 86, + "statements": 85.93, + "functions": 82.43, + "branches": 76.06, + "exclude": [ + "coverage", + "test" + ] +} diff --git a/data/179 b/data/179 new file mode 100644 index 0000000..aed0138 --- /dev/null +++ b/data/179 @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2015 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/data/181 b/data/181 new file mode 100644 index 0000000..df31cbf --- /dev/null +++ b/data/181 @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2016 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/data/182 b/data/182 new file mode 100644 index 0000000..a751424 --- /dev/null +++ b/data/182 @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./abs')} */ +module.exports = Math.abs; diff --git a/data/183 b/data/183 new file mode 100644 index 0000000..c527055 --- /dev/null +++ b/data/183 @@ -0,0 +1,17 @@ +'use strict' +/* eslint no-proto: 0 */ +module.exports = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array ? setProtoOf : mixinProperties) + +function setProtoOf (obj, proto) { + obj.__proto__ = proto + return obj +} + +function mixinProperties (obj, proto) { + for (var prop in proto) { + if (!Object.prototype.hasOwnProperty.call(obj, prop)) { + obj[prop] = proto[prop] + } + } + return obj +} diff --git a/data/184 b/data/184 new file mode 100644 index 0000000..a7ae8ee --- /dev/null +++ b/data/184 @@ -0,0 +1,22 @@ + +The MIT License (MIT) + +Copyright (c) 2014 Jonathan Ong me@jongleberry.com + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/data/185 b/data/185 new file mode 100644 index 0000000..19129e3 --- /dev/null +++ b/data/185 @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/data/186 b/data/186 new file mode 100644 index 0000000..4fe9e6f --- /dev/null +++ b/data/186 @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 Nikita Skovoroda + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/data/187 b/data/187 new file mode 100644 index 0000000..42db1a6 --- /dev/null +++ b/data/187 @@ -0,0 +1,38 @@ +{ + "name": "toidentifier", + "description": "Convert a string of words to a JavaScript identifier", + "version": "1.0.1", + "author": "Douglas Christopher Wilson ", + "contributors": [ + "Douglas Christopher Wilson ", + "Nick Baugh (http://niftylettuce.com/)" + ], + "repository": "component/toidentifier", + "devDependencies": { + "eslint": "7.32.0", + "eslint-config-standard": "14.1.1", + "eslint-plugin-import": "2.25.3", + "eslint-plugin-markdown": "2.2.1", + "eslint-plugin-node": "11.1.0", + "eslint-plugin-promise": "4.3.1", + "eslint-plugin-standard": "4.1.0", + "mocha": "9.1.3", + "nyc": "15.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "license": "MIT", + "files": [ + "HISTORY.md", + "LICENSE", + "index.js" + ], + "scripts": { + "lint": "eslint .", + "test": "mocha --reporter spec --bail --check-leaks test/", + "test-ci": "nyc --reporter=lcov --reporter=text npm test", + "test-cov": "nyc --reporter=html --reporter=text npm test", + "version": "node scripts/version-history.js && git add HISTORY.md" + } +} diff --git a/data/188 b/data/188 new file mode 100644 index 0000000..eeabd1c --- /dev/null +++ b/data/188 @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/data/189 b/data/189 new file mode 100644 index 0000000..1333ed1 --- /dev/null +++ b/data/189 @@ -0,0 +1,65 @@ +{ + "100": "Continue", + "101": "Switching Protocols", + "102": "Processing", + "103": "Early Hints", + "200": "OK", + "201": "Created", + "202": "Accepted", + "203": "Non-Authoritative Information", + "204": "No Content", + "205": "Reset Content", + "206": "Partial Content", + "207": "Multi-Status", + "208": "Already Reported", + "226": "IM Used", + "300": "Multiple Choices", + "301": "Moved Permanently", + "302": "Found", + "303": "See Other", + "304": "Not Modified", + "305": "Use Proxy", + "307": "Temporary Redirect", + "308": "Permanent Redirect", + "400": "Bad Request", + "401": "Unauthorized", + "402": "Payment Required", + "403": "Forbidden", + "404": "Not Found", + "405": "Method Not Allowed", + "406": "Not Acceptable", + "407": "Proxy Authentication Required", + "408": "Request Timeout", + "409": "Conflict", + "410": "Gone", + "411": "Length Required", + "412": "Precondition Failed", + "413": "Payload Too Large", + "414": "URI Too Long", + "415": "Unsupported Media Type", + "416": "Range Not Satisfiable", + "417": "Expectation Failed", + "418": "I'm a Teapot", + "421": "Misdirected Request", + "422": "Unprocessable Entity", + "423": "Locked", + "424": "Failed Dependency", + "425": "Too Early", + "426": "Upgrade Required", + "428": "Precondition Required", + "429": "Too Many Requests", + "431": "Request Header Fields Too Large", + "451": "Unavailable For Legal Reasons", + "500": "Internal Server Error", + "501": "Not Implemented", + "502": "Bad Gateway", + "503": "Service Unavailable", + "504": "Gateway Timeout", + "505": "HTTP Version Not Supported", + "506": "Variant Also Negotiates", + "507": "Insufficient Storage", + "508": "Loop Detected", + "509": "Bandwidth Limit Exceeded", + "510": "Not Extended", + "511": "Network Authentication Required" +} diff --git a/data/190 b/data/190 new file mode 100644 index 0000000..f2b6a8b --- /dev/null +++ b/data/190 @@ -0,0 +1,42 @@ +{ + "name": "bytes", + "description": "Utility to parse a string bytes to bytes and vice-versa", + "version": "3.1.2", + "author": "TJ Holowaychuk (http://tjholowaychuk.com)", + "contributors": [ + "Jed Watson ", + "Théo FIDRY " + ], + "license": "MIT", + "keywords": [ + "byte", + "bytes", + "utility", + "parse", + "parser", + "convert", + "converter" + ], + "repository": "visionmedia/bytes.js", + "devDependencies": { + "eslint": "7.32.0", + "eslint-plugin-markdown": "2.2.1", + "mocha": "9.2.0", + "nyc": "15.1.0" + }, + "files": [ + "History.md", + "LICENSE", + "Readme.md", + "index.js" + ], + "engines": { + "node": ">= 0.8" + }, + "scripts": { + "lint": "eslint .", + "test": "mocha --check-leaks --reporter spec", + "test-ci": "nyc --reporter=lcov --reporter=text npm test", + "test-cov": "nyc --reporter=html --reporter=text npm test" + } +} diff --git a/data/191 b/data/191 new file mode 100644 index 0000000..b7dc5c0 --- /dev/null +++ b/data/191 @@ -0,0 +1,162 @@ +/*! + * range-parser + * Copyright(c) 2012-2014 TJ Holowaychuk + * Copyright(c) 2015-2016 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module exports. + * @public + */ + +module.exports = rangeParser + +/** + * Parse "Range" header `str` relative to the given file `size`. + * + * @param {Number} size + * @param {String} str + * @param {Object} [options] + * @return {Array} + * @public + */ + +function rangeParser (size, str, options) { + if (typeof str !== 'string') { + throw new TypeError('argument str must be a string') + } + + var index = str.indexOf('=') + + if (index === -1) { + return -2 + } + + // split the range string + var arr = str.slice(index + 1).split(',') + var ranges = [] + + // add ranges type + ranges.type = str.slice(0, index) + + // parse all ranges + for (var i = 0; i < arr.length; i++) { + var range = arr[i].split('-') + var start = parseInt(range[0], 10) + var end = parseInt(range[1], 10) + + // -nnn + if (isNaN(start)) { + start = size - end + end = size - 1 + // nnn- + } else if (isNaN(end)) { + end = size - 1 + } + + // limit last-byte-pos to current length + if (end > size - 1) { + end = size - 1 + } + + // invalid or unsatisifiable + if (isNaN(start) || isNaN(end) || start > end || start < 0) { + continue + } + + // add range + ranges.push({ + start: start, + end: end + }) + } + + if (ranges.length < 1) { + // unsatisifiable + return -1 + } + + return options && options.combine + ? combineRanges(ranges) + : ranges +} + +/** + * Combine overlapping & adjacent ranges. + * @private + */ + +function combineRanges (ranges) { + var ordered = ranges.map(mapWithIndex).sort(sortByRangeStart) + + for (var j = 0, i = 1; i < ordered.length; i++) { + var range = ordered[i] + var current = ordered[j] + + if (range.start > current.end + 1) { + // next range + ordered[++j] = range + } else if (range.end > current.end) { + // extend range + current.end = range.end + current.index = Math.min(current.index, range.index) + } + } + + // trim ordered array + ordered.length = j + 1 + + // generate combined range + var combined = ordered.sort(sortByRangeIndex).map(mapWithoutIndex) + + // copy ranges type + combined.type = ranges.type + + return combined +} + +/** + * Map function to add index value to ranges. + * @private + */ + +function mapWithIndex (range, index) { + return { + start: range.start, + end: range.end, + index: index + } +} + +/** + * Map function to remove index value from ranges. + * @private + */ + +function mapWithoutIndex (range) { + return { + start: range.start, + end: range.end + } +} + +/** + * Sort function to sort ranges by index. + * @private + */ + +function sortByRangeIndex (a, b) { + return a.index - b.index +} + +/** + * Sort function to sort ranges by start position. + * @private + */ + +function sortByRangeStart (a, b) { + return a.start - b.start +} diff --git a/data/192 b/data/192 new file mode 100644 index 0000000..19129e3 --- /dev/null +++ b/data/192 @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/data/193 b/data/193 new file mode 100644 index 0000000..f71f2d9 --- /dev/null +++ b/data/193 @@ -0,0 +1,9 @@ +try { + var util = require('util'); + /* istanbul ignore next */ + if (typeof util.inherits !== 'function') throw ''; + module.exports = util.inherits; +} catch (e) { + /* istanbul ignore next */ + module.exports = require('./inherits_browser.js'); +} diff --git a/data/194 b/data/194 new file mode 100644 index 0000000..ece7223 --- /dev/null +++ b/data/194 @@ -0,0 +1,158 @@ +/*! + * parseurl + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2014-2017 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var url = require('url') +var parse = url.parse +var Url = url.Url + +/** + * Module exports. + * @public + */ + +module.exports = parseurl +module.exports.original = originalurl + +/** + * Parse the `req` url with memoization. + * + * @param {ServerRequest} req + * @return {Object} + * @public + */ + +function parseurl (req) { + var url = req.url + + if (url === undefined) { + // URL is undefined + return undefined + } + + var parsed = req._parsedUrl + + if (fresh(url, parsed)) { + // Return cached URL parse + return parsed + } + + // Parse the URL + parsed = fastparse(url) + parsed._raw = url + + return (req._parsedUrl = parsed) +}; + +/** + * Parse the `req` original url with fallback and memoization. + * + * @param {ServerRequest} req + * @return {Object} + * @public + */ + +function originalurl (req) { + var url = req.originalUrl + + if (typeof url !== 'string') { + // Fallback + return parseurl(req) + } + + var parsed = req._parsedOriginalUrl + + if (fresh(url, parsed)) { + // Return cached URL parse + return parsed + } + + // Parse the URL + parsed = fastparse(url) + parsed._raw = url + + return (req._parsedOriginalUrl = parsed) +}; + +/** + * Parse the `str` url with fast-path short-cut. + * + * @param {string} str + * @return {Object} + * @private + */ + +function fastparse (str) { + if (typeof str !== 'string' || str.charCodeAt(0) !== 0x2f /* / */) { + return parse(str) + } + + var pathname = str + var query = null + var search = null + + // This takes the regexp from https://github.com/joyent/node/pull/7878 + // Which is /^(\/[^?#\s]*)(\?[^#\s]*)?$/ + // And unrolls it into a for loop + for (var i = 1; i < str.length; i++) { + switch (str.charCodeAt(i)) { + case 0x3f: /* ? */ + if (search === null) { + pathname = str.substring(0, i) + query = str.substring(i + 1) + search = str.substring(i) + } + break + case 0x09: /* \t */ + case 0x0a: /* \n */ + case 0x0c: /* \f */ + case 0x0d: /* \r */ + case 0x20: /* */ + case 0x23: /* # */ + case 0xa0: + case 0xfeff: + return parse(str) + } + } + + var url = Url !== undefined + ? new Url() + : {} + + url.path = str + url.href = str + url.pathname = pathname + + if (search !== null) { + url.query = query + url.search = search + } + + return url +} + +/** + * Determine if parsed is still fresh for url. + * + * @param {string} url + * @param {object} parsedUrl + * @return {boolean} + * @private + */ + +function fresh (url, parsedUrl) { + return typeof parsedUrl === 'object' && + parsedUrl !== null && + (Url === undefined || parsedUrl instanceof Url) && + parsedUrl._raw === url +} diff --git a/data/195 b/data/195 new file mode 100644 index 0000000..644cd81 --- /dev/null +++ b/data/195 @@ -0,0 +1,39 @@ +{ + "name": "on-finished", + "description": "Execute a callback when a request closes, finishes, or errors", + "version": "2.4.1", + "contributors": [ + "Douglas Christopher Wilson ", + "Jonathan Ong (http://jongleberry.com)" + ], + "license": "MIT", + "repository": "jshttp/on-finished", + "dependencies": { + "ee-first": "1.1.1" + }, + "devDependencies": { + "eslint": "7.32.0", + "eslint-config-standard": "14.1.1", + "eslint-plugin-import": "2.25.4", + "eslint-plugin-markdown": "2.2.1", + "eslint-plugin-node": "11.1.0", + "eslint-plugin-promise": "5.2.0", + "eslint-plugin-standard": "4.1.0", + "mocha": "9.2.1", + "nyc": "15.1.0" + }, + "engines": { + "node": ">= 0.8" + }, + "files": [ + "HISTORY.md", + "LICENSE", + "index.js" + ], + "scripts": { + "lint": "eslint .", + "test": "mocha --reporter spec --bail --check-leaks test/", + "test-ci": "nyc --reporter=lcovonly --reporter=text npm test", + "test-cov": "nyc --reporter=html --reporter=text npm test" + } +} diff --git a/data/196 b/data/196 new file mode 100644 index 0000000..fa5d39b --- /dev/null +++ b/data/196 @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2020 Vercel, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/data/197 b/data/197 new file mode 100644 index 0000000..4b46d62 --- /dev/null +++ b/data/197 @@ -0,0 +1,54 @@ +{ + "name": "http-errors", + "description": "Create HTTP error objects", + "version": "2.0.1", + "author": "Jonathan Ong (http://jongleberry.com)", + "contributors": [ + "Alan Plum ", + "Douglas Christopher Wilson " + ], + "license": "MIT", + "repository": "jshttp/http-errors", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + }, + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "devDependencies": { + "eslint": "7.32.0", + "eslint-config-standard": "14.1.1", + "eslint-plugin-import": "2.32.0", + "eslint-plugin-markdown": "2.2.1", + "eslint-plugin-node": "11.1.0", + "eslint-plugin-promise": "5.2.0", + "eslint-plugin-standard": "4.1.0", + "mocha": "9.1.3", + "nyc": "15.1.0" + }, + "engines": { + "node": ">= 0.8" + }, + "scripts": { + "lint": "eslint . && node ./scripts/lint-readme-list.js", + "test": "mocha --reporter spec", + "test-ci": "nyc --reporter=lcov --reporter=text npm test", + "test-cov": "nyc --reporter=html --reporter=text npm test", + "version": "node scripts/version-history.js && git add HISTORY.md" + }, + "keywords": [ + "http", + "error" + ], + "files": [ + "index.js", + "HISTORY.md", + "LICENSE", + "README.md" + ] +} diff --git a/data/198 b/data/198 new file mode 100644 index 0000000..84441fb --- /dev/null +++ b/data/198 @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2014-2017 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/data/199 b/data/199 new file mode 100644 index 0000000..1bf2fcf --- /dev/null +++ b/data/199 @@ -0,0 +1,538 @@ +/*! + * depd + * Copyright(c) 2014-2018 Douglas Christopher Wilson + * MIT Licensed + */ + +/** + * Module dependencies. + */ + +var relative = require('path').relative + +/** + * Module exports. + */ + +module.exports = depd + +/** + * Get the path to base files on. + */ + +var basePath = process.cwd() + +/** + * Determine if namespace is contained in the string. + */ + +function containsNamespace (str, namespace) { + var vals = str.split(/[ ,]+/) + var ns = String(namespace).toLowerCase() + + for (var i = 0; i < vals.length; i++) { + var val = vals[i] + + // namespace contained + if (val && (val === '*' || val.toLowerCase() === ns)) { + return true + } + } + + return false +} + +/** + * Convert a data descriptor to accessor descriptor. + */ + +function convertDataDescriptorToAccessor (obj, prop, message) { + var descriptor = Object.getOwnPropertyDescriptor(obj, prop) + var value = descriptor.value + + descriptor.get = function getter () { return value } + + if (descriptor.writable) { + descriptor.set = function setter (val) { return (value = val) } + } + + delete descriptor.value + delete descriptor.writable + + Object.defineProperty(obj, prop, descriptor) + + return descriptor +} + +/** + * Create arguments string to keep arity. + */ + +function createArgumentsString (arity) { + var str = '' + + for (var i = 0; i < arity; i++) { + str += ', arg' + i + } + + return str.substr(2) +} + +/** + * Create stack string from stack. + */ + +function createStackString (stack) { + var str = this.name + ': ' + this.namespace + + if (this.message) { + str += ' deprecated ' + this.message + } + + for (var i = 0; i < stack.length; i++) { + str += '\n at ' + stack[i].toString() + } + + return str +} + +/** + * Create deprecate for namespace in caller. + */ + +function depd (namespace) { + if (!namespace) { + throw new TypeError('argument namespace is required') + } + + var stack = getStack() + var site = callSiteLocation(stack[1]) + var file = site[0] + + function deprecate (message) { + // call to self as log + log.call(deprecate, message) + } + + deprecate._file = file + deprecate._ignored = isignored(namespace) + deprecate._namespace = namespace + deprecate._traced = istraced(namespace) + deprecate._warned = Object.create(null) + + deprecate.function = wrapfunction + deprecate.property = wrapproperty + + return deprecate +} + +/** + * Determine if event emitter has listeners of a given type. + * + * The way to do this check is done three different ways in Node.js >= 0.8 + * so this consolidates them into a minimal set using instance methods. + * + * @param {EventEmitter} emitter + * @param {string} type + * @returns {boolean} + * @private + */ + +function eehaslisteners (emitter, type) { + var count = typeof emitter.listenerCount !== 'function' + ? emitter.listeners(type).length + : emitter.listenerCount(type) + + return count > 0 +} + +/** + * Determine if namespace is ignored. + */ + +function isignored (namespace) { + if (process.noDeprecation) { + // --no-deprecation support + return true + } + + var str = process.env.NO_DEPRECATION || '' + + // namespace ignored + return containsNamespace(str, namespace) +} + +/** + * Determine if namespace is traced. + */ + +function istraced (namespace) { + if (process.traceDeprecation) { + // --trace-deprecation support + return true + } + + var str = process.env.TRACE_DEPRECATION || '' + + // namespace traced + return containsNamespace(str, namespace) +} + +/** + * Display deprecation message. + */ + +function log (message, site) { + var haslisteners = eehaslisteners(process, 'deprecation') + + // abort early if no destination + if (!haslisteners && this._ignored) { + return + } + + var caller + var callFile + var callSite + var depSite + var i = 0 + var seen = false + var stack = getStack() + var file = this._file + + if (site) { + // provided site + depSite = site + callSite = callSiteLocation(stack[1]) + callSite.name = depSite.name + file = callSite[0] + } else { + // get call site + i = 2 + depSite = callSiteLocation(stack[i]) + callSite = depSite + } + + // get caller of deprecated thing in relation to file + for (; i < stack.length; i++) { + caller = callSiteLocation(stack[i]) + callFile = caller[0] + + if (callFile === file) { + seen = true + } else if (callFile === this._file) { + file = this._file + } else if (seen) { + break + } + } + + var key = caller + ? depSite.join(':') + '__' + caller.join(':') + : undefined + + if (key !== undefined && key in this._warned) { + // already warned + return + } + + this._warned[key] = true + + // generate automatic message from call site + var msg = message + if (!msg) { + msg = callSite === depSite || !callSite.name + ? defaultMessage(depSite) + : defaultMessage(callSite) + } + + // emit deprecation if listeners exist + if (haslisteners) { + var err = DeprecationError(this._namespace, msg, stack.slice(i)) + process.emit('deprecation', err) + return + } + + // format and write message + var format = process.stderr.isTTY + ? formatColor + : formatPlain + var output = format.call(this, msg, caller, stack.slice(i)) + process.stderr.write(output + '\n', 'utf8') +} + +/** + * Get call site location as array. + */ + +function callSiteLocation (callSite) { + var file = callSite.getFileName() || '' + var line = callSite.getLineNumber() + var colm = callSite.getColumnNumber() + + if (callSite.isEval()) { + file = callSite.getEvalOrigin() + ', ' + file + } + + var site = [file, line, colm] + + site.callSite = callSite + site.name = callSite.getFunctionName() + + return site +} + +/** + * Generate a default message from the site. + */ + +function defaultMessage (site) { + var callSite = site.callSite + var funcName = site.name + + // make useful anonymous name + if (!funcName) { + funcName = '' + } + + var context = callSite.getThis() + var typeName = context && callSite.getTypeName() + + // ignore useless type name + if (typeName === 'Object') { + typeName = undefined + } + + // make useful type name + if (typeName === 'Function') { + typeName = context.name || typeName + } + + return typeName && callSite.getMethodName() + ? typeName + '.' + funcName + : funcName +} + +/** + * Format deprecation message without color. + */ + +function formatPlain (msg, caller, stack) { + var timestamp = new Date().toUTCString() + + var formatted = timestamp + + ' ' + this._namespace + + ' deprecated ' + msg + + // add stack trace + if (this._traced) { + for (var i = 0; i < stack.length; i++) { + formatted += '\n at ' + stack[i].toString() + } + + return formatted + } + + if (caller) { + formatted += ' at ' + formatLocation(caller) + } + + return formatted +} + +/** + * Format deprecation message with color. + */ + +function formatColor (msg, caller, stack) { + var formatted = '\x1b[36;1m' + this._namespace + '\x1b[22;39m' + // bold cyan + ' \x1b[33;1mdeprecated\x1b[22;39m' + // bold yellow + ' \x1b[0m' + msg + '\x1b[39m' // reset + + // add stack trace + if (this._traced) { + for (var i = 0; i < stack.length; i++) { + formatted += '\n \x1b[36mat ' + stack[i].toString() + '\x1b[39m' // cyan + } + + return formatted + } + + if (caller) { + formatted += ' \x1b[36m' + formatLocation(caller) + '\x1b[39m' // cyan + } + + return formatted +} + +/** + * Format call site location. + */ + +function formatLocation (callSite) { + return relative(basePath, callSite[0]) + + ':' + callSite[1] + + ':' + callSite[2] +} + +/** + * Get the stack as array of call sites. + */ + +function getStack () { + var limit = Error.stackTraceLimit + var obj = {} + var prep = Error.prepareStackTrace + + Error.prepareStackTrace = prepareObjectStackTrace + Error.stackTraceLimit = Math.max(10, limit) + + // capture the stack + Error.captureStackTrace(obj) + + // slice this function off the top + var stack = obj.stack.slice(1) + + Error.prepareStackTrace = prep + Error.stackTraceLimit = limit + + return stack +} + +/** + * Capture call site stack from v8. + */ + +function prepareObjectStackTrace (obj, stack) { + return stack +} + +/** + * Return a wrapped function in a deprecation message. + */ + +function wrapfunction (fn, message) { + if (typeof fn !== 'function') { + throw new TypeError('argument fn must be a function') + } + + var args = createArgumentsString(fn.length) + var stack = getStack() + var site = callSiteLocation(stack[1]) + + site.name = fn.name + + // eslint-disable-next-line no-new-func + var deprecatedfn = new Function('fn', 'log', 'deprecate', 'message', 'site', + '"use strict"\n' + + 'return function (' + args + ') {' + + 'log.call(deprecate, message, site)\n' + + 'return fn.apply(this, arguments)\n' + + '}')(fn, log, this, message, site) + + return deprecatedfn +} + +/** + * Wrap property in a deprecation message. + */ + +function wrapproperty (obj, prop, message) { + if (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) { + throw new TypeError('argument obj must be object') + } + + var descriptor = Object.getOwnPropertyDescriptor(obj, prop) + + if (!descriptor) { + throw new TypeError('must call property on owner object') + } + + if (!descriptor.configurable) { + throw new TypeError('property must be configurable') + } + + var deprecate = this + var stack = getStack() + var site = callSiteLocation(stack[1]) + + // set site name + site.name = prop + + // convert data descriptor + if ('value' in descriptor) { + descriptor = convertDataDescriptorToAccessor(obj, prop, message) + } + + var get = descriptor.get + var set = descriptor.set + + // wrap getter + if (typeof get === 'function') { + descriptor.get = function getter () { + log.call(deprecate, message, site) + return get.apply(this, arguments) + } + } + + // wrap setter + if (typeof set === 'function') { + descriptor.set = function setter () { + log.call(deprecate, message, site) + return set.apply(this, arguments) + } + } + + Object.defineProperty(obj, prop, descriptor) +} + +/** + * Create DeprecationError for deprecation + */ + +function DeprecationError (namespace, message, stack) { + var error = new Error() + var stackString + + Object.defineProperty(error, 'constructor', { + value: DeprecationError + }) + + Object.defineProperty(error, 'message', { + configurable: true, + enumerable: false, + value: message, + writable: true + }) + + Object.defineProperty(error, 'name', { + enumerable: false, + configurable: true, + value: 'DeprecationError', + writable: true + }) + + Object.defineProperty(error, 'namespace', { + configurable: true, + enumerable: false, + value: namespace, + writable: true + }) + + Object.defineProperty(error, 'stack', { + configurable: true, + enumerable: false, + get: function () { + if (stackString !== undefined) { + return stackString + } + + // prepare stack trace + return (stackString = createStackString.call(this, stack)) + }, + set: function setter (val) { + stackString = val + } + }) + + return error +} diff --git a/data/200 b/data/200 new file mode 100644 index 0000000..3133822 --- /dev/null +++ b/data/200 @@ -0,0 +1,40 @@ +{ + "name": "encodeurl", + "description": "Encode a URL to a percent-encoded form, excluding already-encoded sequences", + "version": "2.0.0", + "contributors": [ + "Douglas Christopher Wilson " + ], + "license": "MIT", + "keywords": [ + "encode", + "encodeurl", + "url" + ], + "repository": "pillarjs/encodeurl", + "devDependencies": { + "eslint": "5.11.1", + "eslint-config-standard": "12.0.0", + "eslint-plugin-import": "2.14.0", + "eslint-plugin-node": "7.0.1", + "eslint-plugin-promise": "4.0.1", + "eslint-plugin-standard": "4.0.0", + "istanbul": "0.4.5", + "mocha": "2.5.3" + }, + "files": [ + "LICENSE", + "HISTORY.md", + "README.md", + "index.js" + ], + "engines": { + "node": ">= 0.8" + }, + "scripts": { + "lint": "eslint .", + "test": "mocha --reporter spec --bail --check-leaks test/", + "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", + "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" + } +} diff --git a/data/201 b/data/201 new file mode 100644 index 0000000..5993451 --- /dev/null +++ b/data/201 @@ -0,0 +1,272 @@ +/* eslint-env browser */ + +/** + * This is the web browser implementation of `debug()`. + */ + +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; +exports.storage = localstorage(); +exports.destroy = (() => { + let warned = false; + + return () => { + if (!warned) { + warned = true; + console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'); + } + }; +})(); + +/** + * Colors. + */ + +exports.colors = [ + '#0000CC', + '#0000FF', + '#0033CC', + '#0033FF', + '#0066CC', + '#0066FF', + '#0099CC', + '#0099FF', + '#00CC00', + '#00CC33', + '#00CC66', + '#00CC99', + '#00CCCC', + '#00CCFF', + '#3300CC', + '#3300FF', + '#3333CC', + '#3333FF', + '#3366CC', + '#3366FF', + '#3399CC', + '#3399FF', + '#33CC00', + '#33CC33', + '#33CC66', + '#33CC99', + '#33CCCC', + '#33CCFF', + '#6600CC', + '#6600FF', + '#6633CC', + '#6633FF', + '#66CC00', + '#66CC33', + '#9900CC', + '#9900FF', + '#9933CC', + '#9933FF', + '#99CC00', + '#99CC33', + '#CC0000', + '#CC0033', + '#CC0066', + '#CC0099', + '#CC00CC', + '#CC00FF', + '#CC3300', + '#CC3333', + '#CC3366', + '#CC3399', + '#CC33CC', + '#CC33FF', + '#CC6600', + '#CC6633', + '#CC9900', + '#CC9933', + '#CCCC00', + '#CCCC33', + '#FF0000', + '#FF0033', + '#FF0066', + '#FF0099', + '#FF00CC', + '#FF00FF', + '#FF3300', + '#FF3333', + '#FF3366', + '#FF3399', + '#FF33CC', + '#FF33FF', + '#FF6600', + '#FF6633', + '#FF9900', + '#FF9933', + '#FFCC00', + '#FFCC33' +]; + +/** + * Currently only WebKit-based Web Inspectors, Firefox >= v31, + * and the Firebug extension (any Firefox version) are known + * to support "%c" CSS customizations. + * + * TODO: add a `localStorage` variable to explicitly enable/disable colors + */ + +// eslint-disable-next-line complexity +function useColors() { + // NB: In an Electron preload script, document will be defined but not fully + // initialized. Since we know we're in Chrome, we'll just detect this case + // explicitly + if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) { + return true; + } + + // Internet Explorer and Edge do not support colors. + if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { + return false; + } + + let m; + + // Is webkit? http://stackoverflow.com/a/16459606/376773 + // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 + // eslint-disable-next-line no-return-assign + return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || + // Is firebug? http://stackoverflow.com/a/398120/376773 + (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || + // Is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + (typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31) || + // Double check webkit in userAgent just in case we are in a worker + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); +} + +/** + * Colorize log arguments if enabled. + * + * @api public + */ + +function formatArgs(args) { + args[0] = (this.useColors ? '%c' : '') + + this.namespace + + (this.useColors ? ' %c' : ' ') + + args[0] + + (this.useColors ? '%c ' : ' ') + + '+' + module.exports.humanize(this.diff); + + if (!this.useColors) { + return; + } + + const c = 'color: ' + this.color; + args.splice(1, 0, c, 'color: inherit'); + + // The final "%c" is somewhat tricky, because there could be other + // arguments passed either before or after the %c, so we need to + // figure out the correct index to insert the CSS into + let index = 0; + let lastC = 0; + args[0].replace(/%[a-zA-Z%]/g, match => { + if (match === '%%') { + return; + } + index++; + if (match === '%c') { + // We only are interested in the *last* %c + // (the user may have provided their own) + lastC = index; + } + }); + + args.splice(lastC, 0, c); +} + +/** + * Invokes `console.debug()` when available. + * No-op when `console.debug` is not a "function". + * If `console.debug` is not available, falls back + * to `console.log`. + * + * @api public + */ +exports.log = console.debug || console.log || (() => {}); + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ +function save(namespaces) { + try { + if (namespaces) { + exports.storage.setItem('debug', namespaces); + } else { + exports.storage.removeItem('debug'); + } + } catch (error) { + // Swallow + // XXX (@Qix-) should we be logging these? + } +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ +function load() { + let r; + try { + r = exports.storage.getItem('debug') || exports.storage.getItem('DEBUG') ; + } catch (error) { + // Swallow + // XXX (@Qix-) should we be logging these? + } + + // If debug isn't set in LS, and we're in Electron, try to load $DEBUG + if (!r && typeof process !== 'undefined' && 'env' in process) { + r = process.env.DEBUG; + } + + return r; +} + +/** + * Localstorage attempts to return the localstorage. + * + * This is necessary because safari throws + * when a user disables cookies/localstorage + * and you attempt to access it. + * + * @return {LocalStorage} + * @api private + */ + +function localstorage() { + try { + // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context + // The Browser also has localStorage in the global context. + return localStorage; + } catch (error) { + // Swallow + // XXX (@Qix-) should we be logging these? + } +} + +module.exports = require('./common')(exports); + +const {formatters} = module.exports; + +/** + * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. + */ + +formatters.j = function (v) { + try { + return JSON.stringify(v); + } catch (error) { + return '[UnexpectedJSONParseError]: ' + error.message; + } +}; diff --git a/data/202 b/data/202 new file mode 100644 index 0000000..a86a6b5 --- /dev/null +++ b/data/202 @@ -0,0 +1,48 @@ +"use strict" + +var BOMChar = "\uFEFF" + +exports.PrependBOM = PrependBOMWrapper +function PrependBOMWrapper (encoder, options) { + this.encoder = encoder + this.addBOM = true +} + +PrependBOMWrapper.prototype.write = function (str) { + if (this.addBOM) { + str = BOMChar + str + this.addBOM = false + } + + return this.encoder.write(str) +} + +PrependBOMWrapper.prototype.end = function () { + return this.encoder.end() +} + +// ------------------------------------------------------------------------------ + +exports.StripBOM = StripBOMWrapper +function StripBOMWrapper (decoder, options) { + this.decoder = decoder + this.pass = false + this.options = options || {} +} + +StripBOMWrapper.prototype.write = function (buf) { + var res = this.decoder.write(buf) + if (this.pass || !res) { return res } + + if (res[0] === BOMChar) { + res = res.slice(1) + if (typeof this.options.stripBOM === "function") { this.options.stripBOM() } + } + + this.pass = true + return res +} + +StripBOMWrapper.prototype.end = function () { + return this.decoder.end() +} diff --git a/data/203 b/data/203 new file mode 100644 index 0000000..cab251c --- /dev/null +++ b/data/203 @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2014-2016 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/data/205 b/data/205 new file mode 100644 index 0000000..9db19f6 --- /dev/null +++ b/data/205 @@ -0,0 +1,42 @@ +{ + "name": "content-type", + "description": "Create and parse HTTP Content-Type header", + "version": "1.0.5", + "author": "Douglas Christopher Wilson ", + "license": "MIT", + "keywords": [ + "content-type", + "http", + "req", + "res", + "rfc7231" + ], + "repository": "jshttp/content-type", + "devDependencies": { + "deep-equal": "1.0.1", + "eslint": "8.32.0", + "eslint-config-standard": "15.0.1", + "eslint-plugin-import": "2.27.5", + "eslint-plugin-node": "11.1.0", + "eslint-plugin-promise": "6.1.1", + "eslint-plugin-standard": "4.1.0", + "mocha": "10.2.0", + "nyc": "15.1.0" + }, + "files": [ + "LICENSE", + "HISTORY.md", + "README.md", + "index.js" + ], + "engines": { + "node": ">= 0.6" + }, + "scripts": { + "lint": "eslint .", + "test": "mocha --reporter spec --check-leaks --bail test/", + "test-ci": "nyc --reporter=lcovonly --reporter=text npm test", + "test-cov": "nyc --reporter=html --reporter=text npm test", + "version": "node scripts/version-history.js && git add HISTORY.md" + } +} diff --git a/data/206 b/data/206 new file mode 100644 index 0000000..538ade1 --- /dev/null +++ b/data/206 @@ -0,0 +1,50 @@ +1.1.0 / 2019-04-24 +================== + + * Add `test(string)` function + +1.0.2 / 2019-04-19 +================== + + * Fix JSDoc comment for `parse` function + +1.0.1 / 2018-10-20 +================== + + * Remove left over `parameters` property from class + +1.0.0 / 2018-10-20 +================== + +This major release brings the module back to it's RFC 6838 roots. If you want +a module to parse the `Content-Type` or similar HTTP headers, use the +`content-type` module instead. + + * Drop support for Node.js below 0.8 + * Remove parameter handling, which is outside RFC 6838 scope + * Remove `parse(req)` and `parse(res)` signatures + * perf: enable strict mode + * perf: use a class for object creation + +0.3.0 / 2014-09-07 +================== + + * Support Node.js 0.6 + * Throw error when parameter format invalid on parse + +0.2.0 / 2014-06-18 +================== + + * Add `typer.format()` to format media types + +0.1.0 / 2014-06-17 +================== + + * Accept `req` as argument to `parse` + * Accept `res` as argument to `parse` + * Parse media type with extra LWS between type and first parameter + +0.0.0 / 2014-06-13 +================== + + * Initial implementation diff --git a/data/207 b/data/207 new file mode 100644 index 0000000..f4d3547 --- /dev/null +++ b/data/207 @@ -0,0 +1,35 @@ +{ + "name": "ipaddr.js", + "description": "A library for manipulating IPv4 and IPv6 addresses in JavaScript.", + "version": "1.9.1", + "author": "whitequark ", + "directories": { + "lib": "./lib" + }, + "dependencies": {}, + "devDependencies": { + "coffee-script": "~1.12.6", + "nodeunit": "^0.11.3", + "uglify-js": "~3.0.19" + }, + "scripts": { + "test": "cake build test" + }, + "files": [ + "lib/", + "LICENSE", + "ipaddr.min.js" + ], + "keywords": [ + "ip", + "ipv4", + "ipv6" + ], + "repository": "git://github.com/whitequark/ipaddr.js", + "main": "./lib/ipaddr.js", + "engines": { + "node": ">= 0.10" + }, + "license": "MIT", + "types": "./lib/ipaddr.js.d.ts" +} diff --git a/data/208 b/data/208 new file mode 100644 index 0000000..1bed087 --- /dev/null +++ b/data/208 @@ -0,0 +1,6 @@ +module.exports = isPromise; +module.exports.default = isPromise; + +function isPromise(obj) { + return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function'; +} diff --git a/data/209 b/data/209 new file mode 100644 index 0000000..bf9e226 --- /dev/null +++ b/data/209 @@ -0,0 +1,78 @@ +/*! + * escape-html + * Copyright(c) 2012-2013 TJ Holowaychuk + * Copyright(c) 2015 Andreas Lubbe + * Copyright(c) 2015 Tiancheng "Timothy" Gu + * MIT Licensed + */ + +'use strict'; + +/** + * Module variables. + * @private + */ + +var matchHtmlRegExp = /["'&<>]/; + +/** + * Module exports. + * @public + */ + +module.exports = escapeHtml; + +/** + * Escape special characters in the given string of html. + * + * @param {string} string The string to escape for inserting into HTML + * @return {string} + * @public + */ + +function escapeHtml(string) { + var str = '' + string; + var match = matchHtmlRegExp.exec(str); + + if (!match) { + return str; + } + + var escape; + var html = ''; + var index = 0; + var lastIndex = 0; + + for (index = match.index; index < str.length; index++) { + switch (str.charCodeAt(index)) { + case 34: // " + escape = '"'; + break; + case 38: // & + escape = '&'; + break; + case 39: // ' + escape = '''; + break; + case 60: // < + escape = '<'; + break; + case 62: // > + escape = '>'; + break; + default: + continue; + } + + if (lastIndex !== index) { + html += str.substring(lastIndex, index); + } + + lastIndex = index + 1; + html += escape; + } + + return lastIndex !== index + ? html + str.substring(lastIndex, index) + : html; +} diff --git a/data/210 b/data/210 new file mode 100644 index 0000000..45093df --- /dev/null +++ b/data/210 @@ -0,0 +1,30 @@ +'use strict'; + +var callBind = require('call-bind-apply-helpers'); +var gOPD = require('gopd'); + +var hasProtoAccessor; +try { + // eslint-disable-next-line no-extra-parens, no-proto + hasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ ([]).__proto__ === Array.prototype; +} catch (e) { + if (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') { + throw e; + } +} + +// eslint-disable-next-line no-extra-parens +var desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__')); + +var $Object = Object; +var $getPrototypeOf = $Object.getPrototypeOf; + +/** @type {import('./get')} */ +module.exports = desc && typeof desc.get === 'function' + ? callBind([desc.get]) + : typeof $getPrototypeOf === 'function' + ? /** @type {import('./get')} */ function getDunder(value) { + // eslint-disable-next-line eqeqeq + return $getPrototypeOf(value == null ? value : $Object(value)); + } + : false; diff --git a/data/211 b/data/211 new file mode 100644 index 0000000..a4081b0 --- /dev/null +++ b/data/211 @@ -0,0 +1,15 @@ +'use strict'; + +/** @type {import('.')} */ +var $gOPD = require('./gOPD'); + +if ($gOPD) { + try { + $gOPD([], 'length'); + } catch (e) { + // IE 8 has a broken gOPD + $gOPD = null; + } +} + +module.exports = $gOPD; diff --git a/data/214 b/data/214 new file mode 100644 index 0000000..34e6059 --- /dev/null +++ b/data/214 @@ -0,0 +1,8 @@ +'use strict'; + +var call = Function.prototype.call; +var $hasOwn = Object.prototype.hasOwnProperty; +var bind = require('function-bind'); + +/** @type {import('.')} */ +module.exports = bind.call(call, $hasOwn); diff --git a/data/215 b/data/215 new file mode 100644 index 0000000..1826526 --- /dev/null +++ b/data/215 @@ -0,0 +1,13 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "lines": 86, + "statements": 85.93, + "functions": 82.43, + "branches": 76.06, + "exclude": [ + "coverage", + "test" + ] +} diff --git a/data/216 b/data/216 new file mode 100644 index 0000000..e0a2925 --- /dev/null +++ b/data/216 @@ -0,0 +1,14 @@ +'use strict'; + +/** @type {import('.')} */ +var $defineProperty = Object.defineProperty || false; +if ($defineProperty) { + try { + $defineProperty({}, 'a', { value: 1 }); + } catch (e) { + // IE 8 has a broken defineProperty + $defineProperty = false; + } +} + +module.exports = $defineProperty; diff --git a/data/217 b/data/217 new file mode 100644 index 0000000..ffa5135 --- /dev/null +++ b/data/217 @@ -0,0 +1,10 @@ +'use strict'; + +var bind = require('function-bind'); + +var $apply = require('./functionApply'); +var $call = require('./functionCall'); +var $reflectApply = require('./reflectApply'); + +/** @type {import('./actualApply')} */ +module.exports = $reflectApply || bind.call($call, $apply); diff --git a/data/219 b/data/219 new file mode 100644 index 0000000..e9ade74 --- /dev/null +++ b/data/219 @@ -0,0 +1,19 @@ +'use strict'; + +var GetIntrinsic = require('get-intrinsic'); + +var callBindBasic = require('call-bind-apply-helpers'); + +/** @type {(thisArg: string, searchString: string, position?: number) => number} */ +var $indexOf = callBindBasic([GetIntrinsic('%String.prototype.indexOf%')]); + +/** @type {import('.')} */ +module.exports = function callBoundIntrinsic(name, allowMissing) { + /* eslint no-extra-parens: 0 */ + + var intrinsic = /** @type {(this: unknown, ...args: unknown[]) => unknown} */ (GetIntrinsic(name, !!allowMissing)); + if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) { + return callBindBasic(/** @type {const} */ ([intrinsic])); + } + return intrinsic; +}; diff --git a/data/221 b/data/221 new file mode 100644 index 0000000..f82f389 --- /dev/null +++ b/data/221 @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/data/222 b/data/222 new file mode 100644 index 0000000..f82f389 --- /dev/null +++ b/data/222 @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/data/223 b/data/223 new file mode 100644 index 0000000..cc0c521 --- /dev/null +++ b/data/223 @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('.')} */ +module.exports = Error; diff --git a/data/224 b/data/224 new file mode 100644 index 0000000..3900dd7 --- /dev/null +++ b/data/224 @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/data/225 b/data/225 new file mode 100644 index 0000000..3900dd7 --- /dev/null +++ b/data/225 @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/data/227 b/data/227 new file mode 100644 index 0000000..15c3d97 --- /dev/null +++ b/data/227 @@ -0,0 +1,69 @@ +/*! + * unpipe + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module exports. + * @public + */ + +module.exports = unpipe + +/** + * Determine if there are Node.js pipe-like data listeners. + * @private + */ + +function hasPipeDataListeners(stream) { + var listeners = stream.listeners('data') + + for (var i = 0; i < listeners.length; i++) { + if (listeners[i].name === 'ondata') { + return true + } + } + + return false +} + +/** + * Unpipe a stream from all destinations. + * + * @param {object} stream + * @public + */ + +function unpipe(stream) { + if (!stream) { + throw new TypeError('argument stream is required') + } + + if (typeof stream.unpipe === 'function') { + // new-style + stream.unpipe() + return + } + + // Node.js 0.8 hack + if (!hasPipeDataListeners(stream)) { + return + } + + var listener + var listeners = stream.listeners('close') + + for (var i = 0; i < listeners.length; i++) { + listener = listeners[i] + + if (listener.name !== 'cleanup' && listener.name !== 'onclose') { + continue + } + + // invoke the listener + listener.call(stream) + } +} diff --git a/data/229 b/data/229 new file mode 100644 index 0000000..61afa2f --- /dev/null +++ b/data/229 @@ -0,0 +1,13 @@ +Copyright (c) 2015, Wes Todd + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/data/230 b/data/230 new file mode 100644 index 0000000..ab0e5d7 --- /dev/null +++ b/data/230 @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./floor')} */ +module.exports = Math.floor; diff --git a/data/232 b/data/232 new file mode 100644 index 0000000..501287c --- /dev/null +++ b/data/232 @@ -0,0 +1,95 @@ +/*! + * ee-first + * Copyright(c) 2014 Jonathan Ong + * MIT Licensed + */ + +'use strict' + +/** + * Module exports. + * @public + */ + +module.exports = first + +/** + * Get the first event in a set of event emitters and event pairs. + * + * @param {array} stuff + * @param {function} done + * @public + */ + +function first(stuff, done) { + if (!Array.isArray(stuff)) + throw new TypeError('arg must be an array of [ee, events...] arrays') + + var cleanups = [] + + for (var i = 0; i < stuff.length; i++) { + var arr = stuff[i] + + if (!Array.isArray(arr) || arr.length < 2) + throw new TypeError('each array member must be [ee, events...]') + + var ee = arr[0] + + for (var j = 1; j < arr.length; j++) { + var event = arr[j] + var fn = listener(event, callback) + + // listen to the event + ee.on(event, fn) + // push this listener to the list of cleanups + cleanups.push({ + ee: ee, + event: event, + fn: fn, + }) + } + } + + function callback() { + cleanup() + done.apply(null, arguments) + } + + function cleanup() { + var x + for (var i = 0; i < cleanups.length; i++) { + x = cleanups[i] + x.ee.removeListener(x.event, x.fn) + } + } + + function thunk(fn) { + done = fn + } + + thunk.cancel = cleanup + + return thunk +} + +/** + * Create the event listener. + * @private + */ + +function listener(event, done) { + return function onevent(arg1) { + var args = new Array(arguments.length) + var ee = this + var err = event === 'error' + ? arg1 + : null + + // copy args to prevent arguments escaping scope + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i] + } + + done(err, ee, event, args) + } +} diff --git a/data/233 b/data/233 new file mode 100644 index 0000000..bb7e7d6 --- /dev/null +++ b/data/233 @@ -0,0 +1,33 @@ +// Returns a wrapper function that returns a wrapped callback +// The wrapper function should do some stuff, and return a +// presumably different callback function. +// This makes sure that own properties are retained, so that +// decorations and such are not lost along the way. +module.exports = wrappy +function wrappy (fn, cb) { + if (fn && cb) return wrappy(fn)(cb) + + if (typeof fn !== 'function') + throw new TypeError('need wrapper function') + + Object.keys(fn).forEach(function (k) { + wrapper[k] = fn[k] + }) + + return wrapper + + function wrapper() { + var args = new Array(arguments.length) + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i] + } + var ret = fn.apply(this, args) + var cb = args[args.length-1] + if (typeof ret === 'function' && ret !== cb) { + Object.keys(cb).forEach(function (k) { + ret[k] = cb[k] + }) + } + return ret + } +} diff --git a/data/234 b/data/234 new file mode 100644 index 0000000..68d86ba --- /dev/null +++ b/data/234 @@ -0,0 +1,268 @@ +# Porting to the Buffer.from/Buffer.alloc API + + +## Overview + +- [Variant 1: Drop support for Node.js ≤ 4.4.x and 5.0.0 — 5.9.x.](#variant-1) (*recommended*) +- [Variant 2: Use a polyfill](#variant-2) +- [Variant 3: manual detection, with safeguards](#variant-3) + +### Finding problematic bits of code using grep + +Just run `grep -nrE '[^a-zA-Z](Slow)?Buffer\s*\(' --exclude-dir node_modules`. + +It will find all the potentially unsafe places in your own code (with some considerably unlikely +exceptions). + +### Finding problematic bits of code using Node.js 8 + +If you’re using Node.js ≥ 8.0.0 (which is recommended), Node.js exposes multiple options that help with finding the relevant pieces of code: + +- `--trace-warnings` will make Node.js show a stack trace for this warning and other warnings that are printed by Node.js. +- `--trace-deprecation` does the same thing, but only for deprecation warnings. +- `--pending-deprecation` will show more types of deprecation warnings. In particular, it will show the `Buffer()` deprecation warning, even on Node.js 8. + +You can set these flags using an environment variable: + +```console +$ export NODE_OPTIONS='--trace-warnings --pending-deprecation' +$ cat example.js +'use strict'; +const foo = new Buffer('foo'); +$ node example.js +(node:7147) [DEP0005] DeprecationWarning: The Buffer() and new Buffer() constructors are not recommended for use due to security and usability concerns. Please use the new Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() construction methods instead. + at showFlaggedDeprecation (buffer.js:127:13) + at new Buffer (buffer.js:148:3) + at Object. (/path/to/example.js:2:13) + [... more stack trace lines ...] +``` + +### Finding problematic bits of code using linters + +Eslint rules [no-buffer-constructor](https://eslint.org/docs/rules/no-buffer-constructor) +or +[node/no-deprecated-api](https://github.com/mysticatea/eslint-plugin-node/blob/master/docs/rules/no-deprecated-api.md) +also find calls to deprecated `Buffer()` API. Those rules are included in some pre-sets. + +There is a drawback, though, that it doesn't always +[work correctly](https://github.com/chalker/safer-buffer#why-not-safe-buffer) when `Buffer` is +overriden e.g. with a polyfill, so recommended is a combination of this and some other method +described above. + + +## Variant 1: Drop support for Node.js ≤ 4.4.x and 5.0.0 — 5.9.x. + +This is the recommended solution nowadays that would imply only minimal overhead. + +The Node.js 5.x release line has been unsupported since July 2016, and the Node.js 4.x release line reaches its End of Life in April 2018 (→ [Schedule](https://github.com/nodejs/Release#release-schedule)). This means that these versions of Node.js will *not* receive any updates, even in case of security issues, so using these release lines should be avoided, if at all possible. + +What you would do in this case is to convert all `new Buffer()` or `Buffer()` calls to use `Buffer.alloc()` or `Buffer.from()`, in the following way: + +- For `new Buffer(number)`, replace it with `Buffer.alloc(number)`. +- For `new Buffer(string)` (or `new Buffer(string, encoding)`), replace it with `Buffer.from(string)` (or `Buffer.from(string, encoding)`). +- For all other combinations of arguments (these are much rarer), also replace `new Buffer(...arguments)` with `Buffer.from(...arguments)`. + +Note that `Buffer.alloc()` is also _faster_ on the current Node.js versions than +`new Buffer(size).fill(0)`, which is what you would otherwise need to ensure zero-filling. + +Enabling eslint rule [no-buffer-constructor](https://eslint.org/docs/rules/no-buffer-constructor) +or +[node/no-deprecated-api](https://github.com/mysticatea/eslint-plugin-node/blob/master/docs/rules/no-deprecated-api.md) +is recommended to avoid accidential unsafe Buffer API usage. + +There is also a [JSCodeshift codemod](https://github.com/joyeecheung/node-dep-codemod#dep005) +for automatically migrating Buffer constructors to `Buffer.alloc()` or `Buffer.from()`. +Note that it currently only works with cases where the arguments are literals or where the +constructor is invoked with two arguments. + +_If you currently support those older Node.js versions and dropping them would be a semver-major change +for you, or if you support older branches of your packages, consider using [Variant 2](#variant-2) +or [Variant 3](#variant-3) on older branches, so people using those older branches will also receive +the fix. That way, you will eradicate potential issues caused by unguarded Buffer API usage and +your users will not observe a runtime deprecation warning when running your code on Node.js 10._ + + +## Variant 2: Use a polyfill + +Utilize [safer-buffer](https://www.npmjs.com/package/safer-buffer) as a polyfill to support older +Node.js versions. + +You would take exacly the same steps as in [Variant 1](#variant-1), but with a polyfill +`const Buffer = require('safer-buffer').Buffer` in all files where you use the new `Buffer` api. + +Make sure that you do not use old `new Buffer` API — in any files where the line above is added, +using old `new Buffer()` API will _throw_. It will be easy to notice that in CI, though. + +Alternatively, you could use [buffer-from](https://www.npmjs.com/package/buffer-from) and/or +[buffer-alloc](https://www.npmjs.com/package/buffer-alloc) [ponyfills](https://ponyfill.com/) — +those are great, the only downsides being 4 deps in the tree and slightly more code changes to +migrate off them (as you would be using e.g. `Buffer.from` under a different name). If you need only +`Buffer.from` polyfilled — `buffer-from` alone which comes with no extra dependencies. + +_Alternatively, you could use [safe-buffer](https://www.npmjs.com/package/safe-buffer) — it also +provides a polyfill, but takes a different approach which has +[it's drawbacks](https://github.com/chalker/safer-buffer#why-not-safe-buffer). It will allow you +to also use the older `new Buffer()` API in your code, though — but that's arguably a benefit, as +it is problematic, can cause issues in your code, and will start emitting runtime deprecation +warnings starting with Node.js 10._ + +Note that in either case, it is important that you also remove all calls to the old Buffer +API manually — just throwing in `safe-buffer` doesn't fix the problem by itself, it just provides +a polyfill for the new API. I have seen people doing that mistake. + +Enabling eslint rule [no-buffer-constructor](https://eslint.org/docs/rules/no-buffer-constructor) +or +[node/no-deprecated-api](https://github.com/mysticatea/eslint-plugin-node/blob/master/docs/rules/no-deprecated-api.md) +is recommended. + +_Don't forget to drop the polyfill usage once you drop support for Node.js < 4.5.0._ + + +## Variant 3 — manual detection, with safeguards + +This is useful if you create Buffer instances in only a few places (e.g. one), or you have your own +wrapper around them. + +### Buffer(0) + +This special case for creating empty buffers can be safely replaced with `Buffer.concat([])`, which +returns the same result all the way down to Node.js 0.8.x. + +### Buffer(notNumber) + +Before: + +```js +var buf = new Buffer(notNumber, encoding); +``` + +After: + +```js +var buf; +if (Buffer.from && Buffer.from !== Uint8Array.from) { + buf = Buffer.from(notNumber, encoding); +} else { + if (typeof notNumber === 'number') + throw new Error('The "size" argument must be of type number.'); + buf = new Buffer(notNumber, encoding); +} +``` + +`encoding` is optional. + +Note that the `typeof notNumber` before `new Buffer` is required (for cases when `notNumber` argument is not +hard-coded) and _is not caused by the deprecation of Buffer constructor_ — it's exactly _why_ the +Buffer constructor is deprecated. Ecosystem packages lacking this type-check caused numereous +security issues — situations when unsanitized user input could end up in the `Buffer(arg)` create +problems ranging from DoS to leaking sensitive information to the attacker from the process memory. + +When `notNumber` argument is hardcoded (e.g. literal `"abc"` or `[0,1,2]`), the `typeof` check can +be omitted. + +Also note that using TypeScript does not fix this problem for you — when libs written in +`TypeScript` are used from JS, or when user input ends up there — it behaves exactly as pure JS, as +all type checks are translation-time only and are not present in the actual JS code which TS +compiles to. + +### Buffer(number) + +For Node.js 0.10.x (and below) support: + +```js +var buf; +if (Buffer.alloc) { + buf = Buffer.alloc(number); +} else { + buf = new Buffer(number); + buf.fill(0); +} +``` + +Otherwise (Node.js ≥ 0.12.x): + +```js +const buf = Buffer.alloc ? Buffer.alloc(number) : new Buffer(number).fill(0); +``` + +## Regarding Buffer.allocUnsafe + +Be extra cautious when using `Buffer.allocUnsafe`: + * Don't use it if you don't have a good reason to + * e.g. you probably won't ever see a performance difference for small buffers, in fact, those + might be even faster with `Buffer.alloc()`, + * if your code is not in the hot code path — you also probably won't notice a difference, + * keep in mind that zero-filling minimizes the potential risks. + * If you use it, make sure that you never return the buffer in a partially-filled state, + * if you are writing to it sequentially — always truncate it to the actuall written length + +Errors in handling buffers allocated with `Buffer.allocUnsafe` could result in various issues, +ranged from undefined behaviour of your code to sensitive data (user input, passwords, certs) +leaking to the remote attacker. + +_Note that the same applies to `new Buffer` usage without zero-filling, depending on the Node.js +version (and lacking type checks also adds DoS to the list of potential problems)._ + + +## FAQ + + +### What is wrong with the `Buffer` constructor? + +The `Buffer` constructor could be used to create a buffer in many different ways: + +- `new Buffer(42)` creates a `Buffer` of 42 bytes. Before Node.js 8, this buffer contained + *arbitrary memory* for performance reasons, which could include anything ranging from + program source code to passwords and encryption keys. +- `new Buffer('abc')` creates a `Buffer` that contains the UTF-8-encoded version of + the string `'abc'`. A second argument could specify another encoding: For example, + `new Buffer(string, 'base64')` could be used to convert a Base64 string into the original + sequence of bytes that it represents. +- There are several other combinations of arguments. + +This meant that, in code like `var buffer = new Buffer(foo);`, *it is not possible to tell +what exactly the contents of the generated buffer are* without knowing the type of `foo`. + +Sometimes, the value of `foo` comes from an external source. For example, this function +could be exposed as a service on a web server, converting a UTF-8 string into its Base64 form: + +``` +function stringToBase64(req, res) { + // The request body should have the format of `{ string: 'foobar' }` + const rawBytes = new Buffer(req.body.string) + const encoded = rawBytes.toString('base64') + res.end({ encoded: encoded }) +} +``` + +Note that this code does *not* validate the type of `req.body.string`: + +- `req.body.string` is expected to be a string. If this is the case, all goes well. +- `req.body.string` is controlled by the client that sends the request. +- If `req.body.string` is the *number* `50`, the `rawBytes` would be 50 bytes: + - Before Node.js 8, the content would be uninitialized + - After Node.js 8, the content would be `50` bytes with the value `0` + +Because of the missing type check, an attacker could intentionally send a number +as part of the request. Using this, they can either: + +- Read uninitialized memory. This **will** leak passwords, encryption keys and other + kinds of sensitive information. (Information leak) +- Force the program to allocate a large amount of memory. For example, when specifying + `500000000` as the input value, each request will allocate 500MB of memory. + This can be used to either exhaust the memory available of a program completely + and make it crash, or slow it down significantly. (Denial of Service) + +Both of these scenarios are considered serious security issues in a real-world +web server context. + +when using `Buffer.from(req.body.string)` instead, passing a number will always +throw an exception instead, giving a controlled behaviour that can always be +handled by the program. + + +### The `Buffer()` constructor has been deprecated for a while. Is this really an issue? + +Surveys of code in the `npm` ecosystem have shown that the `Buffer()` constructor is still +widely used. This includes new code, and overall usage of such code has actually been +*increasing*. diff --git a/data/235 b/data/235 new file mode 100644 index 0000000..cb7cc89 --- /dev/null +++ b/data/235 @@ -0,0 +1,9 @@ +1.0.1 / 2021-11-14 +================== + + * pref: enable strict mode + +1.0.0 / 2018-07-09 +================== + + * Initial release diff --git a/data/236 b/data/236 new file mode 100644 index 0000000..7e5747b --- /dev/null +++ b/data/236 @@ -0,0 +1,27 @@ +'use strict'; + +var reflectGetProto = require('./Reflect.getPrototypeOf'); +var originalGetProto = require('./Object.getPrototypeOf'); + +var getDunderProto = require('dunder-proto/get'); + +/** @type {import('.')} */ +module.exports = reflectGetProto + ? function getProto(O) { + // @ts-expect-error TS can't narrow inside a closure, for some reason + return reflectGetProto(O); + } + : originalGetProto + ? function getProto(O) { + if (!O || (typeof O !== 'object' && typeof O !== 'function')) { + throw new TypeError('getProto: not an object'); + } + // @ts-expect-error TS can't narrow inside a closure, for some reason + return originalGetProto(O); + } + : getDunderProto + ? function getProto(O) { + // @ts-expect-error TS can't narrow inside a closure, for some reason + return getDunderProto(O); + } + : null; diff --git a/data/237 b/data/237 new file mode 100644 index 0000000..b5d016e --- /dev/null +++ b/data/237 @@ -0,0 +1,49 @@ +{ + "name": "statuses", + "description": "HTTP status utility", + "version": "2.0.2", + "contributors": [ + "Douglas Christopher Wilson ", + "Jonathan Ong (http://jongleberry.com)" + ], + "repository": "jshttp/statuses", + "license": "MIT", + "keywords": [ + "http", + "status", + "code" + ], + "files": [ + "HISTORY.md", + "index.js", + "codes.json", + "LICENSE" + ], + "devDependencies": { + "csv-parse": "4.16.3", + "eslint": "7.19.0", + "eslint-config-standard": "14.1.1", + "eslint-plugin-import": "2.31.0", + "eslint-plugin-markdown": "1.0.2", + "eslint-plugin-node": "11.1.0", + "eslint-plugin-promise": "4.3.1", + "eslint-plugin-standard": "4.1.0", + "mocha": "8.4.0", + "nyc": "15.1.0", + "raw-body": "2.5.2", + "stream-to-array": "2.3.0" + }, + "engines": { + "node": ">= 0.8" + }, + "scripts": { + "build": "node scripts/build.js", + "fetch": "node scripts/fetch-apache.js && node scripts/fetch-iana.js && node scripts/fetch-nginx.js && node scripts/fetch-node.js", + "lint": "eslint --plugin markdown --ext js,md .", + "test": "mocha --reporter spec --check-leaks --bail test/", + "test-ci": "nyc --reporter=lcov --reporter=text npm test", + "test-cov": "nyc --reporter=html --reporter=text npm test", + "update": "npm run fetch && npm run build", + "version": "node scripts/version-history.js && git add HISTORY.md" + } +} diff --git a/data/239 b/data/239 new file mode 100644 index 0000000..d60ce0e --- /dev/null +++ b/data/239 @@ -0,0 +1,97 @@ +3.1.2 / 2022-01-27 +================== + + * Fix return value for un-parsable strings + +3.1.1 / 2021-11-15 +================== + + * Fix "thousandsSeparator" incorrecting formatting fractional part + +3.1.0 / 2019-01-22 +================== + + * Add petabyte (`pb`) support + +3.0.0 / 2017-08-31 +================== + + * Change "kB" to "KB" in format output + * Remove support for Node.js 0.6 + * Remove support for ComponentJS + +2.5.0 / 2017-03-24 +================== + + * Add option "unit" + +2.4.0 / 2016-06-01 +================== + + * Add option "unitSeparator" + +2.3.0 / 2016-02-15 +================== + + * Drop partial bytes on all parsed units + * Fix non-finite numbers to `.format` to return `null` + * Fix parsing byte string that looks like hex + * perf: hoist regular expressions + +2.2.0 / 2015-11-13 +================== + + * add option "decimalPlaces" + * add option "fixedDecimals" + +2.1.0 / 2015-05-21 +================== + + * add `.format` export + * add `.parse` export + +2.0.2 / 2015-05-20 +================== + + * remove map recreation + * remove unnecessary object construction + +2.0.1 / 2015-05-07 +================== + + * fix browserify require + * remove node.extend dependency + +2.0.0 / 2015-04-12 +================== + + * add option "case" + * add option "thousandsSeparator" + * return "null" on invalid parse input + * support proper round-trip: bytes(bytes(num)) === num + * units no longer case sensitive when parsing + +1.0.0 / 2014-05-05 +================== + + * add negative support. fixes #6 + +0.3.0 / 2014-03-19 +================== + + * added terabyte support + +0.2.1 / 2013-04-01 +================== + + * add .component + +0.2.0 / 2012-10-28 +================== + + * bytes(200).should.eql('200b') + +0.1.0 / 2012-07-04 +================== + + * add bytes to string conversion [yields] diff --git a/data/240 b/data/240 new file mode 100644 index 0000000..84441fb --- /dev/null +++ b/data/240 @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2014-2017 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/data/241 b/data/241 new file mode 100644 index 0000000..ec2be30 --- /dev/null +++ b/data/241 @@ -0,0 +1,12 @@ +/*! + * mime-db + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015-2022 Douglas Christopher Wilson + * MIT Licensed + */ + +/** + * Module exports. + */ + +module.exports = require('./db.json') diff --git a/data/242 b/data/242 new file mode 100644 index 0000000..3599954 --- /dev/null +++ b/data/242 @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2012-2014 TJ Holowaychuk +Copyright (c) 2015-2016 Douglas Christopher Wilson +Copyright (c) 2014-2017 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/data/245 b/data/245 new file mode 100644 index 0000000..dea3013 --- /dev/null +++ b/data/245 @@ -0,0 +1,16 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + diff --git a/data/246 b/data/246 new file mode 100644 index 0000000..1917595 --- /dev/null +++ b/data/246 @@ -0,0 +1,98 @@ +2.4.1 / 2022-02-22 +================== + + * Fix error on early async hooks implementations + +2.4.0 / 2022-02-21 +================== + + * Prevent loss of async hooks context + +2.3.0 / 2015-05-26 +================== + + * Add defined behavior for HTTP `CONNECT` requests + * Add defined behavior for HTTP `Upgrade` requests + * deps: ee-first@1.1.1 + +2.2.1 / 2015-04-22 +================== + + * Fix `isFinished(req)` when data buffered + +2.2.0 / 2014-12-22 +================== + + * Add message object to callback arguments + +2.1.1 / 2014-10-22 +================== + + * Fix handling of pipelined requests + +2.1.0 / 2014-08-16 +================== + + * Check if `socket` is detached + * Return `undefined` for `isFinished` if state unknown + +2.0.0 / 2014-08-16 +================== + + * Add `isFinished` function + * Move to `jshttp` organization + * Remove support for plain socket argument + * Rename to `on-finished` + * Support both `req` and `res` as arguments + * deps: ee-first@1.0.5 + +1.2.2 / 2014-06-10 +================== + + * Reduce listeners added to emitters + - avoids "event emitter leak" warnings when used multiple times on same request + +1.2.1 / 2014-06-08 +================== + + * Fix returned value when already finished + +1.2.0 / 2014-06-05 +================== + + * Call callback when called on already-finished socket + +1.1.4 / 2014-05-27 +================== + + * Support node.js 0.8 + +1.1.3 / 2014-04-30 +================== + + * Make sure errors passed as instanceof `Error` + +1.1.2 / 2014-04-18 +================== + + * Default the `socket` to passed-in object + +1.1.1 / 2014-01-16 +================== + + * Rename module to `finished` + +1.1.0 / 2013-12-25 +================== + + * Call callback when called on already-errored socket + +1.0.1 / 2013-12-20 +================== + + * Actually pass the error to the callback + +1.0.0 / 2013-12-20 +================== + + * Initial release diff --git a/data/247 b/data/247 new file mode 100644 index 0000000..0fc1abb --- /dev/null +++ b/data/247 @@ -0,0 +1,59 @@ +# ms + +![CI](https://github.com/vercel/ms/workflows/CI/badge.svg) + +Use this package to easily convert various time formats to milliseconds. + +## Examples + +```js +ms('2 days') // 172800000 +ms('1d') // 86400000 +ms('10h') // 36000000 +ms('2.5 hrs') // 9000000 +ms('2h') // 7200000 +ms('1m') // 60000 +ms('5s') // 5000 +ms('1y') // 31557600000 +ms('100') // 100 +ms('-3 days') // -259200000 +ms('-1h') // -3600000 +ms('-200') // -200 +``` + +### Convert from Milliseconds + +```js +ms(60000) // "1m" +ms(2 * 60000) // "2m" +ms(-3 * 60000) // "-3m" +ms(ms('10 hours')) // "10h" +``` + +### Time Format Written-Out + +```js +ms(60000, { long: true }) // "1 minute" +ms(2 * 60000, { long: true }) // "2 minutes" +ms(-3 * 60000, { long: true }) // "-3 minutes" +ms(ms('10 hours'), { long: true }) // "10 hours" +``` + +## Features + +- Works both in [Node.js](https://nodejs.org) and in the browser +- If a number is supplied to `ms`, a string with a unit is returned +- If a string that contains the number is supplied, it returns it as a number (e.g.: it returns `100` for `'100'`) +- If you pass a string with a number and a valid unit, the number of equivalent milliseconds is returned + +## Related Packages + +- [ms.macro](https://github.com/knpwrs/ms.macro) - Run `ms` as a macro at build-time. + +## Caught a Bug? + +1. [Fork](https://help.github.com/articles/fork-a-repo/) this repository to your own GitHub account and then [clone](https://help.github.com/articles/cloning-a-repository/) it to your local device +2. Link the package to the global module directory: `npm link` +3. Within the module you want to test your local development instance of ms, just link it to the dependencies: `npm link ms`. Instead of the default one from npm, Node.js will now use your clone of ms! + +As always, you can run the tests using: `npm test` diff --git a/data/248 b/data/248 new file mode 100644 index 0000000..3d81d26 --- /dev/null +++ b/data/248 @@ -0,0 +1,186 @@ +2.0.1 / 2025-11-20 +================== + + * deps: use tilde notation for dependencies + * deps: update statuses to 2.0.2 + +2.0.0 / 2021-12-17 +================== + + * Drop support for Node.js 0.6 + * Remove `I'mateapot` export; use `ImATeapot` instead + * Remove support for status being non-first argument + * Rename `UnorderedCollection` constructor to `TooEarly` + * deps: depd@2.0.0 + - Replace internal `eval` usage with `Function` constructor + - Use instance methods on `process` to check for listeners + * deps: statuses@2.0.1 + - Fix messaging casing of `418 I'm a Teapot` + - Remove code 306 + - Rename `425 Unordered Collection` to standard `425 Too Early` + +2021-11-14 / 1.8.1 +================== + + * deps: toidentifier@1.0.1 + +2020-06-29 / 1.8.0 +================== + + * Add `isHttpError` export to determine if value is an HTTP error + * deps: setprototypeof@1.2.0 + +2019-06-24 / 1.7.3 +================== + + * deps: inherits@2.0.4 + +2019-02-18 / 1.7.2 +================== + + * deps: setprototypeof@1.1.1 + +2018-09-08 / 1.7.1 +================== + + * Fix error creating objects in some environments + +2018-07-30 / 1.7.0 +================== + + * Set constructor name when possible + * Use `toidentifier` module to make class names + * deps: statuses@'>= 1.5.0 < 2' + +2018-03-29 / 1.6.3 +================== + + * deps: depd@~1.1.2 + - perf: remove argument reassignment + * deps: setprototypeof@1.1.0 + * deps: statuses@'>= 1.4.0 < 2' + +2017-08-04 / 1.6.2 +================== + + * deps: depd@1.1.1 + - Remove unnecessary `Buffer` loading + +2017-02-20 / 1.6.1 +================== + + * deps: setprototypeof@1.0.3 + - Fix shim for old browsers + +2017-02-14 / 1.6.0 +================== + + * Accept custom 4xx and 5xx status codes in factory + * Add deprecation message to `"I'mateapot"` export + * Deprecate passing status code as anything except first argument in factory + * Deprecate using non-error status codes + * Make `message` property enumerable for `HttpError`s + +2016-11-16 / 1.5.1 +================== + + * deps: inherits@2.0.3 + - Fix issue loading in browser + * deps: setprototypeof@1.0.2 + * deps: statuses@'>= 1.3.1 < 2' + +2016-05-18 / 1.5.0 +================== + + * Support new code `421 Misdirected Request` + * Use `setprototypeof` module to replace `__proto__` setting + * deps: statuses@'>= 1.3.0 < 2' + - Add `421 Misdirected Request` + - perf: enable strict mode + * perf: enable strict mode + +2016-01-28 / 1.4.0 +================== + + * Add `HttpError` export, for `err instanceof createError.HttpError` + * deps: inherits@2.0.1 + * deps: statuses@'>= 1.2.1 < 2' + - Fix message for status 451 + - Remove incorrect nginx status code + +2015-02-02 / 1.3.1 +================== + + * Fix regression where status can be overwritten in `createError` `props` + +2015-02-01 / 1.3.0 +================== + + * Construct errors using defined constructors from `createError` + * Fix error names that are not identifiers + - `createError["I'mateapot"]` is now `createError.ImATeapot` + * Set a meaningful `name` property on constructed errors + +2014-12-09 / 1.2.8 +================== + + * Fix stack trace from exported function + * Remove `arguments.callee` usage + +2014-10-14 / 1.2.7 +================== + + * Remove duplicate line + +2014-10-02 / 1.2.6 +================== + + * Fix `expose` to be `true` for `ClientError` constructor + +2014-09-28 / 1.2.5 +================== + + * deps: statuses@1 + +2014-09-21 / 1.2.4 +================== + + * Fix dependency version to work with old `npm`s + +2014-09-21 / 1.2.3 +================== + + * deps: statuses@~1.1.0 + +2014-09-21 / 1.2.2 +================== + + * Fix publish error + +2014-09-21 / 1.2.1 +================== + + * Support Node.js 0.6 + * Use `inherits` instead of `util` + +2014-09-09 / 1.2.0 +================== + + * Fix the way inheriting functions + * Support `expose` being provided in properties argument + +2014-09-08 / 1.1.0 +================== + + * Default status to 500 + * Support provided `error` to extend + +2014-09-08 / 1.0.1 +================== + + * Fix accepting string message + +2014-09-08 / 1.0.0 +================== + + * Initial release diff --git a/data/249 b/data/249 new file mode 100644 index 0000000..5b5e741 --- /dev/null +++ b/data/249 @@ -0,0 +1,149 @@ +/*! + * vary + * Copyright(c) 2014-2017 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module exports. + */ + +module.exports = vary +module.exports.append = append + +/** + * RegExp to match field-name in RFC 7230 sec 3.2 + * + * field-name = token + * token = 1*tchar + * tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*" + * / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~" + * / DIGIT / ALPHA + * ; any VCHAR, except delimiters + */ + +var FIELD_NAME_REGEXP = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/ + +/** + * Append a field to a vary header. + * + * @param {String} header + * @param {String|Array} field + * @return {String} + * @public + */ + +function append (header, field) { + if (typeof header !== 'string') { + throw new TypeError('header argument is required') + } + + if (!field) { + throw new TypeError('field argument is required') + } + + // get fields array + var fields = !Array.isArray(field) + ? parse(String(field)) + : field + + // assert on invalid field names + for (var j = 0; j < fields.length; j++) { + if (!FIELD_NAME_REGEXP.test(fields[j])) { + throw new TypeError('field argument contains an invalid header name') + } + } + + // existing, unspecified vary + if (header === '*') { + return header + } + + // enumerate current values + var val = header + var vals = parse(header.toLowerCase()) + + // unspecified vary + if (fields.indexOf('*') !== -1 || vals.indexOf('*') !== -1) { + return '*' + } + + for (var i = 0; i < fields.length; i++) { + var fld = fields[i].toLowerCase() + + // append value (case-preserving) + if (vals.indexOf(fld) === -1) { + vals.push(fld) + val = val + ? val + ', ' + fields[i] + : fields[i] + } + } + + return val +} + +/** + * Parse a vary header into an array. + * + * @param {String} header + * @return {Array} + * @private + */ + +function parse (header) { + var end = 0 + var list = [] + var start = 0 + + // gather tokens + for (var i = 0, len = header.length; i < len; i++) { + switch (header.charCodeAt(i)) { + case 0x20: /* */ + if (start === end) { + start = end = i + 1 + } + break + case 0x2c: /* , */ + list.push(header.substring(start, end)) + start = end = i + 1 + break + default: + end = i + 1 + break + } + } + + // final token + list.push(header.substring(start, end)) + + return list +} + +/** + * Mark that a request is varied on a header field. + * + * @param {Object} res + * @param {String|Array} field + * @public + */ + +function vary (res, field) { + if (!res || !res.getHeader || !res.setHeader) { + // quack quack + throw new TypeError('res argument is required') + } + + // get existing header + var val = res.getHeader('Vary') || '' + var header = Array.isArray(val) + ? val.join(', ') + : String(val) + + // set new header + if ((val = append(header, field))) { + res.setHeader('Vary', val) + } +} diff --git a/data/250 b/data/250 new file mode 100644 index 0000000..2a585c9 --- /dev/null +++ b/data/250 @@ -0,0 +1,131 @@ +/*! + * etag + * Copyright(c) 2014-2016 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module exports. + * @public + */ + +module.exports = etag + +/** + * Module dependencies. + * @private + */ + +var crypto = require('crypto') +var Stats = require('fs').Stats + +/** + * Module variables. + * @private + */ + +var toString = Object.prototype.toString + +/** + * Generate an entity tag. + * + * @param {Buffer|string} entity + * @return {string} + * @private + */ + +function entitytag (entity) { + if (entity.length === 0) { + // fast-path empty + return '"0-2jmj7l5rSw0yVb/vlWAYkK/YBwk"' + } + + // compute hash of entity + var hash = crypto + .createHash('sha1') + .update(entity, 'utf8') + .digest('base64') + .substring(0, 27) + + // compute length of entity + var len = typeof entity === 'string' + ? Buffer.byteLength(entity, 'utf8') + : entity.length + + return '"' + len.toString(16) + '-' + hash + '"' +} + +/** + * Create a simple ETag. + * + * @param {string|Buffer|Stats} entity + * @param {object} [options] + * @param {boolean} [options.weak] + * @return {String} + * @public + */ + +function etag (entity, options) { + if (entity == null) { + throw new TypeError('argument entity is required') + } + + // support fs.Stats object + var isStats = isstats(entity) + var weak = options && typeof options.weak === 'boolean' + ? options.weak + : isStats + + // validate argument + if (!isStats && typeof entity !== 'string' && !Buffer.isBuffer(entity)) { + throw new TypeError('argument entity must be string, Buffer, or fs.Stats') + } + + // generate entity tag + var tag = isStats + ? stattag(entity) + : entitytag(entity) + + return weak + ? 'W/' + tag + : tag +} + +/** + * Determine if object is a Stats object. + * + * @param {object} obj + * @return {boolean} + * @api private + */ + +function isstats (obj) { + // genuine fs.Stats + if (typeof Stats === 'function' && obj instanceof Stats) { + return true + } + + // quack quack + return obj && typeof obj === 'object' && + 'ctime' in obj && toString.call(obj.ctime) === '[object Date]' && + 'mtime' in obj && toString.call(obj.mtime) === '[object Date]' && + 'ino' in obj && typeof obj.ino === 'number' && + 'size' in obj && typeof obj.size === 'number' +} + +/** + * Generate a tag for a stat. + * + * @param {object} stat + * @return {string} + * @private + */ + +function stattag (stat) { + var mtime = stat.mtime.getTime().toString(16) + var size = stat.size.toString(16) + + return '"' + size + '-' + mtime + '"' +} diff --git a/data/251 b/data/251 new file mode 100644 index 0000000..3842493 --- /dev/null +++ b/data/251 @@ -0,0 +1,109 @@ +# Encode URL + +Encode a URL to a percent-encoded form, excluding already-encoded sequences. + +## Installation + +```sh +npm install encodeurl +``` + +## API + +```js +var encodeUrl = require('encodeurl') +``` + +### encodeUrl(url) + +Encode a URL to a percent-encoded form, excluding already-encoded sequences. + +This function accepts a URL and encodes all the non-URL code points (as UTF-8 byte sequences). It will not encode the "%" character unless it is not part of a valid sequence (`%20` will be left as-is, but `%foo` will be encoded as `%25foo`). + +This encode is meant to be "safe" and does not throw errors. It will try as hard as it can to properly encode the given URL, including replacing any raw, unpaired surrogate pairs with the Unicode replacement character prior to encoding. + +## Examples + +### Encode a URL containing user-controlled data + +```js +var encodeUrl = require('encodeurl') +var escapeHtml = require('escape-html') + +http.createServer(function onRequest (req, res) { + // get encoded form of inbound url + var url = encodeUrl(req.url) + + // create html message + var body = '

    Location ' + escapeHtml(url) + ' not found

    ' + + // send a 404 + res.statusCode = 404 + res.setHeader('Content-Type', 'text/html; charset=UTF-8') + res.setHeader('Content-Length', String(Buffer.byteLength(body, 'utf-8'))) + res.end(body, 'utf-8') +}) +``` + +### Encode a URL for use in a header field + +```js +var encodeUrl = require('encodeurl') +var escapeHtml = require('escape-html') +var url = require('url') + +http.createServer(function onRequest (req, res) { + // parse inbound url + var href = url.parse(req) + + // set new host for redirect + href.host = 'localhost' + href.protocol = 'https:' + href.slashes = true + + // create location header + var location = encodeUrl(url.format(href)) + + // create html message + var body = '

    Redirecting to new site: ' + escapeHtml(location) + '

    ' + + // send a 301 + res.statusCode = 301 + res.setHeader('Content-Type', 'text/html; charset=UTF-8') + res.setHeader('Content-Length', String(Buffer.byteLength(body, 'utf-8'))) + res.setHeader('Location', location) + res.end(body, 'utf-8') +}) +``` + +## Similarities + +This function is _similar_ to the intrinsic function `encodeURI`. However, it will not encode: + +* The `\`, `^`, or `|` characters +* The `%` character when it's part of a valid sequence +* `[` and `]` (for IPv6 hostnames) +* Replaces raw, unpaired surrogate pairs with the Unicode replacement character + +As a result, the encoding aligns closely with the behavior in the [WHATWG URL specification][whatwg-url]. However, this package only encodes strings and does not do any URL parsing or formatting. + +It is expected that any output from `new URL(url)` will not change when used with this package, as the output has already been encoded. Additionally, if we were to encode before `new URL(url)`, we do not expect the before and after encoded formats to be parsed any differently. + +## Testing + +```sh +$ npm test +$ npm run lint +``` + +## References + +- [RFC 3986: Uniform Resource Identifier (URI): Generic Syntax][rfc-3986] +- [WHATWG URL Living Standard][whatwg-url] + +[rfc-3986]: https://tools.ietf.org/html/rfc3986 +[whatwg-url]: https://url.spec.whatwg.org/ + +## License + +[MIT](LICENSE) diff --git a/data/252 b/data/252 new file mode 100644 index 0000000..4583671 --- /dev/null +++ b/data/252 @@ -0,0 +1,29 @@ +1.0.5 / 2023-01-29 +================== + + * perf: skip value escaping when unnecessary + +1.0.4 / 2017-09-11 +================== + + * perf: skip parameter parsing when no parameters + +1.0.3 / 2017-09-10 +================== + + * perf: remove argument reassignment + +1.0.2 / 2016-05-09 +================== + + * perf: enable strict mode + +1.0.1 / 2015-02-13 +================== + + * Improve missing `Content-Type` header error message + +1.0.0 / 2015-02-01 +================== + + * Initial implementation, derived from `media-typer@0.3.0` diff --git a/data/253 b/data/253 new file mode 100644 index 0000000..897cae1 --- /dev/null +++ b/data/253 @@ -0,0 +1,143 @@ +/*! + * media-typer + * Copyright(c) 2014-2017 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * RegExp to match type in RFC 6838 + * + * type-name = restricted-name + * subtype-name = restricted-name + * restricted-name = restricted-name-first *126restricted-name-chars + * restricted-name-first = ALPHA / DIGIT + * restricted-name-chars = ALPHA / DIGIT / "!" / "#" / + * "$" / "&" / "-" / "^" / "_" + * restricted-name-chars =/ "." ; Characters before first dot always + * ; specify a facet name + * restricted-name-chars =/ "+" ; Characters after last plus always + * ; specify a structured syntax suffix + * ALPHA = %x41-5A / %x61-7A ; A-Z / a-z + * DIGIT = %x30-39 ; 0-9 + */ +var SUBTYPE_NAME_REGEXP = /^[A-Za-z0-9][A-Za-z0-9!#$&^_.-]{0,126}$/ +var TYPE_NAME_REGEXP = /^[A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126}$/ +var TYPE_REGEXP = /^ *([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126}) *$/ + +/** + * Module exports. + */ + +exports.format = format +exports.parse = parse +exports.test = test + +/** + * Format object to media type. + * + * @param {object} obj + * @return {string} + * @public + */ + +function format (obj) { + if (!obj || typeof obj !== 'object') { + throw new TypeError('argument obj is required') + } + + var subtype = obj.subtype + var suffix = obj.suffix + var type = obj.type + + if (!type || !TYPE_NAME_REGEXP.test(type)) { + throw new TypeError('invalid type') + } + + if (!subtype || !SUBTYPE_NAME_REGEXP.test(subtype)) { + throw new TypeError('invalid subtype') + } + + // format as type/subtype + var string = type + '/' + subtype + + // append +suffix + if (suffix) { + if (!TYPE_NAME_REGEXP.test(suffix)) { + throw new TypeError('invalid suffix') + } + + string += '+' + suffix + } + + return string +} + +/** + * Test media type. + * + * @param {string} string + * @return {object} + * @public + */ + +function test (string) { + if (!string) { + throw new TypeError('argument string is required') + } + + if (typeof string !== 'string') { + throw new TypeError('argument string is required to be a string') + } + + return TYPE_REGEXP.test(string.toLowerCase()) +} + +/** + * Parse media type to object. + * + * @param {string} string + * @return {object} + * @public + */ + +function parse (string) { + if (!string) { + throw new TypeError('argument string is required') + } + + if (typeof string !== 'string') { + throw new TypeError('argument string is required to be a string') + } + + var match = TYPE_REGEXP.exec(string.toLowerCase()) + + if (!match) { + throw new TypeError('invalid media type') + } + + var type = match[1] + var subtype = match[2] + var suffix + + // suffix after last + + var index = subtype.lastIndexOf('+') + if (index !== -1) { + suffix = subtype.substr(index + 1) + subtype = subtype.substr(0, index) + } + + return new MediaType(type, subtype, suffix) +} + +/** + * Class for MediaType object. + * @public + */ + +function MediaType (type, subtype, suffix) { + this.type = type + this.subtype = subtype + this.suffix = suffix +} diff --git a/data/255 b/data/255 new file mode 100644 index 0000000..2a3c540 --- /dev/null +++ b/data/255 @@ -0,0 +1,30 @@ +{ + "name": "is-promise", + "version": "4.0.0", + "description": "Test whether an object looks like a promises-a+ promise", + "main": "./index.js", + "scripts": { + "test": "node test" + }, + "files": [ + "index.js", + "index.mjs", + "index.d.ts" + ], + "exports": { + ".": [ + { + "import": "./index.mjs", + "require": "./index.js", + "default": "./index.js" + }, + "./index.js" + ] + }, + "repository": { + "type": "git", + "url": "https://github.com/then/is-promise.git" + }, + "author": "ForbesLindesay", + "license": "MIT" +} diff --git a/data/256 b/data/256 new file mode 100644 index 0000000..b54a7cc --- /dev/null +++ b/data/256 @@ -0,0 +1 @@ +(function(){var r,t,n,e,i,o,a,s;t={},s=this,"undefined"!=typeof module&&null!==module&&module.exports?module.exports=t:s.ipaddr=t,a=function(r,t,n,e){var i,o;if(r.length!==t.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");for(i=0;e>0;){if((o=n-e)<0&&(o=0),r[i]>>o!=t[i]>>o)return!1;e-=n,i+=1}return!0},t.subnetMatch=function(r,t,n){var e,i,o,a,s;null==n&&(n="unicast");for(o in t)for(!(a=t[o])[0]||a[0]instanceof Array||(a=[a]),e=0,i=a.length;e=0;t=n+=-1){if(!((e=this.octets[t])in a))return null;if(o=a[e],i&&0!==o)return null;8!==o&&(i=!0),r+=o}return 32-r},r}(),n="(0?\\d+|0x[a-f0-9]+)",e={fourOctet:new RegExp("^"+n+"\\."+n+"\\."+n+"\\."+n+"$","i"),longValue:new RegExp("^"+n+"$","i")},t.IPv4.parser=function(r){var t,n,i,o,a;if(n=function(r){return"0"===r[0]&&"x"!==r[1]?parseInt(r,8):parseInt(r)},t=r.match(e.fourOctet))return function(){var r,e,o,a;for(a=[],r=0,e=(o=t.slice(1,6)).length;r4294967295||a<0)throw new Error("ipaddr: address outside defined range");return function(){var r,t;for(t=[],o=r=0;r<=24;o=r+=8)t.push(a>>o&255);return t}().reverse()}return null},t.IPv6=function(){function r(r,t){var n,e,i,o,a,s;if(16===r.length)for(this.parts=[],n=e=0;e<=14;n=e+=2)this.parts.push(r[n]<<8|r[n+1]);else{if(8!==r.length)throw new Error("ipaddr: ipv6 part count should be 8 or 16");this.parts=r}for(i=0,o=(s=this.parts).length;it&&(r=n.index,t=n[0].length);return t<0?i:i.substring(0,r)+"::"+i.substring(r+t)},r.prototype.toByteArray=function(){var r,t,n,e,i;for(r=[],t=0,n=(i=this.parts).length;t>8),r.push(255&e);return r},r.prototype.toNormalizedString=function(){var r,t,n;return r=function(){var r,n,e,i;for(i=[],r=0,n=(e=this.parts).length;r>8,255&r,n>>8,255&n])},r.prototype.prefixLengthFromSubnetMask=function(){var r,t,n,e,i,o,a;for(a={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},r=0,i=!1,t=n=7;n>=0;t=n+=-1){if(!((e=this.parts[t])in a))return null;if(o=a[e],i&&0!==o)return null;16!==o&&(i=!0),r+=o}return 128-r},r}(),i="(?:[0-9a-f]+::?)+",o={zoneIndex:new RegExp("%[0-9a-z]{1,}","i"),native:new RegExp("^(::)?("+i+")?([0-9a-f]+)?(::)?(%[0-9a-z]{1,})?$","i"),transitional:new RegExp("^((?:"+i+")|(?:::)(?:"+i+")?)"+n+"\\."+n+"\\."+n+"\\."+n+"(%[0-9a-z]{1,})?$","i")},r=function(r,t){var n,e,i,a,s,p;if(r.indexOf("::")!==r.lastIndexOf("::"))return null;for((p=(r.match(o.zoneIndex)||[])[0])&&(p=p.substring(1),r=r.replace(/%.+$/,"")),n=0,e=-1;(e=r.indexOf(":",e+1))>=0;)n++;if("::"===r.substr(0,2)&&n--,"::"===r.substr(-2,2)&&n--,n>t)return null;for(s=t-n,a=":";s--;)a+="0:";return":"===(r=r.replace("::",a))[0]&&(r=r.slice(1)),":"===r[r.length-1]&&(r=r.slice(0,-1)),t=function(){var t,n,e,o;for(o=[],t=0,n=(e=r.split(":")).length;t=0&&t<=32)return e=[this.parse(n[1]),t],Object.defineProperty(e,"toString",{value:function(){return this.join("/")}}),e;throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},t.IPv4.subnetMaskFromPrefixLength=function(r){var t,n,e;if((r=parseInt(r))<0||r>32)throw new Error("ipaddr: invalid IPv4 prefix length");for(e=[0,0,0,0],n=0,t=Math.floor(r/8);n=0&&t<=128)return e=[this.parse(n[1]),t],Object.defineProperty(e,"toString",{value:function(){return this.join("/")}}),e;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},t.isValid=function(r){return t.IPv6.isValid(r)||t.IPv4.isValid(r)},t.parse=function(r){if(t.IPv6.isValid(r))return t.IPv6.parse(r);if(t.IPv4.isValid(r))return t.IPv4.parse(r);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},t.parseCIDR=function(r){try{return t.IPv6.parseCIDR(r)}catch(n){n;try{return t.IPv4.parseCIDR(r)}catch(r){throw r,new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},t.fromByteArray=function(r){var n;if(4===(n=r.length))return new t.IPv4(r);if(16===n)return new t.IPv6(r);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},t.process=function(r){var t;return t=this.parse(r),"ipv6"===t.kind()&&t.isIPv4MappedAddress()?t.toIPv4Address():t}}).call(this); \ No newline at end of file diff --git a/data/257 b/data/257 new file mode 100644 index 0000000..653d9ea --- /dev/null +++ b/data/257 @@ -0,0 +1,43 @@ + +# escape-html + + Escape string for use in HTML + +## Example + +```js +var escape = require('escape-html'); +var html = escape('foo & bar'); +// -> foo & bar +``` + +## Benchmark + +``` +$ npm run-script bench + +> escape-html@1.0.3 bench nodejs-escape-html +> node benchmark/index.js + + + http_parser@1.0 + node@0.10.33 + v8@3.14.5.9 + ares@1.9.0-DEV + uv@0.10.29 + zlib@1.2.3 + modules@11 + openssl@1.0.1j + + 1 test completed. + 2 tests completed. + 3 tests completed. + + no special characters x 19,435,271 ops/sec ±0.85% (187 runs sampled) + single special character x 6,132,421 ops/sec ±0.67% (194 runs sampled) + many special characters x 3,175,826 ops/sec ±0.65% (193 runs sampled) +``` + +## License + + MIT \ No newline at end of file diff --git a/data/258 b/data/258 new file mode 100644 index 0000000..8502e13 --- /dev/null +++ b/data/258 @@ -0,0 +1,92 @@ +{ + "name": "hasown", + "version": "2.0.2", + "description": "A robust, ES3 compatible, \"has own property\" predicate.", + "main": "index.js", + "exports": { + ".": "./index.js", + "./package.json": "./package.json" + }, + "types": "index.d.ts", + "sideEffects": false, + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepublishOnly": "safe-publish-latest", + "prelint": "evalmd README.md", + "lint": "eslint --ext=js,mjs .", + "postlint": "npm run tsc", + "pretest": "npm run lint", + "tsc": "tsc -p .", + "posttsc": "attw -P", + "tests-only": "nyc tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "aud --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/inspect-js/hasOwn.git" + }, + "keywords": [ + "has", + "hasOwnProperty", + "hasOwn", + "has-own", + "own", + "has", + "property", + "in", + "javascript", + "ecmascript" + ], + "author": "Jordan Harband ", + "license": "MIT", + "bugs": { + "url": "https://github.com/inspect-js/hasOwn/issues" + }, + "homepage": "https://github.com/inspect-js/hasOwn#readme", + "dependencies": { + "function-bind": "^1.1.2" + }, + "devDependencies": { + "@arethetypeswrong/cli": "^0.15.1", + "@ljharb/eslint-config": "^21.1.0", + "@ljharb/tsconfig": "^0.2.0", + "@types/function-bind": "^1.1.10", + "@types/mock-property": "^1.0.2", + "@types/tape": "^5.6.4", + "aud": "^2.0.4", + "auto-changelog": "^2.4.0", + "eslint": "=8.8.0", + "evalmd": "^0.0.19", + "in-publish": "^2.0.1", + "mock-property": "^1.0.3", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^5.7.5", + "typescript": "next" + }, + "engines": { + "node": ">= 0.4" + }, + "testling": { + "files": "test/index.js" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows", + "test" + ] + } +} diff --git a/data/259 b/data/259 new file mode 100644 index 0000000..430b705 --- /dev/null +++ b/data/259 @@ -0,0 +1,38 @@ +'use strict'; + +var test = require('tape'); + +var $Object = require('../'); +var isObject = require('../isObject'); +var ToObject = require('../ToObject'); +var RequireObjectCoercible = require('..//RequireObjectCoercible'); + +test('errors', function (t) { + t.equal($Object, Object); + // @ts-expect-error + t['throws'](function () { ToObject(null); }, TypeError); + // @ts-expect-error + t['throws'](function () { ToObject(undefined); }, TypeError); + // @ts-expect-error + t['throws'](function () { RequireObjectCoercible(null); }, TypeError); + // @ts-expect-error + t['throws'](function () { RequireObjectCoercible(undefined); }, TypeError); + + t.deepEqual(RequireObjectCoercible(true), true); + t.deepEqual(ToObject(true), Object(true)); + t.deepEqual(ToObject(42), Object(42)); + var f = function () {}; + t.equal(ToObject(f), f); + + t.equal(isObject(undefined), false); + t.equal(isObject(null), false); + t.equal(isObject({}), true); + t.equal(isObject([]), true); + t.equal(isObject(function () {}), true); + + var obj = {}; + t.equal(RequireObjectCoercible(obj), obj); + t.equal(ToObject(obj), obj); + + t.end(); +}); diff --git a/data/260 b/data/260 new file mode 100644 index 0000000..62d6d23 --- /dev/null +++ b/data/260 @@ -0,0 +1,20 @@ +Copyright (c) 2013 Raynos. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/data/261 b/data/261 new file mode 100644 index 0000000..d9c0f30 --- /dev/null +++ b/data/261 @@ -0,0 +1,274 @@ +'use strict'; + +var GetIntrinsic = require('../'); + +var test = require('tape'); +var forEach = require('for-each'); +var debug = require('object-inspect'); +var generatorFns = require('make-generator-function')(); +var asyncFns = require('make-async-function').list(); +var asyncGenFns = require('make-async-generator-function')(); +var mockProperty = require('mock-property'); + +var callBound = require('call-bound'); +var v = require('es-value-fixtures'); +var $gOPD = require('gopd'); +var DefinePropertyOrThrow = require('es-abstract/2023/DefinePropertyOrThrow'); + +var $isProto = callBound('%Object.prototype.isPrototypeOf%'); + +test('export', function (t) { + t.equal(typeof GetIntrinsic, 'function', 'it is a function'); + t.equal(GetIntrinsic.length, 2, 'function has length of 2'); + + t.end(); +}); + +test('throws', function (t) { + t['throws']( + function () { GetIntrinsic('not an intrinsic'); }, + SyntaxError, + 'nonexistent intrinsic throws a syntax error' + ); + + t['throws']( + function () { GetIntrinsic(''); }, + TypeError, + 'empty string intrinsic throws a type error' + ); + + t['throws']( + function () { GetIntrinsic('.'); }, + SyntaxError, + '"just a dot" intrinsic throws a syntax error' + ); + + t['throws']( + function () { GetIntrinsic('%String'); }, + SyntaxError, + 'Leading % without trailing % throws a syntax error' + ); + + t['throws']( + function () { GetIntrinsic('String%'); }, + SyntaxError, + 'Trailing % without leading % throws a syntax error' + ); + + t['throws']( + function () { GetIntrinsic("String['prototype]"); }, + SyntaxError, + 'Dynamic property access is disallowed for intrinsics (unterminated string)' + ); + + t['throws']( + function () { GetIntrinsic('%Proxy.prototype.undefined%'); }, + TypeError, + "Throws when middle part doesn't exist (%Proxy.prototype.undefined%)" + ); + + t['throws']( + function () { GetIntrinsic('%Array.prototype%garbage%'); }, + SyntaxError, + 'Throws with extra percent signs' + ); + + t['throws']( + function () { GetIntrinsic('%Array.prototype%push%'); }, + SyntaxError, + 'Throws with extra percent signs, even on an existing intrinsic' + ); + + forEach(v.nonStrings, function (nonString) { + t['throws']( + function () { GetIntrinsic(nonString); }, + TypeError, + debug(nonString) + ' is not a String' + ); + }); + + forEach(v.nonBooleans, function (nonBoolean) { + t['throws']( + function () { GetIntrinsic('%', nonBoolean); }, + TypeError, + debug(nonBoolean) + ' is not a Boolean' + ); + }); + + forEach([ + 'toString', + 'propertyIsEnumerable', + 'hasOwnProperty' + ], function (objectProtoMember) { + t['throws']( + function () { GetIntrinsic(objectProtoMember); }, + SyntaxError, + debug(objectProtoMember) + ' is not an intrinsic' + ); + }); + + t.end(); +}); + +test('base intrinsics', function (t) { + t.equal(GetIntrinsic('%Object%'), Object, '%Object% yields Object'); + t.equal(GetIntrinsic('Object'), Object, 'Object yields Object'); + t.equal(GetIntrinsic('%Array%'), Array, '%Array% yields Array'); + t.equal(GetIntrinsic('Array'), Array, 'Array yields Array'); + + t.end(); +}); + +test('dotted paths', function (t) { + t.equal(GetIntrinsic('%Object.prototype.toString%'), Object.prototype.toString, '%Object.prototype.toString% yields Object.prototype.toString'); + t.equal(GetIntrinsic('Object.prototype.toString'), Object.prototype.toString, 'Object.prototype.toString yields Object.prototype.toString'); + t.equal(GetIntrinsic('%Array.prototype.push%'), Array.prototype.push, '%Array.prototype.push% yields Array.prototype.push'); + t.equal(GetIntrinsic('Array.prototype.push'), Array.prototype.push, 'Array.prototype.push yields Array.prototype.push'); + + test('underscore paths are aliases for dotted paths', { skip: !Object.isFrozen || Object.isFrozen(Object.prototype) }, function (st) { + var original = GetIntrinsic('%ObjProto_toString%'); + + forEach([ + '%Object.prototype.toString%', + 'Object.prototype.toString', + '%ObjectPrototype.toString%', + 'ObjectPrototype.toString', + '%ObjProto_toString%', + 'ObjProto_toString' + ], function (name) { + DefinePropertyOrThrow(Object.prototype, 'toString', { + '[[Value]]': function toString() { + return original.apply(this, arguments); + } + }); + st.equal(GetIntrinsic(name), original, name + ' yields original Object.prototype.toString'); + }); + + DefinePropertyOrThrow(Object.prototype, 'toString', { '[[Value]]': original }); + st.end(); + }); + + test('dotted paths cache', { skip: !Object.isFrozen || Object.isFrozen(Object.prototype) }, function (st) { + var original = GetIntrinsic('%Object.prototype.propertyIsEnumerable%'); + + forEach([ + '%Object.prototype.propertyIsEnumerable%', + 'Object.prototype.propertyIsEnumerable', + '%ObjectPrototype.propertyIsEnumerable%', + 'ObjectPrototype.propertyIsEnumerable' + ], function (name) { + var restore = mockProperty(Object.prototype, 'propertyIsEnumerable', { + value: function propertyIsEnumerable() { + return original.apply(this, arguments); + } + }); + st.equal(GetIntrinsic(name), original, name + ' yields cached Object.prototype.propertyIsEnumerable'); + + restore(); + }); + + st.end(); + }); + + test('dotted path reports correct error', function (st) { + st['throws'](function () { + GetIntrinsic('%NonExistentIntrinsic.prototype.property%'); + }, /%NonExistentIntrinsic%/, 'The base intrinsic of %NonExistentIntrinsic.prototype.property% is %NonExistentIntrinsic%'); + + st['throws'](function () { + GetIntrinsic('%NonExistentIntrinsicPrototype.property%'); + }, /%NonExistentIntrinsicPrototype%/, 'The base intrinsic of %NonExistentIntrinsicPrototype.property% is %NonExistentIntrinsicPrototype%'); + + st.end(); + }); + + t.end(); +}); + +test('accessors', { skip: !$gOPD || typeof Map !== 'function' }, function (t) { + var actual = $gOPD(Map.prototype, 'size'); + t.ok(actual, 'Map.prototype.size has a descriptor'); + t.equal(typeof actual.get, 'function', 'Map.prototype.size has a getter function'); + t.equal(GetIntrinsic('%Map.prototype.size%'), actual.get, '%Map.prototype.size% yields the getter for it'); + t.equal(GetIntrinsic('Map.prototype.size'), actual.get, 'Map.prototype.size yields the getter for it'); + + t.end(); +}); + +test('generator functions', { skip: !generatorFns.length }, function (t) { + var $GeneratorFunction = GetIntrinsic('%GeneratorFunction%'); + var $GeneratorFunctionPrototype = GetIntrinsic('%Generator%'); + var $GeneratorPrototype = GetIntrinsic('%GeneratorPrototype%'); + + forEach(generatorFns, function (genFn) { + var fnName = genFn.name; + fnName = fnName ? "'" + fnName + "'" : 'genFn'; + + t.ok(genFn instanceof $GeneratorFunction, fnName + ' instanceof %GeneratorFunction%'); + t.ok($isProto($GeneratorFunctionPrototype, genFn), '%Generator% is prototype of ' + fnName); + t.ok($isProto($GeneratorPrototype, genFn.prototype), '%GeneratorPrototype% is prototype of ' + fnName + '.prototype'); + }); + + t.end(); +}); + +test('async functions', { skip: !asyncFns.length }, function (t) { + var $AsyncFunction = GetIntrinsic('%AsyncFunction%'); + var $AsyncFunctionPrototype = GetIntrinsic('%AsyncFunctionPrototype%'); + + forEach(asyncFns, function (asyncFn) { + var fnName = asyncFn.name; + fnName = fnName ? "'" + fnName + "'" : 'asyncFn'; + + t.ok(asyncFn instanceof $AsyncFunction, fnName + ' instanceof %AsyncFunction%'); + t.ok($isProto($AsyncFunctionPrototype, asyncFn), '%AsyncFunctionPrototype% is prototype of ' + fnName); + }); + + t.end(); +}); + +test('async generator functions', { skip: asyncGenFns.length === 0 }, function (t) { + var $AsyncGeneratorFunction = GetIntrinsic('%AsyncGeneratorFunction%'); + var $AsyncGeneratorFunctionPrototype = GetIntrinsic('%AsyncGenerator%'); + var $AsyncGeneratorPrototype = GetIntrinsic('%AsyncGeneratorPrototype%'); + + forEach(asyncGenFns, function (asyncGenFn) { + var fnName = asyncGenFn.name; + fnName = fnName ? "'" + fnName + "'" : 'asyncGenFn'; + + t.ok(asyncGenFn instanceof $AsyncGeneratorFunction, fnName + ' instanceof %AsyncGeneratorFunction%'); + t.ok($isProto($AsyncGeneratorFunctionPrototype, asyncGenFn), '%AsyncGenerator% is prototype of ' + fnName); + t.ok($isProto($AsyncGeneratorPrototype, asyncGenFn.prototype), '%AsyncGeneratorPrototype% is prototype of ' + fnName + '.prototype'); + }); + + t.end(); +}); + +test('%ThrowTypeError%', function (t) { + var $ThrowTypeError = GetIntrinsic('%ThrowTypeError%'); + + t.equal(typeof $ThrowTypeError, 'function', 'is a function'); + t['throws']( + $ThrowTypeError, + TypeError, + '%ThrowTypeError% throws a TypeError' + ); + + t.end(); +}); + +test('allowMissing', { skip: asyncGenFns.length > 0 }, function (t) { + t['throws']( + function () { GetIntrinsic('%AsyncGeneratorPrototype%'); }, + TypeError, + 'throws when missing' + ); + + t.equal( + GetIntrinsic('%AsyncGeneratorPrototype%', true), + undefined, + 'does not throw when allowMissing' + ); + + t.end(); +}); diff --git a/data/262 b/data/262 new file mode 100644 index 0000000..d2b7723 --- /dev/null +++ b/data/262 @@ -0,0 +1,10 @@ +'use strict'; + +var bind = require('function-bind'); +var $apply = require('./functionApply'); +var actualApply = require('./actualApply'); + +/** @type {import('./applyBind')} */ +module.exports = function applyBind() { + return actualApply(bind, $apply, arguments); +}; diff --git a/data/263 b/data/263 new file mode 100644 index 0000000..e111100 --- /dev/null +++ b/data/263 @@ -0,0 +1,68 @@ +'use strict'; + +var GetIntrinsic = require('get-intrinsic'); +var callBound = require('call-bound'); +var inspect = require('object-inspect'); + +var $TypeError = require('es-errors/type'); +var $Map = GetIntrinsic('%Map%', true); + +/** @type {(thisArg: Map, key: K) => V} */ +var $mapGet = callBound('Map.prototype.get', true); +/** @type {(thisArg: Map, key: K, value: V) => void} */ +var $mapSet = callBound('Map.prototype.set', true); +/** @type {(thisArg: Map, key: K) => boolean} */ +var $mapHas = callBound('Map.prototype.has', true); +/** @type {(thisArg: Map, key: K) => boolean} */ +var $mapDelete = callBound('Map.prototype.delete', true); +/** @type {(thisArg: Map) => number} */ +var $mapSize = callBound('Map.prototype.size', true); + +/** @type {import('.')} */ +module.exports = !!$Map && /** @type {Exclude} */ function getSideChannelMap() { + /** @typedef {ReturnType} Channel */ + /** @typedef {Parameters[0]} K */ + /** @typedef {Parameters[1]} V */ + + /** @type {Map | undefined} */ var $m; + + /** @type {Channel} */ + var channel = { + assert: function (key) { + if (!channel.has(key)) { + throw new $TypeError('Side channel does not contain ' + inspect(key)); + } + }, + 'delete': function (key) { + if ($m) { + var result = $mapDelete($m, key); + if ($mapSize($m) === 0) { + $m = void undefined; + } + return result; + } + return false; + }, + get: function (key) { // eslint-disable-line consistent-return + if ($m) { + return $mapGet($m, key); + } + }, + has: function (key) { + if ($m) { + return $mapHas($m, key); + } + return false; + }, + set: function (key, value) { + if (!$m) { + // @ts-expect-error TS can't handle narrowing a variable inside a closure + $m = new $Map(); + } + $mapSet($m, key, value); + } + }; + + // @ts-expect-error TODO: figure out why TS is erroring here + return channel; +}; diff --git a/data/264 b/data/264 new file mode 100644 index 0000000..8d6f98c --- /dev/null +++ b/data/264 @@ -0,0 +1,113 @@ +'use strict'; + +var inspect = require('object-inspect'); + +var $TypeError = require('es-errors/type'); + +/* +* This function traverses the list returning the node corresponding to the given key. +* +* That node is also moved to the head of the list, so that if it's accessed again we don't need to traverse the whole list. +* By doing so, all the recently used nodes can be accessed relatively quickly. +*/ +/** @type {import('./list.d.ts').listGetNode} */ +// eslint-disable-next-line consistent-return +var listGetNode = function (list, key, isDelete) { + /** @type {typeof list | NonNullable<(typeof list)['next']>} */ + var prev = list; + /** @type {(typeof list)['next']} */ + var curr; + // eslint-disable-next-line eqeqeq + for (; (curr = prev.next) != null; prev = curr) { + if (curr.key === key) { + prev.next = curr.next; + if (!isDelete) { + // eslint-disable-next-line no-extra-parens + curr.next = /** @type {NonNullable} */ (list.next); + list.next = curr; // eslint-disable-line no-param-reassign + } + return curr; + } + } +}; + +/** @type {import('./list.d.ts').listGet} */ +var listGet = function (objects, key) { + if (!objects) { + return void undefined; + } + var node = listGetNode(objects, key); + return node && node.value; +}; +/** @type {import('./list.d.ts').listSet} */ +var listSet = function (objects, key, value) { + var node = listGetNode(objects, key); + if (node) { + node.value = value; + } else { + // Prepend the new node to the beginning of the list + objects.next = /** @type {import('./list.d.ts').ListNode} */ ({ // eslint-disable-line no-param-reassign, no-extra-parens + key: key, + next: objects.next, + value: value + }); + } +}; +/** @type {import('./list.d.ts').listHas} */ +var listHas = function (objects, key) { + if (!objects) { + return false; + } + return !!listGetNode(objects, key); +}; +/** @type {import('./list.d.ts').listDelete} */ +// eslint-disable-next-line consistent-return +var listDelete = function (objects, key) { + if (objects) { + return listGetNode(objects, key, true); + } +}; + +/** @type {import('.')} */ +module.exports = function getSideChannelList() { + /** @typedef {ReturnType} Channel */ + /** @typedef {Parameters[0]} K */ + /** @typedef {Parameters[1]} V */ + + /** @type {import('./list.d.ts').RootNode | undefined} */ var $o; + + /** @type {Channel} */ + var channel = { + assert: function (key) { + if (!channel.has(key)) { + throw new $TypeError('Side channel does not contain ' + inspect(key)); + } + }, + 'delete': function (key) { + var root = $o && $o.next; + var deletedNode = listDelete($o, key); + if (deletedNode && root && root === deletedNode) { + $o = void undefined; + } + return !!deletedNode; + }, + get: function (key) { + return listGet($o, key); + }, + has: function (key) { + return listHas($o, key); + }, + set: function (key, value) { + if (!$o) { + // Initialize the linked list as an empty node, so that we don't have to special-case handling of the first node: we can always refer to it as (previous node).next, instead of something like (list).head + $o = { + next: void undefined + }; + } + // eslint-disable-next-line no-extra-parens + listSet(/** @type {NonNullable} */ ($o), key, value); + } + }; + // @ts-expect-error TODO: figure out why this is erroring + return channel; +}; diff --git a/data/267 b/data/267 new file mode 100644 index 0000000..2f3355c --- /dev/null +++ b/data/267 @@ -0,0 +1,23 @@ +'use strict'; + +var inspect = require('../'); +var Buffer = require('safer-buffer').Buffer; + +var holes = ['a', 'b']; +holes[4] = 'e'; +holes[6] = 'g'; + +var obj = { + a: 1, + b: [3, 4, undefined, null], + c: undefined, + d: null, + e: { + regex: /^x/i, + buf: Buffer.from('abc'), + holes: holes + }, + now: new Date() +}; +obj.self = obj; +console.log(inspect(obj)); diff --git a/data/269 b/data/269 new file mode 100644 index 0000000..e5b8183 --- /dev/null +++ b/data/269 @@ -0,0 +1,84 @@ +'use strict'; + +var GetIntrinsic = require('get-intrinsic'); +var callBound = require('call-bound'); +var inspect = require('object-inspect'); +var getSideChannelMap = require('side-channel-map'); + +var $TypeError = require('es-errors/type'); +var $WeakMap = GetIntrinsic('%WeakMap%', true); + +/** @type {(thisArg: WeakMap, key: K) => V} */ +var $weakMapGet = callBound('WeakMap.prototype.get', true); +/** @type {(thisArg: WeakMap, key: K, value: V) => void} */ +var $weakMapSet = callBound('WeakMap.prototype.set', true); +/** @type {(thisArg: WeakMap, key: K) => boolean} */ +var $weakMapHas = callBound('WeakMap.prototype.has', true); +/** @type {(thisArg: WeakMap, key: K) => boolean} */ +var $weakMapDelete = callBound('WeakMap.prototype.delete', true); + +/** @type {import('.')} */ +module.exports = $WeakMap + ? /** @type {Exclude} */ function getSideChannelWeakMap() { + /** @typedef {ReturnType} Channel */ + /** @typedef {Parameters[0]} K */ + /** @typedef {Parameters[1]} V */ + + /** @type {WeakMap | undefined} */ var $wm; + /** @type {Channel | undefined} */ var $m; + + /** @type {Channel} */ + var channel = { + assert: function (key) { + if (!channel.has(key)) { + throw new $TypeError('Side channel does not contain ' + inspect(key)); + } + }, + 'delete': function (key) { + if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) { + if ($wm) { + return $weakMapDelete($wm, key); + } + } else if (getSideChannelMap) { + if ($m) { + return $m['delete'](key); + } + } + return false; + }, + get: function (key) { + if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) { + if ($wm) { + return $weakMapGet($wm, key); + } + } + return $m && $m.get(key); + }, + has: function (key) { + if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) { + if ($wm) { + return $weakMapHas($wm, key); + } + } + return !!$m && $m.has(key); + }, + set: function (key, value) { + if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) { + if (!$wm) { + $wm = new $WeakMap(); + } + $weakMapSet($wm, key, value); + } else if (getSideChannelMap) { + if (!$m) { + $m = getSideChannelMap(); + } + // eslint-disable-next-line no-extra-parens + /** @type {NonNullable} */ ($m).set(key, value); + } + } + }; + + // @ts-expect-error TODO: figure out why this is erroring + return channel; + } + : getSideChannelMap; diff --git a/data/271 b/data/271 new file mode 100644 index 0000000..a8a9b05 --- /dev/null +++ b/data/271 @@ -0,0 +1,43 @@ +'use strict'; + +var $TypeError = require('es-errors/type'); +var inspect = require('object-inspect'); +var getSideChannelList = require('side-channel-list'); +var getSideChannelMap = require('side-channel-map'); +var getSideChannelWeakMap = require('side-channel-weakmap'); + +var makeChannel = getSideChannelWeakMap || getSideChannelMap || getSideChannelList; + +/** @type {import('.')} */ +module.exports = function getSideChannel() { + /** @typedef {ReturnType} Channel */ + + /** @type {Channel | undefined} */ var $channelData; + + /** @type {Channel} */ + var channel = { + assert: function (key) { + if (!channel.has(key)) { + throw new $TypeError('Side channel does not contain ' + inspect(key)); + } + }, + 'delete': function (key) { + return !!$channelData && $channelData['delete'](key); + }, + get: function (key) { + return $channelData && $channelData.get(key); + }, + has: function (key) { + return !!$channelData && $channelData.has(key); + }, + set: function (key, value) { + if (!$channelData) { + $channelData = makeChannel(); + } + + $channelData.set(key, value); + } + }; + // @ts-expect-error TODO: figure out why this is erroring + return channel; +}; diff --git a/data/273 b/data/273 new file mode 100644 index 0000000..85e0f8d --- /dev/null +++ b/data/273 @@ -0,0 +1,4 @@ +1.0.0 / 2015-06-14 +================== + + * Initial release diff --git a/data/275 b/data/275 new file mode 100644 index 0000000..791eeff --- /dev/null +++ b/data/275 @@ -0,0 +1,31 @@ +# Polyfill for `Object.setPrototypeOf` + +[![NPM Version](https://img.shields.io/npm/v/setprototypeof.svg)](https://npmjs.org/package/setprototypeof) +[![NPM Downloads](https://img.shields.io/npm/dm/setprototypeof.svg)](https://npmjs.org/package/setprototypeof) +[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](https://github.com/standard/standard) + +A simple cross platform implementation to set the prototype of an instianted object. Supports all modern browsers and at least back to IE8. + +## Usage: + +``` +$ npm install --save setprototypeof +``` + +```javascript +var setPrototypeOf = require('setprototypeof') + +var obj = {} +setPrototypeOf(obj, { + foo: function () { + return 'bar' + } +}) +obj.foo() // bar +``` + +TypeScript is also supported: + +```typescript +import setPrototypeOf from 'setprototypeof' +``` diff --git a/data/276 b/data/276 new file mode 100644 index 0000000..57e8a78 --- /dev/null +++ b/data/276 @@ -0,0 +1,61 @@ +# toidentifier + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Build Status][github-actions-ci-image]][github-actions-ci-url] +[![Test Coverage][codecov-image]][codecov-url] + +> Convert a string of words to a JavaScript identifier + +## Install + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```bash +$ npm install toidentifier +``` + +## Example + +```js +var toIdentifier = require('toidentifier') + +console.log(toIdentifier('Bad Request')) +// => "BadRequest" +``` + +## API + +This CommonJS module exports a single default function: `toIdentifier`. + +### toIdentifier(string) + +Given a string as the argument, it will be transformed according to +the following rules and the new string will be returned: + +1. Split into words separated by space characters (`0x20`). +2. Upper case the first character of each word. +3. Join the words together with no separator. +4. Remove all non-word (`[0-9a-z_]`) characters. + +## License + +[MIT](LICENSE) + +[codecov-image]: https://img.shields.io/codecov/c/github/component/toidentifier.svg +[codecov-url]: https://codecov.io/gh/component/toidentifier +[downloads-image]: https://img.shields.io/npm/dm/toidentifier.svg +[downloads-url]: https://npmjs.org/package/toidentifier +[github-actions-ci-image]: https://img.shields.io/github/workflow/status/component/toidentifier/ci/master?label=ci +[github-actions-ci-url]: https://github.com/component/toidentifier?query=workflow%3Aci +[npm-image]: https://img.shields.io/npm/v/toidentifier.svg +[npm-url]: https://npmjs.org/package/toidentifier + + +## + +[npm]: https://www.npmjs.com/ + +[yarn]: https://yarnpkg.com/ diff --git a/data/277 b/data/277 new file mode 100644 index 0000000..dc549b8 --- /dev/null +++ b/data/277 @@ -0,0 +1,87 @@ +2.0.2 / 2025-06-06 +================== + + * Migrate to `String.prototype.slice()` + +2.0.1 / 2021-01-03 +================== + + * Fix returning values from `Object.prototype` + +2.0.0 / 2020-04-19 +================== + + * Drop support for Node.js 0.6 + * Fix messaging casing of `418 I'm a Teapot` + * Remove code 306 + * Remove `status[code]` exports; use `status.message[code]` + * Remove `status[msg]` exports; use `status.code[msg]` + * Rename `425 Unordered Collection` to standard `425 Too Early` + * Rename `STATUS_CODES` export to `message` + * Return status message for `statuses(code)` when given code + +1.5.0 / 2018-03-27 +================== + + * Add `103 Early Hints` + +1.4.0 / 2017-10-20 +================== + + * Add `STATUS_CODES` export + +1.3.1 / 2016-11-11 +================== + + * Fix return type in JSDoc + +1.3.0 / 2016-05-17 +================== + + * Add `421 Misdirected Request` + * perf: enable strict mode + +1.2.1 / 2015-02-01 +================== + + * Fix message for status 451 + - `451 Unavailable For Legal Reasons` + +1.2.0 / 2014-09-28 +================== + + * Add `208 Already Repored` + * Add `226 IM Used` + * Add `306 (Unused)` + * Add `415 Unable For Legal Reasons` + * Add `508 Loop Detected` + +1.1.1 / 2014-09-24 +================== + + * Add missing 308 to `codes.json` + +1.1.0 / 2014-09-21 +================== + + * Add `codes.json` for universal support + +1.0.4 / 2014-08-20 +================== + + * Package cleanup + +1.0.3 / 2014-06-08 +================== + + * Add 308 to `.redirect` category + +1.0.2 / 2014-03-13 +================== + + * Add `.retry` category + +1.0.1 / 2014-03-12 +================== + + * Initial release diff --git a/data/278 b/data/278 new file mode 100644 index 0000000..b2b6bdd --- /dev/null +++ b/data/278 @@ -0,0 +1,90 @@ +/*! + * forwarded + * Copyright(c) 2014-2017 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module exports. + * @public + */ + +module.exports = forwarded + +/** + * Get all addresses in the request, using the `X-Forwarded-For` header. + * + * @param {object} req + * @return {array} + * @public + */ + +function forwarded (req) { + if (!req) { + throw new TypeError('argument req is required') + } + + // simple header parsing + var proxyAddrs = parse(req.headers['x-forwarded-for'] || '') + var socketAddr = getSocketAddr(req) + var addrs = [socketAddr].concat(proxyAddrs) + + // return all addresses + return addrs +} + +/** + * Get the socket address for a request. + * + * @param {object} req + * @return {string} + * @private + */ + +function getSocketAddr (req) { + return req.socket + ? req.socket.remoteAddress + : req.connection.remoteAddress +} + +/** + * Parse the X-Forwarded-For header. + * + * @param {string} header + * @private + */ + +function parse (header) { + var end = header.length + var list = [] + var start = header.length + + // gather addresses, backwards + for (var i = header.length - 1; i >= 0; i--) { + switch (header.charCodeAt(i)) { + case 0x20: /* */ + if (start === end) { + start = end = i + } + break + case 0x2c: /* , */ + if (start !== end) { + list.push(header.substring(start, end)) + } + start = end = i + break + default: + start = i + break + } + } + + // final address + if (start !== end) { + list.push(header.substring(start, end)) + } + + return list +} diff --git a/data/279 b/data/279 new file mode 100644 index 0000000..5790e23 --- /dev/null +++ b/data/279 @@ -0,0 +1,152 @@ +# Bytes utility + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Build Status][ci-image]][ci-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Utility to parse a string bytes (ex: `1TB`) to bytes (`1099511627776`) and vice-versa. + +## Installation + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```bash +$ npm install bytes +``` + +## Usage + +```js +var bytes = require('bytes'); +``` + +#### bytes(number|string value, [options]): number|string|null + +Default export function. Delegates to either `bytes.format` or `bytes.parse` based on the type of `value`. + +**Arguments** + +| Name | Type | Description | +|---------|----------|--------------------| +| value | `number`|`string` | Number value to format or string value to parse | +| options | `Object` | Conversion options for `format` | + +**Returns** + +| Name | Type | Description | +|---------|------------------|-------------------------------------------------| +| results | `string`|`number`|`null` | Return null upon error. Numeric value in bytes, or string value otherwise. | + +**Example** + +```js +bytes(1024); +// output: '1KB' + +bytes('1KB'); +// output: 1024 +``` + +#### bytes.format(number value, [options]): string|null + +Format the given value in bytes into a string. If the value is negative, it is kept as such. If it is a float, it is + rounded. + +**Arguments** + +| Name | Type | Description | +|---------|----------|--------------------| +| value | `number` | Value in bytes | +| options | `Object` | Conversion options | + +**Options** + +| Property | Type | Description | +|-------------------|--------|-----------------------------------------------------------------------------------------| +| decimalPlaces | `number`|`null` | Maximum number of decimal places to include in output. Default value to `2`. | +| fixedDecimals | `boolean`|`null` | Whether to always display the maximum number of decimal places. Default value to `false` | +| thousandsSeparator | `string`|`null` | Example of values: `' '`, `','` and `'.'`... Default value to `''`. | +| unit | `string`|`null` | The unit in which the result will be returned (B/KB/MB/GB/TB). Default value to `''` (which means auto detect). | +| unitSeparator | `string`|`null` | Separator to use between number and unit. Default value to `''`. | + +**Returns** + +| Name | Type | Description | +|---------|------------------|-------------------------------------------------| +| results | `string`|`null` | Return null upon error. String value otherwise. | + +**Example** + +```js +bytes.format(1024); +// output: '1KB' + +bytes.format(1000); +// output: '1000B' + +bytes.format(1000, {thousandsSeparator: ' '}); +// output: '1 000B' + +bytes.format(1024 * 1.7, {decimalPlaces: 0}); +// output: '2KB' + +bytes.format(1024, {unitSeparator: ' '}); +// output: '1 KB' +``` + +#### bytes.parse(string|number value): number|null + +Parse the string value into an integer in bytes. If no unit is given, or `value` +is a number, it is assumed the value is in bytes. + +Supported units and abbreviations are as follows and are case-insensitive: + + * `b` for bytes + * `kb` for kilobytes + * `mb` for megabytes + * `gb` for gigabytes + * `tb` for terabytes + * `pb` for petabytes + +The units are in powers of two, not ten. This means 1kb = 1024b according to this parser. + +**Arguments** + +| Name | Type | Description | +|---------------|--------|--------------------| +| value | `string`|`number` | String to parse, or number in bytes. | + +**Returns** + +| Name | Type | Description | +|---------|-------------|-------------------------| +| results | `number`|`null` | Return null upon error. Value in bytes otherwise. | + +**Example** + +```js +bytes.parse('1KB'); +// output: 1024 + +bytes.parse('1024'); +// output: 1024 + +bytes.parse(1024); +// output: 1024 +``` + +## License + +[MIT](LICENSE) + +[ci-image]: https://badgen.net/github/checks/visionmedia/bytes.js/master?label=ci +[ci-url]: https://github.com/visionmedia/bytes.js/actions?query=workflow%3Aci +[coveralls-image]: https://badgen.net/coveralls/c/github/visionmedia/bytes.js/master +[coveralls-url]: https://coveralls.io/r/visionmedia/bytes.js?branch=master +[downloads-image]: https://badgen.net/npm/dm/bytes +[downloads-url]: https://npmjs.org/package/bytes +[npm-image]: https://badgen.net/npm/v/bytes +[npm-url]: https://npmjs.org/package/bytes diff --git a/data/280 b/data/280 new file mode 100644 index 0000000..7e74733 --- /dev/null +++ b/data/280 @@ -0,0 +1,9342 @@ +{ + "application/1d-interleaved-parityfec": { + "source": "iana" + }, + "application/3gpdash-qoe-report+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/3gpp-ims+xml": { + "source": "iana", + "compressible": true + }, + "application/3gpphal+json": { + "source": "iana", + "compressible": true + }, + "application/3gpphalforms+json": { + "source": "iana", + "compressible": true + }, + "application/a2l": { + "source": "iana" + }, + "application/ace+cbor": { + "source": "iana" + }, + "application/ace+json": { + "source": "iana", + "compressible": true + }, + "application/ace-groupcomm+cbor": { + "source": "iana" + }, + "application/ace-trl+cbor": { + "source": "iana" + }, + "application/activemessage": { + "source": "iana" + }, + "application/activity+json": { + "source": "iana", + "compressible": true + }, + "application/aif+cbor": { + "source": "iana" + }, + "application/aif+json": { + "source": "iana", + "compressible": true + }, + "application/alto-cdni+json": { + "source": "iana", + "compressible": true + }, + "application/alto-cdnifilter+json": { + "source": "iana", + "compressible": true + }, + "application/alto-costmap+json": { + "source": "iana", + "compressible": true + }, + "application/alto-costmapfilter+json": { + "source": "iana", + "compressible": true + }, + "application/alto-directory+json": { + "source": "iana", + "compressible": true + }, + "application/alto-endpointcost+json": { + "source": "iana", + "compressible": true + }, + "application/alto-endpointcostparams+json": { + "source": "iana", + "compressible": true + }, + "application/alto-endpointprop+json": { + "source": "iana", + "compressible": true + }, + "application/alto-endpointpropparams+json": { + "source": "iana", + "compressible": true + }, + "application/alto-error+json": { + "source": "iana", + "compressible": true + }, + "application/alto-networkmap+json": { + "source": "iana", + "compressible": true + }, + "application/alto-networkmapfilter+json": { + "source": "iana", + "compressible": true + }, + "application/alto-propmap+json": { + "source": "iana", + "compressible": true + }, + "application/alto-propmapparams+json": { + "source": "iana", + "compressible": true + }, + "application/alto-tips+json": { + "source": "iana", + "compressible": true + }, + "application/alto-tipsparams+json": { + "source": "iana", + "compressible": true + }, + "application/alto-updatestreamcontrol+json": { + "source": "iana", + "compressible": true + }, + "application/alto-updatestreamparams+json": { + "source": "iana", + "compressible": true + }, + "application/aml": { + "source": "iana" + }, + "application/andrew-inset": { + "source": "iana", + "extensions": ["ez"] + }, + "application/appinstaller": { + "compressible": false, + "extensions": ["appinstaller"] + }, + "application/applefile": { + "source": "iana" + }, + "application/applixware": { + "source": "apache", + "extensions": ["aw"] + }, + "application/appx": { + "compressible": false, + "extensions": ["appx"] + }, + "application/appxbundle": { + "compressible": false, + "extensions": ["appxbundle"] + }, + "application/at+jwt": { + "source": "iana" + }, + "application/atf": { + "source": "iana" + }, + "application/atfx": { + "source": "iana" + }, + "application/atom+xml": { + "source": "iana", + "compressible": true, + "extensions": ["atom"] + }, + "application/atomcat+xml": { + "source": "iana", + "compressible": true, + "extensions": ["atomcat"] + }, + "application/atomdeleted+xml": { + "source": "iana", + "compressible": true, + "extensions": ["atomdeleted"] + }, + "application/atomicmail": { + "source": "iana" + }, + "application/atomsvc+xml": { + "source": "iana", + "compressible": true, + "extensions": ["atomsvc"] + }, + "application/atsc-dwd+xml": { + "source": "iana", + "compressible": true, + "extensions": ["dwd"] + }, + "application/atsc-dynamic-event-message": { + "source": "iana" + }, + "application/atsc-held+xml": { + "source": "iana", + "compressible": true, + "extensions": ["held"] + }, + "application/atsc-rdt+json": { + "source": "iana", + "compressible": true + }, + "application/atsc-rsat+xml": { + "source": "iana", + "compressible": true, + "extensions": ["rsat"] + }, + "application/atxml": { + "source": "iana" + }, + "application/auth-policy+xml": { + "source": "iana", + "compressible": true + }, + "application/automationml-aml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["aml"] + }, + "application/automationml-amlx+zip": { + "source": "iana", + "compressible": false, + "extensions": ["amlx"] + }, + "application/bacnet-xdd+zip": { + "source": "iana", + "compressible": false + }, + "application/batch-smtp": { + "source": "iana" + }, + "application/bdoc": { + "compressible": false, + "extensions": ["bdoc"] + }, + "application/beep+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/bufr": { + "source": "iana" + }, + "application/c2pa": { + "source": "iana" + }, + "application/calendar+json": { + "source": "iana", + "compressible": true + }, + "application/calendar+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xcs"] + }, + "application/call-completion": { + "source": "iana" + }, + "application/cals-1840": { + "source": "iana" + }, + "application/captive+json": { + "source": "iana", + "compressible": true + }, + "application/cbor": { + "source": "iana" + }, + "application/cbor-seq": { + "source": "iana" + }, + "application/cccex": { + "source": "iana" + }, + "application/ccmp+xml": { + "source": "iana", + "compressible": true + }, + "application/ccxml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["ccxml"] + }, + "application/cda+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/cdfx+xml": { + "source": "iana", + "compressible": true, + "extensions": ["cdfx"] + }, + "application/cdmi-capability": { + "source": "iana", + "extensions": ["cdmia"] + }, + "application/cdmi-container": { + "source": "iana", + "extensions": ["cdmic"] + }, + "application/cdmi-domain": { + "source": "iana", + "extensions": ["cdmid"] + }, + "application/cdmi-object": { + "source": "iana", + "extensions": ["cdmio"] + }, + "application/cdmi-queue": { + "source": "iana", + "extensions": ["cdmiq"] + }, + "application/cdni": { + "source": "iana" + }, + "application/ce+cbor": { + "source": "iana" + }, + "application/cea": { + "source": "iana" + }, + "application/cea-2018+xml": { + "source": "iana", + "compressible": true + }, + "application/cellml+xml": { + "source": "iana", + "compressible": true + }, + "application/cfw": { + "source": "iana" + }, + "application/cid-edhoc+cbor-seq": { + "source": "iana" + }, + "application/city+json": { + "source": "iana", + "compressible": true + }, + "application/city+json-seq": { + "source": "iana" + }, + "application/clr": { + "source": "iana" + }, + "application/clue+xml": { + "source": "iana", + "compressible": true + }, + "application/clue_info+xml": { + "source": "iana", + "compressible": true + }, + "application/cms": { + "source": "iana" + }, + "application/cnrp+xml": { + "source": "iana", + "compressible": true + }, + "application/coap-eap": { + "source": "iana" + }, + "application/coap-group+json": { + "source": "iana", + "compressible": true + }, + "application/coap-payload": { + "source": "iana" + }, + "application/commonground": { + "source": "iana" + }, + "application/concise-problem-details+cbor": { + "source": "iana" + }, + "application/conference-info+xml": { + "source": "iana", + "compressible": true + }, + "application/cose": { + "source": "iana" + }, + "application/cose-key": { + "source": "iana" + }, + "application/cose-key-set": { + "source": "iana" + }, + "application/cose-x509": { + "source": "iana" + }, + "application/cpl+xml": { + "source": "iana", + "compressible": true, + "extensions": ["cpl"] + }, + "application/csrattrs": { + "source": "iana" + }, + "application/csta+xml": { + "source": "iana", + "compressible": true + }, + "application/cstadata+xml": { + "source": "iana", + "compressible": true + }, + "application/csvm+json": { + "source": "iana", + "compressible": true + }, + "application/cu-seeme": { + "source": "apache", + "extensions": ["cu"] + }, + "application/cwl": { + "source": "iana", + "extensions": ["cwl"] + }, + "application/cwl+json": { + "source": "iana", + "compressible": true + }, + "application/cwl+yaml": { + "source": "iana" + }, + "application/cwt": { + "source": "iana" + }, + "application/cybercash": { + "source": "iana" + }, + "application/dart": { + "compressible": true + }, + "application/dash+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mpd"] + }, + "application/dash-patch+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mpp"] + }, + "application/dashdelta": { + "source": "iana" + }, + "application/davmount+xml": { + "source": "iana", + "compressible": true, + "extensions": ["davmount"] + }, + "application/dca-rft": { + "source": "iana" + }, + "application/dcd": { + "source": "iana" + }, + "application/dec-dx": { + "source": "iana" + }, + "application/dialog-info+xml": { + "source": "iana", + "compressible": true + }, + "application/dicom": { + "source": "iana", + "extensions": ["dcm"] + }, + "application/dicom+json": { + "source": "iana", + "compressible": true + }, + "application/dicom+xml": { + "source": "iana", + "compressible": true + }, + "application/dii": { + "source": "iana" + }, + "application/dit": { + "source": "iana" + }, + "application/dns": { + "source": "iana" + }, + "application/dns+json": { + "source": "iana", + "compressible": true + }, + "application/dns-message": { + "source": "iana" + }, + "application/docbook+xml": { + "source": "apache", + "compressible": true, + "extensions": ["dbk"] + }, + "application/dots+cbor": { + "source": "iana" + }, + "application/dpop+jwt": { + "source": "iana" + }, + "application/dskpp+xml": { + "source": "iana", + "compressible": true + }, + "application/dssc+der": { + "source": "iana", + "extensions": ["dssc"] + }, + "application/dssc+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xdssc"] + }, + "application/dvcs": { + "source": "iana" + }, + "application/eat+cwt": { + "source": "iana" + }, + "application/eat+jwt": { + "source": "iana" + }, + "application/eat-bun+cbor": { + "source": "iana" + }, + "application/eat-bun+json": { + "source": "iana", + "compressible": true + }, + "application/eat-ucs+cbor": { + "source": "iana" + }, + "application/eat-ucs+json": { + "source": "iana", + "compressible": true + }, + "application/ecmascript": { + "source": "apache", + "compressible": true, + "extensions": ["ecma"] + }, + "application/edhoc+cbor-seq": { + "source": "iana" + }, + "application/edi-consent": { + "source": "iana" + }, + "application/edi-x12": { + "source": "iana", + "compressible": false + }, + "application/edifact": { + "source": "iana", + "compressible": false + }, + "application/efi": { + "source": "iana" + }, + "application/elm+json": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/elm+xml": { + "source": "iana", + "compressible": true + }, + "application/emergencycalldata.cap+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/emergencycalldata.comment+xml": { + "source": "iana", + "compressible": true + }, + "application/emergencycalldata.control+xml": { + "source": "iana", + "compressible": true + }, + "application/emergencycalldata.deviceinfo+xml": { + "source": "iana", + "compressible": true + }, + "application/emergencycalldata.ecall.msd": { + "source": "iana" + }, + "application/emergencycalldata.legacyesn+json": { + "source": "iana", + "compressible": true + }, + "application/emergencycalldata.providerinfo+xml": { + "source": "iana", + "compressible": true + }, + "application/emergencycalldata.serviceinfo+xml": { + "source": "iana", + "compressible": true + }, + "application/emergencycalldata.subscriberinfo+xml": { + "source": "iana", + "compressible": true + }, + "application/emergencycalldata.veds+xml": { + "source": "iana", + "compressible": true + }, + "application/emma+xml": { + "source": "iana", + "compressible": true, + "extensions": ["emma"] + }, + "application/emotionml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["emotionml"] + }, + "application/encaprtp": { + "source": "iana" + }, + "application/entity-statement+jwt": { + "source": "iana" + }, + "application/epp+xml": { + "source": "iana", + "compressible": true + }, + "application/epub+zip": { + "source": "iana", + "compressible": false, + "extensions": ["epub"] + }, + "application/eshop": { + "source": "iana" + }, + "application/exi": { + "source": "iana", + "extensions": ["exi"] + }, + "application/expect-ct-report+json": { + "source": "iana", + "compressible": true + }, + "application/express": { + "source": "iana", + "extensions": ["exp"] + }, + "application/fastinfoset": { + "source": "iana" + }, + "application/fastsoap": { + "source": "iana" + }, + "application/fdf": { + "source": "iana", + "extensions": ["fdf"] + }, + "application/fdt+xml": { + "source": "iana", + "compressible": true, + "extensions": ["fdt"] + }, + "application/fhir+json": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/fhir+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/fido.trusted-apps+json": { + "compressible": true + }, + "application/fits": { + "source": "iana" + }, + "application/flexfec": { + "source": "iana" + }, + "application/font-sfnt": { + "source": "iana" + }, + "application/font-tdpfr": { + "source": "iana", + "extensions": ["pfr"] + }, + "application/font-woff": { + "source": "iana", + "compressible": false + }, + "application/framework-attributes+xml": { + "source": "iana", + "compressible": true + }, + "application/geo+json": { + "source": "iana", + "compressible": true, + "extensions": ["geojson"] + }, + "application/geo+json-seq": { + "source": "iana" + }, + "application/geopackage+sqlite3": { + "source": "iana" + }, + "application/geopose+json": { + "source": "iana", + "compressible": true + }, + "application/geoxacml+json": { + "source": "iana", + "compressible": true + }, + "application/geoxacml+xml": { + "source": "iana", + "compressible": true + }, + "application/gltf-buffer": { + "source": "iana" + }, + "application/gml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["gml"] + }, + "application/gnap-binding-jws": { + "source": "iana" + }, + "application/gnap-binding-jwsd": { + "source": "iana" + }, + "application/gnap-binding-rotation-jws": { + "source": "iana" + }, + "application/gnap-binding-rotation-jwsd": { + "source": "iana" + }, + "application/gpx+xml": { + "source": "apache", + "compressible": true, + "extensions": ["gpx"] + }, + "application/grib": { + "source": "iana" + }, + "application/gxf": { + "source": "apache", + "extensions": ["gxf"] + }, + "application/gzip": { + "source": "iana", + "compressible": false, + "extensions": ["gz"] + }, + "application/h224": { + "source": "iana" + }, + "application/held+xml": { + "source": "iana", + "compressible": true + }, + "application/hjson": { + "extensions": ["hjson"] + }, + "application/hl7v2+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/http": { + "source": "iana" + }, + "application/hyperstudio": { + "source": "iana", + "extensions": ["stk"] + }, + "application/ibe-key-request+xml": { + "source": "iana", + "compressible": true + }, + "application/ibe-pkg-reply+xml": { + "source": "iana", + "compressible": true + }, + "application/ibe-pp-data": { + "source": "iana" + }, + "application/iges": { + "source": "iana" + }, + "application/im-iscomposing+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/index": { + "source": "iana" + }, + "application/index.cmd": { + "source": "iana" + }, + "application/index.obj": { + "source": "iana" + }, + "application/index.response": { + "source": "iana" + }, + "application/index.vnd": { + "source": "iana" + }, + "application/inkml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["ink","inkml"] + }, + "application/iotp": { + "source": "iana" + }, + "application/ipfix": { + "source": "iana", + "extensions": ["ipfix"] + }, + "application/ipp": { + "source": "iana" + }, + "application/isup": { + "source": "iana" + }, + "application/its+xml": { + "source": "iana", + "compressible": true, + "extensions": ["its"] + }, + "application/java-archive": { + "source": "iana", + "compressible": false, + "extensions": ["jar","war","ear"] + }, + "application/java-serialized-object": { + "source": "apache", + "compressible": false, + "extensions": ["ser"] + }, + "application/java-vm": { + "source": "apache", + "compressible": false, + "extensions": ["class"] + }, + "application/javascript": { + "source": "apache", + "charset": "UTF-8", + "compressible": true, + "extensions": ["js"] + }, + "application/jf2feed+json": { + "source": "iana", + "compressible": true + }, + "application/jose": { + "source": "iana" + }, + "application/jose+json": { + "source": "iana", + "compressible": true + }, + "application/jrd+json": { + "source": "iana", + "compressible": true + }, + "application/jscalendar+json": { + "source": "iana", + "compressible": true + }, + "application/jscontact+json": { + "source": "iana", + "compressible": true + }, + "application/json": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["json","map"] + }, + "application/json-patch+json": { + "source": "iana", + "compressible": true + }, + "application/json-seq": { + "source": "iana" + }, + "application/json5": { + "extensions": ["json5"] + }, + "application/jsonml+json": { + "source": "apache", + "compressible": true, + "extensions": ["jsonml"] + }, + "application/jsonpath": { + "source": "iana" + }, + "application/jwk+json": { + "source": "iana", + "compressible": true + }, + "application/jwk-set+json": { + "source": "iana", + "compressible": true + }, + "application/jwk-set+jwt": { + "source": "iana" + }, + "application/jwt": { + "source": "iana" + }, + "application/kpml-request+xml": { + "source": "iana", + "compressible": true + }, + "application/kpml-response+xml": { + "source": "iana", + "compressible": true + }, + "application/ld+json": { + "source": "iana", + "compressible": true, + "extensions": ["jsonld"] + }, + "application/lgr+xml": { + "source": "iana", + "compressible": true, + "extensions": ["lgr"] + }, + "application/link-format": { + "source": "iana" + }, + "application/linkset": { + "source": "iana" + }, + "application/linkset+json": { + "source": "iana", + "compressible": true + }, + "application/load-control+xml": { + "source": "iana", + "compressible": true + }, + "application/logout+jwt": { + "source": "iana" + }, + "application/lost+xml": { + "source": "iana", + "compressible": true, + "extensions": ["lostxml"] + }, + "application/lostsync+xml": { + "source": "iana", + "compressible": true + }, + "application/lpf+zip": { + "source": "iana", + "compressible": false + }, + "application/lxf": { + "source": "iana" + }, + "application/mac-binhex40": { + "source": "iana", + "extensions": ["hqx"] + }, + "application/mac-compactpro": { + "source": "apache", + "extensions": ["cpt"] + }, + "application/macwriteii": { + "source": "iana" + }, + "application/mads+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mads"] + }, + "application/manifest+json": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["webmanifest"] + }, + "application/marc": { + "source": "iana", + "extensions": ["mrc"] + }, + "application/marcxml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mrcx"] + }, + "application/mathematica": { + "source": "iana", + "extensions": ["ma","nb","mb"] + }, + "application/mathml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mathml"] + }, + "application/mathml-content+xml": { + "source": "iana", + "compressible": true + }, + "application/mathml-presentation+xml": { + "source": "iana", + "compressible": true + }, + "application/mbms-associated-procedure-description+xml": { + "source": "iana", + "compressible": true + }, + "application/mbms-deregister+xml": { + "source": "iana", + "compressible": true + }, + "application/mbms-envelope+xml": { + "source": "iana", + "compressible": true + }, + "application/mbms-msk+xml": { + "source": "iana", + "compressible": true + }, + "application/mbms-msk-response+xml": { + "source": "iana", + "compressible": true + }, + "application/mbms-protection-description+xml": { + "source": "iana", + "compressible": true + }, + "application/mbms-reception-report+xml": { + "source": "iana", + "compressible": true + }, + "application/mbms-register+xml": { + "source": "iana", + "compressible": true + }, + "application/mbms-register-response+xml": { + "source": "iana", + "compressible": true + }, + "application/mbms-schedule+xml": { + "source": "iana", + "compressible": true + }, + "application/mbms-user-service-description+xml": { + "source": "iana", + "compressible": true + }, + "application/mbox": { + "source": "iana", + "extensions": ["mbox"] + }, + "application/media-policy-dataset+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mpf"] + }, + "application/media_control+xml": { + "source": "iana", + "compressible": true + }, + "application/mediaservercontrol+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mscml"] + }, + "application/merge-patch+json": { + "source": "iana", + "compressible": true + }, + "application/metalink+xml": { + "source": "apache", + "compressible": true, + "extensions": ["metalink"] + }, + "application/metalink4+xml": { + "source": "iana", + "compressible": true, + "extensions": ["meta4"] + }, + "application/mets+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mets"] + }, + "application/mf4": { + "source": "iana" + }, + "application/mikey": { + "source": "iana" + }, + "application/mipc": { + "source": "iana" + }, + "application/missing-blocks+cbor-seq": { + "source": "iana" + }, + "application/mmt-aei+xml": { + "source": "iana", + "compressible": true, + "extensions": ["maei"] + }, + "application/mmt-usd+xml": { + "source": "iana", + "compressible": true, + "extensions": ["musd"] + }, + "application/mods+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mods"] + }, + "application/moss-keys": { + "source": "iana" + }, + "application/moss-signature": { + "source": "iana" + }, + "application/mosskey-data": { + "source": "iana" + }, + "application/mosskey-request": { + "source": "iana" + }, + "application/mp21": { + "source": "iana", + "extensions": ["m21","mp21"] + }, + "application/mp4": { + "source": "iana", + "extensions": ["mp4","mpg4","mp4s","m4p"] + }, + "application/mpeg4-generic": { + "source": "iana" + }, + "application/mpeg4-iod": { + "source": "iana" + }, + "application/mpeg4-iod-xmt": { + "source": "iana" + }, + "application/mrb-consumer+xml": { + "source": "iana", + "compressible": true + }, + "application/mrb-publish+xml": { + "source": "iana", + "compressible": true + }, + "application/msc-ivr+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/msc-mixer+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/msix": { + "compressible": false, + "extensions": ["msix"] + }, + "application/msixbundle": { + "compressible": false, + "extensions": ["msixbundle"] + }, + "application/msword": { + "source": "iana", + "compressible": false, + "extensions": ["doc","dot"] + }, + "application/mud+json": { + "source": "iana", + "compressible": true + }, + "application/multipart-core": { + "source": "iana" + }, + "application/mxf": { + "source": "iana", + "extensions": ["mxf"] + }, + "application/n-quads": { + "source": "iana", + "extensions": ["nq"] + }, + "application/n-triples": { + "source": "iana", + "extensions": ["nt"] + }, + "application/nasdata": { + "source": "iana" + }, + "application/news-checkgroups": { + "source": "iana", + "charset": "US-ASCII" + }, + "application/news-groupinfo": { + "source": "iana", + "charset": "US-ASCII" + }, + "application/news-transmission": { + "source": "iana" + }, + "application/nlsml+xml": { + "source": "iana", + "compressible": true + }, + "application/node": { + "source": "iana", + "extensions": ["cjs"] + }, + "application/nss": { + "source": "iana" + }, + "application/oauth-authz-req+jwt": { + "source": "iana" + }, + "application/oblivious-dns-message": { + "source": "iana" + }, + "application/ocsp-request": { + "source": "iana" + }, + "application/ocsp-response": { + "source": "iana" + }, + "application/octet-stream": { + "source": "iana", + "compressible": true, + "extensions": ["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"] + }, + "application/oda": { + "source": "iana", + "extensions": ["oda"] + }, + "application/odm+xml": { + "source": "iana", + "compressible": true + }, + "application/odx": { + "source": "iana" + }, + "application/oebps-package+xml": { + "source": "iana", + "compressible": true, + "extensions": ["opf"] + }, + "application/ogg": { + "source": "iana", + "compressible": false, + "extensions": ["ogx"] + }, + "application/ohttp-keys": { + "source": "iana" + }, + "application/omdoc+xml": { + "source": "apache", + "compressible": true, + "extensions": ["omdoc"] + }, + "application/onenote": { + "source": "apache", + "extensions": ["onetoc","onetoc2","onetmp","onepkg","one","onea"] + }, + "application/opc-nodeset+xml": { + "source": "iana", + "compressible": true + }, + "application/oscore": { + "source": "iana" + }, + "application/oxps": { + "source": "iana", + "extensions": ["oxps"] + }, + "application/p21": { + "source": "iana" + }, + "application/p21+zip": { + "source": "iana", + "compressible": false + }, + "application/p2p-overlay+xml": { + "source": "iana", + "compressible": true, + "extensions": ["relo"] + }, + "application/parityfec": { + "source": "iana" + }, + "application/passport": { + "source": "iana" + }, + "application/patch-ops-error+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xer"] + }, + "application/pdf": { + "source": "iana", + "compressible": false, + "extensions": ["pdf"] + }, + "application/pdx": { + "source": "iana" + }, + "application/pem-certificate-chain": { + "source": "iana" + }, + "application/pgp-encrypted": { + "source": "iana", + "compressible": false, + "extensions": ["pgp"] + }, + "application/pgp-keys": { + "source": "iana", + "extensions": ["asc"] + }, + "application/pgp-signature": { + "source": "iana", + "extensions": ["sig","asc"] + }, + "application/pics-rules": { + "source": "apache", + "extensions": ["prf"] + }, + "application/pidf+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/pidf-diff+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/pkcs10": { + "source": "iana", + "extensions": ["p10"] + }, + "application/pkcs12": { + "source": "iana" + }, + "application/pkcs7-mime": { + "source": "iana", + "extensions": ["p7m","p7c"] + }, + "application/pkcs7-signature": { + "source": "iana", + "extensions": ["p7s"] + }, + "application/pkcs8": { + "source": "iana", + "extensions": ["p8"] + }, + "application/pkcs8-encrypted": { + "source": "iana" + }, + "application/pkix-attr-cert": { + "source": "iana", + "extensions": ["ac"] + }, + "application/pkix-cert": { + "source": "iana", + "extensions": ["cer"] + }, + "application/pkix-crl": { + "source": "iana", + "extensions": ["crl"] + }, + "application/pkix-pkipath": { + "source": "iana", + "extensions": ["pkipath"] + }, + "application/pkixcmp": { + "source": "iana", + "extensions": ["pki"] + }, + "application/pls+xml": { + "source": "iana", + "compressible": true, + "extensions": ["pls"] + }, + "application/poc-settings+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/postscript": { + "source": "iana", + "compressible": true, + "extensions": ["ai","eps","ps"] + }, + "application/ppsp-tracker+json": { + "source": "iana", + "compressible": true + }, + "application/private-token-issuer-directory": { + "source": "iana" + }, + "application/private-token-request": { + "source": "iana" + }, + "application/private-token-response": { + "source": "iana" + }, + "application/problem+json": { + "source": "iana", + "compressible": true + }, + "application/problem+xml": { + "source": "iana", + "compressible": true + }, + "application/provenance+xml": { + "source": "iana", + "compressible": true, + "extensions": ["provx"] + }, + "application/provided-claims+jwt": { + "source": "iana" + }, + "application/prs.alvestrand.titrax-sheet": { + "source": "iana" + }, + "application/prs.cww": { + "source": "iana", + "extensions": ["cww"] + }, + "application/prs.cyn": { + "source": "iana", + "charset": "7-BIT" + }, + "application/prs.hpub+zip": { + "source": "iana", + "compressible": false + }, + "application/prs.implied-document+xml": { + "source": "iana", + "compressible": true + }, + "application/prs.implied-executable": { + "source": "iana" + }, + "application/prs.implied-object+json": { + "source": "iana", + "compressible": true + }, + "application/prs.implied-object+json-seq": { + "source": "iana" + }, + "application/prs.implied-object+yaml": { + "source": "iana" + }, + "application/prs.implied-structure": { + "source": "iana" + }, + "application/prs.mayfile": { + "source": "iana" + }, + "application/prs.nprend": { + "source": "iana" + }, + "application/prs.plucker": { + "source": "iana" + }, + "application/prs.rdf-xml-crypt": { + "source": "iana" + }, + "application/prs.vcfbzip2": { + "source": "iana" + }, + "application/prs.xsf+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xsf"] + }, + "application/pskc+xml": { + "source": "iana", + "compressible": true, + "extensions": ["pskcxml"] + }, + "application/pvd+json": { + "source": "iana", + "compressible": true + }, + "application/qsig": { + "source": "iana" + }, + "application/raml+yaml": { + "compressible": true, + "extensions": ["raml"] + }, + "application/raptorfec": { + "source": "iana" + }, + "application/rdap+json": { + "source": "iana", + "compressible": true + }, + "application/rdf+xml": { + "source": "iana", + "compressible": true, + "extensions": ["rdf","owl"] + }, + "application/reginfo+xml": { + "source": "iana", + "compressible": true, + "extensions": ["rif"] + }, + "application/relax-ng-compact-syntax": { + "source": "iana", + "extensions": ["rnc"] + }, + "application/remote-printing": { + "source": "apache" + }, + "application/reputon+json": { + "source": "iana", + "compressible": true + }, + "application/resolve-response+jwt": { + "source": "iana" + }, + "application/resource-lists+xml": { + "source": "iana", + "compressible": true, + "extensions": ["rl"] + }, + "application/resource-lists-diff+xml": { + "source": "iana", + "compressible": true, + "extensions": ["rld"] + }, + "application/rfc+xml": { + "source": "iana", + "compressible": true + }, + "application/riscos": { + "source": "iana" + }, + "application/rlmi+xml": { + "source": "iana", + "compressible": true + }, + "application/rls-services+xml": { + "source": "iana", + "compressible": true, + "extensions": ["rs"] + }, + "application/route-apd+xml": { + "source": "iana", + "compressible": true, + "extensions": ["rapd"] + }, + "application/route-s-tsid+xml": { + "source": "iana", + "compressible": true, + "extensions": ["sls"] + }, + "application/route-usd+xml": { + "source": "iana", + "compressible": true, + "extensions": ["rusd"] + }, + "application/rpki-checklist": { + "source": "iana" + }, + "application/rpki-ghostbusters": { + "source": "iana", + "extensions": ["gbr"] + }, + "application/rpki-manifest": { + "source": "iana", + "extensions": ["mft"] + }, + "application/rpki-publication": { + "source": "iana" + }, + "application/rpki-roa": { + "source": "iana", + "extensions": ["roa"] + }, + "application/rpki-signed-tal": { + "source": "iana" + }, + "application/rpki-updown": { + "source": "iana" + }, + "application/rsd+xml": { + "source": "apache", + "compressible": true, + "extensions": ["rsd"] + }, + "application/rss+xml": { + "source": "apache", + "compressible": true, + "extensions": ["rss"] + }, + "application/rtf": { + "source": "iana", + "compressible": true, + "extensions": ["rtf"] + }, + "application/rtploopback": { + "source": "iana" + }, + "application/rtx": { + "source": "iana" + }, + "application/samlassertion+xml": { + "source": "iana", + "compressible": true + }, + "application/samlmetadata+xml": { + "source": "iana", + "compressible": true + }, + "application/sarif+json": { + "source": "iana", + "compressible": true + }, + "application/sarif-external-properties+json": { + "source": "iana", + "compressible": true + }, + "application/sbe": { + "source": "iana" + }, + "application/sbml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["sbml"] + }, + "application/scaip+xml": { + "source": "iana", + "compressible": true + }, + "application/scim+json": { + "source": "iana", + "compressible": true + }, + "application/scvp-cv-request": { + "source": "iana", + "extensions": ["scq"] + }, + "application/scvp-cv-response": { + "source": "iana", + "extensions": ["scs"] + }, + "application/scvp-vp-request": { + "source": "iana", + "extensions": ["spq"] + }, + "application/scvp-vp-response": { + "source": "iana", + "extensions": ["spp"] + }, + "application/sdp": { + "source": "iana", + "extensions": ["sdp"] + }, + "application/secevent+jwt": { + "source": "iana" + }, + "application/senml+cbor": { + "source": "iana" + }, + "application/senml+json": { + "source": "iana", + "compressible": true + }, + "application/senml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["senmlx"] + }, + "application/senml-etch+cbor": { + "source": "iana" + }, + "application/senml-etch+json": { + "source": "iana", + "compressible": true + }, + "application/senml-exi": { + "source": "iana" + }, + "application/sensml+cbor": { + "source": "iana" + }, + "application/sensml+json": { + "source": "iana", + "compressible": true + }, + "application/sensml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["sensmlx"] + }, + "application/sensml-exi": { + "source": "iana" + }, + "application/sep+xml": { + "source": "iana", + "compressible": true + }, + "application/sep-exi": { + "source": "iana" + }, + "application/session-info": { + "source": "iana" + }, + "application/set-payment": { + "source": "iana" + }, + "application/set-payment-initiation": { + "source": "iana", + "extensions": ["setpay"] + }, + "application/set-registration": { + "source": "iana" + }, + "application/set-registration-initiation": { + "source": "iana", + "extensions": ["setreg"] + }, + "application/sgml": { + "source": "iana" + }, + "application/sgml-open-catalog": { + "source": "iana" + }, + "application/shf+xml": { + "source": "iana", + "compressible": true, + "extensions": ["shf"] + }, + "application/sieve": { + "source": "iana", + "extensions": ["siv","sieve"] + }, + "application/simple-filter+xml": { + "source": "iana", + "compressible": true + }, + "application/simple-message-summary": { + "source": "iana" + }, + "application/simplesymbolcontainer": { + "source": "iana" + }, + "application/sipc": { + "source": "iana" + }, + "application/slate": { + "source": "iana" + }, + "application/smil": { + "source": "apache" + }, + "application/smil+xml": { + "source": "iana", + "compressible": true, + "extensions": ["smi","smil"] + }, + "application/smpte336m": { + "source": "iana" + }, + "application/soap+fastinfoset": { + "source": "iana" + }, + "application/soap+xml": { + "source": "iana", + "compressible": true + }, + "application/sparql-query": { + "source": "iana", + "extensions": ["rq"] + }, + "application/sparql-results+xml": { + "source": "iana", + "compressible": true, + "extensions": ["srx"] + }, + "application/spdx+json": { + "source": "iana", + "compressible": true + }, + "application/spirits-event+xml": { + "source": "iana", + "compressible": true + }, + "application/sql": { + "source": "iana", + "extensions": ["sql"] + }, + "application/srgs": { + "source": "iana", + "extensions": ["gram"] + }, + "application/srgs+xml": { + "source": "iana", + "compressible": true, + "extensions": ["grxml"] + }, + "application/sru+xml": { + "source": "iana", + "compressible": true, + "extensions": ["sru"] + }, + "application/ssdl+xml": { + "source": "apache", + "compressible": true, + "extensions": ["ssdl"] + }, + "application/sslkeylogfile": { + "source": "iana" + }, + "application/ssml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["ssml"] + }, + "application/st2110-41": { + "source": "iana" + }, + "application/stix+json": { + "source": "iana", + "compressible": true + }, + "application/stratum": { + "source": "iana" + }, + "application/swid+cbor": { + "source": "iana" + }, + "application/swid+xml": { + "source": "iana", + "compressible": true, + "extensions": ["swidtag"] + }, + "application/tamp-apex-update": { + "source": "iana" + }, + "application/tamp-apex-update-confirm": { + "source": "iana" + }, + "application/tamp-community-update": { + "source": "iana" + }, + "application/tamp-community-update-confirm": { + "source": "iana" + }, + "application/tamp-error": { + "source": "iana" + }, + "application/tamp-sequence-adjust": { + "source": "iana" + }, + "application/tamp-sequence-adjust-confirm": { + "source": "iana" + }, + "application/tamp-status-query": { + "source": "iana" + }, + "application/tamp-status-response": { + "source": "iana" + }, + "application/tamp-update": { + "source": "iana" + }, + "application/tamp-update-confirm": { + "source": "iana" + }, + "application/tar": { + "compressible": true + }, + "application/taxii+json": { + "source": "iana", + "compressible": true + }, + "application/td+json": { + "source": "iana", + "compressible": true + }, + "application/tei+xml": { + "source": "iana", + "compressible": true, + "extensions": ["tei","teicorpus"] + }, + "application/tetra_isi": { + "source": "iana" + }, + "application/thraud+xml": { + "source": "iana", + "compressible": true, + "extensions": ["tfi"] + }, + "application/timestamp-query": { + "source": "iana" + }, + "application/timestamp-reply": { + "source": "iana" + }, + "application/timestamped-data": { + "source": "iana", + "extensions": ["tsd"] + }, + "application/tlsrpt+gzip": { + "source": "iana" + }, + "application/tlsrpt+json": { + "source": "iana", + "compressible": true + }, + "application/tm+json": { + "source": "iana", + "compressible": true + }, + "application/tnauthlist": { + "source": "iana" + }, + "application/toc+cbor": { + "source": "iana" + }, + "application/token-introspection+jwt": { + "source": "iana" + }, + "application/toml": { + "source": "iana", + "compressible": true, + "extensions": ["toml"] + }, + "application/trickle-ice-sdpfrag": { + "source": "iana" + }, + "application/trig": { + "source": "iana", + "extensions": ["trig"] + }, + "application/trust-chain+json": { + "source": "iana", + "compressible": true + }, + "application/trust-mark+jwt": { + "source": "iana" + }, + "application/trust-mark-delegation+jwt": { + "source": "iana" + }, + "application/ttml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["ttml"] + }, + "application/tve-trigger": { + "source": "iana" + }, + "application/tzif": { + "source": "iana" + }, + "application/tzif-leap": { + "source": "iana" + }, + "application/ubjson": { + "compressible": false, + "extensions": ["ubj"] + }, + "application/uccs+cbor": { + "source": "iana" + }, + "application/ujcs+json": { + "source": "iana", + "compressible": true + }, + "application/ulpfec": { + "source": "iana" + }, + "application/urc-grpsheet+xml": { + "source": "iana", + "compressible": true + }, + "application/urc-ressheet+xml": { + "source": "iana", + "compressible": true, + "extensions": ["rsheet"] + }, + "application/urc-targetdesc+xml": { + "source": "iana", + "compressible": true, + "extensions": ["td"] + }, + "application/urc-uisocketdesc+xml": { + "source": "iana", + "compressible": true + }, + "application/vc": { + "source": "iana" + }, + "application/vc+cose": { + "source": "iana" + }, + "application/vc+jwt": { + "source": "iana" + }, + "application/vcard+json": { + "source": "iana", + "compressible": true + }, + "application/vcard+xml": { + "source": "iana", + "compressible": true + }, + "application/vemmi": { + "source": "iana" + }, + "application/vividence.scriptfile": { + "source": "apache" + }, + "application/vnd.1000minds.decision-model+xml": { + "source": "iana", + "compressible": true, + "extensions": ["1km"] + }, + "application/vnd.1ob": { + "source": "iana" + }, + "application/vnd.3gpp-prose+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp-prose-pc3a+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp-prose-pc3ach+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp-prose-pc3ch+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp-prose-pc8+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp-v2x-local-service-information": { + "source": "iana" + }, + "application/vnd.3gpp.5gnas": { + "source": "iana" + }, + "application/vnd.3gpp.5gsa2x": { + "source": "iana" + }, + "application/vnd.3gpp.5gsa2x-local-service-information": { + "source": "iana" + }, + "application/vnd.3gpp.5gsv2x": { + "source": "iana" + }, + "application/vnd.3gpp.5gsv2x-local-service-information": { + "source": "iana" + }, + "application/vnd.3gpp.access-transfer-events+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.bsf+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.crs+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.current-location-discovery+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.gmop+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.gtpc": { + "source": "iana" + }, + "application/vnd.3gpp.interworking-data": { + "source": "iana" + }, + "application/vnd.3gpp.lpp": { + "source": "iana" + }, + "application/vnd.3gpp.mc-signalling-ear": { + "source": "iana" + }, + "application/vnd.3gpp.mcdata-affiliation-command+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcdata-info+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcdata-msgstore-ctrl-request+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcdata-payload": { + "source": "iana" + }, + "application/vnd.3gpp.mcdata-regroup+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcdata-service-config+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcdata-signalling": { + "source": "iana" + }, + "application/vnd.3gpp.mcdata-ue-config+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcdata-user-profile+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcptt-affiliation-command+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcptt-floor-request+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcptt-info+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcptt-location-info+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcptt-mbms-usage-info+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcptt-regroup+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcptt-service-config+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcptt-signed+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcptt-ue-config+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcptt-ue-init-config+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcptt-user-profile+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcvideo-affiliation-command+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcvideo-info+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcvideo-location-info+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcvideo-mbms-usage-info+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcvideo-regroup+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcvideo-service-config+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcvideo-transmission-request+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcvideo-ue-config+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mcvideo-user-profile+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.mid-call+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.ngap": { + "source": "iana" + }, + "application/vnd.3gpp.pfcp": { + "source": "iana" + }, + "application/vnd.3gpp.pic-bw-large": { + "source": "iana", + "extensions": ["plb"] + }, + "application/vnd.3gpp.pic-bw-small": { + "source": "iana", + "extensions": ["psb"] + }, + "application/vnd.3gpp.pic-bw-var": { + "source": "iana", + "extensions": ["pvb"] + }, + "application/vnd.3gpp.pinapp-info+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.s1ap": { + "source": "iana" + }, + "application/vnd.3gpp.seal-group-doc+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.seal-info+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.seal-location-info+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.seal-mbms-usage-info+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.seal-network-qos-management-info+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.seal-ue-config-info+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.seal-unicast-info+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.seal-user-profile-info+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.sms": { + "source": "iana" + }, + "application/vnd.3gpp.sms+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.srvcc-ext+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.srvcc-info+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.state-and-event-info+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.ussd+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp.v2x": { + "source": "iana" + }, + "application/vnd.3gpp.vae-info+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp2.bcmcsinfo+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.3gpp2.sms": { + "source": "iana" + }, + "application/vnd.3gpp2.tcap": { + "source": "iana", + "extensions": ["tcap"] + }, + "application/vnd.3lightssoftware.imagescal": { + "source": "iana" + }, + "application/vnd.3m.post-it-notes": { + "source": "iana", + "extensions": ["pwn"] + }, + "application/vnd.accpac.simply.aso": { + "source": "iana", + "extensions": ["aso"] + }, + "application/vnd.accpac.simply.imp": { + "source": "iana", + "extensions": ["imp"] + }, + "application/vnd.acm.addressxfer+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.acm.chatbot+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.acucobol": { + "source": "iana", + "extensions": ["acu"] + }, + "application/vnd.acucorp": { + "source": "iana", + "extensions": ["atc","acutc"] + }, + "application/vnd.adobe.air-application-installer-package+zip": { + "source": "apache", + "compressible": false, + "extensions": ["air"] + }, + "application/vnd.adobe.flash.movie": { + "source": "iana" + }, + "application/vnd.adobe.formscentral.fcdt": { + "source": "iana", + "extensions": ["fcdt"] + }, + "application/vnd.adobe.fxp": { + "source": "iana", + "extensions": ["fxp","fxpl"] + }, + "application/vnd.adobe.partial-upload": { + "source": "iana" + }, + "application/vnd.adobe.xdp+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xdp"] + }, + "application/vnd.adobe.xfdf": { + "source": "apache", + "extensions": ["xfdf"] + }, + "application/vnd.aether.imp": { + "source": "iana" + }, + "application/vnd.afpc.afplinedata": { + "source": "iana" + }, + "application/vnd.afpc.afplinedata-pagedef": { + "source": "iana" + }, + "application/vnd.afpc.cmoca-cmresource": { + "source": "iana" + }, + "application/vnd.afpc.foca-charset": { + "source": "iana" + }, + "application/vnd.afpc.foca-codedfont": { + "source": "iana" + }, + "application/vnd.afpc.foca-codepage": { + "source": "iana" + }, + "application/vnd.afpc.modca": { + "source": "iana" + }, + "application/vnd.afpc.modca-cmtable": { + "source": "iana" + }, + "application/vnd.afpc.modca-formdef": { + "source": "iana" + }, + "application/vnd.afpc.modca-mediummap": { + "source": "iana" + }, + "application/vnd.afpc.modca-objectcontainer": { + "source": "iana" + }, + "application/vnd.afpc.modca-overlay": { + "source": "iana" + }, + "application/vnd.afpc.modca-pagesegment": { + "source": "iana" + }, + "application/vnd.age": { + "source": "iana", + "extensions": ["age"] + }, + "application/vnd.ah-barcode": { + "source": "apache" + }, + "application/vnd.ahead.space": { + "source": "iana", + "extensions": ["ahead"] + }, + "application/vnd.airzip.filesecure.azf": { + "source": "iana", + "extensions": ["azf"] + }, + "application/vnd.airzip.filesecure.azs": { + "source": "iana", + "extensions": ["azs"] + }, + "application/vnd.amadeus+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.amazon.ebook": { + "source": "apache", + "extensions": ["azw"] + }, + "application/vnd.amazon.mobi8-ebook": { + "source": "iana" + }, + "application/vnd.americandynamics.acc": { + "source": "iana", + "extensions": ["acc"] + }, + "application/vnd.amiga.ami": { + "source": "iana", + "extensions": ["ami"] + }, + "application/vnd.amundsen.maze+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.android.ota": { + "source": "iana" + }, + "application/vnd.android.package-archive": { + "source": "apache", + "compressible": false, + "extensions": ["apk"] + }, + "application/vnd.anki": { + "source": "iana" + }, + "application/vnd.anser-web-certificate-issue-initiation": { + "source": "iana", + "extensions": ["cii"] + }, + "application/vnd.anser-web-funds-transfer-initiation": { + "source": "apache", + "extensions": ["fti"] + }, + "application/vnd.antix.game-component": { + "source": "iana", + "extensions": ["atx"] + }, + "application/vnd.apache.arrow.file": { + "source": "iana" + }, + "application/vnd.apache.arrow.stream": { + "source": "iana" + }, + "application/vnd.apache.parquet": { + "source": "iana" + }, + "application/vnd.apache.thrift.binary": { + "source": "iana" + }, + "application/vnd.apache.thrift.compact": { + "source": "iana" + }, + "application/vnd.apache.thrift.json": { + "source": "iana" + }, + "application/vnd.apexlang": { + "source": "iana" + }, + "application/vnd.api+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.aplextor.warrp+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.apothekende.reservation+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.apple.installer+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mpkg"] + }, + "application/vnd.apple.keynote": { + "source": "iana", + "extensions": ["key"] + }, + "application/vnd.apple.mpegurl": { + "source": "iana", + "extensions": ["m3u8"] + }, + "application/vnd.apple.numbers": { + "source": "iana", + "extensions": ["numbers"] + }, + "application/vnd.apple.pages": { + "source": "iana", + "extensions": ["pages"] + }, + "application/vnd.apple.pkpass": { + "compressible": false, + "extensions": ["pkpass"] + }, + "application/vnd.arastra.swi": { + "source": "apache" + }, + "application/vnd.aristanetworks.swi": { + "source": "iana", + "extensions": ["swi"] + }, + "application/vnd.artisan+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.artsquare": { + "source": "iana" + }, + "application/vnd.astraea-software.iota": { + "source": "iana", + "extensions": ["iota"] + }, + "application/vnd.audiograph": { + "source": "iana", + "extensions": ["aep"] + }, + "application/vnd.autodesk.fbx": { + "extensions": ["fbx"] + }, + "application/vnd.autopackage": { + "source": "iana" + }, + "application/vnd.avalon+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.avistar+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.balsamiq.bmml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["bmml"] + }, + "application/vnd.balsamiq.bmpr": { + "source": "iana" + }, + "application/vnd.banana-accounting": { + "source": "iana" + }, + "application/vnd.bbf.usp.error": { + "source": "iana" + }, + "application/vnd.bbf.usp.msg": { + "source": "iana" + }, + "application/vnd.bbf.usp.msg+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.bekitzur-stech+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.belightsoft.lhzd+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.belightsoft.lhzl+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.bint.med-content": { + "source": "iana" + }, + "application/vnd.biopax.rdf+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.blink-idb-value-wrapper": { + "source": "iana" + }, + "application/vnd.blueice.multipass": { + "source": "iana", + "extensions": ["mpm"] + }, + "application/vnd.bluetooth.ep.oob": { + "source": "iana" + }, + "application/vnd.bluetooth.le.oob": { + "source": "iana" + }, + "application/vnd.bmi": { + "source": "iana", + "extensions": ["bmi"] + }, + "application/vnd.bpf": { + "source": "iana" + }, + "application/vnd.bpf3": { + "source": "iana" + }, + "application/vnd.businessobjects": { + "source": "iana", + "extensions": ["rep"] + }, + "application/vnd.byu.uapi+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.bzip3": { + "source": "iana" + }, + "application/vnd.c3voc.schedule+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.cab-jscript": { + "source": "iana" + }, + "application/vnd.canon-cpdl": { + "source": "iana" + }, + "application/vnd.canon-lips": { + "source": "iana" + }, + "application/vnd.capasystems-pg+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.cendio.thinlinc.clientconf": { + "source": "iana" + }, + "application/vnd.century-systems.tcp_stream": { + "source": "iana" + }, + "application/vnd.chemdraw+xml": { + "source": "iana", + "compressible": true, + "extensions": ["cdxml"] + }, + "application/vnd.chess-pgn": { + "source": "iana" + }, + "application/vnd.chipnuts.karaoke-mmd": { + "source": "iana", + "extensions": ["mmd"] + }, + "application/vnd.ciedi": { + "source": "iana" + }, + "application/vnd.cinderella": { + "source": "iana", + "extensions": ["cdy"] + }, + "application/vnd.cirpack.isdn-ext": { + "source": "iana" + }, + "application/vnd.citationstyles.style+xml": { + "source": "iana", + "compressible": true, + "extensions": ["csl"] + }, + "application/vnd.claymore": { + "source": "iana", + "extensions": ["cla"] + }, + "application/vnd.cloanto.rp9": { + "source": "iana", + "extensions": ["rp9"] + }, + "application/vnd.clonk.c4group": { + "source": "iana", + "extensions": ["c4g","c4d","c4f","c4p","c4u"] + }, + "application/vnd.cluetrust.cartomobile-config": { + "source": "iana", + "extensions": ["c11amc"] + }, + "application/vnd.cluetrust.cartomobile-config-pkg": { + "source": "iana", + "extensions": ["c11amz"] + }, + "application/vnd.cncf.helm.chart.content.v1.tar+gzip": { + "source": "iana" + }, + "application/vnd.cncf.helm.chart.provenance.v1.prov": { + "source": "iana" + }, + "application/vnd.cncf.helm.config.v1+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.coffeescript": { + "source": "iana" + }, + "application/vnd.collabio.xodocuments.document": { + "source": "iana" + }, + "application/vnd.collabio.xodocuments.document-template": { + "source": "iana" + }, + "application/vnd.collabio.xodocuments.presentation": { + "source": "iana" + }, + "application/vnd.collabio.xodocuments.presentation-template": { + "source": "iana" + }, + "application/vnd.collabio.xodocuments.spreadsheet": { + "source": "iana" + }, + "application/vnd.collabio.xodocuments.spreadsheet-template": { + "source": "iana" + }, + "application/vnd.collection+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.collection.doc+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.collection.next+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.comicbook+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.comicbook-rar": { + "source": "iana" + }, + "application/vnd.commerce-battelle": { + "source": "iana" + }, + "application/vnd.commonspace": { + "source": "iana", + "extensions": ["csp"] + }, + "application/vnd.contact.cmsg": { + "source": "iana", + "extensions": ["cdbcmsg"] + }, + "application/vnd.coreos.ignition+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.cosmocaller": { + "source": "iana", + "extensions": ["cmc"] + }, + "application/vnd.crick.clicker": { + "source": "iana", + "extensions": ["clkx"] + }, + "application/vnd.crick.clicker.keyboard": { + "source": "iana", + "extensions": ["clkk"] + }, + "application/vnd.crick.clicker.palette": { + "source": "iana", + "extensions": ["clkp"] + }, + "application/vnd.crick.clicker.template": { + "source": "iana", + "extensions": ["clkt"] + }, + "application/vnd.crick.clicker.wordbank": { + "source": "iana", + "extensions": ["clkw"] + }, + "application/vnd.criticaltools.wbs+xml": { + "source": "iana", + "compressible": true, + "extensions": ["wbs"] + }, + "application/vnd.cryptii.pipe+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.crypto-shade-file": { + "source": "iana" + }, + "application/vnd.cryptomator.encrypted": { + "source": "iana" + }, + "application/vnd.cryptomator.vault": { + "source": "iana" + }, + "application/vnd.ctc-posml": { + "source": "iana", + "extensions": ["pml"] + }, + "application/vnd.ctct.ws+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.cups-pdf": { + "source": "iana" + }, + "application/vnd.cups-postscript": { + "source": "iana" + }, + "application/vnd.cups-ppd": { + "source": "iana", + "extensions": ["ppd"] + }, + "application/vnd.cups-raster": { + "source": "iana" + }, + "application/vnd.cups-raw": { + "source": "iana" + }, + "application/vnd.curl": { + "source": "iana" + }, + "application/vnd.curl.car": { + "source": "apache", + "extensions": ["car"] + }, + "application/vnd.curl.pcurl": { + "source": "apache", + "extensions": ["pcurl"] + }, + "application/vnd.cyan.dean.root+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.cybank": { + "source": "iana" + }, + "application/vnd.cyclonedx+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.cyclonedx+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.d2l.coursepackage1p0+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.d3m-dataset": { + "source": "iana" + }, + "application/vnd.d3m-problem": { + "source": "iana" + }, + "application/vnd.dart": { + "source": "iana", + "compressible": true, + "extensions": ["dart"] + }, + "application/vnd.data-vision.rdz": { + "source": "iana", + "extensions": ["rdz"] + }, + "application/vnd.datalog": { + "source": "iana" + }, + "application/vnd.datapackage+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.dataresource+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.dbf": { + "source": "iana", + "extensions": ["dbf"] + }, + "application/vnd.dcmp+xml": { + "source": "iana", + "compressible": true, + "extensions": ["dcmp"] + }, + "application/vnd.debian.binary-package": { + "source": "iana" + }, + "application/vnd.dece.data": { + "source": "iana", + "extensions": ["uvf","uvvf","uvd","uvvd"] + }, + "application/vnd.dece.ttml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["uvt","uvvt"] + }, + "application/vnd.dece.unspecified": { + "source": "iana", + "extensions": ["uvx","uvvx"] + }, + "application/vnd.dece.zip": { + "source": "iana", + "extensions": ["uvz","uvvz"] + }, + "application/vnd.denovo.fcselayout-link": { + "source": "iana", + "extensions": ["fe_launch"] + }, + "application/vnd.desmume.movie": { + "source": "iana" + }, + "application/vnd.dir-bi.plate-dl-nosuffix": { + "source": "iana" + }, + "application/vnd.dm.delegation+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.dna": { + "source": "iana", + "extensions": ["dna"] + }, + "application/vnd.document+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.dolby.mlp": { + "source": "apache", + "extensions": ["mlp"] + }, + "application/vnd.dolby.mobile.1": { + "source": "iana" + }, + "application/vnd.dolby.mobile.2": { + "source": "iana" + }, + "application/vnd.doremir.scorecloud-binary-document": { + "source": "iana" + }, + "application/vnd.dpgraph": { + "source": "iana", + "extensions": ["dpg"] + }, + "application/vnd.dreamfactory": { + "source": "iana", + "extensions": ["dfac"] + }, + "application/vnd.drive+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.ds-keypoint": { + "source": "apache", + "extensions": ["kpxx"] + }, + "application/vnd.dtg.local": { + "source": "iana" + }, + "application/vnd.dtg.local.flash": { + "source": "iana" + }, + "application/vnd.dtg.local.html": { + "source": "iana" + }, + "application/vnd.dvb.ait": { + "source": "iana", + "extensions": ["ait"] + }, + "application/vnd.dvb.dvbisl+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.dvb.dvbj": { + "source": "iana" + }, + "application/vnd.dvb.esgcontainer": { + "source": "iana" + }, + "application/vnd.dvb.ipdcdftnotifaccess": { + "source": "iana" + }, + "application/vnd.dvb.ipdcesgaccess": { + "source": "iana" + }, + "application/vnd.dvb.ipdcesgaccess2": { + "source": "iana" + }, + "application/vnd.dvb.ipdcesgpdd": { + "source": "iana" + }, + "application/vnd.dvb.ipdcroaming": { + "source": "iana" + }, + "application/vnd.dvb.iptv.alfec-base": { + "source": "iana" + }, + "application/vnd.dvb.iptv.alfec-enhancement": { + "source": "iana" + }, + "application/vnd.dvb.notif-aggregate-root+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.dvb.notif-container+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.dvb.notif-generic+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.dvb.notif-ia-msglist+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.dvb.notif-ia-registration-request+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.dvb.notif-ia-registration-response+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.dvb.notif-init+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.dvb.pfr": { + "source": "iana" + }, + "application/vnd.dvb.service": { + "source": "iana", + "extensions": ["svc"] + }, + "application/vnd.dxr": { + "source": "iana" + }, + "application/vnd.dynageo": { + "source": "iana", + "extensions": ["geo"] + }, + "application/vnd.dzr": { + "source": "iana" + }, + "application/vnd.easykaraoke.cdgdownload": { + "source": "iana" + }, + "application/vnd.ecdis-update": { + "source": "iana" + }, + "application/vnd.ecip.rlp": { + "source": "iana" + }, + "application/vnd.eclipse.ditto+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.ecowin.chart": { + "source": "iana", + "extensions": ["mag"] + }, + "application/vnd.ecowin.filerequest": { + "source": "iana" + }, + "application/vnd.ecowin.fileupdate": { + "source": "iana" + }, + "application/vnd.ecowin.series": { + "source": "iana" + }, + "application/vnd.ecowin.seriesrequest": { + "source": "iana" + }, + "application/vnd.ecowin.seriesupdate": { + "source": "iana" + }, + "application/vnd.efi.img": { + "source": "iana" + }, + "application/vnd.efi.iso": { + "source": "iana" + }, + "application/vnd.eln+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.emclient.accessrequest+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.enliven": { + "source": "iana", + "extensions": ["nml"] + }, + "application/vnd.enphase.envoy": { + "source": "iana" + }, + "application/vnd.eprints.data+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.epson.esf": { + "source": "iana", + "extensions": ["esf"] + }, + "application/vnd.epson.msf": { + "source": "iana", + "extensions": ["msf"] + }, + "application/vnd.epson.quickanime": { + "source": "iana", + "extensions": ["qam"] + }, + "application/vnd.epson.salt": { + "source": "iana", + "extensions": ["slt"] + }, + "application/vnd.epson.ssf": { + "source": "iana", + "extensions": ["ssf"] + }, + "application/vnd.ericsson.quickcall": { + "source": "iana" + }, + "application/vnd.erofs": { + "source": "iana" + }, + "application/vnd.espass-espass+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.eszigno3+xml": { + "source": "iana", + "compressible": true, + "extensions": ["es3","et3"] + }, + "application/vnd.etsi.aoc+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.asic-e+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.etsi.asic-s+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.etsi.cug+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.iptvcommand+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.iptvdiscovery+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.iptvprofile+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.iptvsad-bc+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.iptvsad-cod+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.iptvsad-npvr+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.iptvservice+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.iptvsync+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.iptvueprofile+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.mcid+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.mheg5": { + "source": "iana" + }, + "application/vnd.etsi.overload-control-policy-dataset+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.pstn+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.sci+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.simservs+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.timestamp-token": { + "source": "iana" + }, + "application/vnd.etsi.tsl+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.etsi.tsl.der": { + "source": "iana" + }, + "application/vnd.eu.kasparian.car+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.eudora.data": { + "source": "iana" + }, + "application/vnd.evolv.ecig.profile": { + "source": "iana" + }, + "application/vnd.evolv.ecig.settings": { + "source": "iana" + }, + "application/vnd.evolv.ecig.theme": { + "source": "iana" + }, + "application/vnd.exstream-empower+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.exstream-package": { + "source": "iana" + }, + "application/vnd.ezpix-album": { + "source": "iana", + "extensions": ["ez2"] + }, + "application/vnd.ezpix-package": { + "source": "iana", + "extensions": ["ez3"] + }, + "application/vnd.f-secure.mobile": { + "source": "iana" + }, + "application/vnd.familysearch.gedcom+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.fastcopy-disk-image": { + "source": "iana" + }, + "application/vnd.fdf": { + "source": "apache", + "extensions": ["fdf"] + }, + "application/vnd.fdsn.mseed": { + "source": "iana", + "extensions": ["mseed"] + }, + "application/vnd.fdsn.seed": { + "source": "iana", + "extensions": ["seed","dataless"] + }, + "application/vnd.fdsn.stationxml+xml": { + "source": "iana", + "charset": "XML-BASED", + "compressible": true + }, + "application/vnd.ffsns": { + "source": "iana" + }, + "application/vnd.ficlab.flb+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.filmit.zfc": { + "source": "iana" + }, + "application/vnd.fints": { + "source": "iana" + }, + "application/vnd.firemonkeys.cloudcell": { + "source": "iana" + }, + "application/vnd.flographit": { + "source": "iana", + "extensions": ["gph"] + }, + "application/vnd.fluxtime.clip": { + "source": "iana", + "extensions": ["ftc"] + }, + "application/vnd.font-fontforge-sfd": { + "source": "iana" + }, + "application/vnd.framemaker": { + "source": "iana", + "extensions": ["fm","frame","maker","book"] + }, + "application/vnd.freelog.comic": { + "source": "iana" + }, + "application/vnd.frogans.fnc": { + "source": "apache", + "extensions": ["fnc"] + }, + "application/vnd.frogans.ltf": { + "source": "apache", + "extensions": ["ltf"] + }, + "application/vnd.fsc.weblaunch": { + "source": "iana", + "extensions": ["fsc"] + }, + "application/vnd.fujifilm.fb.docuworks": { + "source": "iana" + }, + "application/vnd.fujifilm.fb.docuworks.binder": { + "source": "iana" + }, + "application/vnd.fujifilm.fb.docuworks.container": { + "source": "iana" + }, + "application/vnd.fujifilm.fb.jfi+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.fujitsu.oasys": { + "source": "iana", + "extensions": ["oas"] + }, + "application/vnd.fujitsu.oasys2": { + "source": "iana", + "extensions": ["oa2"] + }, + "application/vnd.fujitsu.oasys3": { + "source": "iana", + "extensions": ["oa3"] + }, + "application/vnd.fujitsu.oasysgp": { + "source": "iana", + "extensions": ["fg5"] + }, + "application/vnd.fujitsu.oasysprs": { + "source": "iana", + "extensions": ["bh2"] + }, + "application/vnd.fujixerox.art-ex": { + "source": "iana" + }, + "application/vnd.fujixerox.art4": { + "source": "iana" + }, + "application/vnd.fujixerox.ddd": { + "source": "iana", + "extensions": ["ddd"] + }, + "application/vnd.fujixerox.docuworks": { + "source": "iana", + "extensions": ["xdw"] + }, + "application/vnd.fujixerox.docuworks.binder": { + "source": "iana", + "extensions": ["xbd"] + }, + "application/vnd.fujixerox.docuworks.container": { + "source": "iana" + }, + "application/vnd.fujixerox.hbpl": { + "source": "iana" + }, + "application/vnd.fut-misnet": { + "source": "iana" + }, + "application/vnd.futoin+cbor": { + "source": "iana" + }, + "application/vnd.futoin+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.fuzzysheet": { + "source": "iana", + "extensions": ["fzs"] + }, + "application/vnd.ga4gh.passport+jwt": { + "source": "iana" + }, + "application/vnd.genomatix.tuxedo": { + "source": "iana", + "extensions": ["txd"] + }, + "application/vnd.genozip": { + "source": "iana" + }, + "application/vnd.gentics.grd+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.gentoo.catmetadata+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.gentoo.ebuild": { + "source": "iana" + }, + "application/vnd.gentoo.eclass": { + "source": "iana" + }, + "application/vnd.gentoo.gpkg": { + "source": "iana" + }, + "application/vnd.gentoo.manifest": { + "source": "iana" + }, + "application/vnd.gentoo.pkgmetadata+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.gentoo.xpak": { + "source": "iana" + }, + "application/vnd.geo+json": { + "source": "apache", + "compressible": true + }, + "application/vnd.geocube+xml": { + "source": "apache", + "compressible": true + }, + "application/vnd.geogebra.file": { + "source": "iana", + "extensions": ["ggb"] + }, + "application/vnd.geogebra.pinboard": { + "source": "iana" + }, + "application/vnd.geogebra.slides": { + "source": "iana", + "extensions": ["ggs"] + }, + "application/vnd.geogebra.tool": { + "source": "iana", + "extensions": ["ggt"] + }, + "application/vnd.geometry-explorer": { + "source": "iana", + "extensions": ["gex","gre"] + }, + "application/vnd.geonext": { + "source": "iana", + "extensions": ["gxt"] + }, + "application/vnd.geoplan": { + "source": "iana", + "extensions": ["g2w"] + }, + "application/vnd.geospace": { + "source": "iana", + "extensions": ["g3w"] + }, + "application/vnd.gerber": { + "source": "iana" + }, + "application/vnd.globalplatform.card-content-mgt": { + "source": "iana" + }, + "application/vnd.globalplatform.card-content-mgt-response": { + "source": "iana" + }, + "application/vnd.gmx": { + "source": "iana", + "extensions": ["gmx"] + }, + "application/vnd.gnu.taler.exchange+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.gnu.taler.merchant+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.google-apps.audio": {}, + "application/vnd.google-apps.document": { + "compressible": false, + "extensions": ["gdoc"] + }, + "application/vnd.google-apps.drawing": { + "compressible": false, + "extensions": ["gdraw"] + }, + "application/vnd.google-apps.drive-sdk": { + "compressible": false + }, + "application/vnd.google-apps.file": {}, + "application/vnd.google-apps.folder": { + "compressible": false + }, + "application/vnd.google-apps.form": { + "compressible": false, + "extensions": ["gform"] + }, + "application/vnd.google-apps.fusiontable": {}, + "application/vnd.google-apps.jam": { + "compressible": false, + "extensions": ["gjam"] + }, + "application/vnd.google-apps.mail-layout": {}, + "application/vnd.google-apps.map": { + "compressible": false, + "extensions": ["gmap"] + }, + "application/vnd.google-apps.photo": {}, + "application/vnd.google-apps.presentation": { + "compressible": false, + "extensions": ["gslides"] + }, + "application/vnd.google-apps.script": { + "compressible": false, + "extensions": ["gscript"] + }, + "application/vnd.google-apps.shortcut": {}, + "application/vnd.google-apps.site": { + "compressible": false, + "extensions": ["gsite"] + }, + "application/vnd.google-apps.spreadsheet": { + "compressible": false, + "extensions": ["gsheet"] + }, + "application/vnd.google-apps.unknown": {}, + "application/vnd.google-apps.video": {}, + "application/vnd.google-earth.kml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["kml"] + }, + "application/vnd.google-earth.kmz": { + "source": "iana", + "compressible": false, + "extensions": ["kmz"] + }, + "application/vnd.gov.sk.e-form+xml": { + "source": "apache", + "compressible": true + }, + "application/vnd.gov.sk.e-form+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.gov.sk.xmldatacontainer+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xdcf"] + }, + "application/vnd.gpxsee.map+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.grafeq": { + "source": "iana", + "extensions": ["gqf","gqs"] + }, + "application/vnd.gridmp": { + "source": "iana" + }, + "application/vnd.groove-account": { + "source": "iana", + "extensions": ["gac"] + }, + "application/vnd.groove-help": { + "source": "iana", + "extensions": ["ghf"] + }, + "application/vnd.groove-identity-message": { + "source": "iana", + "extensions": ["gim"] + }, + "application/vnd.groove-injector": { + "source": "iana", + "extensions": ["grv"] + }, + "application/vnd.groove-tool-message": { + "source": "iana", + "extensions": ["gtm"] + }, + "application/vnd.groove-tool-template": { + "source": "iana", + "extensions": ["tpl"] + }, + "application/vnd.groove-vcard": { + "source": "iana", + "extensions": ["vcg"] + }, + "application/vnd.hal+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.hal+xml": { + "source": "iana", + "compressible": true, + "extensions": ["hal"] + }, + "application/vnd.handheld-entertainment+xml": { + "source": "iana", + "compressible": true, + "extensions": ["zmm"] + }, + "application/vnd.hbci": { + "source": "iana", + "extensions": ["hbci"] + }, + "application/vnd.hc+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.hcl-bireports": { + "source": "iana" + }, + "application/vnd.hdt": { + "source": "iana" + }, + "application/vnd.heroku+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.hhe.lesson-player": { + "source": "iana", + "extensions": ["les"] + }, + "application/vnd.hp-hpgl": { + "source": "iana", + "extensions": ["hpgl"] + }, + "application/vnd.hp-hpid": { + "source": "iana", + "extensions": ["hpid"] + }, + "application/vnd.hp-hps": { + "source": "iana", + "extensions": ["hps"] + }, + "application/vnd.hp-jlyt": { + "source": "iana", + "extensions": ["jlt"] + }, + "application/vnd.hp-pcl": { + "source": "iana", + "extensions": ["pcl"] + }, + "application/vnd.hp-pclxl": { + "source": "iana", + "extensions": ["pclxl"] + }, + "application/vnd.hsl": { + "source": "iana" + }, + "application/vnd.httphone": { + "source": "iana" + }, + "application/vnd.hydrostatix.sof-data": { + "source": "iana", + "extensions": ["sfd-hdstx"] + }, + "application/vnd.hyper+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.hyper-item+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.hyperdrive+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.hzn-3d-crossword": { + "source": "iana" + }, + "application/vnd.ibm.afplinedata": { + "source": "apache" + }, + "application/vnd.ibm.electronic-media": { + "source": "iana" + }, + "application/vnd.ibm.minipay": { + "source": "iana", + "extensions": ["mpy"] + }, + "application/vnd.ibm.modcap": { + "source": "apache", + "extensions": ["afp","listafp","list3820"] + }, + "application/vnd.ibm.rights-management": { + "source": "iana", + "extensions": ["irm"] + }, + "application/vnd.ibm.secure-container": { + "source": "iana", + "extensions": ["sc"] + }, + "application/vnd.iccprofile": { + "source": "iana", + "extensions": ["icc","icm"] + }, + "application/vnd.ieee.1905": { + "source": "iana" + }, + "application/vnd.igloader": { + "source": "iana", + "extensions": ["igl"] + }, + "application/vnd.imagemeter.folder+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.imagemeter.image+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.immervision-ivp": { + "source": "iana", + "extensions": ["ivp"] + }, + "application/vnd.immervision-ivu": { + "source": "iana", + "extensions": ["ivu"] + }, + "application/vnd.ims.imsccv1p1": { + "source": "iana" + }, + "application/vnd.ims.imsccv1p2": { + "source": "iana" + }, + "application/vnd.ims.imsccv1p3": { + "source": "iana" + }, + "application/vnd.ims.lis.v2.result+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.ims.lti.v2.toolconsumerprofile+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.ims.lti.v2.toolproxy+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.ims.lti.v2.toolproxy.id+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.ims.lti.v2.toolsettings+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.ims.lti.v2.toolsettings.simple+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.informedcontrol.rms+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.informix-visionary": { + "source": "apache" + }, + "application/vnd.infotech.project": { + "source": "iana" + }, + "application/vnd.infotech.project+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.innopath.wamp.notification": { + "source": "iana" + }, + "application/vnd.insors.igm": { + "source": "iana", + "extensions": ["igm"] + }, + "application/vnd.intercon.formnet": { + "source": "iana", + "extensions": ["xpw","xpx"] + }, + "application/vnd.intergeo": { + "source": "iana", + "extensions": ["i2g"] + }, + "application/vnd.intertrust.digibox": { + "source": "iana" + }, + "application/vnd.intertrust.nncp": { + "source": "iana" + }, + "application/vnd.intu.qbo": { + "source": "iana", + "extensions": ["qbo"] + }, + "application/vnd.intu.qfx": { + "source": "iana", + "extensions": ["qfx"] + }, + "application/vnd.ipfs.ipns-record": { + "source": "iana" + }, + "application/vnd.ipld.car": { + "source": "iana" + }, + "application/vnd.ipld.dag-cbor": { + "source": "iana" + }, + "application/vnd.ipld.dag-json": { + "source": "iana" + }, + "application/vnd.ipld.raw": { + "source": "iana" + }, + "application/vnd.iptc.g2.catalogitem+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.iptc.g2.conceptitem+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.iptc.g2.knowledgeitem+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.iptc.g2.newsitem+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.iptc.g2.newsmessage+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.iptc.g2.packageitem+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.iptc.g2.planningitem+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.ipunplugged.rcprofile": { + "source": "iana", + "extensions": ["rcprofile"] + }, + "application/vnd.irepository.package+xml": { + "source": "iana", + "compressible": true, + "extensions": ["irp"] + }, + "application/vnd.is-xpr": { + "source": "iana", + "extensions": ["xpr"] + }, + "application/vnd.isac.fcs": { + "source": "iana", + "extensions": ["fcs"] + }, + "application/vnd.iso11783-10+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.jam": { + "source": "iana", + "extensions": ["jam"] + }, + "application/vnd.japannet-directory-service": { + "source": "iana" + }, + "application/vnd.japannet-jpnstore-wakeup": { + "source": "iana" + }, + "application/vnd.japannet-payment-wakeup": { + "source": "iana" + }, + "application/vnd.japannet-registration": { + "source": "iana" + }, + "application/vnd.japannet-registration-wakeup": { + "source": "iana" + }, + "application/vnd.japannet-setstore-wakeup": { + "source": "iana" + }, + "application/vnd.japannet-verification": { + "source": "iana" + }, + "application/vnd.japannet-verification-wakeup": { + "source": "iana" + }, + "application/vnd.jcp.javame.midlet-rms": { + "source": "iana", + "extensions": ["rms"] + }, + "application/vnd.jisp": { + "source": "iana", + "extensions": ["jisp"] + }, + "application/vnd.joost.joda-archive": { + "source": "iana", + "extensions": ["joda"] + }, + "application/vnd.jsk.isdn-ngn": { + "source": "iana" + }, + "application/vnd.kahootz": { + "source": "iana", + "extensions": ["ktz","ktr"] + }, + "application/vnd.kde.karbon": { + "source": "iana", + "extensions": ["karbon"] + }, + "application/vnd.kde.kchart": { + "source": "iana", + "extensions": ["chrt"] + }, + "application/vnd.kde.kformula": { + "source": "iana", + "extensions": ["kfo"] + }, + "application/vnd.kde.kivio": { + "source": "iana", + "extensions": ["flw"] + }, + "application/vnd.kde.kontour": { + "source": "iana", + "extensions": ["kon"] + }, + "application/vnd.kde.kpresenter": { + "source": "iana", + "extensions": ["kpr","kpt"] + }, + "application/vnd.kde.kspread": { + "source": "iana", + "extensions": ["ksp"] + }, + "application/vnd.kde.kword": { + "source": "iana", + "extensions": ["kwd","kwt"] + }, + "application/vnd.kdl": { + "source": "iana" + }, + "application/vnd.kenameaapp": { + "source": "iana", + "extensions": ["htke"] + }, + "application/vnd.keyman.kmp+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.keyman.kmx": { + "source": "iana" + }, + "application/vnd.kidspiration": { + "source": "iana", + "extensions": ["kia"] + }, + "application/vnd.kinar": { + "source": "iana", + "extensions": ["kne","knp"] + }, + "application/vnd.koan": { + "source": "iana", + "extensions": ["skp","skd","skt","skm"] + }, + "application/vnd.kodak-descriptor": { + "source": "iana", + "extensions": ["sse"] + }, + "application/vnd.las": { + "source": "iana" + }, + "application/vnd.las.las+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.las.las+xml": { + "source": "iana", + "compressible": true, + "extensions": ["lasxml"] + }, + "application/vnd.laszip": { + "source": "iana" + }, + "application/vnd.ldev.productlicensing": { + "source": "iana" + }, + "application/vnd.leap+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.liberty-request+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.llamagraphics.life-balance.desktop": { + "source": "iana", + "extensions": ["lbd"] + }, + "application/vnd.llamagraphics.life-balance.exchange+xml": { + "source": "iana", + "compressible": true, + "extensions": ["lbe"] + }, + "application/vnd.logipipe.circuit+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.loom": { + "source": "iana" + }, + "application/vnd.lotus-1-2-3": { + "source": "iana", + "extensions": ["123"] + }, + "application/vnd.lotus-approach": { + "source": "iana", + "extensions": ["apr"] + }, + "application/vnd.lotus-freelance": { + "source": "iana", + "extensions": ["pre"] + }, + "application/vnd.lotus-notes": { + "source": "iana", + "extensions": ["nsf"] + }, + "application/vnd.lotus-organizer": { + "source": "iana", + "extensions": ["org"] + }, + "application/vnd.lotus-screencam": { + "source": "iana", + "extensions": ["scm"] + }, + "application/vnd.lotus-wordpro": { + "source": "iana", + "extensions": ["lwp"] + }, + "application/vnd.macports.portpkg": { + "source": "iana", + "extensions": ["portpkg"] + }, + "application/vnd.mapbox-vector-tile": { + "source": "iana", + "extensions": ["mvt"] + }, + "application/vnd.marlin.drm.actiontoken+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.marlin.drm.conftoken+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.marlin.drm.license+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.marlin.drm.mdcf": { + "source": "iana" + }, + "application/vnd.mason+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.maxar.archive.3tz+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.maxmind.maxmind-db": { + "source": "iana" + }, + "application/vnd.mcd": { + "source": "iana", + "extensions": ["mcd"] + }, + "application/vnd.mdl": { + "source": "iana" + }, + "application/vnd.mdl-mbsdf": { + "source": "iana" + }, + "application/vnd.medcalcdata": { + "source": "iana", + "extensions": ["mc1"] + }, + "application/vnd.mediastation.cdkey": { + "source": "iana", + "extensions": ["cdkey"] + }, + "application/vnd.medicalholodeck.recordxr": { + "source": "iana" + }, + "application/vnd.meridian-slingshot": { + "source": "iana" + }, + "application/vnd.mermaid": { + "source": "iana" + }, + "application/vnd.mfer": { + "source": "iana", + "extensions": ["mwf"] + }, + "application/vnd.mfmp": { + "source": "iana", + "extensions": ["mfm"] + }, + "application/vnd.micro+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.micrografx.flo": { + "source": "iana", + "extensions": ["flo"] + }, + "application/vnd.micrografx.igx": { + "source": "iana", + "extensions": ["igx"] + }, + "application/vnd.microsoft.portable-executable": { + "source": "iana" + }, + "application/vnd.microsoft.windows.thumbnail-cache": { + "source": "iana" + }, + "application/vnd.miele+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.mif": { + "source": "iana", + "extensions": ["mif"] + }, + "application/vnd.minisoft-hp3000-save": { + "source": "iana" + }, + "application/vnd.mitsubishi.misty-guard.trustweb": { + "source": "iana" + }, + "application/vnd.mobius.daf": { + "source": "iana", + "extensions": ["daf"] + }, + "application/vnd.mobius.dis": { + "source": "iana", + "extensions": ["dis"] + }, + "application/vnd.mobius.mbk": { + "source": "iana", + "extensions": ["mbk"] + }, + "application/vnd.mobius.mqy": { + "source": "iana", + "extensions": ["mqy"] + }, + "application/vnd.mobius.msl": { + "source": "iana", + "extensions": ["msl"] + }, + "application/vnd.mobius.plc": { + "source": "iana", + "extensions": ["plc"] + }, + "application/vnd.mobius.txf": { + "source": "iana", + "extensions": ["txf"] + }, + "application/vnd.modl": { + "source": "iana" + }, + "application/vnd.mophun.application": { + "source": "iana", + "extensions": ["mpn"] + }, + "application/vnd.mophun.certificate": { + "source": "iana", + "extensions": ["mpc"] + }, + "application/vnd.motorola.flexsuite": { + "source": "iana" + }, + "application/vnd.motorola.flexsuite.adsi": { + "source": "iana" + }, + "application/vnd.motorola.flexsuite.fis": { + "source": "iana" + }, + "application/vnd.motorola.flexsuite.gotap": { + "source": "iana" + }, + "application/vnd.motorola.flexsuite.kmr": { + "source": "iana" + }, + "application/vnd.motorola.flexsuite.ttc": { + "source": "iana" + }, + "application/vnd.motorola.flexsuite.wem": { + "source": "iana" + }, + "application/vnd.motorola.iprm": { + "source": "iana" + }, + "application/vnd.mozilla.xul+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xul"] + }, + "application/vnd.ms-3mfdocument": { + "source": "iana" + }, + "application/vnd.ms-artgalry": { + "source": "iana", + "extensions": ["cil"] + }, + "application/vnd.ms-asf": { + "source": "iana" + }, + "application/vnd.ms-cab-compressed": { + "source": "iana", + "extensions": ["cab"] + }, + "application/vnd.ms-color.iccprofile": { + "source": "apache" + }, + "application/vnd.ms-excel": { + "source": "iana", + "compressible": false, + "extensions": ["xls","xlm","xla","xlc","xlt","xlw"] + }, + "application/vnd.ms-excel.addin.macroenabled.12": { + "source": "iana", + "extensions": ["xlam"] + }, + "application/vnd.ms-excel.sheet.binary.macroenabled.12": { + "source": "iana", + "extensions": ["xlsb"] + }, + "application/vnd.ms-excel.sheet.macroenabled.12": { + "source": "iana", + "extensions": ["xlsm"] + }, + "application/vnd.ms-excel.template.macroenabled.12": { + "source": "iana", + "extensions": ["xltm"] + }, + "application/vnd.ms-fontobject": { + "source": "iana", + "compressible": true, + "extensions": ["eot"] + }, + "application/vnd.ms-htmlhelp": { + "source": "iana", + "extensions": ["chm"] + }, + "application/vnd.ms-ims": { + "source": "iana", + "extensions": ["ims"] + }, + "application/vnd.ms-lrm": { + "source": "iana", + "extensions": ["lrm"] + }, + "application/vnd.ms-office.activex+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.ms-officetheme": { + "source": "iana", + "extensions": ["thmx"] + }, + "application/vnd.ms-opentype": { + "source": "apache", + "compressible": true + }, + "application/vnd.ms-outlook": { + "compressible": false, + "extensions": ["msg"] + }, + "application/vnd.ms-package.obfuscated-opentype": { + "source": "apache" + }, + "application/vnd.ms-pki.seccat": { + "source": "apache", + "extensions": ["cat"] + }, + "application/vnd.ms-pki.stl": { + "source": "apache", + "extensions": ["stl"] + }, + "application/vnd.ms-playready.initiator+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.ms-powerpoint": { + "source": "iana", + "compressible": false, + "extensions": ["ppt","pps","pot"] + }, + "application/vnd.ms-powerpoint.addin.macroenabled.12": { + "source": "iana", + "extensions": ["ppam"] + }, + "application/vnd.ms-powerpoint.presentation.macroenabled.12": { + "source": "iana", + "extensions": ["pptm"] + }, + "application/vnd.ms-powerpoint.slide.macroenabled.12": { + "source": "iana", + "extensions": ["sldm"] + }, + "application/vnd.ms-powerpoint.slideshow.macroenabled.12": { + "source": "iana", + "extensions": ["ppsm"] + }, + "application/vnd.ms-powerpoint.template.macroenabled.12": { + "source": "iana", + "extensions": ["potm"] + }, + "application/vnd.ms-printdevicecapabilities+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.ms-printing.printticket+xml": { + "source": "apache", + "compressible": true + }, + "application/vnd.ms-printschematicket+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.ms-project": { + "source": "iana", + "extensions": ["mpp","mpt"] + }, + "application/vnd.ms-tnef": { + "source": "iana" + }, + "application/vnd.ms-visio.viewer": { + "extensions": ["vdx"] + }, + "application/vnd.ms-windows.devicepairing": { + "source": "iana" + }, + "application/vnd.ms-windows.nwprinting.oob": { + "source": "iana" + }, + "application/vnd.ms-windows.printerpairing": { + "source": "iana" + }, + "application/vnd.ms-windows.wsd.oob": { + "source": "iana" + }, + "application/vnd.ms-wmdrm.lic-chlg-req": { + "source": "iana" + }, + "application/vnd.ms-wmdrm.lic-resp": { + "source": "iana" + }, + "application/vnd.ms-wmdrm.meter-chlg-req": { + "source": "iana" + }, + "application/vnd.ms-wmdrm.meter-resp": { + "source": "iana" + }, + "application/vnd.ms-word.document.macroenabled.12": { + "source": "iana", + "extensions": ["docm"] + }, + "application/vnd.ms-word.template.macroenabled.12": { + "source": "iana", + "extensions": ["dotm"] + }, + "application/vnd.ms-works": { + "source": "iana", + "extensions": ["wps","wks","wcm","wdb"] + }, + "application/vnd.ms-wpl": { + "source": "iana", + "extensions": ["wpl"] + }, + "application/vnd.ms-xpsdocument": { + "source": "iana", + "compressible": false, + "extensions": ["xps"] + }, + "application/vnd.msa-disk-image": { + "source": "iana" + }, + "application/vnd.mseq": { + "source": "iana", + "extensions": ["mseq"] + }, + "application/vnd.msgpack": { + "source": "iana" + }, + "application/vnd.msign": { + "source": "iana" + }, + "application/vnd.multiad.creator": { + "source": "iana" + }, + "application/vnd.multiad.creator.cif": { + "source": "iana" + }, + "application/vnd.music-niff": { + "source": "iana" + }, + "application/vnd.musician": { + "source": "iana", + "extensions": ["mus"] + }, + "application/vnd.muvee.style": { + "source": "iana", + "extensions": ["msty"] + }, + "application/vnd.mynfc": { + "source": "iana", + "extensions": ["taglet"] + }, + "application/vnd.nacamar.ybrid+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.nato.bindingdataobject+cbor": { + "source": "iana" + }, + "application/vnd.nato.bindingdataobject+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.nato.bindingdataobject+xml": { + "source": "iana", + "compressible": true, + "extensions": ["bdo"] + }, + "application/vnd.nato.openxmlformats-package.iepd+zip": { + "source": "iana", + "compressible": false + }, + "application/vnd.ncd.control": { + "source": "iana" + }, + "application/vnd.ncd.reference": { + "source": "iana" + }, + "application/vnd.nearst.inv+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.nebumind.line": { + "source": "iana" + }, + "application/vnd.nervana": { + "source": "iana" + }, + "application/vnd.netfpx": { + "source": "iana" + }, + "application/vnd.neurolanguage.nlu": { + "source": "iana", + "extensions": ["nlu"] + }, + "application/vnd.nimn": { + "source": "iana" + }, + "application/vnd.nintendo.nitro.rom": { + "source": "iana" + }, + "application/vnd.nintendo.snes.rom": { + "source": "iana" + }, + "application/vnd.nitf": { + "source": "iana", + "extensions": ["ntf","nitf"] + }, + "application/vnd.noblenet-directory": { + "source": "iana", + "extensions": ["nnd"] + }, + "application/vnd.noblenet-sealer": { + "source": "iana", + "extensions": ["nns"] + }, + "application/vnd.noblenet-web": { + "source": "iana", + "extensions": ["nnw"] + }, + "application/vnd.nokia.catalogs": { + "source": "iana" + }, + "application/vnd.nokia.conml+wbxml": { + "source": "iana" + }, + "application/vnd.nokia.conml+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.nokia.iptv.config+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.nokia.isds-radio-presets": { + "source": "iana" + }, + "application/vnd.nokia.landmark+wbxml": { + "source": "iana" + }, + "application/vnd.nokia.landmark+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.nokia.landmarkcollection+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.nokia.n-gage.ac+xml": { + "source": "iana", + "compressible": true, + "extensions": ["ac"] + }, + "application/vnd.nokia.n-gage.data": { + "source": "iana", + "extensions": ["ngdat"] + }, + "application/vnd.nokia.n-gage.symbian.install": { + "source": "apache", + "extensions": ["n-gage"] + }, + "application/vnd.nokia.ncd": { + "source": "iana" + }, + "application/vnd.nokia.pcd+wbxml": { + "source": "iana" + }, + "application/vnd.nokia.pcd+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.nokia.radio-preset": { + "source": "iana", + "extensions": ["rpst"] + }, + "application/vnd.nokia.radio-presets": { + "source": "iana", + "extensions": ["rpss"] + }, + "application/vnd.novadigm.edm": { + "source": "iana", + "extensions": ["edm"] + }, + "application/vnd.novadigm.edx": { + "source": "iana", + "extensions": ["edx"] + }, + "application/vnd.novadigm.ext": { + "source": "iana", + "extensions": ["ext"] + }, + "application/vnd.ntt-local.content-share": { + "source": "iana" + }, + "application/vnd.ntt-local.file-transfer": { + "source": "iana" + }, + "application/vnd.ntt-local.ogw_remote-access": { + "source": "iana" + }, + "application/vnd.ntt-local.sip-ta_remote": { + "source": "iana" + }, + "application/vnd.ntt-local.sip-ta_tcp_stream": { + "source": "iana" + }, + "application/vnd.oai.workflows": { + "source": "iana" + }, + "application/vnd.oai.workflows+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.oai.workflows+yaml": { + "source": "iana" + }, + "application/vnd.oasis.opendocument.base": { + "source": "iana" + }, + "application/vnd.oasis.opendocument.chart": { + "source": "iana", + "extensions": ["odc"] + }, + "application/vnd.oasis.opendocument.chart-template": { + "source": "iana", + "extensions": ["otc"] + }, + "application/vnd.oasis.opendocument.database": { + "source": "apache", + "extensions": ["odb"] + }, + "application/vnd.oasis.opendocument.formula": { + "source": "iana", + "extensions": ["odf"] + }, + "application/vnd.oasis.opendocument.formula-template": { + "source": "iana", + "extensions": ["odft"] + }, + "application/vnd.oasis.opendocument.graphics": { + "source": "iana", + "compressible": false, + "extensions": ["odg"] + }, + "application/vnd.oasis.opendocument.graphics-template": { + "source": "iana", + "extensions": ["otg"] + }, + "application/vnd.oasis.opendocument.image": { + "source": "iana", + "extensions": ["odi"] + }, + "application/vnd.oasis.opendocument.image-template": { + "source": "iana", + "extensions": ["oti"] + }, + "application/vnd.oasis.opendocument.presentation": { + "source": "iana", + "compressible": false, + "extensions": ["odp"] + }, + "application/vnd.oasis.opendocument.presentation-template": { + "source": "iana", + "extensions": ["otp"] + }, + "application/vnd.oasis.opendocument.spreadsheet": { + "source": "iana", + "compressible": false, + "extensions": ["ods"] + }, + "application/vnd.oasis.opendocument.spreadsheet-template": { + "source": "iana", + "extensions": ["ots"] + }, + "application/vnd.oasis.opendocument.text": { + "source": "iana", + "compressible": false, + "extensions": ["odt"] + }, + "application/vnd.oasis.opendocument.text-master": { + "source": "iana", + "extensions": ["odm"] + }, + "application/vnd.oasis.opendocument.text-master-template": { + "source": "iana" + }, + "application/vnd.oasis.opendocument.text-template": { + "source": "iana", + "extensions": ["ott"] + }, + "application/vnd.oasis.opendocument.text-web": { + "source": "iana", + "extensions": ["oth"] + }, + "application/vnd.obn": { + "source": "iana" + }, + "application/vnd.ocf+cbor": { + "source": "iana" + }, + "application/vnd.oci.image.manifest.v1+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.oftn.l10n+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.oipf.contentaccessdownload+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oipf.contentaccessstreaming+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oipf.cspg-hexbinary": { + "source": "iana" + }, + "application/vnd.oipf.dae.svg+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oipf.dae.xhtml+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oipf.mippvcontrolmessage+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oipf.pae.gem": { + "source": "iana" + }, + "application/vnd.oipf.spdiscovery+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oipf.spdlist+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oipf.ueprofile+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oipf.userprofile+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.olpc-sugar": { + "source": "iana", + "extensions": ["xo"] + }, + "application/vnd.oma-scws-config": { + "source": "iana" + }, + "application/vnd.oma-scws-http-request": { + "source": "iana" + }, + "application/vnd.oma-scws-http-response": { + "source": "iana" + }, + "application/vnd.oma.bcast.associated-procedure-parameter+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.bcast.drm-trigger+xml": { + "source": "apache", + "compressible": true + }, + "application/vnd.oma.bcast.imd+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.bcast.ltkm": { + "source": "iana" + }, + "application/vnd.oma.bcast.notification+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.bcast.provisioningtrigger": { + "source": "iana" + }, + "application/vnd.oma.bcast.sgboot": { + "source": "iana" + }, + "application/vnd.oma.bcast.sgdd+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.bcast.sgdu": { + "source": "iana" + }, + "application/vnd.oma.bcast.simple-symbol-container": { + "source": "iana" + }, + "application/vnd.oma.bcast.smartcard-trigger+xml": { + "source": "apache", + "compressible": true + }, + "application/vnd.oma.bcast.sprov+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.bcast.stkm": { + "source": "iana" + }, + "application/vnd.oma.cab-address-book+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.cab-feature-handler+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.cab-pcc+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.cab-subs-invite+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.cab-user-prefs+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.dcd": { + "source": "iana" + }, + "application/vnd.oma.dcdc": { + "source": "iana" + }, + "application/vnd.oma.dd2+xml": { + "source": "iana", + "compressible": true, + "extensions": ["dd2"] + }, + "application/vnd.oma.drm.risd+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.group-usage-list+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.lwm2m+cbor": { + "source": "iana" + }, + "application/vnd.oma.lwm2m+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.lwm2m+tlv": { + "source": "iana" + }, + "application/vnd.oma.pal+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.poc.detailed-progress-report+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.poc.final-report+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.poc.groups+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.poc.invocation-descriptor+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.poc.optimized-progress-report+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.push": { + "source": "iana" + }, + "application/vnd.oma.scidm.messages+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oma.xcap-directory+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.omads-email+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/vnd.omads-file+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/vnd.omads-folder+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/vnd.omaloc-supl-init": { + "source": "iana" + }, + "application/vnd.onepager": { + "source": "iana" + }, + "application/vnd.onepagertamp": { + "source": "iana" + }, + "application/vnd.onepagertamx": { + "source": "iana" + }, + "application/vnd.onepagertat": { + "source": "iana" + }, + "application/vnd.onepagertatp": { + "source": "iana" + }, + "application/vnd.onepagertatx": { + "source": "iana" + }, + "application/vnd.onvif.metadata": { + "source": "iana" + }, + "application/vnd.openblox.game+xml": { + "source": "iana", + "compressible": true, + "extensions": ["obgx"] + }, + "application/vnd.openblox.game-binary": { + "source": "iana" + }, + "application/vnd.openeye.oeb": { + "source": "iana" + }, + "application/vnd.openofficeorg.extension": { + "source": "apache", + "extensions": ["oxt"] + }, + "application/vnd.openstreetmap.data+xml": { + "source": "iana", + "compressible": true, + "extensions": ["osm"] + }, + "application/vnd.opentimestamps.ots": { + "source": "iana" + }, + "application/vnd.openvpi.dspx+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.custom-properties+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.customxmlproperties+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.drawing+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.extended-properties+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.comments+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation": { + "source": "iana", + "compressible": false, + "extensions": ["pptx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.presprops+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slide": { + "source": "iana", + "extensions": ["sldx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.slide+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideshow": { + "source": "iana", + "extensions": ["ppsx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.tags+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.template": { + "source": "iana", + "extensions": ["potx"] + }, + "application/vnd.openxmlformats-officedocument.presentationml.template.main+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { + "source": "iana", + "compressible": false, + "extensions": ["xlsx"] + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.template": { + "source": "iana", + "extensions": ["xltx"] + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.theme+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.themeoverride+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.vmldrawing": { + "source": "iana" + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document": { + "source": "iana", + "compressible": false, + "extensions": ["docx"] + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.template": { + "source": "iana", + "extensions": ["dotx"] + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-package.core-properties+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.openxmlformats-package.relationships+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oracle.resource+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.orange.indata": { + "source": "iana" + }, + "application/vnd.osa.netdeploy": { + "source": "iana" + }, + "application/vnd.osgeo.mapguide.package": { + "source": "iana", + "extensions": ["mgp"] + }, + "application/vnd.osgi.bundle": { + "source": "iana" + }, + "application/vnd.osgi.dp": { + "source": "iana", + "extensions": ["dp"] + }, + "application/vnd.osgi.subsystem": { + "source": "iana", + "extensions": ["esa"] + }, + "application/vnd.otps.ct-kip+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.oxli.countgraph": { + "source": "iana" + }, + "application/vnd.pagerduty+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.palm": { + "source": "iana", + "extensions": ["pdb","pqa","oprc"] + }, + "application/vnd.panoply": { + "source": "iana" + }, + "application/vnd.paos.xml": { + "source": "iana" + }, + "application/vnd.patentdive": { + "source": "iana" + }, + "application/vnd.patientecommsdoc": { + "source": "iana" + }, + "application/vnd.pawaafile": { + "source": "iana", + "extensions": ["paw"] + }, + "application/vnd.pcos": { + "source": "iana" + }, + "application/vnd.pg.format": { + "source": "iana", + "extensions": ["str"] + }, + "application/vnd.pg.osasli": { + "source": "iana", + "extensions": ["ei6"] + }, + "application/vnd.piaccess.application-licence": { + "source": "iana" + }, + "application/vnd.picsel": { + "source": "iana", + "extensions": ["efif"] + }, + "application/vnd.pmi.widget": { + "source": "iana", + "extensions": ["wg"] + }, + "application/vnd.poc.group-advertisement+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.pocketlearn": { + "source": "iana", + "extensions": ["plf"] + }, + "application/vnd.powerbuilder6": { + "source": "iana", + "extensions": ["pbd"] + }, + "application/vnd.powerbuilder6-s": { + "source": "iana" + }, + "application/vnd.powerbuilder7": { + "source": "iana" + }, + "application/vnd.powerbuilder7-s": { + "source": "iana" + }, + "application/vnd.powerbuilder75": { + "source": "iana" + }, + "application/vnd.powerbuilder75-s": { + "source": "iana" + }, + "application/vnd.preminet": { + "source": "iana" + }, + "application/vnd.previewsystems.box": { + "source": "iana", + "extensions": ["box"] + }, + "application/vnd.procrate.brushset": { + "extensions": ["brushset"] + }, + "application/vnd.procreate.brush": { + "extensions": ["brush"] + }, + "application/vnd.procreate.dream": { + "extensions": ["drm"] + }, + "application/vnd.proteus.magazine": { + "source": "iana", + "extensions": ["mgz"] + }, + "application/vnd.psfs": { + "source": "iana" + }, + "application/vnd.pt.mundusmundi": { + "source": "iana" + }, + "application/vnd.publishare-delta-tree": { + "source": "iana", + "extensions": ["qps"] + }, + "application/vnd.pvi.ptid1": { + "source": "iana", + "extensions": ["ptid"] + }, + "application/vnd.pwg-multiplexed": { + "source": "iana" + }, + "application/vnd.pwg-xhtml-print+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xhtm"] + }, + "application/vnd.qualcomm.brew-app-res": { + "source": "iana" + }, + "application/vnd.quarantainenet": { + "source": "iana" + }, + "application/vnd.quark.quarkxpress": { + "source": "iana", + "extensions": ["qxd","qxt","qwd","qwt","qxl","qxb"] + }, + "application/vnd.quobject-quoxdocument": { + "source": "iana" + }, + "application/vnd.radisys.moml+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.radisys.msml+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.radisys.msml-audit+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.radisys.msml-audit-conf+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.radisys.msml-audit-conn+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.radisys.msml-audit-dialog+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.radisys.msml-audit-stream+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.radisys.msml-conf+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.radisys.msml-dialog+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.radisys.msml-dialog-base+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.radisys.msml-dialog-fax-detect+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.radisys.msml-dialog-fax-sendrecv+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.radisys.msml-dialog-group+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.radisys.msml-dialog-speech+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.radisys.msml-dialog-transform+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.rainstor.data": { + "source": "iana" + }, + "application/vnd.rapid": { + "source": "iana" + }, + "application/vnd.rar": { + "source": "iana", + "extensions": ["rar"] + }, + "application/vnd.realvnc.bed": { + "source": "iana", + "extensions": ["bed"] + }, + "application/vnd.recordare.musicxml": { + "source": "iana", + "extensions": ["mxl"] + }, + "application/vnd.recordare.musicxml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["musicxml"] + }, + "application/vnd.relpipe": { + "source": "iana" + }, + "application/vnd.renlearn.rlprint": { + "source": "iana" + }, + "application/vnd.resilient.logic": { + "source": "iana" + }, + "application/vnd.restful+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.rig.cryptonote": { + "source": "iana", + "extensions": ["cryptonote"] + }, + "application/vnd.rim.cod": { + "source": "apache", + "extensions": ["cod"] + }, + "application/vnd.rn-realmedia": { + "source": "apache", + "extensions": ["rm"] + }, + "application/vnd.rn-realmedia-vbr": { + "source": "apache", + "extensions": ["rmvb"] + }, + "application/vnd.route66.link66+xml": { + "source": "iana", + "compressible": true, + "extensions": ["link66"] + }, + "application/vnd.rs-274x": { + "source": "iana" + }, + "application/vnd.ruckus.download": { + "source": "iana" + }, + "application/vnd.s3sms": { + "source": "iana" + }, + "application/vnd.sailingtracker.track": { + "source": "iana", + "extensions": ["st"] + }, + "application/vnd.sar": { + "source": "iana" + }, + "application/vnd.sbm.cid": { + "source": "iana" + }, + "application/vnd.sbm.mid2": { + "source": "iana" + }, + "application/vnd.scribus": { + "source": "iana" + }, + "application/vnd.sealed.3df": { + "source": "iana" + }, + "application/vnd.sealed.csf": { + "source": "iana" + }, + "application/vnd.sealed.doc": { + "source": "iana" + }, + "application/vnd.sealed.eml": { + "source": "iana" + }, + "application/vnd.sealed.mht": { + "source": "iana" + }, + "application/vnd.sealed.net": { + "source": "iana" + }, + "application/vnd.sealed.ppt": { + "source": "iana" + }, + "application/vnd.sealed.tiff": { + "source": "iana" + }, + "application/vnd.sealed.xls": { + "source": "iana" + }, + "application/vnd.sealedmedia.softseal.html": { + "source": "iana" + }, + "application/vnd.sealedmedia.softseal.pdf": { + "source": "iana" + }, + "application/vnd.seemail": { + "source": "iana", + "extensions": ["see"] + }, + "application/vnd.seis+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.sema": { + "source": "iana", + "extensions": ["sema"] + }, + "application/vnd.semd": { + "source": "iana", + "extensions": ["semd"] + }, + "application/vnd.semf": { + "source": "iana", + "extensions": ["semf"] + }, + "application/vnd.shade-save-file": { + "source": "iana" + }, + "application/vnd.shana.informed.formdata": { + "source": "iana", + "extensions": ["ifm"] + }, + "application/vnd.shana.informed.formtemplate": { + "source": "iana", + "extensions": ["itp"] + }, + "application/vnd.shana.informed.interchange": { + "source": "iana", + "extensions": ["iif"] + }, + "application/vnd.shana.informed.package": { + "source": "iana", + "extensions": ["ipk"] + }, + "application/vnd.shootproof+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.shopkick+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.shp": { + "source": "iana" + }, + "application/vnd.shx": { + "source": "iana" + }, + "application/vnd.sigrok.session": { + "source": "iana" + }, + "application/vnd.simtech-mindmapper": { + "source": "iana", + "extensions": ["twd","twds"] + }, + "application/vnd.siren+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.sketchometry": { + "source": "iana" + }, + "application/vnd.smaf": { + "source": "iana", + "extensions": ["mmf"] + }, + "application/vnd.smart.notebook": { + "source": "iana" + }, + "application/vnd.smart.teacher": { + "source": "iana", + "extensions": ["teacher"] + }, + "application/vnd.smintio.portals.archive": { + "source": "iana" + }, + "application/vnd.snesdev-page-table": { + "source": "iana" + }, + "application/vnd.software602.filler.form+xml": { + "source": "iana", + "compressible": true, + "extensions": ["fo"] + }, + "application/vnd.software602.filler.form-xml-zip": { + "source": "iana" + }, + "application/vnd.solent.sdkm+xml": { + "source": "iana", + "compressible": true, + "extensions": ["sdkm","sdkd"] + }, + "application/vnd.spotfire.dxp": { + "source": "iana", + "extensions": ["dxp"] + }, + "application/vnd.spotfire.sfs": { + "source": "iana", + "extensions": ["sfs"] + }, + "application/vnd.sqlite3": { + "source": "iana" + }, + "application/vnd.sss-cod": { + "source": "iana" + }, + "application/vnd.sss-dtf": { + "source": "iana" + }, + "application/vnd.sss-ntf": { + "source": "iana" + }, + "application/vnd.stardivision.calc": { + "source": "apache", + "extensions": ["sdc"] + }, + "application/vnd.stardivision.draw": { + "source": "apache", + "extensions": ["sda"] + }, + "application/vnd.stardivision.impress": { + "source": "apache", + "extensions": ["sdd"] + }, + "application/vnd.stardivision.math": { + "source": "apache", + "extensions": ["smf"] + }, + "application/vnd.stardivision.writer": { + "source": "apache", + "extensions": ["sdw","vor"] + }, + "application/vnd.stardivision.writer-global": { + "source": "apache", + "extensions": ["sgl"] + }, + "application/vnd.stepmania.package": { + "source": "iana", + "extensions": ["smzip"] + }, + "application/vnd.stepmania.stepchart": { + "source": "iana", + "extensions": ["sm"] + }, + "application/vnd.street-stream": { + "source": "iana" + }, + "application/vnd.sun.wadl+xml": { + "source": "iana", + "compressible": true, + "extensions": ["wadl"] + }, + "application/vnd.sun.xml.calc": { + "source": "apache", + "extensions": ["sxc"] + }, + "application/vnd.sun.xml.calc.template": { + "source": "apache", + "extensions": ["stc"] + }, + "application/vnd.sun.xml.draw": { + "source": "apache", + "extensions": ["sxd"] + }, + "application/vnd.sun.xml.draw.template": { + "source": "apache", + "extensions": ["std"] + }, + "application/vnd.sun.xml.impress": { + "source": "apache", + "extensions": ["sxi"] + }, + "application/vnd.sun.xml.impress.template": { + "source": "apache", + "extensions": ["sti"] + }, + "application/vnd.sun.xml.math": { + "source": "apache", + "extensions": ["sxm"] + }, + "application/vnd.sun.xml.writer": { + "source": "apache", + "extensions": ["sxw"] + }, + "application/vnd.sun.xml.writer.global": { + "source": "apache", + "extensions": ["sxg"] + }, + "application/vnd.sun.xml.writer.template": { + "source": "apache", + "extensions": ["stw"] + }, + "application/vnd.sus-calendar": { + "source": "iana", + "extensions": ["sus","susp"] + }, + "application/vnd.svd": { + "source": "iana", + "extensions": ["svd"] + }, + "application/vnd.swiftview-ics": { + "source": "iana" + }, + "application/vnd.sybyl.mol2": { + "source": "iana" + }, + "application/vnd.sycle+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.syft+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.symbian.install": { + "source": "apache", + "extensions": ["sis","sisx"] + }, + "application/vnd.syncml+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["xsm"] + }, + "application/vnd.syncml.dm+wbxml": { + "source": "iana", + "charset": "UTF-8", + "extensions": ["bdm"] + }, + "application/vnd.syncml.dm+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["xdm"] + }, + "application/vnd.syncml.dm.notification": { + "source": "iana" + }, + "application/vnd.syncml.dmddf+wbxml": { + "source": "iana" + }, + "application/vnd.syncml.dmddf+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["ddf"] + }, + "application/vnd.syncml.dmtnds+wbxml": { + "source": "iana" + }, + "application/vnd.syncml.dmtnds+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/vnd.syncml.ds.notification": { + "source": "iana" + }, + "application/vnd.tableschema+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.tao.intent-module-archive": { + "source": "iana", + "extensions": ["tao"] + }, + "application/vnd.tcpdump.pcap": { + "source": "iana", + "extensions": ["pcap","cap","dmp"] + }, + "application/vnd.think-cell.ppttc+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.tmd.mediaflex.api+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.tml": { + "source": "iana" + }, + "application/vnd.tmobile-livetv": { + "source": "iana", + "extensions": ["tmo"] + }, + "application/vnd.tri.onesource": { + "source": "iana" + }, + "application/vnd.trid.tpt": { + "source": "iana", + "extensions": ["tpt"] + }, + "application/vnd.triscape.mxs": { + "source": "iana", + "extensions": ["mxs"] + }, + "application/vnd.trueapp": { + "source": "iana", + "extensions": ["tra"] + }, + "application/vnd.truedoc": { + "source": "iana" + }, + "application/vnd.ubisoft.webplayer": { + "source": "iana" + }, + "application/vnd.ufdl": { + "source": "iana", + "extensions": ["ufd","ufdl"] + }, + "application/vnd.uic.osdm+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.uiq.theme": { + "source": "iana", + "extensions": ["utz"] + }, + "application/vnd.umajin": { + "source": "iana", + "extensions": ["umj"] + }, + "application/vnd.unity": { + "source": "iana", + "extensions": ["unityweb"] + }, + "application/vnd.uoml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["uoml","uo"] + }, + "application/vnd.uplanet.alert": { + "source": "iana" + }, + "application/vnd.uplanet.alert-wbxml": { + "source": "iana" + }, + "application/vnd.uplanet.bearer-choice": { + "source": "iana" + }, + "application/vnd.uplanet.bearer-choice-wbxml": { + "source": "iana" + }, + "application/vnd.uplanet.cacheop": { + "source": "iana" + }, + "application/vnd.uplanet.cacheop-wbxml": { + "source": "iana" + }, + "application/vnd.uplanet.channel": { + "source": "iana" + }, + "application/vnd.uplanet.channel-wbxml": { + "source": "iana" + }, + "application/vnd.uplanet.list": { + "source": "iana" + }, + "application/vnd.uplanet.list-wbxml": { + "source": "iana" + }, + "application/vnd.uplanet.listcmd": { + "source": "iana" + }, + "application/vnd.uplanet.listcmd-wbxml": { + "source": "iana" + }, + "application/vnd.uplanet.signal": { + "source": "iana" + }, + "application/vnd.uri-map": { + "source": "iana" + }, + "application/vnd.valve.source.material": { + "source": "iana" + }, + "application/vnd.vcx": { + "source": "iana", + "extensions": ["vcx"] + }, + "application/vnd.vd-study": { + "source": "iana" + }, + "application/vnd.vectorworks": { + "source": "iana" + }, + "application/vnd.vel+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.veraison.tsm-report+cbor": { + "source": "iana" + }, + "application/vnd.veraison.tsm-report+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.verimatrix.vcas": { + "source": "iana" + }, + "application/vnd.veritone.aion+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.veryant.thin": { + "source": "iana" + }, + "application/vnd.ves.encrypted": { + "source": "iana" + }, + "application/vnd.vidsoft.vidconference": { + "source": "iana" + }, + "application/vnd.visio": { + "source": "iana", + "extensions": ["vsd","vst","vss","vsw","vsdx","vtx"] + }, + "application/vnd.visionary": { + "source": "iana", + "extensions": ["vis"] + }, + "application/vnd.vividence.scriptfile": { + "source": "iana" + }, + "application/vnd.vocalshaper.vsp4": { + "source": "iana" + }, + "application/vnd.vsf": { + "source": "iana", + "extensions": ["vsf"] + }, + "application/vnd.wap.sic": { + "source": "iana" + }, + "application/vnd.wap.slc": { + "source": "iana" + }, + "application/vnd.wap.wbxml": { + "source": "iana", + "charset": "UTF-8", + "extensions": ["wbxml"] + }, + "application/vnd.wap.wmlc": { + "source": "iana", + "extensions": ["wmlc"] + }, + "application/vnd.wap.wmlscriptc": { + "source": "iana", + "extensions": ["wmlsc"] + }, + "application/vnd.wasmflow.wafl": { + "source": "iana" + }, + "application/vnd.webturbo": { + "source": "iana", + "extensions": ["wtb"] + }, + "application/vnd.wfa.dpp": { + "source": "iana" + }, + "application/vnd.wfa.p2p": { + "source": "iana" + }, + "application/vnd.wfa.wsc": { + "source": "iana" + }, + "application/vnd.windows.devicepairing": { + "source": "iana" + }, + "application/vnd.wmc": { + "source": "iana" + }, + "application/vnd.wmf.bootstrap": { + "source": "iana" + }, + "application/vnd.wolfram.mathematica": { + "source": "iana" + }, + "application/vnd.wolfram.mathematica.package": { + "source": "iana" + }, + "application/vnd.wolfram.player": { + "source": "iana", + "extensions": ["nbp"] + }, + "application/vnd.wordlift": { + "source": "iana" + }, + "application/vnd.wordperfect": { + "source": "iana", + "extensions": ["wpd"] + }, + "application/vnd.wqd": { + "source": "iana", + "extensions": ["wqd"] + }, + "application/vnd.wrq-hp3000-labelled": { + "source": "iana" + }, + "application/vnd.wt.stf": { + "source": "iana", + "extensions": ["stf"] + }, + "application/vnd.wv.csp+wbxml": { + "source": "iana" + }, + "application/vnd.wv.csp+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.wv.ssp+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.xacml+json": { + "source": "iana", + "compressible": true + }, + "application/vnd.xara": { + "source": "iana", + "extensions": ["xar"] + }, + "application/vnd.xarin.cpj": { + "source": "iana" + }, + "application/vnd.xecrets-encrypted": { + "source": "iana" + }, + "application/vnd.xfdl": { + "source": "iana", + "extensions": ["xfdl"] + }, + "application/vnd.xfdl.webform": { + "source": "iana" + }, + "application/vnd.xmi+xml": { + "source": "iana", + "compressible": true + }, + "application/vnd.xmpie.cpkg": { + "source": "iana" + }, + "application/vnd.xmpie.dpkg": { + "source": "iana" + }, + "application/vnd.xmpie.plan": { + "source": "iana" + }, + "application/vnd.xmpie.ppkg": { + "source": "iana" + }, + "application/vnd.xmpie.xlim": { + "source": "iana" + }, + "application/vnd.yamaha.hv-dic": { + "source": "iana", + "extensions": ["hvd"] + }, + "application/vnd.yamaha.hv-script": { + "source": "iana", + "extensions": ["hvs"] + }, + "application/vnd.yamaha.hv-voice": { + "source": "iana", + "extensions": ["hvp"] + }, + "application/vnd.yamaha.openscoreformat": { + "source": "iana", + "extensions": ["osf"] + }, + "application/vnd.yamaha.openscoreformat.osfpvg+xml": { + "source": "iana", + "compressible": true, + "extensions": ["osfpvg"] + }, + "application/vnd.yamaha.remote-setup": { + "source": "iana" + }, + "application/vnd.yamaha.smaf-audio": { + "source": "iana", + "extensions": ["saf"] + }, + "application/vnd.yamaha.smaf-phrase": { + "source": "iana", + "extensions": ["spf"] + }, + "application/vnd.yamaha.through-ngn": { + "source": "iana" + }, + "application/vnd.yamaha.tunnel-udpencap": { + "source": "iana" + }, + "application/vnd.yaoweme": { + "source": "iana" + }, + "application/vnd.yellowriver-custom-menu": { + "source": "iana", + "extensions": ["cmp"] + }, + "application/vnd.zul": { + "source": "iana", + "extensions": ["zir","zirz"] + }, + "application/vnd.zzazz.deck+xml": { + "source": "iana", + "compressible": true, + "extensions": ["zaz"] + }, + "application/voicexml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["vxml"] + }, + "application/voucher-cms+json": { + "source": "iana", + "compressible": true + }, + "application/voucher-jws+json": { + "source": "iana", + "compressible": true + }, + "application/vp": { + "source": "iana" + }, + "application/vp+cose": { + "source": "iana" + }, + "application/vp+jwt": { + "source": "iana" + }, + "application/vq-rtcpxr": { + "source": "iana" + }, + "application/wasm": { + "source": "iana", + "compressible": true, + "extensions": ["wasm"] + }, + "application/watcherinfo+xml": { + "source": "iana", + "compressible": true, + "extensions": ["wif"] + }, + "application/webpush-options+json": { + "source": "iana", + "compressible": true + }, + "application/whoispp-query": { + "source": "iana" + }, + "application/whoispp-response": { + "source": "iana" + }, + "application/widget": { + "source": "iana", + "extensions": ["wgt"] + }, + "application/winhlp": { + "source": "apache", + "extensions": ["hlp"] + }, + "application/wita": { + "source": "iana" + }, + "application/wordperfect5.1": { + "source": "iana" + }, + "application/wsdl+xml": { + "source": "iana", + "compressible": true, + "extensions": ["wsdl"] + }, + "application/wspolicy+xml": { + "source": "iana", + "compressible": true, + "extensions": ["wspolicy"] + }, + "application/x-7z-compressed": { + "source": "apache", + "compressible": false, + "extensions": ["7z"] + }, + "application/x-abiword": { + "source": "apache", + "extensions": ["abw"] + }, + "application/x-ace-compressed": { + "source": "apache", + "extensions": ["ace"] + }, + "application/x-amf": { + "source": "apache" + }, + "application/x-apple-diskimage": { + "source": "apache", + "extensions": ["dmg"] + }, + "application/x-arj": { + "compressible": false, + "extensions": ["arj"] + }, + "application/x-authorware-bin": { + "source": "apache", + "extensions": ["aab","x32","u32","vox"] + }, + "application/x-authorware-map": { + "source": "apache", + "extensions": ["aam"] + }, + "application/x-authorware-seg": { + "source": "apache", + "extensions": ["aas"] + }, + "application/x-bcpio": { + "source": "apache", + "extensions": ["bcpio"] + }, + "application/x-bdoc": { + "compressible": false, + "extensions": ["bdoc"] + }, + "application/x-bittorrent": { + "source": "apache", + "extensions": ["torrent"] + }, + "application/x-blender": { + "extensions": ["blend"] + }, + "application/x-blorb": { + "source": "apache", + "extensions": ["blb","blorb"] + }, + "application/x-bzip": { + "source": "apache", + "compressible": false, + "extensions": ["bz"] + }, + "application/x-bzip2": { + "source": "apache", + "compressible": false, + "extensions": ["bz2","boz"] + }, + "application/x-cbr": { + "source": "apache", + "extensions": ["cbr","cba","cbt","cbz","cb7"] + }, + "application/x-cdlink": { + "source": "apache", + "extensions": ["vcd"] + }, + "application/x-cfs-compressed": { + "source": "apache", + "extensions": ["cfs"] + }, + "application/x-chat": { + "source": "apache", + "extensions": ["chat"] + }, + "application/x-chess-pgn": { + "source": "apache", + "extensions": ["pgn"] + }, + "application/x-chrome-extension": { + "extensions": ["crx"] + }, + "application/x-cocoa": { + "source": "nginx", + "extensions": ["cco"] + }, + "application/x-compress": { + "source": "apache" + }, + "application/x-compressed": { + "extensions": ["rar"] + }, + "application/x-conference": { + "source": "apache", + "extensions": ["nsc"] + }, + "application/x-cpio": { + "source": "apache", + "extensions": ["cpio"] + }, + "application/x-csh": { + "source": "apache", + "extensions": ["csh"] + }, + "application/x-deb": { + "compressible": false + }, + "application/x-debian-package": { + "source": "apache", + "extensions": ["deb","udeb"] + }, + "application/x-dgc-compressed": { + "source": "apache", + "extensions": ["dgc"] + }, + "application/x-director": { + "source": "apache", + "extensions": ["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"] + }, + "application/x-doom": { + "source": "apache", + "extensions": ["wad"] + }, + "application/x-dtbncx+xml": { + "source": "apache", + "compressible": true, + "extensions": ["ncx"] + }, + "application/x-dtbook+xml": { + "source": "apache", + "compressible": true, + "extensions": ["dtb"] + }, + "application/x-dtbresource+xml": { + "source": "apache", + "compressible": true, + "extensions": ["res"] + }, + "application/x-dvi": { + "source": "apache", + "compressible": false, + "extensions": ["dvi"] + }, + "application/x-envoy": { + "source": "apache", + "extensions": ["evy"] + }, + "application/x-eva": { + "source": "apache", + "extensions": ["eva"] + }, + "application/x-font-bdf": { + "source": "apache", + "extensions": ["bdf"] + }, + "application/x-font-dos": { + "source": "apache" + }, + "application/x-font-framemaker": { + "source": "apache" + }, + "application/x-font-ghostscript": { + "source": "apache", + "extensions": ["gsf"] + }, + "application/x-font-libgrx": { + "source": "apache" + }, + "application/x-font-linux-psf": { + "source": "apache", + "extensions": ["psf"] + }, + "application/x-font-pcf": { + "source": "apache", + "extensions": ["pcf"] + }, + "application/x-font-snf": { + "source": "apache", + "extensions": ["snf"] + }, + "application/x-font-speedo": { + "source": "apache" + }, + "application/x-font-sunos-news": { + "source": "apache" + }, + "application/x-font-type1": { + "source": "apache", + "extensions": ["pfa","pfb","pfm","afm"] + }, + "application/x-font-vfont": { + "source": "apache" + }, + "application/x-freearc": { + "source": "apache", + "extensions": ["arc"] + }, + "application/x-futuresplash": { + "source": "apache", + "extensions": ["spl"] + }, + "application/x-gca-compressed": { + "source": "apache", + "extensions": ["gca"] + }, + "application/x-glulx": { + "source": "apache", + "extensions": ["ulx"] + }, + "application/x-gnumeric": { + "source": "apache", + "extensions": ["gnumeric"] + }, + "application/x-gramps-xml": { + "source": "apache", + "extensions": ["gramps"] + }, + "application/x-gtar": { + "source": "apache", + "extensions": ["gtar"] + }, + "application/x-gzip": { + "source": "apache" + }, + "application/x-hdf": { + "source": "apache", + "extensions": ["hdf"] + }, + "application/x-httpd-php": { + "compressible": true, + "extensions": ["php"] + }, + "application/x-install-instructions": { + "source": "apache", + "extensions": ["install"] + }, + "application/x-ipynb+json": { + "compressible": true, + "extensions": ["ipynb"] + }, + "application/x-iso9660-image": { + "source": "apache", + "extensions": ["iso"] + }, + "application/x-iwork-keynote-sffkey": { + "extensions": ["key"] + }, + "application/x-iwork-numbers-sffnumbers": { + "extensions": ["numbers"] + }, + "application/x-iwork-pages-sffpages": { + "extensions": ["pages"] + }, + "application/x-java-archive-diff": { + "source": "nginx", + "extensions": ["jardiff"] + }, + "application/x-java-jnlp-file": { + "source": "apache", + "compressible": false, + "extensions": ["jnlp"] + }, + "application/x-javascript": { + "compressible": true + }, + "application/x-keepass2": { + "extensions": ["kdbx"] + }, + "application/x-latex": { + "source": "apache", + "compressible": false, + "extensions": ["latex"] + }, + "application/x-lua-bytecode": { + "extensions": ["luac"] + }, + "application/x-lzh-compressed": { + "source": "apache", + "extensions": ["lzh","lha"] + }, + "application/x-makeself": { + "source": "nginx", + "extensions": ["run"] + }, + "application/x-mie": { + "source": "apache", + "extensions": ["mie"] + }, + "application/x-mobipocket-ebook": { + "source": "apache", + "extensions": ["prc","mobi"] + }, + "application/x-mpegurl": { + "compressible": false + }, + "application/x-ms-application": { + "source": "apache", + "extensions": ["application"] + }, + "application/x-ms-shortcut": { + "source": "apache", + "extensions": ["lnk"] + }, + "application/x-ms-wmd": { + "source": "apache", + "extensions": ["wmd"] + }, + "application/x-ms-wmz": { + "source": "apache", + "extensions": ["wmz"] + }, + "application/x-ms-xbap": { + "source": "apache", + "extensions": ["xbap"] + }, + "application/x-msaccess": { + "source": "apache", + "extensions": ["mdb"] + }, + "application/x-msbinder": { + "source": "apache", + "extensions": ["obd"] + }, + "application/x-mscardfile": { + "source": "apache", + "extensions": ["crd"] + }, + "application/x-msclip": { + "source": "apache", + "extensions": ["clp"] + }, + "application/x-msdos-program": { + "extensions": ["exe"] + }, + "application/x-msdownload": { + "source": "apache", + "extensions": ["exe","dll","com","bat","msi"] + }, + "application/x-msmediaview": { + "source": "apache", + "extensions": ["mvb","m13","m14"] + }, + "application/x-msmetafile": { + "source": "apache", + "extensions": ["wmf","wmz","emf","emz"] + }, + "application/x-msmoney": { + "source": "apache", + "extensions": ["mny"] + }, + "application/x-mspublisher": { + "source": "apache", + "extensions": ["pub"] + }, + "application/x-msschedule": { + "source": "apache", + "extensions": ["scd"] + }, + "application/x-msterminal": { + "source": "apache", + "extensions": ["trm"] + }, + "application/x-mswrite": { + "source": "apache", + "extensions": ["wri"] + }, + "application/x-netcdf": { + "source": "apache", + "extensions": ["nc","cdf"] + }, + "application/x-ns-proxy-autoconfig": { + "compressible": true, + "extensions": ["pac"] + }, + "application/x-nzb": { + "source": "apache", + "extensions": ["nzb"] + }, + "application/x-perl": { + "source": "nginx", + "extensions": ["pl","pm"] + }, + "application/x-pilot": { + "source": "nginx", + "extensions": ["prc","pdb"] + }, + "application/x-pkcs12": { + "source": "apache", + "compressible": false, + "extensions": ["p12","pfx"] + }, + "application/x-pkcs7-certificates": { + "source": "apache", + "extensions": ["p7b","spc"] + }, + "application/x-pkcs7-certreqresp": { + "source": "apache", + "extensions": ["p7r"] + }, + "application/x-pki-message": { + "source": "iana" + }, + "application/x-rar-compressed": { + "source": "apache", + "compressible": false, + "extensions": ["rar"] + }, + "application/x-redhat-package-manager": { + "source": "nginx", + "extensions": ["rpm"] + }, + "application/x-research-info-systems": { + "source": "apache", + "extensions": ["ris"] + }, + "application/x-sea": { + "source": "nginx", + "extensions": ["sea"] + }, + "application/x-sh": { + "source": "apache", + "compressible": true, + "extensions": ["sh"] + }, + "application/x-shar": { + "source": "apache", + "extensions": ["shar"] + }, + "application/x-shockwave-flash": { + "source": "apache", + "compressible": false, + "extensions": ["swf"] + }, + "application/x-silverlight-app": { + "source": "apache", + "extensions": ["xap"] + }, + "application/x-sql": { + "source": "apache", + "extensions": ["sql"] + }, + "application/x-stuffit": { + "source": "apache", + "compressible": false, + "extensions": ["sit"] + }, + "application/x-stuffitx": { + "source": "apache", + "extensions": ["sitx"] + }, + "application/x-subrip": { + "source": "apache", + "extensions": ["srt"] + }, + "application/x-sv4cpio": { + "source": "apache", + "extensions": ["sv4cpio"] + }, + "application/x-sv4crc": { + "source": "apache", + "extensions": ["sv4crc"] + }, + "application/x-t3vm-image": { + "source": "apache", + "extensions": ["t3"] + }, + "application/x-tads": { + "source": "apache", + "extensions": ["gam"] + }, + "application/x-tar": { + "source": "apache", + "compressible": true, + "extensions": ["tar"] + }, + "application/x-tcl": { + "source": "apache", + "extensions": ["tcl","tk"] + }, + "application/x-tex": { + "source": "apache", + "extensions": ["tex"] + }, + "application/x-tex-tfm": { + "source": "apache", + "extensions": ["tfm"] + }, + "application/x-texinfo": { + "source": "apache", + "extensions": ["texinfo","texi"] + }, + "application/x-tgif": { + "source": "apache", + "extensions": ["obj"] + }, + "application/x-ustar": { + "source": "apache", + "extensions": ["ustar"] + }, + "application/x-virtualbox-hdd": { + "compressible": true, + "extensions": ["hdd"] + }, + "application/x-virtualbox-ova": { + "compressible": true, + "extensions": ["ova"] + }, + "application/x-virtualbox-ovf": { + "compressible": true, + "extensions": ["ovf"] + }, + "application/x-virtualbox-vbox": { + "compressible": true, + "extensions": ["vbox"] + }, + "application/x-virtualbox-vbox-extpack": { + "compressible": false, + "extensions": ["vbox-extpack"] + }, + "application/x-virtualbox-vdi": { + "compressible": true, + "extensions": ["vdi"] + }, + "application/x-virtualbox-vhd": { + "compressible": true, + "extensions": ["vhd"] + }, + "application/x-virtualbox-vmdk": { + "compressible": true, + "extensions": ["vmdk"] + }, + "application/x-wais-source": { + "source": "apache", + "extensions": ["src"] + }, + "application/x-web-app-manifest+json": { + "compressible": true, + "extensions": ["webapp"] + }, + "application/x-www-form-urlencoded": { + "source": "iana", + "compressible": true + }, + "application/x-x509-ca-cert": { + "source": "iana", + "extensions": ["der","crt","pem"] + }, + "application/x-x509-ca-ra-cert": { + "source": "iana" + }, + "application/x-x509-next-ca-cert": { + "source": "iana" + }, + "application/x-xfig": { + "source": "apache", + "extensions": ["fig"] + }, + "application/x-xliff+xml": { + "source": "apache", + "compressible": true, + "extensions": ["xlf"] + }, + "application/x-xpinstall": { + "source": "apache", + "compressible": false, + "extensions": ["xpi"] + }, + "application/x-xz": { + "source": "apache", + "extensions": ["xz"] + }, + "application/x-zip-compressed": { + "extensions": ["zip"] + }, + "application/x-zmachine": { + "source": "apache", + "extensions": ["z1","z2","z3","z4","z5","z6","z7","z8"] + }, + "application/x400-bp": { + "source": "iana" + }, + "application/xacml+xml": { + "source": "iana", + "compressible": true + }, + "application/xaml+xml": { + "source": "apache", + "compressible": true, + "extensions": ["xaml"] + }, + "application/xcap-att+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xav"] + }, + "application/xcap-caps+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xca"] + }, + "application/xcap-diff+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xdf"] + }, + "application/xcap-el+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xel"] + }, + "application/xcap-error+xml": { + "source": "iana", + "compressible": true + }, + "application/xcap-ns+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xns"] + }, + "application/xcon-conference-info+xml": { + "source": "iana", + "compressible": true + }, + "application/xcon-conference-info-diff+xml": { + "source": "iana", + "compressible": true + }, + "application/xenc+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xenc"] + }, + "application/xfdf": { + "source": "iana", + "extensions": ["xfdf"] + }, + "application/xhtml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xhtml","xht"] + }, + "application/xhtml-voice+xml": { + "source": "apache", + "compressible": true + }, + "application/xliff+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xlf"] + }, + "application/xml": { + "source": "iana", + "compressible": true, + "extensions": ["xml","xsl","xsd","rng"] + }, + "application/xml-dtd": { + "source": "iana", + "compressible": true, + "extensions": ["dtd"] + }, + "application/xml-external-parsed-entity": { + "source": "iana" + }, + "application/xml-patch+xml": { + "source": "iana", + "compressible": true + }, + "application/xmpp+xml": { + "source": "iana", + "compressible": true + }, + "application/xop+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xop"] + }, + "application/xproc+xml": { + "source": "apache", + "compressible": true, + "extensions": ["xpl"] + }, + "application/xslt+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xsl","xslt"] + }, + "application/xspf+xml": { + "source": "apache", + "compressible": true, + "extensions": ["xspf"] + }, + "application/xv+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mxml","xhvml","xvml","xvm"] + }, + "application/yaml": { + "source": "iana" + }, + "application/yang": { + "source": "iana", + "extensions": ["yang"] + }, + "application/yang-data+cbor": { + "source": "iana" + }, + "application/yang-data+json": { + "source": "iana", + "compressible": true + }, + "application/yang-data+xml": { + "source": "iana", + "compressible": true + }, + "application/yang-patch+json": { + "source": "iana", + "compressible": true + }, + "application/yang-patch+xml": { + "source": "iana", + "compressible": true + }, + "application/yang-sid+json": { + "source": "iana", + "compressible": true + }, + "application/yin+xml": { + "source": "iana", + "compressible": true, + "extensions": ["yin"] + }, + "application/zip": { + "source": "iana", + "compressible": false, + "extensions": ["zip"] + }, + "application/zip+dotlottie": { + "extensions": ["lottie"] + }, + "application/zlib": { + "source": "iana" + }, + "application/zstd": { + "source": "iana" + }, + "audio/1d-interleaved-parityfec": { + "source": "iana" + }, + "audio/32kadpcm": { + "source": "iana" + }, + "audio/3gpp": { + "source": "iana", + "compressible": false, + "extensions": ["3gpp"] + }, + "audio/3gpp2": { + "source": "iana" + }, + "audio/aac": { + "source": "iana", + "extensions": ["adts","aac"] + }, + "audio/ac3": { + "source": "iana" + }, + "audio/adpcm": { + "source": "apache", + "extensions": ["adp"] + }, + "audio/amr": { + "source": "iana", + "extensions": ["amr"] + }, + "audio/amr-wb": { + "source": "iana" + }, + "audio/amr-wb+": { + "source": "iana" + }, + "audio/aptx": { + "source": "iana" + }, + "audio/asc": { + "source": "iana" + }, + "audio/atrac-advanced-lossless": { + "source": "iana" + }, + "audio/atrac-x": { + "source": "iana" + }, + "audio/atrac3": { + "source": "iana" + }, + "audio/basic": { + "source": "iana", + "compressible": false, + "extensions": ["au","snd"] + }, + "audio/bv16": { + "source": "iana" + }, + "audio/bv32": { + "source": "iana" + }, + "audio/clearmode": { + "source": "iana" + }, + "audio/cn": { + "source": "iana" + }, + "audio/dat12": { + "source": "iana" + }, + "audio/dls": { + "source": "iana" + }, + "audio/dsr-es201108": { + "source": "iana" + }, + "audio/dsr-es202050": { + "source": "iana" + }, + "audio/dsr-es202211": { + "source": "iana" + }, + "audio/dsr-es202212": { + "source": "iana" + }, + "audio/dv": { + "source": "iana" + }, + "audio/dvi4": { + "source": "iana" + }, + "audio/eac3": { + "source": "iana" + }, + "audio/encaprtp": { + "source": "iana" + }, + "audio/evrc": { + "source": "iana" + }, + "audio/evrc-qcp": { + "source": "iana" + }, + "audio/evrc0": { + "source": "iana" + }, + "audio/evrc1": { + "source": "iana" + }, + "audio/evrcb": { + "source": "iana" + }, + "audio/evrcb0": { + "source": "iana" + }, + "audio/evrcb1": { + "source": "iana" + }, + "audio/evrcnw": { + "source": "iana" + }, + "audio/evrcnw0": { + "source": "iana" + }, + "audio/evrcnw1": { + "source": "iana" + }, + "audio/evrcwb": { + "source": "iana" + }, + "audio/evrcwb0": { + "source": "iana" + }, + "audio/evrcwb1": { + "source": "iana" + }, + "audio/evs": { + "source": "iana" + }, + "audio/flac": { + "source": "iana" + }, + "audio/flexfec": { + "source": "iana" + }, + "audio/fwdred": { + "source": "iana" + }, + "audio/g711-0": { + "source": "iana" + }, + "audio/g719": { + "source": "iana" + }, + "audio/g722": { + "source": "iana" + }, + "audio/g7221": { + "source": "iana" + }, + "audio/g723": { + "source": "iana" + }, + "audio/g726-16": { + "source": "iana" + }, + "audio/g726-24": { + "source": "iana" + }, + "audio/g726-32": { + "source": "iana" + }, + "audio/g726-40": { + "source": "iana" + }, + "audio/g728": { + "source": "iana" + }, + "audio/g729": { + "source": "iana" + }, + "audio/g7291": { + "source": "iana" + }, + "audio/g729d": { + "source": "iana" + }, + "audio/g729e": { + "source": "iana" + }, + "audio/gsm": { + "source": "iana" + }, + "audio/gsm-efr": { + "source": "iana" + }, + "audio/gsm-hr-08": { + "source": "iana" + }, + "audio/ilbc": { + "source": "iana" + }, + "audio/ip-mr_v2.5": { + "source": "iana" + }, + "audio/isac": { + "source": "apache" + }, + "audio/l16": { + "source": "iana" + }, + "audio/l20": { + "source": "iana" + }, + "audio/l24": { + "source": "iana", + "compressible": false + }, + "audio/l8": { + "source": "iana" + }, + "audio/lpc": { + "source": "iana" + }, + "audio/matroska": { + "source": "iana" + }, + "audio/melp": { + "source": "iana" + }, + "audio/melp1200": { + "source": "iana" + }, + "audio/melp2400": { + "source": "iana" + }, + "audio/melp600": { + "source": "iana" + }, + "audio/mhas": { + "source": "iana" + }, + "audio/midi": { + "source": "apache", + "extensions": ["mid","midi","kar","rmi"] + }, + "audio/midi-clip": { + "source": "iana" + }, + "audio/mobile-xmf": { + "source": "iana", + "extensions": ["mxmf"] + }, + "audio/mp3": { + "compressible": false, + "extensions": ["mp3"] + }, + "audio/mp4": { + "source": "iana", + "compressible": false, + "extensions": ["m4a","mp4a","m4b"] + }, + "audio/mp4a-latm": { + "source": "iana" + }, + "audio/mpa": { + "source": "iana" + }, + "audio/mpa-robust": { + "source": "iana" + }, + "audio/mpeg": { + "source": "iana", + "compressible": false, + "extensions": ["mpga","mp2","mp2a","mp3","m2a","m3a"] + }, + "audio/mpeg4-generic": { + "source": "iana" + }, + "audio/musepack": { + "source": "apache" + }, + "audio/ogg": { + "source": "iana", + "compressible": false, + "extensions": ["oga","ogg","spx","opus"] + }, + "audio/opus": { + "source": "iana" + }, + "audio/parityfec": { + "source": "iana" + }, + "audio/pcma": { + "source": "iana" + }, + "audio/pcma-wb": { + "source": "iana" + }, + "audio/pcmu": { + "source": "iana" + }, + "audio/pcmu-wb": { + "source": "iana" + }, + "audio/prs.sid": { + "source": "iana" + }, + "audio/qcelp": { + "source": "iana" + }, + "audio/raptorfec": { + "source": "iana" + }, + "audio/red": { + "source": "iana" + }, + "audio/rtp-enc-aescm128": { + "source": "iana" + }, + "audio/rtp-midi": { + "source": "iana" + }, + "audio/rtploopback": { + "source": "iana" + }, + "audio/rtx": { + "source": "iana" + }, + "audio/s3m": { + "source": "apache", + "extensions": ["s3m"] + }, + "audio/scip": { + "source": "iana" + }, + "audio/silk": { + "source": "apache", + "extensions": ["sil"] + }, + "audio/smv": { + "source": "iana" + }, + "audio/smv-qcp": { + "source": "iana" + }, + "audio/smv0": { + "source": "iana" + }, + "audio/sofa": { + "source": "iana" + }, + "audio/sp-midi": { + "source": "iana" + }, + "audio/speex": { + "source": "iana" + }, + "audio/t140c": { + "source": "iana" + }, + "audio/t38": { + "source": "iana" + }, + "audio/telephone-event": { + "source": "iana" + }, + "audio/tetra_acelp": { + "source": "iana" + }, + "audio/tetra_acelp_bb": { + "source": "iana" + }, + "audio/tone": { + "source": "iana" + }, + "audio/tsvcis": { + "source": "iana" + }, + "audio/uemclip": { + "source": "iana" + }, + "audio/ulpfec": { + "source": "iana" + }, + "audio/usac": { + "source": "iana" + }, + "audio/vdvi": { + "source": "iana" + }, + "audio/vmr-wb": { + "source": "iana" + }, + "audio/vnd.3gpp.iufp": { + "source": "iana" + }, + "audio/vnd.4sb": { + "source": "iana" + }, + "audio/vnd.audiokoz": { + "source": "iana" + }, + "audio/vnd.celp": { + "source": "iana" + }, + "audio/vnd.cisco.nse": { + "source": "iana" + }, + "audio/vnd.cmles.radio-events": { + "source": "iana" + }, + "audio/vnd.cns.anp1": { + "source": "iana" + }, + "audio/vnd.cns.inf1": { + "source": "iana" + }, + "audio/vnd.dece.audio": { + "source": "iana", + "extensions": ["uva","uvva"] + }, + "audio/vnd.digital-winds": { + "source": "iana", + "extensions": ["eol"] + }, + "audio/vnd.dlna.adts": { + "source": "iana" + }, + "audio/vnd.dolby.heaac.1": { + "source": "iana" + }, + "audio/vnd.dolby.heaac.2": { + "source": "iana" + }, + "audio/vnd.dolby.mlp": { + "source": "iana" + }, + "audio/vnd.dolby.mps": { + "source": "iana" + }, + "audio/vnd.dolby.pl2": { + "source": "iana" + }, + "audio/vnd.dolby.pl2x": { + "source": "iana" + }, + "audio/vnd.dolby.pl2z": { + "source": "iana" + }, + "audio/vnd.dolby.pulse.1": { + "source": "iana" + }, + "audio/vnd.dra": { + "source": "iana", + "extensions": ["dra"] + }, + "audio/vnd.dts": { + "source": "iana", + "extensions": ["dts"] + }, + "audio/vnd.dts.hd": { + "source": "iana", + "extensions": ["dtshd"] + }, + "audio/vnd.dts.uhd": { + "source": "iana" + }, + "audio/vnd.dvb.file": { + "source": "iana" + }, + "audio/vnd.everad.plj": { + "source": "iana" + }, + "audio/vnd.hns.audio": { + "source": "iana" + }, + "audio/vnd.lucent.voice": { + "source": "iana", + "extensions": ["lvp"] + }, + "audio/vnd.ms-playready.media.pya": { + "source": "iana", + "extensions": ["pya"] + }, + "audio/vnd.nokia.mobile-xmf": { + "source": "iana" + }, + "audio/vnd.nortel.vbk": { + "source": "iana" + }, + "audio/vnd.nuera.ecelp4800": { + "source": "iana", + "extensions": ["ecelp4800"] + }, + "audio/vnd.nuera.ecelp7470": { + "source": "iana", + "extensions": ["ecelp7470"] + }, + "audio/vnd.nuera.ecelp9600": { + "source": "iana", + "extensions": ["ecelp9600"] + }, + "audio/vnd.octel.sbc": { + "source": "iana" + }, + "audio/vnd.presonus.multitrack": { + "source": "iana" + }, + "audio/vnd.qcelp": { + "source": "apache" + }, + "audio/vnd.rhetorex.32kadpcm": { + "source": "iana" + }, + "audio/vnd.rip": { + "source": "iana", + "extensions": ["rip"] + }, + "audio/vnd.rn-realaudio": { + "compressible": false + }, + "audio/vnd.sealedmedia.softseal.mpeg": { + "source": "iana" + }, + "audio/vnd.vmx.cvsd": { + "source": "iana" + }, + "audio/vnd.wave": { + "compressible": false + }, + "audio/vorbis": { + "source": "iana", + "compressible": false + }, + "audio/vorbis-config": { + "source": "iana" + }, + "audio/wav": { + "compressible": false, + "extensions": ["wav"] + }, + "audio/wave": { + "compressible": false, + "extensions": ["wav"] + }, + "audio/webm": { + "source": "apache", + "compressible": false, + "extensions": ["weba"] + }, + "audio/x-aac": { + "source": "apache", + "compressible": false, + "extensions": ["aac"] + }, + "audio/x-aiff": { + "source": "apache", + "extensions": ["aif","aiff","aifc"] + }, + "audio/x-caf": { + "source": "apache", + "compressible": false, + "extensions": ["caf"] + }, + "audio/x-flac": { + "source": "apache", + "extensions": ["flac"] + }, + "audio/x-m4a": { + "source": "nginx", + "extensions": ["m4a"] + }, + "audio/x-matroska": { + "source": "apache", + "extensions": ["mka"] + }, + "audio/x-mpegurl": { + "source": "apache", + "extensions": ["m3u"] + }, + "audio/x-ms-wax": { + "source": "apache", + "extensions": ["wax"] + }, + "audio/x-ms-wma": { + "source": "apache", + "extensions": ["wma"] + }, + "audio/x-pn-realaudio": { + "source": "apache", + "extensions": ["ram","ra"] + }, + "audio/x-pn-realaudio-plugin": { + "source": "apache", + "extensions": ["rmp"] + }, + "audio/x-realaudio": { + "source": "nginx", + "extensions": ["ra"] + }, + "audio/x-tta": { + "source": "apache" + }, + "audio/x-wav": { + "source": "apache", + "extensions": ["wav"] + }, + "audio/xm": { + "source": "apache", + "extensions": ["xm"] + }, + "chemical/x-cdx": { + "source": "apache", + "extensions": ["cdx"] + }, + "chemical/x-cif": { + "source": "apache", + "extensions": ["cif"] + }, + "chemical/x-cmdf": { + "source": "apache", + "extensions": ["cmdf"] + }, + "chemical/x-cml": { + "source": "apache", + "extensions": ["cml"] + }, + "chemical/x-csml": { + "source": "apache", + "extensions": ["csml"] + }, + "chemical/x-pdb": { + "source": "apache" + }, + "chemical/x-xyz": { + "source": "apache", + "extensions": ["xyz"] + }, + "font/collection": { + "source": "iana", + "extensions": ["ttc"] + }, + "font/otf": { + "source": "iana", + "compressible": true, + "extensions": ["otf"] + }, + "font/sfnt": { + "source": "iana" + }, + "font/ttf": { + "source": "iana", + "compressible": true, + "extensions": ["ttf"] + }, + "font/woff": { + "source": "iana", + "extensions": ["woff"] + }, + "font/woff2": { + "source": "iana", + "extensions": ["woff2"] + }, + "image/aces": { + "source": "iana", + "extensions": ["exr"] + }, + "image/apng": { + "source": "iana", + "compressible": false, + "extensions": ["apng"] + }, + "image/avci": { + "source": "iana", + "extensions": ["avci"] + }, + "image/avcs": { + "source": "iana", + "extensions": ["avcs"] + }, + "image/avif": { + "source": "iana", + "compressible": false, + "extensions": ["avif"] + }, + "image/bmp": { + "source": "iana", + "compressible": true, + "extensions": ["bmp","dib"] + }, + "image/cgm": { + "source": "iana", + "extensions": ["cgm"] + }, + "image/dicom-rle": { + "source": "iana", + "extensions": ["drle"] + }, + "image/dpx": { + "source": "iana", + "extensions": ["dpx"] + }, + "image/emf": { + "source": "iana", + "extensions": ["emf"] + }, + "image/fits": { + "source": "iana", + "extensions": ["fits"] + }, + "image/g3fax": { + "source": "iana", + "extensions": ["g3"] + }, + "image/gif": { + "source": "iana", + "compressible": false, + "extensions": ["gif"] + }, + "image/heic": { + "source": "iana", + "extensions": ["heic"] + }, + "image/heic-sequence": { + "source": "iana", + "extensions": ["heics"] + }, + "image/heif": { + "source": "iana", + "extensions": ["heif"] + }, + "image/heif-sequence": { + "source": "iana", + "extensions": ["heifs"] + }, + "image/hej2k": { + "source": "iana", + "extensions": ["hej2"] + }, + "image/ief": { + "source": "iana", + "extensions": ["ief"] + }, + "image/j2c": { + "source": "iana" + }, + "image/jaii": { + "source": "iana", + "extensions": ["jaii"] + }, + "image/jais": { + "source": "iana", + "extensions": ["jais"] + }, + "image/jls": { + "source": "iana", + "extensions": ["jls"] + }, + "image/jp2": { + "source": "iana", + "compressible": false, + "extensions": ["jp2","jpg2"] + }, + "image/jpeg": { + "source": "iana", + "compressible": false, + "extensions": ["jpg","jpeg","jpe"] + }, + "image/jph": { + "source": "iana", + "extensions": ["jph"] + }, + "image/jphc": { + "source": "iana", + "extensions": ["jhc"] + }, + "image/jpm": { + "source": "iana", + "compressible": false, + "extensions": ["jpm","jpgm"] + }, + "image/jpx": { + "source": "iana", + "compressible": false, + "extensions": ["jpx","jpf"] + }, + "image/jxl": { + "source": "iana", + "extensions": ["jxl"] + }, + "image/jxr": { + "source": "iana", + "extensions": ["jxr"] + }, + "image/jxra": { + "source": "iana", + "extensions": ["jxra"] + }, + "image/jxrs": { + "source": "iana", + "extensions": ["jxrs"] + }, + "image/jxs": { + "source": "iana", + "extensions": ["jxs"] + }, + "image/jxsc": { + "source": "iana", + "extensions": ["jxsc"] + }, + "image/jxsi": { + "source": "iana", + "extensions": ["jxsi"] + }, + "image/jxss": { + "source": "iana", + "extensions": ["jxss"] + }, + "image/ktx": { + "source": "iana", + "extensions": ["ktx"] + }, + "image/ktx2": { + "source": "iana", + "extensions": ["ktx2"] + }, + "image/naplps": { + "source": "iana" + }, + "image/pjpeg": { + "compressible": false, + "extensions": ["jfif"] + }, + "image/png": { + "source": "iana", + "compressible": false, + "extensions": ["png"] + }, + "image/prs.btif": { + "source": "iana", + "extensions": ["btif","btf"] + }, + "image/prs.pti": { + "source": "iana", + "extensions": ["pti"] + }, + "image/pwg-raster": { + "source": "iana" + }, + "image/sgi": { + "source": "apache", + "extensions": ["sgi"] + }, + "image/svg+xml": { + "source": "iana", + "compressible": true, + "extensions": ["svg","svgz"] + }, + "image/t38": { + "source": "iana", + "extensions": ["t38"] + }, + "image/tiff": { + "source": "iana", + "compressible": false, + "extensions": ["tif","tiff"] + }, + "image/tiff-fx": { + "source": "iana", + "extensions": ["tfx"] + }, + "image/vnd.adobe.photoshop": { + "source": "iana", + "compressible": true, + "extensions": ["psd"] + }, + "image/vnd.airzip.accelerator.azv": { + "source": "iana", + "extensions": ["azv"] + }, + "image/vnd.clip": { + "source": "iana" + }, + "image/vnd.cns.inf2": { + "source": "iana" + }, + "image/vnd.dece.graphic": { + "source": "iana", + "extensions": ["uvi","uvvi","uvg","uvvg"] + }, + "image/vnd.djvu": { + "source": "iana", + "extensions": ["djvu","djv"] + }, + "image/vnd.dvb.subtitle": { + "source": "iana", + "extensions": ["sub"] + }, + "image/vnd.dwg": { + "source": "iana", + "extensions": ["dwg"] + }, + "image/vnd.dxf": { + "source": "iana", + "extensions": ["dxf"] + }, + "image/vnd.fastbidsheet": { + "source": "iana", + "extensions": ["fbs"] + }, + "image/vnd.fpx": { + "source": "iana", + "extensions": ["fpx"] + }, + "image/vnd.fst": { + "source": "iana", + "extensions": ["fst"] + }, + "image/vnd.fujixerox.edmics-mmr": { + "source": "iana", + "extensions": ["mmr"] + }, + "image/vnd.fujixerox.edmics-rlc": { + "source": "iana", + "extensions": ["rlc"] + }, + "image/vnd.globalgraphics.pgb": { + "source": "iana" + }, + "image/vnd.microsoft.icon": { + "source": "iana", + "compressible": true, + "extensions": ["ico"] + }, + "image/vnd.mix": { + "source": "iana" + }, + "image/vnd.mozilla.apng": { + "source": "iana" + }, + "image/vnd.ms-dds": { + "compressible": true, + "extensions": ["dds"] + }, + "image/vnd.ms-modi": { + "source": "iana", + "extensions": ["mdi"] + }, + "image/vnd.ms-photo": { + "source": "apache", + "extensions": ["wdp"] + }, + "image/vnd.net-fpx": { + "source": "iana", + "extensions": ["npx"] + }, + "image/vnd.pco.b16": { + "source": "iana", + "extensions": ["b16"] + }, + "image/vnd.radiance": { + "source": "iana" + }, + "image/vnd.sealed.png": { + "source": "iana" + }, + "image/vnd.sealedmedia.softseal.gif": { + "source": "iana" + }, + "image/vnd.sealedmedia.softseal.jpg": { + "source": "iana" + }, + "image/vnd.svf": { + "source": "iana" + }, + "image/vnd.tencent.tap": { + "source": "iana", + "extensions": ["tap"] + }, + "image/vnd.valve.source.texture": { + "source": "iana", + "extensions": ["vtf"] + }, + "image/vnd.wap.wbmp": { + "source": "iana", + "extensions": ["wbmp"] + }, + "image/vnd.xiff": { + "source": "iana", + "extensions": ["xif"] + }, + "image/vnd.zbrush.pcx": { + "source": "iana", + "extensions": ["pcx"] + }, + "image/webp": { + "source": "iana", + "extensions": ["webp"] + }, + "image/wmf": { + "source": "iana", + "extensions": ["wmf"] + }, + "image/x-3ds": { + "source": "apache", + "extensions": ["3ds"] + }, + "image/x-adobe-dng": { + "extensions": ["dng"] + }, + "image/x-cmu-raster": { + "source": "apache", + "extensions": ["ras"] + }, + "image/x-cmx": { + "source": "apache", + "extensions": ["cmx"] + }, + "image/x-emf": { + "source": "iana" + }, + "image/x-freehand": { + "source": "apache", + "extensions": ["fh","fhc","fh4","fh5","fh7"] + }, + "image/x-icon": { + "source": "apache", + "compressible": true, + "extensions": ["ico"] + }, + "image/x-jng": { + "source": "nginx", + "extensions": ["jng"] + }, + "image/x-mrsid-image": { + "source": "apache", + "extensions": ["sid"] + }, + "image/x-ms-bmp": { + "source": "nginx", + "compressible": true, + "extensions": ["bmp"] + }, + "image/x-pcx": { + "source": "apache", + "extensions": ["pcx"] + }, + "image/x-pict": { + "source": "apache", + "extensions": ["pic","pct"] + }, + "image/x-portable-anymap": { + "source": "apache", + "extensions": ["pnm"] + }, + "image/x-portable-bitmap": { + "source": "apache", + "extensions": ["pbm"] + }, + "image/x-portable-graymap": { + "source": "apache", + "extensions": ["pgm"] + }, + "image/x-portable-pixmap": { + "source": "apache", + "extensions": ["ppm"] + }, + "image/x-rgb": { + "source": "apache", + "extensions": ["rgb"] + }, + "image/x-tga": { + "source": "apache", + "extensions": ["tga"] + }, + "image/x-wmf": { + "source": "iana" + }, + "image/x-xbitmap": { + "source": "apache", + "extensions": ["xbm"] + }, + "image/x-xcf": { + "compressible": false + }, + "image/x-xpixmap": { + "source": "apache", + "extensions": ["xpm"] + }, + "image/x-xwindowdump": { + "source": "apache", + "extensions": ["xwd"] + }, + "message/bhttp": { + "source": "iana" + }, + "message/cpim": { + "source": "iana" + }, + "message/delivery-status": { + "source": "iana" + }, + "message/disposition-notification": { + "source": "iana", + "extensions": [ + "disposition-notification" + ] + }, + "message/external-body": { + "source": "iana" + }, + "message/feedback-report": { + "source": "iana" + }, + "message/global": { + "source": "iana", + "extensions": ["u8msg"] + }, + "message/global-delivery-status": { + "source": "iana", + "extensions": ["u8dsn"] + }, + "message/global-disposition-notification": { + "source": "iana", + "extensions": ["u8mdn"] + }, + "message/global-headers": { + "source": "iana", + "extensions": ["u8hdr"] + }, + "message/http": { + "source": "iana", + "compressible": false + }, + "message/imdn+xml": { + "source": "iana", + "compressible": true + }, + "message/mls": { + "source": "iana" + }, + "message/news": { + "source": "apache" + }, + "message/ohttp-req": { + "source": "iana" + }, + "message/ohttp-res": { + "source": "iana" + }, + "message/partial": { + "source": "iana", + "compressible": false + }, + "message/rfc822": { + "source": "iana", + "compressible": true, + "extensions": ["eml","mime","mht","mhtml"] + }, + "message/s-http": { + "source": "apache" + }, + "message/sip": { + "source": "iana" + }, + "message/sipfrag": { + "source": "iana" + }, + "message/tracking-status": { + "source": "iana" + }, + "message/vnd.si.simp": { + "source": "apache" + }, + "message/vnd.wfa.wsc": { + "source": "iana", + "extensions": ["wsc"] + }, + "model/3mf": { + "source": "iana", + "extensions": ["3mf"] + }, + "model/e57": { + "source": "iana" + }, + "model/gltf+json": { + "source": "iana", + "compressible": true, + "extensions": ["gltf"] + }, + "model/gltf-binary": { + "source": "iana", + "compressible": true, + "extensions": ["glb"] + }, + "model/iges": { + "source": "iana", + "compressible": false, + "extensions": ["igs","iges"] + }, + "model/jt": { + "source": "iana", + "extensions": ["jt"] + }, + "model/mesh": { + "source": "iana", + "compressible": false, + "extensions": ["msh","mesh","silo"] + }, + "model/mtl": { + "source": "iana", + "extensions": ["mtl"] + }, + "model/obj": { + "source": "iana", + "extensions": ["obj"] + }, + "model/prc": { + "source": "iana", + "extensions": ["prc"] + }, + "model/step": { + "source": "iana", + "extensions": ["step","stp","stpnc","p21","210"] + }, + "model/step+xml": { + "source": "iana", + "compressible": true, + "extensions": ["stpx"] + }, + "model/step+zip": { + "source": "iana", + "compressible": false, + "extensions": ["stpz"] + }, + "model/step-xml+zip": { + "source": "iana", + "compressible": false, + "extensions": ["stpxz"] + }, + "model/stl": { + "source": "iana", + "extensions": ["stl"] + }, + "model/u3d": { + "source": "iana", + "extensions": ["u3d"] + }, + "model/vnd.bary": { + "source": "iana", + "extensions": ["bary"] + }, + "model/vnd.cld": { + "source": "iana", + "extensions": ["cld"] + }, + "model/vnd.collada+xml": { + "source": "iana", + "compressible": true, + "extensions": ["dae"] + }, + "model/vnd.dwf": { + "source": "iana", + "extensions": ["dwf"] + }, + "model/vnd.flatland.3dml": { + "source": "iana" + }, + "model/vnd.gdl": { + "source": "iana", + "extensions": ["gdl"] + }, + "model/vnd.gs-gdl": { + "source": "apache" + }, + "model/vnd.gs.gdl": { + "source": "iana" + }, + "model/vnd.gtw": { + "source": "iana", + "extensions": ["gtw"] + }, + "model/vnd.moml+xml": { + "source": "iana", + "compressible": true + }, + "model/vnd.mts": { + "source": "iana", + "extensions": ["mts"] + }, + "model/vnd.opengex": { + "source": "iana", + "extensions": ["ogex"] + }, + "model/vnd.parasolid.transmit.binary": { + "source": "iana", + "extensions": ["x_b"] + }, + "model/vnd.parasolid.transmit.text": { + "source": "iana", + "extensions": ["x_t"] + }, + "model/vnd.pytha.pyox": { + "source": "iana", + "extensions": ["pyo","pyox"] + }, + "model/vnd.rosette.annotated-data-model": { + "source": "iana" + }, + "model/vnd.sap.vds": { + "source": "iana", + "extensions": ["vds"] + }, + "model/vnd.usda": { + "source": "iana", + "extensions": ["usda"] + }, + "model/vnd.usdz+zip": { + "source": "iana", + "compressible": false, + "extensions": ["usdz"] + }, + "model/vnd.valve.source.compiled-map": { + "source": "iana", + "extensions": ["bsp"] + }, + "model/vnd.vtu": { + "source": "iana", + "extensions": ["vtu"] + }, + "model/vrml": { + "source": "iana", + "compressible": false, + "extensions": ["wrl","vrml"] + }, + "model/x3d+binary": { + "source": "apache", + "compressible": false, + "extensions": ["x3db","x3dbz"] + }, + "model/x3d+fastinfoset": { + "source": "iana", + "extensions": ["x3db"] + }, + "model/x3d+vrml": { + "source": "apache", + "compressible": false, + "extensions": ["x3dv","x3dvz"] + }, + "model/x3d+xml": { + "source": "iana", + "compressible": true, + "extensions": ["x3d","x3dz"] + }, + "model/x3d-vrml": { + "source": "iana", + "extensions": ["x3dv"] + }, + "multipart/alternative": { + "source": "iana", + "compressible": false + }, + "multipart/appledouble": { + "source": "iana" + }, + "multipart/byteranges": { + "source": "iana" + }, + "multipart/digest": { + "source": "iana" + }, + "multipart/encrypted": { + "source": "iana", + "compressible": false + }, + "multipart/form-data": { + "source": "iana", + "compressible": false + }, + "multipart/header-set": { + "source": "iana" + }, + "multipart/mixed": { + "source": "iana" + }, + "multipart/multilingual": { + "source": "iana" + }, + "multipart/parallel": { + "source": "iana" + }, + "multipart/related": { + "source": "iana", + "compressible": false + }, + "multipart/report": { + "source": "iana" + }, + "multipart/signed": { + "source": "iana", + "compressible": false + }, + "multipart/vnd.bint.med-plus": { + "source": "iana" + }, + "multipart/voice-message": { + "source": "iana" + }, + "multipart/x-mixed-replace": { + "source": "iana" + }, + "text/1d-interleaved-parityfec": { + "source": "iana" + }, + "text/cache-manifest": { + "source": "iana", + "compressible": true, + "extensions": ["appcache","manifest"] + }, + "text/calendar": { + "source": "iana", + "extensions": ["ics","ifb"] + }, + "text/calender": { + "compressible": true + }, + "text/cmd": { + "compressible": true + }, + "text/coffeescript": { + "extensions": ["coffee","litcoffee"] + }, + "text/cql": { + "source": "iana" + }, + "text/cql-expression": { + "source": "iana" + }, + "text/cql-identifier": { + "source": "iana" + }, + "text/css": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["css"] + }, + "text/csv": { + "source": "iana", + "compressible": true, + "extensions": ["csv"] + }, + "text/csv-schema": { + "source": "iana" + }, + "text/directory": { + "source": "iana" + }, + "text/dns": { + "source": "iana" + }, + "text/ecmascript": { + "source": "apache" + }, + "text/encaprtp": { + "source": "iana" + }, + "text/enriched": { + "source": "iana" + }, + "text/fhirpath": { + "source": "iana" + }, + "text/flexfec": { + "source": "iana" + }, + "text/fwdred": { + "source": "iana" + }, + "text/gff3": { + "source": "iana" + }, + "text/grammar-ref-list": { + "source": "iana" + }, + "text/hl7v2": { + "source": "iana" + }, + "text/html": { + "source": "iana", + "compressible": true, + "extensions": ["html","htm","shtml"] + }, + "text/jade": { + "extensions": ["jade"] + }, + "text/javascript": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["js","mjs"] + }, + "text/jcr-cnd": { + "source": "iana" + }, + "text/jsx": { + "compressible": true, + "extensions": ["jsx"] + }, + "text/less": { + "compressible": true, + "extensions": ["less"] + }, + "text/markdown": { + "source": "iana", + "compressible": true, + "extensions": ["md","markdown"] + }, + "text/mathml": { + "source": "nginx", + "extensions": ["mml"] + }, + "text/mdx": { + "compressible": true, + "extensions": ["mdx"] + }, + "text/mizar": { + "source": "iana" + }, + "text/n3": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["n3"] + }, + "text/parameters": { + "source": "iana", + "charset": "UTF-8" + }, + "text/parityfec": { + "source": "iana" + }, + "text/plain": { + "source": "iana", + "compressible": true, + "extensions": ["txt","text","conf","def","list","log","in","ini"] + }, + "text/provenance-notation": { + "source": "iana", + "charset": "UTF-8" + }, + "text/prs.fallenstein.rst": { + "source": "iana" + }, + "text/prs.lines.tag": { + "source": "iana", + "extensions": ["dsc"] + }, + "text/prs.prop.logic": { + "source": "iana" + }, + "text/prs.texi": { + "source": "iana" + }, + "text/raptorfec": { + "source": "iana" + }, + "text/red": { + "source": "iana" + }, + "text/rfc822-headers": { + "source": "iana" + }, + "text/richtext": { + "source": "iana", + "compressible": true, + "extensions": ["rtx"] + }, + "text/rtf": { + "source": "iana", + "compressible": true, + "extensions": ["rtf"] + }, + "text/rtp-enc-aescm128": { + "source": "iana" + }, + "text/rtploopback": { + "source": "iana" + }, + "text/rtx": { + "source": "iana" + }, + "text/sgml": { + "source": "iana", + "extensions": ["sgml","sgm"] + }, + "text/shaclc": { + "source": "iana" + }, + "text/shex": { + "source": "iana", + "extensions": ["shex"] + }, + "text/slim": { + "extensions": ["slim","slm"] + }, + "text/spdx": { + "source": "iana", + "extensions": ["spdx"] + }, + "text/strings": { + "source": "iana" + }, + "text/stylus": { + "extensions": ["stylus","styl"] + }, + "text/t140": { + "source": "iana" + }, + "text/tab-separated-values": { + "source": "iana", + "compressible": true, + "extensions": ["tsv"] + }, + "text/troff": { + "source": "iana", + "extensions": ["t","tr","roff","man","me","ms"] + }, + "text/turtle": { + "source": "iana", + "charset": "UTF-8", + "extensions": ["ttl"] + }, + "text/ulpfec": { + "source": "iana" + }, + "text/uri-list": { + "source": "iana", + "compressible": true, + "extensions": ["uri","uris","urls"] + }, + "text/vcard": { + "source": "iana", + "compressible": true, + "extensions": ["vcard"] + }, + "text/vnd.a": { + "source": "iana" + }, + "text/vnd.abc": { + "source": "iana" + }, + "text/vnd.ascii-art": { + "source": "iana" + }, + "text/vnd.curl": { + "source": "iana", + "extensions": ["curl"] + }, + "text/vnd.curl.dcurl": { + "source": "apache", + "extensions": ["dcurl"] + }, + "text/vnd.curl.mcurl": { + "source": "apache", + "extensions": ["mcurl"] + }, + "text/vnd.curl.scurl": { + "source": "apache", + "extensions": ["scurl"] + }, + "text/vnd.debian.copyright": { + "source": "iana", + "charset": "UTF-8" + }, + "text/vnd.dmclientscript": { + "source": "iana" + }, + "text/vnd.dvb.subtitle": { + "source": "iana", + "extensions": ["sub"] + }, + "text/vnd.esmertec.theme-descriptor": { + "source": "iana", + "charset": "UTF-8" + }, + "text/vnd.exchangeable": { + "source": "iana" + }, + "text/vnd.familysearch.gedcom": { + "source": "iana", + "extensions": ["ged"] + }, + "text/vnd.ficlab.flt": { + "source": "iana" + }, + "text/vnd.fly": { + "source": "iana", + "extensions": ["fly"] + }, + "text/vnd.fmi.flexstor": { + "source": "iana", + "extensions": ["flx"] + }, + "text/vnd.gml": { + "source": "iana" + }, + "text/vnd.graphviz": { + "source": "iana", + "extensions": ["gv"] + }, + "text/vnd.hans": { + "source": "iana" + }, + "text/vnd.hgl": { + "source": "iana" + }, + "text/vnd.in3d.3dml": { + "source": "iana", + "extensions": ["3dml"] + }, + "text/vnd.in3d.spot": { + "source": "iana", + "extensions": ["spot"] + }, + "text/vnd.iptc.newsml": { + "source": "iana" + }, + "text/vnd.iptc.nitf": { + "source": "iana" + }, + "text/vnd.latex-z": { + "source": "iana" + }, + "text/vnd.motorola.reflex": { + "source": "iana" + }, + "text/vnd.ms-mediapackage": { + "source": "iana" + }, + "text/vnd.net2phone.commcenter.command": { + "source": "iana" + }, + "text/vnd.radisys.msml-basic-layout": { + "source": "iana" + }, + "text/vnd.senx.warpscript": { + "source": "iana" + }, + "text/vnd.si.uricatalogue": { + "source": "apache" + }, + "text/vnd.sosi": { + "source": "iana" + }, + "text/vnd.sun.j2me.app-descriptor": { + "source": "iana", + "charset": "UTF-8", + "extensions": ["jad"] + }, + "text/vnd.trolltech.linguist": { + "source": "iana", + "charset": "UTF-8" + }, + "text/vnd.vcf": { + "source": "iana" + }, + "text/vnd.wap.si": { + "source": "iana" + }, + "text/vnd.wap.sl": { + "source": "iana" + }, + "text/vnd.wap.wml": { + "source": "iana", + "extensions": ["wml"] + }, + "text/vnd.wap.wmlscript": { + "source": "iana", + "extensions": ["wmls"] + }, + "text/vnd.zoo.kcl": { + "source": "iana" + }, + "text/vtt": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["vtt"] + }, + "text/wgsl": { + "source": "iana", + "extensions": ["wgsl"] + }, + "text/x-asm": { + "source": "apache", + "extensions": ["s","asm"] + }, + "text/x-c": { + "source": "apache", + "extensions": ["c","cc","cxx","cpp","h","hh","dic"] + }, + "text/x-component": { + "source": "nginx", + "extensions": ["htc"] + }, + "text/x-fortran": { + "source": "apache", + "extensions": ["f","for","f77","f90"] + }, + "text/x-gwt-rpc": { + "compressible": true + }, + "text/x-handlebars-template": { + "extensions": ["hbs"] + }, + "text/x-java-source": { + "source": "apache", + "extensions": ["java"] + }, + "text/x-jquery-tmpl": { + "compressible": true + }, + "text/x-lua": { + "extensions": ["lua"] + }, + "text/x-markdown": { + "compressible": true, + "extensions": ["mkd"] + }, + "text/x-nfo": { + "source": "apache", + "extensions": ["nfo"] + }, + "text/x-opml": { + "source": "apache", + "extensions": ["opml"] + }, + "text/x-org": { + "compressible": true, + "extensions": ["org"] + }, + "text/x-pascal": { + "source": "apache", + "extensions": ["p","pas"] + }, + "text/x-processing": { + "compressible": true, + "extensions": ["pde"] + }, + "text/x-sass": { + "extensions": ["sass"] + }, + "text/x-scss": { + "extensions": ["scss"] + }, + "text/x-setext": { + "source": "apache", + "extensions": ["etx"] + }, + "text/x-sfv": { + "source": "apache", + "extensions": ["sfv"] + }, + "text/x-suse-ymp": { + "compressible": true, + "extensions": ["ymp"] + }, + "text/x-uuencode": { + "source": "apache", + "extensions": ["uu"] + }, + "text/x-vcalendar": { + "source": "apache", + "extensions": ["vcs"] + }, + "text/x-vcard": { + "source": "apache", + "extensions": ["vcf"] + }, + "text/xml": { + "source": "iana", + "compressible": true, + "extensions": ["xml"] + }, + "text/xml-external-parsed-entity": { + "source": "iana" + }, + "text/yaml": { + "compressible": true, + "extensions": ["yaml","yml"] + }, + "video/1d-interleaved-parityfec": { + "source": "iana" + }, + "video/3gpp": { + "source": "iana", + "extensions": ["3gp","3gpp"] + }, + "video/3gpp-tt": { + "source": "iana" + }, + "video/3gpp2": { + "source": "iana", + "extensions": ["3g2"] + }, + "video/av1": { + "source": "iana" + }, + "video/bmpeg": { + "source": "iana" + }, + "video/bt656": { + "source": "iana" + }, + "video/celb": { + "source": "iana" + }, + "video/dv": { + "source": "iana" + }, + "video/encaprtp": { + "source": "iana" + }, + "video/evc": { + "source": "iana" + }, + "video/ffv1": { + "source": "iana" + }, + "video/flexfec": { + "source": "iana" + }, + "video/h261": { + "source": "iana", + "extensions": ["h261"] + }, + "video/h263": { + "source": "iana", + "extensions": ["h263"] + }, + "video/h263-1998": { + "source": "iana" + }, + "video/h263-2000": { + "source": "iana" + }, + "video/h264": { + "source": "iana", + "extensions": ["h264"] + }, + "video/h264-rcdo": { + "source": "iana" + }, + "video/h264-svc": { + "source": "iana" + }, + "video/h265": { + "source": "iana" + }, + "video/h266": { + "source": "iana" + }, + "video/iso.segment": { + "source": "iana", + "extensions": ["m4s"] + }, + "video/jpeg": { + "source": "iana", + "extensions": ["jpgv"] + }, + "video/jpeg2000": { + "source": "iana" + }, + "video/jpm": { + "source": "apache", + "extensions": ["jpm","jpgm"] + }, + "video/jxsv": { + "source": "iana" + }, + "video/lottie+json": { + "source": "iana", + "compressible": true + }, + "video/matroska": { + "source": "iana" + }, + "video/matroska-3d": { + "source": "iana" + }, + "video/mj2": { + "source": "iana", + "extensions": ["mj2","mjp2"] + }, + "video/mp1s": { + "source": "iana" + }, + "video/mp2p": { + "source": "iana" + }, + "video/mp2t": { + "source": "iana", + "extensions": ["ts","m2t","m2ts","mts"] + }, + "video/mp4": { + "source": "iana", + "compressible": false, + "extensions": ["mp4","mp4v","mpg4"] + }, + "video/mp4v-es": { + "source": "iana" + }, + "video/mpeg": { + "source": "iana", + "compressible": false, + "extensions": ["mpeg","mpg","mpe","m1v","m2v"] + }, + "video/mpeg4-generic": { + "source": "iana" + }, + "video/mpv": { + "source": "iana" + }, + "video/nv": { + "source": "iana" + }, + "video/ogg": { + "source": "iana", + "compressible": false, + "extensions": ["ogv"] + }, + "video/parityfec": { + "source": "iana" + }, + "video/pointer": { + "source": "iana" + }, + "video/quicktime": { + "source": "iana", + "compressible": false, + "extensions": ["qt","mov"] + }, + "video/raptorfec": { + "source": "iana" + }, + "video/raw": { + "source": "iana" + }, + "video/rtp-enc-aescm128": { + "source": "iana" + }, + "video/rtploopback": { + "source": "iana" + }, + "video/rtx": { + "source": "iana" + }, + "video/scip": { + "source": "iana" + }, + "video/smpte291": { + "source": "iana" + }, + "video/smpte292m": { + "source": "iana" + }, + "video/ulpfec": { + "source": "iana" + }, + "video/vc1": { + "source": "iana" + }, + "video/vc2": { + "source": "iana" + }, + "video/vnd.cctv": { + "source": "iana" + }, + "video/vnd.dece.hd": { + "source": "iana", + "extensions": ["uvh","uvvh"] + }, + "video/vnd.dece.mobile": { + "source": "iana", + "extensions": ["uvm","uvvm"] + }, + "video/vnd.dece.mp4": { + "source": "iana" + }, + "video/vnd.dece.pd": { + "source": "iana", + "extensions": ["uvp","uvvp"] + }, + "video/vnd.dece.sd": { + "source": "iana", + "extensions": ["uvs","uvvs"] + }, + "video/vnd.dece.video": { + "source": "iana", + "extensions": ["uvv","uvvv"] + }, + "video/vnd.directv.mpeg": { + "source": "iana" + }, + "video/vnd.directv.mpeg-tts": { + "source": "iana" + }, + "video/vnd.dlna.mpeg-tts": { + "source": "iana" + }, + "video/vnd.dvb.file": { + "source": "iana", + "extensions": ["dvb"] + }, + "video/vnd.fvt": { + "source": "iana", + "extensions": ["fvt"] + }, + "video/vnd.hns.video": { + "source": "iana" + }, + "video/vnd.iptvforum.1dparityfec-1010": { + "source": "iana" + }, + "video/vnd.iptvforum.1dparityfec-2005": { + "source": "iana" + }, + "video/vnd.iptvforum.2dparityfec-1010": { + "source": "iana" + }, + "video/vnd.iptvforum.2dparityfec-2005": { + "source": "iana" + }, + "video/vnd.iptvforum.ttsavc": { + "source": "iana" + }, + "video/vnd.iptvforum.ttsmpeg2": { + "source": "iana" + }, + "video/vnd.motorola.video": { + "source": "iana" + }, + "video/vnd.motorola.videop": { + "source": "iana" + }, + "video/vnd.mpegurl": { + "source": "iana", + "extensions": ["mxu","m4u"] + }, + "video/vnd.ms-playready.media.pyv": { + "source": "iana", + "extensions": ["pyv"] + }, + "video/vnd.nokia.interleaved-multimedia": { + "source": "iana" + }, + "video/vnd.nokia.mp4vr": { + "source": "iana" + }, + "video/vnd.nokia.videovoip": { + "source": "iana" + }, + "video/vnd.objectvideo": { + "source": "iana" + }, + "video/vnd.planar": { + "source": "iana" + }, + "video/vnd.radgamettools.bink": { + "source": "iana" + }, + "video/vnd.radgamettools.smacker": { + "source": "apache" + }, + "video/vnd.sealed.mpeg1": { + "source": "iana" + }, + "video/vnd.sealed.mpeg4": { + "source": "iana" + }, + "video/vnd.sealed.swf": { + "source": "iana" + }, + "video/vnd.sealedmedia.softseal.mov": { + "source": "iana" + }, + "video/vnd.uvvu.mp4": { + "source": "iana", + "extensions": ["uvu","uvvu"] + }, + "video/vnd.vivo": { + "source": "iana", + "extensions": ["viv"] + }, + "video/vnd.youtube.yt": { + "source": "iana" + }, + "video/vp8": { + "source": "iana" + }, + "video/vp9": { + "source": "iana" + }, + "video/webm": { + "source": "apache", + "compressible": false, + "extensions": ["webm"] + }, + "video/x-f4v": { + "source": "apache", + "extensions": ["f4v"] + }, + "video/x-fli": { + "source": "apache", + "extensions": ["fli"] + }, + "video/x-flv": { + "source": "apache", + "compressible": false, + "extensions": ["flv"] + }, + "video/x-m4v": { + "source": "apache", + "extensions": ["m4v"] + }, + "video/x-matroska": { + "source": "apache", + "compressible": false, + "extensions": ["mkv","mk3d","mks"] + }, + "video/x-mng": { + "source": "apache", + "extensions": ["mng"] + }, + "video/x-ms-asf": { + "source": "apache", + "extensions": ["asf","asx"] + }, + "video/x-ms-vob": { + "source": "apache", + "extensions": ["vob"] + }, + "video/x-ms-wm": { + "source": "apache", + "extensions": ["wm"] + }, + "video/x-ms-wmv": { + "source": "apache", + "compressible": false, + "extensions": ["wmv"] + }, + "video/x-ms-wmx": { + "source": "apache", + "extensions": ["wmx"] + }, + "video/x-ms-wvx": { + "source": "apache", + "extensions": ["wvx"] + }, + "video/x-msvideo": { + "source": "apache", + "extensions": ["avi"] + }, + "video/x-sgi-movie": { + "source": "apache", + "extensions": ["movie"] + }, + "video/x-smv": { + "source": "apache", + "extensions": ["smv"] + }, + "x-conference/x-cooltalk": { + "source": "apache", + "extensions": ["ice"] + }, + "x-shader/x-fragment": { + "compressible": true + }, + "x-shader/x-vertex": { + "compressible": true + } +} diff --git a/data/281 b/data/281 new file mode 100644 index 0000000..443e716 --- /dev/null +++ b/data/281 @@ -0,0 +1,133 @@ +# parseurl + +[![NPM Version][npm-version-image]][npm-url] +[![NPM Downloads][npm-downloads-image]][npm-url] +[![Node.js Version][node-image]][node-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Parse a URL with memoization. + +## Install + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```sh +$ npm install parseurl +``` + +## API + +```js +var parseurl = require('parseurl') +``` + +### parseurl(req) + +Parse the URL of the given request object (looks at the `req.url` property) +and return the result. The result is the same as `url.parse` in Node.js core. +Calling this function multiple times on the same `req` where `req.url` does +not change will return a cached parsed object, rather than parsing again. + +### parseurl.original(req) + +Parse the original URL of the given request object and return the result. +This works by trying to parse `req.originalUrl` if it is a string, otherwise +parses `req.url`. The result is the same as `url.parse` in Node.js core. +Calling this function multiple times on the same `req` where `req.originalUrl` +does not change will return a cached parsed object, rather than parsing again. + +## Benchmark + +```bash +$ npm run-script bench + +> parseurl@1.3.3 bench nodejs-parseurl +> node benchmark/index.js + + http_parser@2.8.0 + node@10.6.0 + v8@6.7.288.46-node.13 + uv@1.21.0 + zlib@1.2.11 + ares@1.14.0 + modules@64 + nghttp2@1.32.0 + napi@3 + openssl@1.1.0h + icu@61.1 + unicode@10.0 + cldr@33.0 + tz@2018c + +> node benchmark/fullurl.js + + Parsing URL "http://localhost:8888/foo/bar?user=tj&pet=fluffy" + + 4 tests completed. + + fasturl x 2,207,842 ops/sec ±3.76% (184 runs sampled) + nativeurl - legacy x 507,180 ops/sec ±0.82% (191 runs sampled) + nativeurl - whatwg x 290,044 ops/sec ±1.96% (189 runs sampled) + parseurl x 488,907 ops/sec ±2.13% (192 runs sampled) + +> node benchmark/pathquery.js + + Parsing URL "/foo/bar?user=tj&pet=fluffy" + + 4 tests completed. + + fasturl x 3,812,564 ops/sec ±3.15% (188 runs sampled) + nativeurl - legacy x 2,651,631 ops/sec ±1.68% (189 runs sampled) + nativeurl - whatwg x 161,837 ops/sec ±2.26% (189 runs sampled) + parseurl x 4,166,338 ops/sec ±2.23% (184 runs sampled) + +> node benchmark/samerequest.js + + Parsing URL "/foo/bar?user=tj&pet=fluffy" on same request object + + 4 tests completed. + + fasturl x 3,821,651 ops/sec ±2.42% (185 runs sampled) + nativeurl - legacy x 2,651,162 ops/sec ±1.90% (187 runs sampled) + nativeurl - whatwg x 175,166 ops/sec ±1.44% (188 runs sampled) + parseurl x 14,912,606 ops/sec ±3.59% (183 runs sampled) + +> node benchmark/simplepath.js + + Parsing URL "/foo/bar" + + 4 tests completed. + + fasturl x 12,421,765 ops/sec ±2.04% (191 runs sampled) + nativeurl - legacy x 7,546,036 ops/sec ±1.41% (188 runs sampled) + nativeurl - whatwg x 198,843 ops/sec ±1.83% (189 runs sampled) + parseurl x 24,244,006 ops/sec ±0.51% (194 runs sampled) + +> node benchmark/slash.js + + Parsing URL "/" + + 4 tests completed. + + fasturl x 17,159,456 ops/sec ±3.25% (188 runs sampled) + nativeurl - legacy x 11,635,097 ops/sec ±3.79% (184 runs sampled) + nativeurl - whatwg x 240,693 ops/sec ±0.83% (189 runs sampled) + parseurl x 42,279,067 ops/sec ±0.55% (190 runs sampled) +``` + +## License + + [MIT](LICENSE) + +[coveralls-image]: https://badgen.net/coveralls/c/github/pillarjs/parseurl/master +[coveralls-url]: https://coveralls.io/r/pillarjs/parseurl?branch=master +[node-image]: https://badgen.net/npm/node/parseurl +[node-url]: https://nodejs.org/en/download +[npm-downloads-image]: https://badgen.net/npm/dm/parseurl +[npm-url]: https://npmjs.org/package/parseurl +[npm-version-image]: https://badgen.net/npm/v/parseurl +[travis-image]: https://badgen.net/travis/pillarjs/parseurl/master +[travis-url]: https://travis-ci.org/pillarjs/parseurl diff --git a/data/282 b/data/282 new file mode 100644 index 0000000..c247e82 --- /dev/null +++ b/data/282 @@ -0,0 +1,84 @@ +# range-parser + +[![NPM Version][npm-version-image]][npm-url] +[![NPM Downloads][npm-downloads-image]][npm-url] +[![Node.js Version][node-image]][node-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Range header field parser. + +## Installation + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```sh +$ npm install range-parser +``` + +## API + + + +```js +var parseRange = require('range-parser') +``` + +### parseRange(size, header, options) + +Parse the given `header` string where `size` is the maximum size of the resource. +An array of ranges will be returned or negative numbers indicating an error parsing. + + * `-2` signals a malformed header string + * `-1` signals an unsatisfiable range + + + +```js +// parse header from request +var range = parseRange(size, req.headers.range) + +// the type of the range +if (range.type === 'bytes') { + // the ranges + range.forEach(function (r) { + // do something with r.start and r.end + }) +} +``` + +#### Options + +These properties are accepted in the options object. + +##### combine + +Specifies if overlapping & adjacent ranges should be combined, defaults to `false`. +When `true`, ranges will be combined and returned as if they were specified that +way in the header. + + + +```js +parseRange(100, 'bytes=50-55,0-10,5-10,56-60', { combine: true }) +// => [ +// { start: 0, end: 10 }, +// { start: 50, end: 60 } +// ] +``` + +## License + +[MIT](LICENSE) + +[coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/range-parser/master +[coveralls-url]: https://coveralls.io/r/jshttp/range-parser?branch=master +[node-image]: https://badgen.net/npm/node/range-parser +[node-url]: https://nodejs.org/en/download +[npm-downloads-image]: https://badgen.net/npm/dm/range-parser +[npm-url]: https://npmjs.org/package/range-parser +[npm-version-image]: https://badgen.net/npm/v/range-parser +[travis-image]: https://badgen.net/travis/jshttp/range-parser/master +[travis-url]: https://travis-ci.org/jshttp/range-parser diff --git a/data/283 b/data/283 new file mode 100644 index 0000000..b1c5665 --- /dev/null +++ b/data/283 @@ -0,0 +1,42 @@ +Browser-friendly inheritance fully compatible with standard node.js +[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor). + +This package exports standard `inherits` from node.js `util` module in +node environment, but also provides alternative browser-friendly +implementation through [browser +field](https://gist.github.com/shtylman/4339901). Alternative +implementation is a literal copy of standard one located in standalone +module to avoid requiring of `util`. It also has a shim for old +browsers with no `Object.create` support. + +While keeping you sure you are using standard `inherits` +implementation in node.js environment, it allows bundlers such as +[browserify](https://github.com/substack/node-browserify) to not +include full `util` package to your client code if all you need is +just `inherits` function. It worth, because browser shim for `util` +package is large and `inherits` is often the single function you need +from it. + +It's recommended to use this package instead of +`require('util').inherits` for any code that has chances to be used +not only in node.js but in browser too. + +## usage + +```js +var inherits = require('inherits'); +// then use exactly as the standard one +``` + +## note on version ~1.0 + +Version ~1.0 had completely different motivation and is not compatible +neither with 2.0 nor with standard node.js `inherits`. + +If you are using version ~1.0 and planning to switch to ~2.0, be +careful: + +* new version uses `super_` instead of `super` for referencing + superclass +* new version overwrites current prototype while old one preserves any + existing fields on it diff --git a/data/284 b/data/284 new file mode 100644 index 0000000..8973cde --- /dev/null +++ b/data/284 @@ -0,0 +1,162 @@ +# on-finished + +[![NPM Version][npm-version-image]][npm-url] +[![NPM Downloads][npm-downloads-image]][npm-url] +[![Node.js Version][node-image]][node-url] +[![Build Status][ci-image]][ci-url] +[![Coverage Status][coveralls-image]][coveralls-url] + +Execute a callback when a HTTP request closes, finishes, or errors. + +## Install + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```sh +$ npm install on-finished +``` + +## API + +```js +var onFinished = require('on-finished') +``` + +### onFinished(res, listener) + +Attach a listener to listen for the response to finish. The listener will +be invoked only once when the response finished. If the response finished +to an error, the first argument will contain the error. If the response +has already finished, the listener will be invoked. + +Listening to the end of a response would be used to close things associated +with the response, like open files. + +Listener is invoked as `listener(err, res)`. + + + +```js +onFinished(res, function (err, res) { + // clean up open fds, etc. + // err contains the error if request error'd +}) +``` + +### onFinished(req, listener) + +Attach a listener to listen for the request to finish. The listener will +be invoked only once when the request finished. If the request finished +to an error, the first argument will contain the error. If the request +has already finished, the listener will be invoked. + +Listening to the end of a request would be used to know when to continue +after reading the data. + +Listener is invoked as `listener(err, req)`. + + + +```js +var data = '' + +req.setEncoding('utf8') +req.on('data', function (str) { + data += str +}) + +onFinished(req, function (err, req) { + // data is read unless there is err +}) +``` + +### onFinished.isFinished(res) + +Determine if `res` is already finished. This would be useful to check and +not even start certain operations if the response has already finished. + +### onFinished.isFinished(req) + +Determine if `req` is already finished. This would be useful to check and +not even start certain operations if the request has already finished. + +## Special Node.js requests + +### HTTP CONNECT method + +The meaning of the `CONNECT` method from RFC 7231, section 4.3.6: + +> The CONNECT method requests that the recipient establish a tunnel to +> the destination origin server identified by the request-target and, +> if successful, thereafter restrict its behavior to blind forwarding +> of packets, in both directions, until the tunnel is closed. Tunnels +> are commonly used to create an end-to-end virtual connection, through +> one or more proxies, which can then be secured using TLS (Transport +> Layer Security, [RFC5246]). + +In Node.js, these request objects come from the `'connect'` event on +the HTTP server. + +When this module is used on a HTTP `CONNECT` request, the request is +considered "finished" immediately, **due to limitations in the Node.js +interface**. This means if the `CONNECT` request contains a request entity, +the request will be considered "finished" even before it has been read. + +There is no such thing as a response object to a `CONNECT` request in +Node.js, so there is no support for one. + +### HTTP Upgrade request + +The meaning of the `Upgrade` header from RFC 7230, section 6.1: + +> The "Upgrade" header field is intended to provide a simple mechanism +> for transitioning from HTTP/1.1 to some other protocol on the same +> connection. + +In Node.js, these request objects come from the `'upgrade'` event on +the HTTP server. + +When this module is used on a HTTP request with an `Upgrade` header, the +request is considered "finished" immediately, **due to limitations in the +Node.js interface**. This means if the `Upgrade` request contains a request +entity, the request will be considered "finished" even before it has been +read. + +There is no such thing as a response object to a `Upgrade` request in +Node.js, so there is no support for one. + +## Example + +The following code ensures that file descriptors are always closed +once the response finishes. + +```js +var destroy = require('destroy') +var fs = require('fs') +var http = require('http') +var onFinished = require('on-finished') + +http.createServer(function onRequest (req, res) { + var stream = fs.createReadStream('package.json') + stream.pipe(res) + onFinished(res, function () { + destroy(stream) + }) +}) +``` + +## License + +[MIT](LICENSE) + +[ci-image]: https://badgen.net/github/checks/jshttp/on-finished/master?label=ci +[ci-url]: https://github.com/jshttp/on-finished/actions/workflows/ci.yml +[coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/on-finished/master +[coveralls-url]: https://coveralls.io/r/jshttp/on-finished?branch=master +[node-image]: https://badgen.net/npm/node/on-finished +[node-url]: https://nodejs.org/en/download +[npm-downloads-image]: https://badgen.net/npm/dm/on-finished +[npm-url]: https://npmjs.org/package/on-finished +[npm-version-image]: https://badgen.net/npm/v/on-finished diff --git a/data/285 b/data/285 new file mode 100644 index 0000000..a8b7330 --- /dev/null +++ b/data/285 @@ -0,0 +1,169 @@ +# http-errors + +[![NPM Version][npm-version-image]][npm-url] +[![NPM Downloads][npm-downloads-image]][node-url] +[![Node.js Version][node-image]][node-url] +[![Build Status][ci-image]][ci-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Create HTTP errors for Express, Koa, Connect, etc. with ease. + +## Install + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```console +$ npm install http-errors +``` + +## Example + +```js +var createError = require('http-errors') +var express = require('express') +var app = express() + +app.use(function (req, res, next) { + if (!req.user) return next(createError(401, 'Please login to view this page.')) + next() +}) +``` + +## API + +This is the current API, currently extracted from Koa and subject to change. + +### Error Properties + +- `expose` - can be used to signal if `message` should be sent to the client, + defaulting to `false` when `status` >= 500 +- `headers` - can be an object of header names to values to be sent to the + client, defaulting to `undefined`. When defined, the key names should all + be lower-cased +- `message` - the traditional error message, which should be kept short and all + single line +- `status` - the status code of the error, mirroring `statusCode` for general + compatibility +- `statusCode` - the status code of the error, defaulting to `500` + +### createError([status], [message], [properties]) + +Create a new error object with the given message `msg`. +The error object inherits from `createError.HttpError`. + +```js +var err = createError(404, 'This video does not exist!') +``` + +- `status: 500` - the status code as a number +- `message` - the message of the error, defaulting to node's text for that status code. +- `properties` - custom properties to attach to the object + +### createError([status], [error], [properties]) + +Extend the given `error` object with `createError.HttpError` +properties. This will not alter the inheritance of the given +`error` object, and the modified `error` object is the +return value. + + + +```js +fs.readFile('foo.txt', function (err, buf) { + if (err) { + if (err.code === 'ENOENT') { + var httpError = createError(404, err, { expose: false }) + } else { + var httpError = createError(500, err) + } + } +}) +``` + +- `status` - the status code as a number +- `error` - the error object to extend +- `properties` - custom properties to attach to the object + +### createError.isHttpError(val) + +Determine if the provided `val` is an `HttpError`. This will return `true` +if the error inherits from the `HttpError` constructor of this module or +matches the "duck type" for an error this module creates. All outputs from +the `createError` factory will return `true` for this function, including +if an non-`HttpError` was passed into the factory. + +### new createError\[code || name\](\[msg]\)) + +Create a new error object with the given message `msg`. +The error object inherits from `createError.HttpError`. + +```js +var err = new createError.NotFound() +``` + +- `code` - the status code as a number +- `name` - the name of the error as a "bumpy case", i.e. `NotFound` or `InternalServerError`. + +#### List of all constructors + +|Status Code|Constructor Name | +|-----------|-----------------------------| +|400 |BadRequest | +|401 |Unauthorized | +|402 |PaymentRequired | +|403 |Forbidden | +|404 |NotFound | +|405 |MethodNotAllowed | +|406 |NotAcceptable | +|407 |ProxyAuthenticationRequired | +|408 |RequestTimeout | +|409 |Conflict | +|410 |Gone | +|411 |LengthRequired | +|412 |PreconditionFailed | +|413 |PayloadTooLarge | +|414 |URITooLong | +|415 |UnsupportedMediaType | +|416 |RangeNotSatisfiable | +|417 |ExpectationFailed | +|418 |ImATeapot | +|421 |MisdirectedRequest | +|422 |UnprocessableEntity | +|423 |Locked | +|424 |FailedDependency | +|425 |TooEarly | +|426 |UpgradeRequired | +|428 |PreconditionRequired | +|429 |TooManyRequests | +|431 |RequestHeaderFieldsTooLarge | +|451 |UnavailableForLegalReasons | +|500 |InternalServerError | +|501 |NotImplemented | +|502 |BadGateway | +|503 |ServiceUnavailable | +|504 |GatewayTimeout | +|505 |HTTPVersionNotSupported | +|506 |VariantAlsoNegotiates | +|507 |InsufficientStorage | +|508 |LoopDetected | +|509 |BandwidthLimitExceeded | +|510 |NotExtended | +|511 |NetworkAuthenticationRequired| + +## License + +[MIT](LICENSE) + +[ci-image]: https://badgen.net/github/checks/jshttp/http-errors/master?label=ci +[ci-url]: https://github.com/jshttp/http-errors/actions?query=workflow%3Aci +[coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/http-errors/master +[coveralls-url]: https://coveralls.io/r/jshttp/http-errors?branch=master +[node-image]: https://badgen.net/npm/node/http-errors +[node-url]: https://nodejs.org/en/download +[npm-downloads-image]: https://badgen.net/npm/dm/http-errors +[npm-url]: https://npmjs.org/package/http-errors +[npm-version-image]: https://badgen.net/npm/v/http-errors +[travis-image]: https://badgen.net/travis/jshttp/http-errors/master +[travis-url]: https://travis-ci.org/jshttp/http-errors diff --git a/data/286 b/data/286 new file mode 100644 index 0000000..f6cbcf7 --- /dev/null +++ b/data/286 @@ -0,0 +1,39 @@ +1.1.2 / 2017-09-23 +================== + + * perf: improve header token parsing speed + +1.1.1 / 2017-03-20 +================== + + * perf: hoist regular expression + +1.1.0 / 2015-09-29 +================== + + * Only accept valid field names in the `field` argument + - Ensures the resulting string is a valid HTTP header value + +1.0.1 / 2015-07-08 +================== + + * Fix setting empty header from empty `field` + * perf: enable strict mode + * perf: remove argument reassignments + +1.0.0 / 2014-08-10 +================== + + * Accept valid `Vary` header string as `field` + * Add `vary.append` for low-level string manipulation + * Move to `jshttp` orgainzation + +0.1.0 / 2014-06-05 +================== + + * Support array of fields to set + +0.0.0 / 2014-06-04 +================== + + * Initial release diff --git a/data/287 b/data/287 new file mode 100644 index 0000000..bfec7f2 --- /dev/null +++ b/data/287 @@ -0,0 +1,532 @@ +"use strict" +var Buffer = require("safer-buffer").Buffer + +// Multibyte codec. In this scheme, a character is represented by 1 or more bytes. +// Our codec supports UTF-16 surrogates, extensions for GB18030 and unicode sequences. +// To save memory and loading time, we read table files only when requested. + +exports._dbcs = DBCSCodec + +var UNASSIGNED = -1 +var GB18030_CODE = -2 +var SEQ_START = -10 +var NODE_START = -1000 +var UNASSIGNED_NODE = new Array(0x100) +var DEF_CHAR = -1 + +for (var i = 0; i < 0x100; i++) { UNASSIGNED_NODE[i] = UNASSIGNED } + +// Class DBCSCodec reads and initializes mapping tables. +function DBCSCodec (codecOptions, iconv) { + this.encodingName = codecOptions.encodingName + if (!codecOptions) { throw new Error("DBCS codec is called without the data.") } + if (!codecOptions.table) { throw new Error("Encoding '" + this.encodingName + "' has no data.") } + + // Load tables. + var mappingTable = codecOptions.table() + + // Decode tables: MBCS -> Unicode. + + // decodeTables is a trie, encoded as an array of arrays of integers. Internal arrays are trie nodes and all have len = 256. + // Trie root is decodeTables[0]. + // Values: >= 0 -> unicode character code. can be > 0xFFFF + // == UNASSIGNED -> unknown/unassigned sequence. + // == GB18030_CODE -> this is the end of a GB18030 4-byte sequence. + // <= NODE_START -> index of the next node in our trie to process next byte. + // <= SEQ_START -> index of the start of a character code sequence, in decodeTableSeq. + this.decodeTables = [] + this.decodeTables[0] = UNASSIGNED_NODE.slice(0) // Create root node. + + // Sometimes a MBCS char corresponds to a sequence of unicode chars. We store them as arrays of integers here. + this.decodeTableSeq = [] + + // Actual mapping tables consist of chunks. Use them to fill up decode tables. + for (var i = 0; i < mappingTable.length; i++) { this._addDecodeChunk(mappingTable[i]) } + + // Load & create GB18030 tables when needed. + if (typeof codecOptions.gb18030 === "function") { + this.gb18030 = codecOptions.gb18030() // Load GB18030 ranges. + + // Add GB18030 common decode nodes. + var commonThirdByteNodeIdx = this.decodeTables.length + this.decodeTables.push(UNASSIGNED_NODE.slice(0)) + + var commonFourthByteNodeIdx = this.decodeTables.length + this.decodeTables.push(UNASSIGNED_NODE.slice(0)) + + // Fill out the tree + var firstByteNode = this.decodeTables[0] + for (var i = 0x81; i <= 0xFE; i++) { + var secondByteNode = this.decodeTables[NODE_START - firstByteNode[i]] + for (var j = 0x30; j <= 0x39; j++) { + if (secondByteNode[j] === UNASSIGNED) { + secondByteNode[j] = NODE_START - commonThirdByteNodeIdx + } else if (secondByteNode[j] > NODE_START) { + throw new Error("gb18030 decode tables conflict at byte 2") + } + + var thirdByteNode = this.decodeTables[NODE_START - secondByteNode[j]] + for (var k = 0x81; k <= 0xFE; k++) { + if (thirdByteNode[k] === UNASSIGNED) { + thirdByteNode[k] = NODE_START - commonFourthByteNodeIdx + } else if (thirdByteNode[k] === NODE_START - commonFourthByteNodeIdx) { + continue + } else if (thirdByteNode[k] > NODE_START) { + throw new Error("gb18030 decode tables conflict at byte 3") + } + + var fourthByteNode = this.decodeTables[NODE_START - thirdByteNode[k]] + for (var l = 0x30; l <= 0x39; l++) { + if (fourthByteNode[l] === UNASSIGNED) { fourthByteNode[l] = GB18030_CODE } + } + } + } + } + } + + this.defaultCharUnicode = iconv.defaultCharUnicode + + // Encode tables: Unicode -> DBCS. + + // `encodeTable` is array mapping from unicode char to encoded char. All its values are integers for performance. + // Because it can be sparse, it is represented as array of buckets by 256 chars each. Bucket can be null. + // Values: >= 0 -> it is a normal char. Write the value (if <=256 then 1 byte, if <=65536 then 2 bytes, etc.). + // == UNASSIGNED -> no conversion found. Output a default char. + // <= SEQ_START -> it's an index in encodeTableSeq, see below. The character starts a sequence. + this.encodeTable = [] + + // `encodeTableSeq` is used when a sequence of unicode characters is encoded as a single code. We use a tree of + // objects where keys correspond to characters in sequence and leafs are the encoded dbcs values. A special DEF_CHAR key + // means end of sequence (needed when one sequence is a strict subsequence of another). + // Objects are kept separately from encodeTable to increase performance. + this.encodeTableSeq = [] + + // Some chars can be decoded, but need not be encoded. + var skipEncodeChars = {} + if (codecOptions.encodeSkipVals) { + for (var i = 0; i < codecOptions.encodeSkipVals.length; i++) { + var val = codecOptions.encodeSkipVals[i] + if (typeof val === "number") { skipEncodeChars[val] = true } else { + for (var j = val.from; j <= val.to; j++) { skipEncodeChars[j] = true } + } + } + } + + // Use decode trie to recursively fill out encode tables. + this._fillEncodeTable(0, 0, skipEncodeChars) + + // Add more encoding pairs when needed. + if (codecOptions.encodeAdd) { + for (var uChar in codecOptions.encodeAdd) { + if (Object.prototype.hasOwnProperty.call(codecOptions.encodeAdd, uChar)) { this._setEncodeChar(uChar.charCodeAt(0), codecOptions.encodeAdd[uChar]) } + } + } + + this.defCharSB = this.encodeTable[0][iconv.defaultCharSingleByte.charCodeAt(0)] + if (this.defCharSB === UNASSIGNED) this.defCharSB = this.encodeTable[0]["?"] + if (this.defCharSB === UNASSIGNED) this.defCharSB = "?".charCodeAt(0) +} + +DBCSCodec.prototype.encoder = DBCSEncoder +DBCSCodec.prototype.decoder = DBCSDecoder + +// Decoder helpers +DBCSCodec.prototype._getDecodeTrieNode = function (addr) { + var bytes = [] + for (; addr > 0; addr >>>= 8) { bytes.push(addr & 0xFF) } + if (bytes.length == 0) { bytes.push(0) } + + var node = this.decodeTables[0] + for (var i = bytes.length - 1; i > 0; i--) { // Traverse nodes deeper into the trie. + var val = node[bytes[i]] + + if (val == UNASSIGNED) { // Create new node. + node[bytes[i]] = NODE_START - this.decodeTables.length + this.decodeTables.push(node = UNASSIGNED_NODE.slice(0)) + } else if (val <= NODE_START) { // Existing node. + node = this.decodeTables[NODE_START - val] + } else { throw new Error("Overwrite byte in " + this.encodingName + ", addr: " + addr.toString(16)) } + } + return node +} + +DBCSCodec.prototype._addDecodeChunk = function (chunk) { + // First element of chunk is the hex mbcs code where we start. + var curAddr = parseInt(chunk[0], 16) + + // Choose the decoding node where we'll write our chars. + var writeTable = this._getDecodeTrieNode(curAddr) + curAddr = curAddr & 0xFF + + // Write all other elements of the chunk to the table. + for (var k = 1; k < chunk.length; k++) { + var part = chunk[k] + if (typeof part === "string") { // String, write as-is. + for (var l = 0; l < part.length;) { + var code = part.charCodeAt(l++) + if (code >= 0xD800 && code < 0xDC00) { // Decode surrogate + var codeTrail = part.charCodeAt(l++) + if (codeTrail >= 0xDC00 && codeTrail < 0xE000) { writeTable[curAddr++] = 0x10000 + (code - 0xD800) * 0x400 + (codeTrail - 0xDC00) } else { throw new Error("Incorrect surrogate pair in " + this.encodingName + " at chunk " + chunk[0]) } + } else if (code > 0x0FF0 && code <= 0x0FFF) { // Character sequence (our own encoding used) + var len = 0xFFF - code + 2 + var seq = [] + for (var m = 0; m < len; m++) { seq.push(part.charCodeAt(l++)) } // Simple variation: don't support surrogates or subsequences in seq. + + writeTable[curAddr++] = SEQ_START - this.decodeTableSeq.length + this.decodeTableSeq.push(seq) + } else { writeTable[curAddr++] = code } // Basic char + } + } else if (typeof part === "number") { // Integer, meaning increasing sequence starting with prev character. + var charCode = writeTable[curAddr - 1] + 1 + for (var l = 0; l < part; l++) { writeTable[curAddr++] = charCode++ } + } else { throw new Error("Incorrect type '" + typeof part + "' given in " + this.encodingName + " at chunk " + chunk[0]) } + } + if (curAddr > 0xFF) { throw new Error("Incorrect chunk in " + this.encodingName + " at addr " + chunk[0] + ": too long" + curAddr) } +} + +// Encoder helpers +DBCSCodec.prototype._getEncodeBucket = function (uCode) { + var high = uCode >> 8 // This could be > 0xFF because of astral characters. + if (this.encodeTable[high] === undefined) { + this.encodeTable[high] = UNASSIGNED_NODE.slice(0) + } // Create bucket on demand. + return this.encodeTable[high] +} + +DBCSCodec.prototype._setEncodeChar = function (uCode, dbcsCode) { + var bucket = this._getEncodeBucket(uCode) + var low = uCode & 0xFF + if (bucket[low] <= SEQ_START) { this.encodeTableSeq[SEQ_START - bucket[low]][DEF_CHAR] = dbcsCode } // There's already a sequence, set a single-char subsequence of it. + else if (bucket[low] == UNASSIGNED) { bucket[low] = dbcsCode } +} + +DBCSCodec.prototype._setEncodeSequence = function (seq, dbcsCode) { + // Get the root of character tree according to first character of the sequence. + var uCode = seq[0] + var bucket = this._getEncodeBucket(uCode) + var low = uCode & 0xFF + + var node + if (bucket[low] <= SEQ_START) { + // There's already a sequence with - use it. + node = this.encodeTableSeq[SEQ_START - bucket[low]] + } else { + // There was no sequence object - allocate a new one. + node = {} + if (bucket[low] !== UNASSIGNED) node[DEF_CHAR] = bucket[low] // If a char was set before - make it a single-char subsequence. + bucket[low] = SEQ_START - this.encodeTableSeq.length + this.encodeTableSeq.push(node) + } + + // Traverse the character tree, allocating new nodes as needed. + for (var j = 1; j < seq.length - 1; j++) { + var oldVal = node[uCode] + if (typeof oldVal === "object") { node = oldVal } else { + node = node[uCode] = {} + if (oldVal !== undefined) { node[DEF_CHAR] = oldVal } + } + } + + // Set the leaf to given dbcsCode. + uCode = seq[seq.length - 1] + node[uCode] = dbcsCode +} + +DBCSCodec.prototype._fillEncodeTable = function (nodeIdx, prefix, skipEncodeChars) { + var node = this.decodeTables[nodeIdx] + var hasValues = false + var subNodeEmpty = {} + for (var i = 0; i < 0x100; i++) { + var uCode = node[i] + var mbCode = prefix + i + if (skipEncodeChars[mbCode]) { continue } + + if (uCode >= 0) { + this._setEncodeChar(uCode, mbCode) + hasValues = true + } else if (uCode <= NODE_START) { + var subNodeIdx = NODE_START - uCode + if (!subNodeEmpty[subNodeIdx]) { // Skip empty subtrees (they are too large in gb18030). + var newPrefix = (mbCode << 8) >>> 0 // NOTE: '>>> 0' keeps 32-bit num positive. + if (this._fillEncodeTable(subNodeIdx, newPrefix, skipEncodeChars)) { hasValues = true } else { subNodeEmpty[subNodeIdx] = true } + } + } else if (uCode <= SEQ_START) { + this._setEncodeSequence(this.decodeTableSeq[SEQ_START - uCode], mbCode) + hasValues = true + } + } + return hasValues +} + +// == Encoder ================================================================== + +function DBCSEncoder (options, codec) { + // Encoder state + this.leadSurrogate = -1 + this.seqObj = undefined + + // Static data + this.encodeTable = codec.encodeTable + this.encodeTableSeq = codec.encodeTableSeq + this.defaultCharSingleByte = codec.defCharSB + this.gb18030 = codec.gb18030 +} + +DBCSEncoder.prototype.write = function (str) { + var newBuf = Buffer.alloc(str.length * (this.gb18030 ? 4 : 3)) + var leadSurrogate = this.leadSurrogate + var seqObj = this.seqObj + var nextChar = -1 + var i = 0; var j = 0 + + while (true) { + // 0. Get next character. + if (nextChar === -1) { + if (i == str.length) break + var uCode = str.charCodeAt(i++) + } else { + var uCode = nextChar + nextChar = -1 + } + + // 1. Handle surrogates. + if (uCode >= 0xD800 && uCode < 0xE000) { // Char is one of surrogates. + if (uCode < 0xDC00) { // We've got lead surrogate. + if (leadSurrogate === -1) { + leadSurrogate = uCode + continue + } else { + leadSurrogate = uCode + // Double lead surrogate found. + uCode = UNASSIGNED + } + } else { // We've got trail surrogate. + if (leadSurrogate !== -1) { + uCode = 0x10000 + (leadSurrogate - 0xD800) * 0x400 + (uCode - 0xDC00) + leadSurrogate = -1 + } else { + // Incomplete surrogate pair - only trail surrogate found. + uCode = UNASSIGNED + } + } + } else if (leadSurrogate !== -1) { + // Incomplete surrogate pair - only lead surrogate found. + nextChar = uCode; uCode = UNASSIGNED // Write an error, then current char. + leadSurrogate = -1 + } + + // 2. Convert uCode character. + var dbcsCode = UNASSIGNED + if (seqObj !== undefined && uCode != UNASSIGNED) { // We are in the middle of the sequence + var resCode = seqObj[uCode] + if (typeof resCode === "object") { // Sequence continues. + seqObj = resCode + continue + } else if (typeof resCode === "number") { // Sequence finished. Write it. + dbcsCode = resCode + } else if (resCode == undefined) { // Current character is not part of the sequence. + // Try default character for this sequence + resCode = seqObj[DEF_CHAR] + if (resCode !== undefined) { + dbcsCode = resCode // Found. Write it. + nextChar = uCode // Current character will be written too in the next iteration. + } else { + // TODO: What if we have no default? (resCode == undefined) + // Then, we should write first char of the sequence as-is and try the rest recursively. + // Didn't do it for now because no encoding has this situation yet. + // Currently, just skip the sequence and write current char. + } + } + seqObj = undefined + } else if (uCode >= 0) { // Regular character + var subtable = this.encodeTable[uCode >> 8] + if (subtable !== undefined) { dbcsCode = subtable[uCode & 0xFF] } + + if (dbcsCode <= SEQ_START) { // Sequence start + seqObj = this.encodeTableSeq[SEQ_START - dbcsCode] + continue + } + + if (dbcsCode == UNASSIGNED && this.gb18030) { + // Use GB18030 algorithm to find character(s) to write. + var idx = findIdx(this.gb18030.uChars, uCode) + if (idx != -1) { + var dbcsCode = this.gb18030.gbChars[idx] + (uCode - this.gb18030.uChars[idx]) + newBuf[j++] = 0x81 + Math.floor(dbcsCode / 12600); dbcsCode = dbcsCode % 12600 + newBuf[j++] = 0x30 + Math.floor(dbcsCode / 1260); dbcsCode = dbcsCode % 1260 + newBuf[j++] = 0x81 + Math.floor(dbcsCode / 10); dbcsCode = dbcsCode % 10 + newBuf[j++] = 0x30 + dbcsCode + continue + } + } + } + + // 3. Write dbcsCode character. + if (dbcsCode === UNASSIGNED) { dbcsCode = this.defaultCharSingleByte } + + if (dbcsCode < 0x100) { + newBuf[j++] = dbcsCode + } else if (dbcsCode < 0x10000) { + newBuf[j++] = dbcsCode >> 8 // high byte + newBuf[j++] = dbcsCode & 0xFF // low byte + } else if (dbcsCode < 0x1000000) { + newBuf[j++] = dbcsCode >> 16 + newBuf[j++] = (dbcsCode >> 8) & 0xFF + newBuf[j++] = dbcsCode & 0xFF + } else { + newBuf[j++] = dbcsCode >>> 24 + newBuf[j++] = (dbcsCode >>> 16) & 0xFF + newBuf[j++] = (dbcsCode >>> 8) & 0xFF + newBuf[j++] = dbcsCode & 0xFF + } + } + + this.seqObj = seqObj + this.leadSurrogate = leadSurrogate + return newBuf.slice(0, j) +} + +DBCSEncoder.prototype.end = function () { + if (this.leadSurrogate === -1 && this.seqObj === undefined) { return } // All clean. Most often case. + + var newBuf = Buffer.alloc(10); var j = 0 + + if (this.seqObj) { // We're in the sequence. + var dbcsCode = this.seqObj[DEF_CHAR] + if (dbcsCode !== undefined) { // Write beginning of the sequence. + if (dbcsCode < 0x100) { + newBuf[j++] = dbcsCode + } else { + newBuf[j++] = dbcsCode >> 8 // high byte + newBuf[j++] = dbcsCode & 0xFF // low byte + } + } else { + // See todo above. + } + this.seqObj = undefined + } + + if (this.leadSurrogate !== -1) { + // Incomplete surrogate pair - only lead surrogate found. + newBuf[j++] = this.defaultCharSingleByte + this.leadSurrogate = -1 + } + + return newBuf.slice(0, j) +} + +// Export for testing +DBCSEncoder.prototype.findIdx = findIdx + +// == Decoder ================================================================== + +function DBCSDecoder (options, codec) { + // Decoder state + this.nodeIdx = 0 + this.prevBytes = [] + + // Static data + this.decodeTables = codec.decodeTables + this.decodeTableSeq = codec.decodeTableSeq + this.defaultCharUnicode = codec.defaultCharUnicode + this.gb18030 = codec.gb18030 +} + +DBCSDecoder.prototype.write = function (buf) { + var newBuf = Buffer.alloc(buf.length * 2) + var nodeIdx = this.nodeIdx + var prevBytes = this.prevBytes; var prevOffset = this.prevBytes.length + var seqStart = -this.prevBytes.length // idx of the start of current parsed sequence. + var uCode + + for (var i = 0, j = 0; i < buf.length; i++) { + var curByte = (i >= 0) ? buf[i] : prevBytes[i + prevOffset] + + // Lookup in current trie node. + var uCode = this.decodeTables[nodeIdx][curByte] + + if (uCode >= 0) { + // Normal character, just use it. + } else if (uCode === UNASSIGNED) { // Unknown char. + // TODO: Callback with seq. + uCode = this.defaultCharUnicode.charCodeAt(0) + i = seqStart // Skip one byte ('i' will be incremented by the for loop) and try to parse again. + } else if (uCode === GB18030_CODE) { + if (i >= 3) { + var ptr = (buf[i - 3] - 0x81) * 12600 + (buf[i - 2] - 0x30) * 1260 + (buf[i - 1] - 0x81) * 10 + (curByte - 0x30) + } else { + var ptr = (prevBytes[i - 3 + prevOffset] - 0x81) * 12600 + + (((i - 2 >= 0) ? buf[i - 2] : prevBytes[i - 2 + prevOffset]) - 0x30) * 1260 + + (((i - 1 >= 0) ? buf[i - 1] : prevBytes[i - 1 + prevOffset]) - 0x81) * 10 + + (curByte - 0x30) + } + var idx = findIdx(this.gb18030.gbChars, ptr) + uCode = this.gb18030.uChars[idx] + ptr - this.gb18030.gbChars[idx] + } else if (uCode <= NODE_START) { // Go to next trie node. + nodeIdx = NODE_START - uCode + continue + } else if (uCode <= SEQ_START) { // Output a sequence of chars. + var seq = this.decodeTableSeq[SEQ_START - uCode] + for (var k = 0; k < seq.length - 1; k++) { + uCode = seq[k] + newBuf[j++] = uCode & 0xFF + newBuf[j++] = uCode >> 8 + } + uCode = seq[seq.length - 1] + } else { throw new Error("iconv-lite internal error: invalid decoding table value " + uCode + " at " + nodeIdx + "/" + curByte) } + + // Write the character to buffer, handling higher planes using surrogate pair. + if (uCode >= 0x10000) { + uCode -= 0x10000 + var uCodeLead = 0xD800 | (uCode >> 10) + newBuf[j++] = uCodeLead & 0xFF + newBuf[j++] = uCodeLead >> 8 + + uCode = 0xDC00 | (uCode & 0x3FF) + } + newBuf[j++] = uCode & 0xFF + newBuf[j++] = uCode >> 8 + + // Reset trie node. + nodeIdx = 0; seqStart = i + 1 + } + + this.nodeIdx = nodeIdx + this.prevBytes = (seqStart >= 0) + ? Array.prototype.slice.call(buf, seqStart) + : prevBytes.slice(seqStart + prevOffset).concat(Array.prototype.slice.call(buf)) + + return newBuf.slice(0, j).toString("ucs2") +} + +DBCSDecoder.prototype.end = function () { + var ret = "" + + // Try to parse all remaining chars. + while (this.prevBytes.length > 0) { + // Skip 1 character in the buffer. + ret += this.defaultCharUnicode + var bytesArr = this.prevBytes.slice(1) + + // Parse remaining as usual. + this.prevBytes = [] + this.nodeIdx = 0 + if (bytesArr.length > 0) { ret += this.write(bytesArr) } + } + + this.prevBytes = [] + this.nodeIdx = 0 + return ret +} + +// Binary search for GB18030. Returns largest i such that table[i] <= val. +function findIdx (table, val) { + if (table[0] > val) { return -1 } + + var l = 0; var r = table.length + while (l < r - 1) { // always table[l] <= val < table[r] + var mid = l + ((r - l + 1) >> 1) + if (table[mid] <= val) { l = mid } else { r = mid } + } + return l +} diff --git a/data/288 b/data/288 new file mode 100644 index 0000000..222b293 --- /dev/null +++ b/data/288 @@ -0,0 +1,83 @@ +1.8.1 / 2017-09-12 +================== + + * perf: replace regular expression with substring + +1.8.0 / 2017-02-18 +================== + + * Use SHA1 instead of MD5 for ETag hashing + - Improves performance for larger entities + - Works with FIPS 140-2 OpenSSL configuration + +1.7.0 / 2015-06-08 +================== + + * Always include entity length in ETags for hash length extensions + * Generate non-Stats ETags using MD5 only (no longer CRC32) + * Improve stat performance by removing hashing + * Remove base64 padding in ETags to shorten + * Use MD5 instead of MD4 in weak ETags over 1KB + +1.6.0 / 2015-05-10 +================== + + * Improve support for JXcore + * Remove requirement of `atime` in the stats object + * Support "fake" stats objects in environments without `fs` + +1.5.1 / 2014-11-19 +================== + + * deps: crc@3.2.1 + - Minor fixes + +1.5.0 / 2014-10-14 +================== + + * Improve string performance + * Slightly improve speed for weak ETags over 1KB + +1.4.0 / 2014-09-21 +================== + + * Support "fake" stats objects + * Support Node.js 0.6 + +1.3.1 / 2014-09-14 +================== + + * Use the (new and improved) `crc` for crc32 + +1.3.0 / 2014-08-29 +================== + + * Default strings to strong ETags + * Improve speed for weak ETags over 1KB + +1.2.1 / 2014-08-29 +================== + + * Use the (much faster) `buffer-crc32` for crc32 + +1.2.0 / 2014-08-24 +================== + + * Add support for file stat objects + +1.1.0 / 2014-08-24 +================== + + * Add fast-path for empty entity + * Add weak ETag generation + * Shrink size of generated ETags + +1.0.1 / 2014-08-24 +================== + + * Fix behavior of string containing Unicode + +1.0.0 / 2014-05-18 +================== + + * Initial release diff --git a/data/289 b/data/289 new file mode 100644 index 0000000..c1a922a --- /dev/null +++ b/data/289 @@ -0,0 +1,94 @@ +# content-type + +[![NPM Version][npm-version-image]][npm-url] +[![NPM Downloads][npm-downloads-image]][npm-url] +[![Node.js Version][node-image]][node-url] +[![Build Status][ci-image]][ci-url] +[![Coverage Status][coveralls-image]][coveralls-url] + +Create and parse HTTP Content-Type header according to RFC 7231 + +## Installation + +```sh +$ npm install content-type +``` + +## API + +```js +var contentType = require('content-type') +``` + +### contentType.parse(string) + +```js +var obj = contentType.parse('image/svg+xml; charset=utf-8') +``` + +Parse a `Content-Type` header. This will return an object with the following +properties (examples are shown for the string `'image/svg+xml; charset=utf-8'`): + + - `type`: The media type (the type and subtype, always lower case). + Example: `'image/svg+xml'` + + - `parameters`: An object of the parameters in the media type (name of parameter + always lower case). Example: `{charset: 'utf-8'}` + +Throws a `TypeError` if the string is missing or invalid. + +### contentType.parse(req) + +```js +var obj = contentType.parse(req) +``` + +Parse the `Content-Type` header from the given `req`. Short-cut for +`contentType.parse(req.headers['content-type'])`. + +Throws a `TypeError` if the `Content-Type` header is missing or invalid. + +### contentType.parse(res) + +```js +var obj = contentType.parse(res) +``` + +Parse the `Content-Type` header set on the given `res`. Short-cut for +`contentType.parse(res.getHeader('content-type'))`. + +Throws a `TypeError` if the `Content-Type` header is missing or invalid. + +### contentType.format(obj) + +```js +var str = contentType.format({ + type: 'image/svg+xml', + parameters: { charset: 'utf-8' } +}) +``` + +Format an object into a `Content-Type` header. This will return a string of the +content type for the given object with the following properties (examples are +shown that produce the string `'image/svg+xml; charset=utf-8'`): + + - `type`: The media type (will be lower-cased). Example: `'image/svg+xml'` + + - `parameters`: An object of the parameters in the media type (name of the + parameter will be lower-cased). Example: `{charset: 'utf-8'}` + +Throws a `TypeError` if the object contains an invalid type or parameter names. + +## License + +[MIT](LICENSE) + +[ci-image]: https://badgen.net/github/checks/jshttp/content-type/master?label=ci +[ci-url]: https://github.com/jshttp/content-type/actions/workflows/ci.yml +[coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/content-type/master +[coveralls-url]: https://coveralls.io/r/jshttp/content-type?branch=master +[node-image]: https://badgen.net/npm/node/content-type +[node-url]: https://nodejs.org/en/download +[npm-downloads-image]: https://badgen.net/npm/dm/content-type +[npm-url]: https://npmjs.org/package/content-type +[npm-version-image]: https://badgen.net/npm/v/content-type diff --git a/data/290 b/data/290 new file mode 100644 index 0000000..84441fb --- /dev/null +++ b/data/290 @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2014-2017 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/data/291 b/data/291 new file mode 100644 index 0000000..d53d34b --- /dev/null +++ b/data/291 @@ -0,0 +1,33 @@ + + +# is-promise + + Test whether an object looks like a promises-a+ promise + + [![Build Status](https://img.shields.io/travis/then/is-promise/master.svg)](https://travis-ci.org/then/is-promise) + [![Dependency Status](https://img.shields.io/david/then/is-promise.svg)](https://david-dm.org/then/is-promise) + [![NPM version](https://img.shields.io/npm/v/is-promise.svg)](https://www.npmjs.org/package/is-promise) + + + +## Installation + + $ npm install is-promise + +You can also use it client side via npm. + +## API + +```typescript +import isPromise from 'is-promise'; + +isPromise(Promise.resolve());//=>true +isPromise({then:function () {...}});//=>true +isPromise(null);//=>false +isPromise({});//=>false +isPromise({then: true})//=>false +``` + +## License + + MIT diff --git a/data/292 b/data/292 new file mode 100644 index 0000000..253f183 --- /dev/null +++ b/data/292 @@ -0,0 +1,34 @@ +'use strict'; + +var test = require('tape'); + +var getDunderProto = require('../get'); + +test('getDunderProto', { skip: !getDunderProto }, function (t) { + if (!getDunderProto) { + throw 'should never happen; this is just for type narrowing'; // eslint-disable-line no-throw-literal + } + + // @ts-expect-error + t['throws'](function () { getDunderProto(); }, TypeError, 'throws if no argument'); + // @ts-expect-error + t['throws'](function () { getDunderProto(undefined); }, TypeError, 'throws with undefined'); + // @ts-expect-error + t['throws'](function () { getDunderProto(null); }, TypeError, 'throws with null'); + + t.equal(getDunderProto({}), Object.prototype); + t.equal(getDunderProto([]), Array.prototype); + t.equal(getDunderProto(function () {}), Function.prototype); + t.equal(getDunderProto(/./g), RegExp.prototype); + t.equal(getDunderProto(42), Number.prototype); + t.equal(getDunderProto(true), Boolean.prototype); + t.equal(getDunderProto('foo'), String.prototype); + + t.end(); +}); + +test('no dunder proto', { skip: !!getDunderProto }, function (t) { + t.notOk('__proto__' in Object.prototype, 'no __proto__ in Object.prototype'); + + t.end(); +}); diff --git a/data/293 b/data/293 new file mode 100644 index 0000000..6f43453 --- /dev/null +++ b/data/293 @@ -0,0 +1,36 @@ +'use strict'; + +var test = require('tape'); +var gOPD = require('../'); + +test('gOPD', function (t) { + t.test('supported', { skip: !gOPD }, function (st) { + st.equal(typeof gOPD, 'function', 'is a function'); + + var obj = { x: 1 }; + st.ok('x' in obj, 'property exists'); + + // @ts-expect-error TS can't figure out narrowing from `skip` + var desc = gOPD(obj, 'x'); + st.deepEqual( + desc, + { + configurable: true, + enumerable: true, + value: 1, + writable: true + }, + 'descriptor is as expected' + ); + + st.end(); + }); + + t.test('not supported', { skip: !!gOPD }, function (st) { + st.notOk(gOPD, 'is falsy'); + + st.end(); + }); + + t.end(); +}); diff --git a/data/294 b/data/294 new file mode 100644 index 0000000..ec49bf1 --- /dev/null +++ b/data/294 @@ -0,0 +1,6 @@ +'use strict'; + +/** @type {import('./isObject')} */ +module.exports = function isObject(x) { + return !!x && (typeof x === 'function' || typeof x === 'object'); +}; diff --git a/data/295 b/data/295 new file mode 100644 index 0000000..0930c56 --- /dev/null +++ b/data/295 @@ -0,0 +1,6 @@ +{ + "extends": "@ljharb/tsconfig", + "exclude": [ + "coverage", + ], +} diff --git a/data/296 b/data/296 new file mode 100644 index 0000000..fd4384c --- /dev/null +++ b/data/296 @@ -0,0 +1,84 @@ +'use strict'; + +/* eslint no-invalid-this: 1 */ + +var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible '; +var toStr = Object.prototype.toString; +var max = Math.max; +var funcType = '[object Function]'; + +var concatty = function concatty(a, b) { + var arr = []; + + for (var i = 0; i < a.length; i += 1) { + arr[i] = a[i]; + } + for (var j = 0; j < b.length; j += 1) { + arr[j + a.length] = b[j]; + } + + return arr; +}; + +var slicy = function slicy(arrLike, offset) { + var arr = []; + for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) { + arr[j] = arrLike[i]; + } + return arr; +}; + +var joiny = function (arr, joiner) { + var str = ''; + for (var i = 0; i < arr.length; i += 1) { + str += arr[i]; + if (i + 1 < arr.length) { + str += joiner; + } + } + return str; +}; + +module.exports = function bind(that) { + var target = this; + if (typeof target !== 'function' || toStr.apply(target) !== funcType) { + throw new TypeError(ERROR_MESSAGE + target); + } + var args = slicy(arguments, 1); + + var bound; + var binder = function () { + if (this instanceof bound) { + var result = target.apply( + this, + concatty(args, arguments) + ); + if (Object(result) === result) { + return result; + } + return this; + } + return target.apply( + that, + concatty(args, arguments) + ); + + }; + + var boundLength = max(0, target.length - args.length); + var boundArgs = []; + for (var i = 0; i < boundLength; i++) { + boundArgs[i] = '$' + i; + } + + bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder); + + if (target.prototype) { + var Empty = function Empty() {}; + Empty.prototype = target.prototype; + bound.prototype = new Empty(); + Empty.prototype = null; + } + + return bound; +}; diff --git a/data/297 b/data/297 new file mode 100644 index 0000000..bd1d94b --- /dev/null +++ b/data/297 @@ -0,0 +1,378 @@ +'use strict'; + +var undefined; + +var $Object = require('es-object-atoms'); + +var $Error = require('es-errors'); +var $EvalError = require('es-errors/eval'); +var $RangeError = require('es-errors/range'); +var $ReferenceError = require('es-errors/ref'); +var $SyntaxError = require('es-errors/syntax'); +var $TypeError = require('es-errors/type'); +var $URIError = require('es-errors/uri'); + +var abs = require('math-intrinsics/abs'); +var floor = require('math-intrinsics/floor'); +var max = require('math-intrinsics/max'); +var min = require('math-intrinsics/min'); +var pow = require('math-intrinsics/pow'); +var round = require('math-intrinsics/round'); +var sign = require('math-intrinsics/sign'); + +var $Function = Function; + +// eslint-disable-next-line consistent-return +var getEvalledConstructor = function (expressionSyntax) { + try { + return $Function('"use strict"; return (' + expressionSyntax + ').constructor;')(); + } catch (e) {} +}; + +var $gOPD = require('gopd'); +var $defineProperty = require('es-define-property'); + +var throwTypeError = function () { + throw new $TypeError(); +}; +var ThrowTypeError = $gOPD + ? (function () { + try { + // eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties + arguments.callee; // IE 8 does not throw here + return throwTypeError; + } catch (calleeThrows) { + try { + // IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '') + return $gOPD(arguments, 'callee').get; + } catch (gOPDthrows) { + return throwTypeError; + } + } + }()) + : throwTypeError; + +var hasSymbols = require('has-symbols')(); + +var getProto = require('get-proto'); +var $ObjectGPO = require('get-proto/Object.getPrototypeOf'); +var $ReflectGPO = require('get-proto/Reflect.getPrototypeOf'); + +var $apply = require('call-bind-apply-helpers/functionApply'); +var $call = require('call-bind-apply-helpers/functionCall'); + +var needsEval = {}; + +var TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array); + +var INTRINSICS = { + __proto__: null, + '%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError, + '%Array%': Array, + '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer, + '%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined, + '%AsyncFromSyncIteratorPrototype%': undefined, + '%AsyncFunction%': needsEval, + '%AsyncGenerator%': needsEval, + '%AsyncGeneratorFunction%': needsEval, + '%AsyncIteratorPrototype%': needsEval, + '%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics, + '%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt, + '%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array, + '%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array, + '%Boolean%': Boolean, + '%DataView%': typeof DataView === 'undefined' ? undefined : DataView, + '%Date%': Date, + '%decodeURI%': decodeURI, + '%decodeURIComponent%': decodeURIComponent, + '%encodeURI%': encodeURI, + '%encodeURIComponent%': encodeURIComponent, + '%Error%': $Error, + '%eval%': eval, // eslint-disable-line no-eval + '%EvalError%': $EvalError, + '%Float16Array%': typeof Float16Array === 'undefined' ? undefined : Float16Array, + '%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array, + '%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array, + '%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry, + '%Function%': $Function, + '%GeneratorFunction%': needsEval, + '%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array, + '%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array, + '%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array, + '%isFinite%': isFinite, + '%isNaN%': isNaN, + '%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined, + '%JSON%': typeof JSON === 'object' ? JSON : undefined, + '%Map%': typeof Map === 'undefined' ? undefined : Map, + '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()), + '%Math%': Math, + '%Number%': Number, + '%Object%': $Object, + '%Object.getOwnPropertyDescriptor%': $gOPD, + '%parseFloat%': parseFloat, + '%parseInt%': parseInt, + '%Promise%': typeof Promise === 'undefined' ? undefined : Promise, + '%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy, + '%RangeError%': $RangeError, + '%ReferenceError%': $ReferenceError, + '%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect, + '%RegExp%': RegExp, + '%Set%': typeof Set === 'undefined' ? undefined : Set, + '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()), + '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer, + '%String%': String, + '%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined, + '%Symbol%': hasSymbols ? Symbol : undefined, + '%SyntaxError%': $SyntaxError, + '%ThrowTypeError%': ThrowTypeError, + '%TypedArray%': TypedArray, + '%TypeError%': $TypeError, + '%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array, + '%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray, + '%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array, + '%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array, + '%URIError%': $URIError, + '%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap, + '%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef, + '%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet, + + '%Function.prototype.call%': $call, + '%Function.prototype.apply%': $apply, + '%Object.defineProperty%': $defineProperty, + '%Object.getPrototypeOf%': $ObjectGPO, + '%Math.abs%': abs, + '%Math.floor%': floor, + '%Math.max%': max, + '%Math.min%': min, + '%Math.pow%': pow, + '%Math.round%': round, + '%Math.sign%': sign, + '%Reflect.getPrototypeOf%': $ReflectGPO +}; + +if (getProto) { + try { + null.error; // eslint-disable-line no-unused-expressions + } catch (e) { + // https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229 + var errorProto = getProto(getProto(e)); + INTRINSICS['%Error.prototype%'] = errorProto; + } +} + +var doEval = function doEval(name) { + var value; + if (name === '%AsyncFunction%') { + value = getEvalledConstructor('async function () {}'); + } else if (name === '%GeneratorFunction%') { + value = getEvalledConstructor('function* () {}'); + } else if (name === '%AsyncGeneratorFunction%') { + value = getEvalledConstructor('async function* () {}'); + } else if (name === '%AsyncGenerator%') { + var fn = doEval('%AsyncGeneratorFunction%'); + if (fn) { + value = fn.prototype; + } + } else if (name === '%AsyncIteratorPrototype%') { + var gen = doEval('%AsyncGenerator%'); + if (gen && getProto) { + value = getProto(gen.prototype); + } + } + + INTRINSICS[name] = value; + + return value; +}; + +var LEGACY_ALIASES = { + __proto__: null, + '%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'], + '%ArrayPrototype%': ['Array', 'prototype'], + '%ArrayProto_entries%': ['Array', 'prototype', 'entries'], + '%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'], + '%ArrayProto_keys%': ['Array', 'prototype', 'keys'], + '%ArrayProto_values%': ['Array', 'prototype', 'values'], + '%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'], + '%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'], + '%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'], + '%BooleanPrototype%': ['Boolean', 'prototype'], + '%DataViewPrototype%': ['DataView', 'prototype'], + '%DatePrototype%': ['Date', 'prototype'], + '%ErrorPrototype%': ['Error', 'prototype'], + '%EvalErrorPrototype%': ['EvalError', 'prototype'], + '%Float32ArrayPrototype%': ['Float32Array', 'prototype'], + '%Float64ArrayPrototype%': ['Float64Array', 'prototype'], + '%FunctionPrototype%': ['Function', 'prototype'], + '%Generator%': ['GeneratorFunction', 'prototype'], + '%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'], + '%Int8ArrayPrototype%': ['Int8Array', 'prototype'], + '%Int16ArrayPrototype%': ['Int16Array', 'prototype'], + '%Int32ArrayPrototype%': ['Int32Array', 'prototype'], + '%JSONParse%': ['JSON', 'parse'], + '%JSONStringify%': ['JSON', 'stringify'], + '%MapPrototype%': ['Map', 'prototype'], + '%NumberPrototype%': ['Number', 'prototype'], + '%ObjectPrototype%': ['Object', 'prototype'], + '%ObjProto_toString%': ['Object', 'prototype', 'toString'], + '%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'], + '%PromisePrototype%': ['Promise', 'prototype'], + '%PromiseProto_then%': ['Promise', 'prototype', 'then'], + '%Promise_all%': ['Promise', 'all'], + '%Promise_reject%': ['Promise', 'reject'], + '%Promise_resolve%': ['Promise', 'resolve'], + '%RangeErrorPrototype%': ['RangeError', 'prototype'], + '%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'], + '%RegExpPrototype%': ['RegExp', 'prototype'], + '%SetPrototype%': ['Set', 'prototype'], + '%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'], + '%StringPrototype%': ['String', 'prototype'], + '%SymbolPrototype%': ['Symbol', 'prototype'], + '%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'], + '%TypedArrayPrototype%': ['TypedArray', 'prototype'], + '%TypeErrorPrototype%': ['TypeError', 'prototype'], + '%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'], + '%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'], + '%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'], + '%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'], + '%URIErrorPrototype%': ['URIError', 'prototype'], + '%WeakMapPrototype%': ['WeakMap', 'prototype'], + '%WeakSetPrototype%': ['WeakSet', 'prototype'] +}; + +var bind = require('function-bind'); +var hasOwn = require('hasown'); +var $concat = bind.call($call, Array.prototype.concat); +var $spliceApply = bind.call($apply, Array.prototype.splice); +var $replace = bind.call($call, String.prototype.replace); +var $strSlice = bind.call($call, String.prototype.slice); +var $exec = bind.call($call, RegExp.prototype.exec); + +/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */ +var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g; +var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */ +var stringToPath = function stringToPath(string) { + var first = $strSlice(string, 0, 1); + var last = $strSlice(string, -1); + if (first === '%' && last !== '%') { + throw new $SyntaxError('invalid intrinsic syntax, expected closing `%`'); + } else if (last === '%' && first !== '%') { + throw new $SyntaxError('invalid intrinsic syntax, expected opening `%`'); + } + var result = []; + $replace(string, rePropName, function (match, number, quote, subString) { + result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match; + }); + return result; +}; +/* end adaptation */ + +var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) { + var intrinsicName = name; + var alias; + if (hasOwn(LEGACY_ALIASES, intrinsicName)) { + alias = LEGACY_ALIASES[intrinsicName]; + intrinsicName = '%' + alias[0] + '%'; + } + + if (hasOwn(INTRINSICS, intrinsicName)) { + var value = INTRINSICS[intrinsicName]; + if (value === needsEval) { + value = doEval(intrinsicName); + } + if (typeof value === 'undefined' && !allowMissing) { + throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!'); + } + + return { + alias: alias, + name: intrinsicName, + value: value + }; + } + + throw new $SyntaxError('intrinsic ' + name + ' does not exist!'); +}; + +module.exports = function GetIntrinsic(name, allowMissing) { + if (typeof name !== 'string' || name.length === 0) { + throw new $TypeError('intrinsic name must be a non-empty string'); + } + if (arguments.length > 1 && typeof allowMissing !== 'boolean') { + throw new $TypeError('"allowMissing" argument must be a boolean'); + } + + if ($exec(/^%?[^%]*%?$/, name) === null) { + throw new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name'); + } + var parts = stringToPath(name); + var intrinsicBaseName = parts.length > 0 ? parts[0] : ''; + + var intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing); + var intrinsicRealName = intrinsic.name; + var value = intrinsic.value; + var skipFurtherCaching = false; + + var alias = intrinsic.alias; + if (alias) { + intrinsicBaseName = alias[0]; + $spliceApply(parts, $concat([0, 1], alias)); + } + + for (var i = 1, isOwn = true; i < parts.length; i += 1) { + var part = parts[i]; + var first = $strSlice(part, 0, 1); + var last = $strSlice(part, -1); + if ( + ( + (first === '"' || first === "'" || first === '`') + || (last === '"' || last === "'" || last === '`') + ) + && first !== last + ) { + throw new $SyntaxError('property names with quotes must have matching quotes'); + } + if (part === 'constructor' || !isOwn) { + skipFurtherCaching = true; + } + + intrinsicBaseName += '.' + part; + intrinsicRealName = '%' + intrinsicBaseName + '%'; + + if (hasOwn(INTRINSICS, intrinsicRealName)) { + value = INTRINSICS[intrinsicRealName]; + } else if (value != null) { + if (!(part in value)) { + if (!allowMissing) { + throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.'); + } + return void undefined; + } + if ($gOPD && (i + 1) >= parts.length) { + var desc = $gOPD(value, part); + isOwn = !!desc; + + // By convention, when a data property is converted to an accessor + // property to emulate a data property that does not suffer from + // the override mistake, that accessor's getter is marked with + // an `originalValue` property. Here, when we detect this, we + // uphold the illusion by pretending to see that original data + // property, i.e., returning the value rather than the getter + // itself. + if (isOwn && 'get' in desc && !('originalValue' in desc.get)) { + value = desc.get; + } else { + value = value[part]; + } + } else { + isOwn = hasOwn(value, part); + value = value[part]; + } + + if (isOwn && !skipFurtherCaching) { + INTRINSICS[intrinsicRealName] = value; + } + } + } + return value; +}; diff --git a/data/298 b/data/298 new file mode 100644 index 0000000..b4b4688 --- /dev/null +++ b/data/298 @@ -0,0 +1,56 @@ +'use strict'; + +var $defineProperty = require('../'); + +var test = require('tape'); +var gOPD = require('gopd'); + +test('defineProperty: supported', { skip: !$defineProperty }, function (t) { + t.plan(4); + + t.equal(typeof $defineProperty, 'function', 'defineProperty is supported'); + if ($defineProperty && gOPD) { // this `if` check is just to shut TS up + /** @type {{ a: number, b?: number, c?: number }} */ + var o = { a: 1 }; + + $defineProperty(o, 'b', { enumerable: true, value: 2 }); + t.deepEqual( + gOPD(o, 'b'), + { + configurable: false, + enumerable: true, + value: 2, + writable: false + }, + 'property descriptor is as expected' + ); + + $defineProperty(o, 'c', { enumerable: false, value: 3, writable: true }); + t.deepEqual( + gOPD(o, 'c'), + { + configurable: false, + enumerable: false, + value: 3, + writable: true + }, + 'property descriptor is as expected' + ); + } + + t.equal($defineProperty, Object.defineProperty, 'defineProperty is Object.defineProperty'); + + t.end(); +}); + +test('defineProperty: not supported', { skip: !!$defineProperty }, function (t) { + t.notOk($defineProperty, 'defineProperty is not supported'); + + t.match( + typeof $defineProperty, + /^(?:undefined|boolean)$/, + '`typeof defineProperty` is `undefined` or `boolean`' + ); + + t.end(); +}); diff --git a/data/299 b/data/299 new file mode 100644 index 0000000..c71df9c --- /dev/null +++ b/data/299 @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./functionApply')} */ +module.exports = Function.prototype.apply; diff --git a/data/300 b/data/300 new file mode 100644 index 0000000..a2fc9f0 --- /dev/null +++ b/data/300 @@ -0,0 +1,61 @@ +'use strict'; + +var test = require('tape'); + +var callBound = require('../'); + +/** @template {true} T @template U @typedef {T extends U ? T : never} AssertType */ + +test('callBound', function (t) { + // static primitive + t.equal(callBound('Array.length'), Array.length, 'Array.length yields itself'); + t.equal(callBound('%Array.length%'), Array.length, '%Array.length% yields itself'); + + // static non-function object + t.equal(callBound('Array.prototype'), Array.prototype, 'Array.prototype yields itself'); + t.equal(callBound('%Array.prototype%'), Array.prototype, '%Array.prototype% yields itself'); + t.equal(callBound('Array.constructor'), Array.constructor, 'Array.constructor yields itself'); + t.equal(callBound('%Array.constructor%'), Array.constructor, '%Array.constructor% yields itself'); + + // static function + t.equal(callBound('Date.parse'), Date.parse, 'Date.parse yields itself'); + t.equal(callBound('%Date.parse%'), Date.parse, '%Date.parse% yields itself'); + + // prototype primitive + t.equal(callBound('Error.prototype.message'), Error.prototype.message, 'Error.prototype.message yields itself'); + t.equal(callBound('%Error.prototype.message%'), Error.prototype.message, '%Error.prototype.message% yields itself'); + + var x = callBound('Object.prototype.toString'); + var y = callBound('%Object.prototype.toString%'); + + // prototype function + t.notEqual(x, Object.prototype.toString, 'Object.prototype.toString does not yield itself'); + t.notEqual(y, Object.prototype.toString, '%Object.prototype.toString% does not yield itself'); + t.equal(x(true), Object.prototype.toString.call(true), 'call-bound Object.prototype.toString calls into the original'); + t.equal(y(true), Object.prototype.toString.call(true), 'call-bound %Object.prototype.toString% calls into the original'); + + t['throws']( + // @ts-expect-error + function () { callBound('does not exist'); }, + SyntaxError, + 'nonexistent intrinsic throws' + ); + t['throws']( + // @ts-expect-error + function () { callBound('does not exist', true); }, + SyntaxError, + 'allowMissing arg still throws for unknown intrinsic' + ); + + t.test('real but absent intrinsic', { skip: typeof WeakRef !== 'undefined' }, function (st) { + st['throws']( + function () { callBound('WeakRef'); }, + TypeError, + 'real but absent intrinsic throws' + ); + st.equal(callBound('WeakRef', true), undefined, 'allowMissing arg avoids exception'); + st.end(); + }); + + t.end(); +}); diff --git a/data/301 b/data/301 new file mode 100644 index 0000000..1ff0277 --- /dev/null +++ b/data/301 @@ -0,0 +1,19 @@ +'use strict'; + +var test = require('tape'); + +var E = require('../'); +var R = require('../range'); +var Ref = require('../ref'); +var S = require('../syntax'); +var T = require('../type'); + +test('errors', function (t) { + t.equal(E, Error); + t.equal(R, RangeError); + t.equal(Ref, ReferenceError); + t.equal(S, SyntaxError); + t.equal(T, TypeError); + + t.end(); +}); diff --git a/data/302 b/data/302 new file mode 100644 index 0000000..1a29024 --- /dev/null +++ b/data/302 @@ -0,0 +1,29 @@ +'use strict'; + +var test = require('tape'); + +if (typeof Symbol === 'function' && typeof Symbol() === 'symbol') { + test('has native Symbol support', function (t) { + t.equal(typeof Symbol, 'function'); + t.equal(typeof Symbol(), 'symbol'); + t.end(); + }); + // @ts-expect-error TS is stupid and doesn't know about top level return + return; +} + +var hasSymbols = require('../../shams'); + +test('polyfilled Symbols', function (t) { + /* eslint-disable global-require */ + t.equal(hasSymbols(), false, 'hasSymbols is false before polyfilling'); + require('core-js/fn/symbol'); + require('core-js/fn/symbol/to-string-tag'); + + require('../tests')(t); + + var hasSymbolsAfter = hasSymbols(); + t.equal(hasSymbolsAfter, true, 'hasSymbols is true after polyfilling'); + /* eslint-enable global-require */ + t.end(); +}); diff --git a/data/303 b/data/303 new file mode 100644 index 0000000..0f90a5d --- /dev/null +++ b/data/303 @@ -0,0 +1,192 @@ +'use strict'; + +var test = require('tape'); +var v = require('es-value-fixtures'); +var forEach = require('for-each'); +var inspect = require('object-inspect'); + +var abs = require('../abs'); +var floor = require('../floor'); +var isFinite = require('../isFinite'); +var isInteger = require('../isInteger'); +var isNaN = require('../isNaN'); +var isNegativeZero = require('../isNegativeZero'); +var max = require('../max'); +var min = require('../min'); +var mod = require('../mod'); +var pow = require('../pow'); +var round = require('../round'); +var sign = require('../sign'); + +var maxArrayLength = require('../constants/maxArrayLength'); +var maxSafeInteger = require('../constants/maxSafeInteger'); +var maxValue = require('../constants/maxValue'); + +test('abs', function (t) { + t.equal(abs(-1), 1, 'abs(-1) === 1'); + t.equal(abs(+1), 1, 'abs(+1) === 1'); + t.equal(abs(+0), +0, 'abs(+0) === +0'); + t.equal(abs(-0), +0, 'abs(-0) === +0'); + + t.end(); +}); + +test('floor', function (t) { + t.equal(floor(-1.1), -2, 'floor(-1.1) === -2'); + t.equal(floor(+1.1), 1, 'floor(+1.1) === 1'); + t.equal(floor(+0), +0, 'floor(+0) === +0'); + t.equal(floor(-0), -0, 'floor(-0) === -0'); + t.equal(floor(-Infinity), -Infinity, 'floor(-Infinity) === -Infinity'); + t.equal(floor(Number(Infinity)), Number(Infinity), 'floor(+Infinity) === +Infinity'); + t.equal(floor(NaN), NaN, 'floor(NaN) === NaN'); + t.equal(floor(0), +0, 'floor(0) === +0'); + t.equal(floor(-0), -0, 'floor(-0) === -0'); + t.equal(floor(1), 1, 'floor(1) === 1'); + t.equal(floor(-1), -1, 'floor(-1) === -1'); + t.equal(floor(1.1), 1, 'floor(1.1) === 1'); + t.equal(floor(-1.1), -2, 'floor(-1.1) === -2'); + t.equal(floor(maxValue), maxValue, 'floor(maxValue) === maxValue'); + t.equal(floor(maxSafeInteger), maxSafeInteger, 'floor(maxSafeInteger) === maxSafeInteger'); + + t.end(); +}); + +test('isFinite', function (t) { + t.equal(isFinite(0), true, 'isFinite(+0) === true'); + t.equal(isFinite(-0), true, 'isFinite(-0) === true'); + t.equal(isFinite(1), true, 'isFinite(1) === true'); + t.equal(isFinite(Infinity), false, 'isFinite(Infinity) === false'); + t.equal(isFinite(-Infinity), false, 'isFinite(-Infinity) === false'); + t.equal(isFinite(NaN), false, 'isFinite(NaN) === false'); + + forEach(v.nonNumbers, function (nonNumber) { + t.equal(isFinite(nonNumber), false, 'isFinite(' + inspect(nonNumber) + ') === false'); + }); + + t.end(); +}); + +test('isInteger', function (t) { + forEach([].concat( + // @ts-expect-error TS sucks with concat + v.nonNumbers, + v.nonIntegerNumbers + ), function (nonInteger) { + t.equal(isInteger(nonInteger), false, 'isInteger(' + inspect(nonInteger) + ') === false'); + }); + + t.end(); +}); + +test('isNaN', function (t) { + forEach([].concat( + // @ts-expect-error TS sucks with concat + v.nonNumbers, + v.infinities, + v.zeroes, + v.integerNumbers + ), function (nonNaN) { + t.equal(isNaN(nonNaN), false, 'isNaN(' + inspect(nonNaN) + ') === false'); + }); + + t.equal(isNaN(NaN), true, 'isNaN(NaN) === true'); + + t.end(); +}); + +test('isNegativeZero', function (t) { + t.equal(isNegativeZero(-0), true, 'isNegativeZero(-0) === true'); + t.equal(isNegativeZero(+0), false, 'isNegativeZero(+0) === false'); + t.equal(isNegativeZero(1), false, 'isNegativeZero(1) === false'); + t.equal(isNegativeZero(-1), false, 'isNegativeZero(-1) === false'); + t.equal(isNegativeZero(NaN), false, 'isNegativeZero(NaN) === false'); + t.equal(isNegativeZero(Infinity), false, 'isNegativeZero(Infinity) === false'); + t.equal(isNegativeZero(-Infinity), false, 'isNegativeZero(-Infinity) === false'); + + forEach(v.nonNumbers, function (nonNumber) { + t.equal(isNegativeZero(nonNumber), false, 'isNegativeZero(' + inspect(nonNumber) + ') === false'); + }); + + t.end(); +}); + +test('max', function (t) { + t.equal(max(1, 2), 2, 'max(1, 2) === 2'); + t.equal(max(1, 2, 3), 3, 'max(1, 2, 3) === 3'); + t.equal(max(1, 2, 3, 4), 4, 'max(1, 2, 3, 4) === 4'); + t.equal(max(1, 2, 3, 4, 5), 5, 'max(1, 2, 3, 4, 5) === 5'); + t.equal(max(1, 2, 3, 4, 5, 6), 6, 'max(1, 2, 3, 4, 5, 6) === 6'); + t.equal(max(1, 2, 3, 4, 5, 6, 7), 7, 'max(1, 2, 3, 4, 5, 6, 7) === 7'); + + t.end(); +}); + +test('min', function (t) { + t.equal(min(1, 2), 1, 'min(1, 2) === 1'); + t.equal(min(1, 2, 3), 1, 'min(1, 2, 3) === 1'); + t.equal(min(1, 2, 3, 4), 1, 'min(1, 2, 3, 4) === 1'); + t.equal(min(1, 2, 3, 4, 5), 1, 'min(1, 2, 3, 4, 5) === 1'); + t.equal(min(1, 2, 3, 4, 5, 6), 1, 'min(1, 2, 3, 4, 5, 6) === 1'); + + t.end(); +}); + +test('mod', function (t) { + t.equal(mod(1, 2), 1, 'mod(1, 2) === 1'); + t.equal(mod(2, 2), 0, 'mod(2, 2) === 0'); + t.equal(mod(3, 2), 1, 'mod(3, 2) === 1'); + t.equal(mod(4, 2), 0, 'mod(4, 2) === 0'); + t.equal(mod(5, 2), 1, 'mod(5, 2) === 1'); + t.equal(mod(6, 2), 0, 'mod(6, 2) === 0'); + t.equal(mod(7, 2), 1, 'mod(7, 2) === 1'); + t.equal(mod(8, 2), 0, 'mod(8, 2) === 0'); + t.equal(mod(9, 2), 1, 'mod(9, 2) === 1'); + t.equal(mod(10, 2), 0, 'mod(10, 2) === 0'); + t.equal(mod(11, 2), 1, 'mod(11, 2) === 1'); + + t.end(); +}); + +test('pow', function (t) { + t.equal(pow(2, 2), 4, 'pow(2, 2) === 4'); + t.equal(pow(2, 3), 8, 'pow(2, 3) === 8'); + t.equal(pow(2, 4), 16, 'pow(2, 4) === 16'); + t.equal(pow(2, 5), 32, 'pow(2, 5) === 32'); + t.equal(pow(2, 6), 64, 'pow(2, 6) === 64'); + t.equal(pow(2, 7), 128, 'pow(2, 7) === 128'); + t.equal(pow(2, 8), 256, 'pow(2, 8) === 256'); + t.equal(pow(2, 9), 512, 'pow(2, 9) === 512'); + t.equal(pow(2, 10), 1024, 'pow(2, 10) === 1024'); + + t.end(); +}); + +test('round', function (t) { + t.equal(round(1.1), 1, 'round(1.1) === 1'); + t.equal(round(1.5), 2, 'round(1.5) === 2'); + t.equal(round(1.9), 2, 'round(1.9) === 2'); + + t.end(); +}); + +test('sign', function (t) { + t.equal(sign(-1), -1, 'sign(-1) === -1'); + t.equal(sign(+1), +1, 'sign(+1) === +1'); + t.equal(sign(+0), +0, 'sign(+0) === +0'); + t.equal(sign(-0), -0, 'sign(-0) === -0'); + t.equal(sign(NaN), NaN, 'sign(NaN) === NaN'); + t.equal(sign(Infinity), +1, 'sign(Infinity) === +1'); + t.equal(sign(-Infinity), -1, 'sign(-Infinity) === -1'); + t.equal(sign(maxValue), +1, 'sign(maxValue) === +1'); + t.equal(sign(maxSafeInteger), +1, 'sign(maxSafeInteger) === +1'); + + t.end(); +}); + +test('constants', function (t) { + t.equal(typeof maxArrayLength, 'number', 'typeof maxArrayLength === "number"'); + t.equal(typeof maxSafeInteger, 'number', 'typeof maxSafeInteger === "number"'); + t.equal(typeof maxValue, 'number', 'typeof maxValue === "number"'); + + t.end(); +}); diff --git a/data/304 b/data/304 new file mode 100644 index 0000000..5a2ece2 --- /dev/null +++ b/data/304 @@ -0,0 +1,68 @@ +'use strict'; + +var test = require('tape'); + +var getProto = require('../'); + +test('getProto', function (t) { + t.equal(typeof getProto, 'function', 'is a function'); + + t.test('can get', { skip: !getProto }, function (st) { + if (getProto) { // TS doesn't understand tape's skip + var proto = { b: 2 }; + st.equal(getProto(proto), Object.prototype, 'proto: returns the [[Prototype]]'); + + st.test('nullish value', function (s2t) { + // @ts-expect-error + s2t['throws'](function () { return getProto(undefined); }, TypeError, 'undefined is not an object'); + // @ts-expect-error + s2t['throws'](function () { return getProto(null); }, TypeError, 'null is not an object'); + s2t.end(); + }); + + // @ts-expect-error + st['throws'](function () { getProto(true); }, 'throws for true'); + // @ts-expect-error + st['throws'](function () { getProto(false); }, 'throws for false'); + // @ts-expect-error + st['throws'](function () { getProto(42); }, 'throws for 42'); + // @ts-expect-error + st['throws'](function () { getProto(NaN); }, 'throws for NaN'); + // @ts-expect-error + st['throws'](function () { getProto(0); }, 'throws for +0'); + // @ts-expect-error + st['throws'](function () { getProto(-0); }, 'throws for -0'); + // @ts-expect-error + st['throws'](function () { getProto(Infinity); }, 'throws for ∞'); + // @ts-expect-error + st['throws'](function () { getProto(-Infinity); }, 'throws for -∞'); + // @ts-expect-error + st['throws'](function () { getProto(''); }, 'throws for empty string'); + // @ts-expect-error + st['throws'](function () { getProto('foo'); }, 'throws for non-empty string'); + st.equal(getProto(/a/g), RegExp.prototype); + st.equal(getProto(new Date()), Date.prototype); + st.equal(getProto(function () {}), Function.prototype); + st.equal(getProto([]), Array.prototype); + st.equal(getProto({}), Object.prototype); + + var nullObject = { __proto__: null }; + if ('toString' in nullObject) { + st.comment('no null objects in this engine'); + st.equal(getProto(nullObject), Object.prototype, '"null" object has Object.prototype as [[Prototype]]'); + } else { + st.equal(getProto(nullObject), null, 'null object has null [[Prototype]]'); + } + } + + st.end(); + }); + + t.test('can not get', { skip: !!getProto }, function (st) { + st.equal(getProto, null); + + st.end(); + }); + + t.end(); +}); diff --git a/data/305 b/data/305 new file mode 100644 index 0000000..89d542f --- /dev/null +++ b/data/305 @@ -0,0 +1,139 @@ +# statuses + +[![NPM Version][npm-version-image]][npm-url] +[![NPM Downloads][npm-downloads-image]][npm-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][ci-image]][ci-url] +[![Test Coverage][coveralls-image]][coveralls-url] +[![OpenSSF Scorecard Badge][ossf-scorecard-badge]][ossf-scorecard-visualizer] + +HTTP status utility for node. + +This module provides a list of status codes and messages sourced from +a few different projects: + + * The [IANA Status Code Registry](https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml) + * The [Node.js project](https://nodejs.org/) + * The [NGINX project](https://www.nginx.com/) + * The [Apache HTTP Server project](https://httpd.apache.org/) + +## Installation + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```sh +$ npm install statuses +``` + +## API + + + +```js +var status = require('statuses') +``` + +### status(code) + +Returns the status message string for a known HTTP status code. The code +may be a number or a string. An error is thrown for an unknown status code. + + + +```js +status(403) // => 'Forbidden' +status('403') // => 'Forbidden' +status(306) // throws +``` + +### status(msg) + +Returns the numeric status code for a known HTTP status message. The message +is case-insensitive. An error is thrown for an unknown status message. + + + +```js +status('forbidden') // => 403 +status('Forbidden') // => 403 +status('foo') // throws +``` + +### status.codes + +Returns an array of all the status codes as `Integer`s. + +### status.code[msg] + +Returns the numeric status code for a known status message (in lower-case), +otherwise `undefined`. + + + +```js +status['not found'] // => 404 +``` + +### status.empty[code] + +Returns `true` if a status code expects an empty body. + + + +```js +status.empty[200] // => undefined +status.empty[204] // => true +status.empty[304] // => true +``` + +### status.message[code] + +Returns the string message for a known numeric status code, otherwise +`undefined`. This object is the same format as the +[Node.js http module `http.STATUS_CODES`](https://nodejs.org/dist/latest/docs/api/http.html#http_http_status_codes). + + + +```js +status.message[404] // => 'Not Found' +``` + +### status.redirect[code] + +Returns `true` if a status code is a valid redirect status. + + + +```js +status.redirect[200] // => undefined +status.redirect[301] // => true +``` + +### status.retry[code] + +Returns `true` if you should retry the rest. + + + +```js +status.retry[501] // => undefined +status.retry[503] // => true +``` + +## License + +[MIT](LICENSE) + +[ci-image]: https://badgen.net/github/checks/jshttp/statuses/master?label=ci +[ci-url]: https://github.com/jshttp/statuses/actions?query=workflow%3Aci +[coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/statuses/master +[coveralls-url]: https://coveralls.io/r/jshttp/statuses?branch=master +[node-version-image]: https://badgen.net/npm/node/statuses +[node-version-url]: https://nodejs.org/en/download +[npm-downloads-image]: https://badgen.net/npm/dm/statuses +[npm-url]: https://npmjs.org/package/statuses +[npm-version-image]: https://badgen.net/npm/v/statuses +[ossf-scorecard-badge]: https://api.securityscorecards.dev/projects/github.com/jshttp/statuses/badge +[ossf-scorecard-visualizer]: https://kooltheba.github.io/openssf-scorecard-api-visualizer/#/projects/github.com/jshttp/statuses diff --git a/data/306 b/data/306 new file mode 100644 index 0000000..bf9c7d6 --- /dev/null +++ b/data/306 @@ -0,0 +1,45 @@ +{ + "name": "forwarded", + "description": "Parse HTTP X-Forwarded-For header", + "version": "0.2.0", + "contributors": [ + "Douglas Christopher Wilson " + ], + "license": "MIT", + "keywords": [ + "x-forwarded-for", + "http", + "req" + ], + "repository": "jshttp/forwarded", + "devDependencies": { + "beautify-benchmark": "0.2.4", + "benchmark": "2.1.4", + "deep-equal": "1.0.1", + "eslint": "7.27.0", + "eslint-config-standard": "14.1.1", + "eslint-plugin-import": "2.23.4", + "eslint-plugin-node": "11.1.0", + "eslint-plugin-promise": "4.3.1", + "eslint-plugin-standard": "4.1.0", + "mocha": "8.4.0", + "nyc": "15.1.0" + }, + "files": [ + "LICENSE", + "HISTORY.md", + "README.md", + "index.js" + ], + "engines": { + "node": ">= 0.6" + }, + "scripts": { + "bench": "node benchmark/index.js", + "lint": "eslint .", + "test": "mocha --reporter spec --bail --check-leaks test/", + "test-ci": "nyc --reporter=lcov --reporter=text npm test", + "test-cov": "nyc --reporter=html --reporter=text npm test", + "version": "node scripts/version-history.js && git add HISTORY.md" + } +} diff --git a/data/307 b/data/307 new file mode 100644 index 0000000..248de7a --- /dev/null +++ b/data/307 @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2014-2018 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/data/308 b/data/308 new file mode 100644 index 0000000..141cb57 --- /dev/null +++ b/data/308 @@ -0,0 +1,292 @@ + +/** + * This is the common logic for both the Node.js and web browser + * implementations of `debug()`. + */ + +function setup(env) { + createDebug.debug = createDebug; + createDebug.default = createDebug; + createDebug.coerce = coerce; + createDebug.disable = disable; + createDebug.enable = enable; + createDebug.enabled = enabled; + createDebug.humanize = require('ms'); + createDebug.destroy = destroy; + + Object.keys(env).forEach(key => { + createDebug[key] = env[key]; + }); + + /** + * The currently active debug mode names, and names to skip. + */ + + createDebug.names = []; + createDebug.skips = []; + + /** + * Map of special "%n" handling functions, for the debug "format" argument. + * + * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". + */ + createDebug.formatters = {}; + + /** + * Selects a color for a debug namespace + * @param {String} namespace The namespace string for the debug instance to be colored + * @return {Number|String} An ANSI color code for the given namespace + * @api private + */ + function selectColor(namespace) { + let hash = 0; + + for (let i = 0; i < namespace.length; i++) { + hash = ((hash << 5) - hash) + namespace.charCodeAt(i); + hash |= 0; // Convert to 32bit integer + } + + return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; + } + createDebug.selectColor = selectColor; + + /** + * Create a debugger with the given `namespace`. + * + * @param {String} namespace + * @return {Function} + * @api public + */ + function createDebug(namespace) { + let prevTime; + let enableOverride = null; + let namespacesCache; + let enabledCache; + + function debug(...args) { + // Disabled? + if (!debug.enabled) { + return; + } + + const self = debug; + + // Set `diff` timestamp + const curr = Number(new Date()); + const ms = curr - (prevTime || curr); + self.diff = ms; + self.prev = prevTime; + self.curr = curr; + prevTime = curr; + + args[0] = createDebug.coerce(args[0]); + + if (typeof args[0] !== 'string') { + // Anything else let's inspect with %O + args.unshift('%O'); + } + + // Apply any `formatters` transformations + let index = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => { + // If we encounter an escaped % then don't increase the array index + if (match === '%%') { + return '%'; + } + index++; + const formatter = createDebug.formatters[format]; + if (typeof formatter === 'function') { + const val = args[index]; + match = formatter.call(self, val); + + // Now we need to remove `args[index]` since it's inlined in the `format` + args.splice(index, 1); + index--; + } + return match; + }); + + // Apply env-specific formatting (colors, etc.) + createDebug.formatArgs.call(self, args); + + const logFn = self.log || createDebug.log; + logFn.apply(self, args); + } + + debug.namespace = namespace; + debug.useColors = createDebug.useColors(); + debug.color = createDebug.selectColor(namespace); + debug.extend = extend; + debug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release. + + Object.defineProperty(debug, 'enabled', { + enumerable: true, + configurable: false, + get: () => { + if (enableOverride !== null) { + return enableOverride; + } + if (namespacesCache !== createDebug.namespaces) { + namespacesCache = createDebug.namespaces; + enabledCache = createDebug.enabled(namespace); + } + + return enabledCache; + }, + set: v => { + enableOverride = v; + } + }); + + // Env-specific initialization logic for debug instances + if (typeof createDebug.init === 'function') { + createDebug.init(debug); + } + + return debug; + } + + function extend(namespace, delimiter) { + const newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace); + newDebug.log = this.log; + return newDebug; + } + + /** + * Enables a debug mode by namespaces. This can include modes + * separated by a colon and wildcards. + * + * @param {String} namespaces + * @api public + */ + function enable(namespaces) { + createDebug.save(namespaces); + createDebug.namespaces = namespaces; + + createDebug.names = []; + createDebug.skips = []; + + const split = (typeof namespaces === 'string' ? namespaces : '') + .trim() + .replace(/\s+/g, ',') + .split(',') + .filter(Boolean); + + for (const ns of split) { + if (ns[0] === '-') { + createDebug.skips.push(ns.slice(1)); + } else { + createDebug.names.push(ns); + } + } + } + + /** + * Checks if the given string matches a namespace template, honoring + * asterisks as wildcards. + * + * @param {String} search + * @param {String} template + * @return {Boolean} + */ + function matchesTemplate(search, template) { + let searchIndex = 0; + let templateIndex = 0; + let starIndex = -1; + let matchIndex = 0; + + while (searchIndex < search.length) { + if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) { + // Match character or proceed with wildcard + if (template[templateIndex] === '*') { + starIndex = templateIndex; + matchIndex = searchIndex; + templateIndex++; // Skip the '*' + } else { + searchIndex++; + templateIndex++; + } + } else if (starIndex !== -1) { // eslint-disable-line no-negated-condition + // Backtrack to the last '*' and try to match more characters + templateIndex = starIndex + 1; + matchIndex++; + searchIndex = matchIndex; + } else { + return false; // No match + } + } + + // Handle trailing '*' in template + while (templateIndex < template.length && template[templateIndex] === '*') { + templateIndex++; + } + + return templateIndex === template.length; + } + + /** + * Disable debug output. + * + * @return {String} namespaces + * @api public + */ + function disable() { + const namespaces = [ + ...createDebug.names, + ...createDebug.skips.map(namespace => '-' + namespace) + ].join(','); + createDebug.enable(''); + return namespaces; + } + + /** + * Returns true if the given mode name is enabled, false otherwise. + * + * @param {String} name + * @return {Boolean} + * @api public + */ + function enabled(name) { + for (const skip of createDebug.skips) { + if (matchesTemplate(name, skip)) { + return false; + } + } + + for (const ns of createDebug.names) { + if (matchesTemplate(name, ns)) { + return true; + } + } + + return false; + } + + /** + * Coerce `val`. + * + * @param {Mixed} val + * @return {Mixed} + * @api private + */ + function coerce(val) { + if (val instanceof Error) { + return val.stack || val.message; + } + return val; + } + + /** + * XXX DO NOT USE. This is a temporary stub function. + * XXX It WILL be removed in the next major release. + */ + function destroy() { + console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'); + } + + createDebug.enable(createDebug.load()); + + return createDebug; +} + +module.exports = setup; diff --git a/data/309 b/data/309 new file mode 100644 index 0000000..9331ae0 --- /dev/null +++ b/data/309 @@ -0,0 +1,409 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PathError = exports.TokenData = void 0; +exports.parse = parse; +exports.compile = compile; +exports.match = match; +exports.pathToRegexp = pathToRegexp; +exports.stringify = stringify; +const DEFAULT_DELIMITER = "/"; +const NOOP_VALUE = (value) => value; +const ID_START = /^[$_\p{ID_Start}]$/u; +const ID_CONTINUE = /^[$\u200c\u200d\p{ID_Continue}]$/u; +const SIMPLE_TOKENS = { + // Groups. + "{": "{", + "}": "}", + // Reserved. + "(": "(", + ")": ")", + "[": "[", + "]": "]", + "+": "+", + "?": "?", + "!": "!", +}; +/** + * Escape text for stringify to path. + */ +function escapeText(str) { + return str.replace(/[{}()\[\]+?!:*\\]/g, "\\$&"); +} +/** + * Escape a regular expression string. + */ +function escape(str) { + return str.replace(/[.+*?^${}()[\]|/\\]/g, "\\$&"); +} +/** + * Tokenized path instance. + */ +class TokenData { + constructor(tokens, originalPath) { + this.tokens = tokens; + this.originalPath = originalPath; + } +} +exports.TokenData = TokenData; +/** + * ParseError is thrown when there is an error processing the path. + */ +class PathError extends TypeError { + constructor(message, originalPath) { + let text = message; + if (originalPath) + text += `: ${originalPath}`; + text += `; visit https://git.new/pathToRegexpError for info`; + super(text); + this.originalPath = originalPath; + } +} +exports.PathError = PathError; +/** + * Parse a string for the raw tokens. + */ +function parse(str, options = {}) { + const { encodePath = NOOP_VALUE } = options; + const chars = [...str]; + const tokens = []; + let index = 0; + let pos = 0; + function name() { + let value = ""; + if (ID_START.test(chars[index])) { + do { + value += chars[index++]; + } while (ID_CONTINUE.test(chars[index])); + } + else if (chars[index] === '"') { + let quoteStart = index; + while (index++ < chars.length) { + if (chars[index] === '"') { + index++; + quoteStart = 0; + break; + } + // Increment over escape characters. + if (chars[index] === "\\") + index++; + value += chars[index]; + } + if (quoteStart) { + throw new PathError(`Unterminated quote at index ${quoteStart}`, str); + } + } + if (!value) { + throw new PathError(`Missing parameter name at index ${index}`, str); + } + return value; + } + while (index < chars.length) { + const value = chars[index]; + const type = SIMPLE_TOKENS[value]; + if (type) { + tokens.push({ type, index: index++, value }); + } + else if (value === "\\") { + tokens.push({ type: "escape", index: index++, value: chars[index++] }); + } + else if (value === ":") { + tokens.push({ type: "param", index: index++, value: name() }); + } + else if (value === "*") { + tokens.push({ type: "wildcard", index: index++, value: name() }); + } + else { + tokens.push({ type: "char", index: index++, value }); + } + } + tokens.push({ type: "end", index, value: "" }); + function consumeUntil(endType) { + const output = []; + while (true) { + const token = tokens[pos++]; + if (token.type === endType) + break; + if (token.type === "char" || token.type === "escape") { + let path = token.value; + let cur = tokens[pos]; + while (cur.type === "char" || cur.type === "escape") { + path += cur.value; + cur = tokens[++pos]; + } + output.push({ + type: "text", + value: encodePath(path), + }); + continue; + } + if (token.type === "param" || token.type === "wildcard") { + output.push({ + type: token.type, + name: token.value, + }); + continue; + } + if (token.type === "{") { + output.push({ + type: "group", + tokens: consumeUntil("}"), + }); + continue; + } + throw new PathError(`Unexpected ${token.type} at index ${token.index}, expected ${endType}`, str); + } + return output; + } + return new TokenData(consumeUntil("end"), str); +} +/** + * Compile a string to a template function for the path. + */ +function compile(path, options = {}) { + const { encode = encodeURIComponent, delimiter = DEFAULT_DELIMITER } = options; + const data = typeof path === "object" ? path : parse(path, options); + const fn = tokensToFunction(data.tokens, delimiter, encode); + return function path(params = {}) { + const [path, ...missing] = fn(params); + if (missing.length) { + throw new TypeError(`Missing parameters: ${missing.join(", ")}`); + } + return path; + }; +} +function tokensToFunction(tokens, delimiter, encode) { + const encoders = tokens.map((token) => tokenToFunction(token, delimiter, encode)); + return (data) => { + const result = [""]; + for (const encoder of encoders) { + const [value, ...extras] = encoder(data); + result[0] += value; + result.push(...extras); + } + return result; + }; +} +/** + * Convert a single token into a path building function. + */ +function tokenToFunction(token, delimiter, encode) { + if (token.type === "text") + return () => [token.value]; + if (token.type === "group") { + const fn = tokensToFunction(token.tokens, delimiter, encode); + return (data) => { + const [value, ...missing] = fn(data); + if (!missing.length) + return [value]; + return [""]; + }; + } + const encodeValue = encode || NOOP_VALUE; + if (token.type === "wildcard" && encode !== false) { + return (data) => { + const value = data[token.name]; + if (value == null) + return ["", token.name]; + if (!Array.isArray(value) || value.length === 0) { + throw new TypeError(`Expected "${token.name}" to be a non-empty array`); + } + return [ + value + .map((value, index) => { + if (typeof value !== "string") { + throw new TypeError(`Expected "${token.name}/${index}" to be a string`); + } + return encodeValue(value); + }) + .join(delimiter), + ]; + }; + } + return (data) => { + const value = data[token.name]; + if (value == null) + return ["", token.name]; + if (typeof value !== "string") { + throw new TypeError(`Expected "${token.name}" to be a string`); + } + return [encodeValue(value)]; + }; +} +/** + * Transform a path into a match function. + */ +function match(path, options = {}) { + const { decode = decodeURIComponent, delimiter = DEFAULT_DELIMITER } = options; + const { regexp, keys } = pathToRegexp(path, options); + const decoders = keys.map((key) => { + if (decode === false) + return NOOP_VALUE; + if (key.type === "param") + return decode; + return (value) => value.split(delimiter).map(decode); + }); + return function match(input) { + const m = regexp.exec(input); + if (!m) + return false; + const path = m[0]; + const params = Object.create(null); + for (let i = 1; i < m.length; i++) { + if (m[i] === undefined) + continue; + const key = keys[i - 1]; + const decoder = decoders[i - 1]; + params[key.name] = decoder(m[i]); + } + return { path, params }; + }; +} +function pathToRegexp(path, options = {}) { + const { delimiter = DEFAULT_DELIMITER, end = true, sensitive = false, trailing = true, } = options; + const keys = []; + const flags = sensitive ? "" : "i"; + const sources = []; + for (const input of pathsToArray(path, [])) { + const data = typeof input === "object" ? input : parse(input, options); + for (const tokens of flatten(data.tokens, 0, [])) { + sources.push(toRegExpSource(tokens, delimiter, keys, data.originalPath)); + } + } + let pattern = `^(?:${sources.join("|")})`; + if (trailing) + pattern += `(?:${escape(delimiter)}$)?`; + pattern += end ? "$" : `(?=${escape(delimiter)}|$)`; + const regexp = new RegExp(pattern, flags); + return { regexp, keys }; +} +/** + * Convert a path or array of paths into a flat array. + */ +function pathsToArray(paths, init) { + if (Array.isArray(paths)) { + for (const p of paths) + pathsToArray(p, init); + } + else { + init.push(paths); + } + return init; +} +/** + * Generate a flat list of sequence tokens from the given tokens. + */ +function* flatten(tokens, index, init) { + if (index === tokens.length) { + return yield init; + } + const token = tokens[index]; + if (token.type === "group") { + for (const seq of flatten(token.tokens, 0, init.slice())) { + yield* flatten(tokens, index + 1, seq); + } + } + else { + init.push(token); + } + yield* flatten(tokens, index + 1, init); +} +/** + * Transform a flat sequence of tokens into a regular expression. + */ +function toRegExpSource(tokens, delimiter, keys, originalPath) { + let result = ""; + let backtrack = ""; + let isSafeSegmentParam = true; + for (const token of tokens) { + if (token.type === "text") { + result += escape(token.value); + backtrack += token.value; + isSafeSegmentParam || (isSafeSegmentParam = token.value.includes(delimiter)); + continue; + } + if (token.type === "param" || token.type === "wildcard") { + if (!isSafeSegmentParam && !backtrack) { + throw new PathError(`Missing text before "${token.name}" ${token.type}`, originalPath); + } + if (token.type === "param") { + result += `(${negate(delimiter, isSafeSegmentParam ? "" : backtrack)}+)`; + } + else { + result += `([\\s\\S]+)`; + } + keys.push(token); + backtrack = ""; + isSafeSegmentParam = false; + continue; + } + } + return result; +} +/** + * Block backtracking on previous text and ignore delimiter string. + */ +function negate(delimiter, backtrack) { + if (backtrack.length < 2) { + if (delimiter.length < 2) + return `[^${escape(delimiter + backtrack)}]`; + return `(?:(?!${escape(delimiter)})[^${escape(backtrack)}])`; + } + if (delimiter.length < 2) { + return `(?:(?!${escape(backtrack)})[^${escape(delimiter)}])`; + } + return `(?:(?!${escape(backtrack)}|${escape(delimiter)})[\\s\\S])`; +} +/** + * Stringify an array of tokens into a path string. + */ +function stringifyTokens(tokens) { + let value = ""; + let i = 0; + function name(value) { + const isSafe = isNameSafe(value) && isNextNameSafe(tokens[i]); + return isSafe ? value : JSON.stringify(value); + } + while (i < tokens.length) { + const token = tokens[i++]; + if (token.type === "text") { + value += escapeText(token.value); + continue; + } + if (token.type === "group") { + value += `{${stringifyTokens(token.tokens)}}`; + continue; + } + if (token.type === "param") { + value += `:${name(token.name)}`; + continue; + } + if (token.type === "wildcard") { + value += `*${name(token.name)}`; + continue; + } + throw new TypeError(`Unknown token type: ${token.type}`); + } + return value; +} +/** + * Stringify token data into a path string. + */ +function stringify(data) { + return stringifyTokens(data.tokens); +} +/** + * Validate the parameter name contains valid ID characters. + */ +function isNameSafe(name) { + const [first, ...rest] = name; + return ID_START.test(first) && rest.every((char) => ID_CONTINUE.test(char)); +} +/** + * Validate the next token does not interfere with the current param name. + */ +function isNextNameSafe(token) { + if (token && token.type === "text") + return !ID_CONTINUE.test(token.value[0]); + return true; +} +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/data/310 b/data/310 new file mode 100644 index 0000000..37edad1 --- /dev/null +++ b/data/310 @@ -0,0 +1,93 @@ +# media-typer + +[![NPM Version][npm-version-image]][npm-url] +[![NPM Downloads][npm-downloads-image]][npm-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][travis-image]][travis-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Simple RFC 6838 media type parser. + +This module will parse a given media type into it's component parts, like type, +subtype, and suffix. A formatter is also provided to put them back together and +the two can be combined to normalize media types into a canonical form. + +If you are looking to parse the string that represents a media type and it's +parameters in HTTP (for example, the `Content-Type` header), use the +[content-type module](https://www.npmjs.com/package/content-type). + +## Installation + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```sh +$ npm install media-typer +``` + +## API + + + +```js +var typer = require('media-typer') +``` + +### typer.parse(string) + + + +```js +var obj = typer.parse('image/svg+xml') +``` + +Parse a media type string. This will return an object with the following +properties (examples are shown for the string `'image/svg+xml; charset=utf-8'`): + + - `type`: The type of the media type (always lower case). Example: `'image'` + + - `subtype`: The subtype of the media type (always lower case). Example: `'svg'` + + - `suffix`: The suffix of the media type (always lower case). Example: `'xml'` + +If the given type string is invalid, then a `TypeError` is thrown. + +### typer.format(obj) + + + +```js +var obj = typer.format({ type: 'image', subtype: 'svg', suffix: 'xml' }) +``` + +Format an object into a media type string. This will return a string of the +mime type for the given object. For the properties of the object, see the +documentation for `typer.parse(string)`. + +If any of the given object values are invalid, then a `TypeError` is thrown. + +### typer.test(string) + + + +```js +var valid = typer.test('image/svg+xml') +``` + +Validate a media type string. This will return `true` is the string is a well- +formatted media type, or `false` otherwise. + +## License + +[MIT](LICENSE) + +[coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/media-typer/master +[coveralls-url]: https://coveralls.io/r/jshttp/media-typer?branch=master +[node-version-image]: https://badgen.net/npm/node/media-typer +[node-version-url]: https://nodejs.org/en/download +[npm-downloads-image]: https://badgen.net/npm/dm/media-typer +[npm-url]: https://npmjs.org/package/media-typer +[npm-version-image]: https://badgen.net/npm/v/media-typer +[travis-image]: https://badgen.net/travis/jshttp/media-typer/master +[travis-url]: https://travis-ci.org/jshttp/media-typer diff --git a/data/311 b/data/311 new file mode 100644 index 0000000..bf9e99b --- /dev/null +++ b/data/311 @@ -0,0 +1,3 @@ +export default function isPromise(obj) { + return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function'; +} diff --git a/data/312 b/data/312 new file mode 100644 index 0000000..01c5ffa --- /dev/null +++ b/data/312 @@ -0,0 +1,77 @@ +{ + "name": "gopd", + "version": "1.2.0", + "description": "`Object.getOwnPropertyDescriptor`, but accounts for IE's broken implementation.", + "main": "index.js", + "exports": { + ".": "./index.js", + "./gOPD": "./gOPD.js", + "./package.json": "./package.json" + }, + "sideEffects": false, + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prelint": "tsc -p . && attw -P", + "lint": "eslint --ext=js,mjs .", + "postlint": "evalmd README.md", + "pretest": "npm run lint", + "tests-only": "tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "npx npm@'>=10.2' audit --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/gopd.git" + }, + "keywords": [ + "ecmascript", + "javascript", + "getownpropertydescriptor", + "property", + "descriptor" + ], + "author": "Jordan Harband ", + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/gopd/issues" + }, + "homepage": "https://github.com/ljharb/gopd#readme", + "devDependencies": { + "@arethetypeswrong/cli": "^0.17.0", + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.2.0", + "@types/tape": "^5.6.5", + "auto-changelog": "^2.5.0", + "encoding": "^0.1.13", + "eslint": "=8.8.0", + "evalmd": "^0.0.19", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "engines": { + "node": ">= 0.4" + } +} diff --git a/data/313 b/data/313 new file mode 100644 index 0000000..8e191c6 --- /dev/null +++ b/data/313 @@ -0,0 +1,11 @@ +'use strict'; + +var $TypeError = require('es-errors/type'); + +/** @type {import('./RequireObjectCoercible')} */ +module.exports = function RequireObjectCoercible(value) { + if (value == null) { + throw new $TypeError((arguments.length > 0 && arguments[1]) || ('Cannot call method on ' + value)); + } + return value; +}; diff --git a/data/314 b/data/314 new file mode 100644 index 0000000..c509d45 --- /dev/null +++ b/data/314 @@ -0,0 +1,11 @@ +MIT License + +Copyright (c) Jonathan Ong +Copyright (c) Douglas Christopher Wilson +Copyright (c) Sindre Sorhus (https://sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/data/315 b/data/315 new file mode 100644 index 0000000..2b0a980 --- /dev/null +++ b/data/315 @@ -0,0 +1,40 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [v2.0.2](https://github.com/inspect-js/hasOwn/compare/v2.0.1...v2.0.2) - 2024-03-10 + +### Commits + +- [types] use shared config [`68e9d4d`](https://github.com/inspect-js/hasOwn/commit/68e9d4dab6facb4f05f02c6baea94a3f2a4e44b2) +- [actions] remove redundant finisher; use reusable workflow [`241a68e`](https://github.com/inspect-js/hasOwn/commit/241a68e13ea1fe52bec5ba7f74144befc31fae7b) +- [Tests] increase coverage [`4125c0d`](https://github.com/inspect-js/hasOwn/commit/4125c0d6121db56ae30e38346dfb0c000b04f0a7) +- [Tests] skip `npm ls` in old node due to TS [`01b9282`](https://github.com/inspect-js/hasOwn/commit/01b92822f9971dea031eafdd14767df41d61c202) +- [types] improve predicate type [`d340f85`](https://github.com/inspect-js/hasOwn/commit/d340f85ce02e286ef61096cbbb6697081d40a12b) +- [Dev Deps] update `tape` [`70089fc`](https://github.com/inspect-js/hasOwn/commit/70089fcf544e64acc024cbe60f5a9b00acad86de) +- [Tests] use `@arethetypeswrong/cli` [`50b272c`](https://github.com/inspect-js/hasOwn/commit/50b272c829f40d053a3dd91c9796e0ac0b2af084) + +## [v2.0.1](https://github.com/inspect-js/hasOwn/compare/v2.0.0...v2.0.1) - 2024-02-10 + +### Commits + +- [types] use a handwritten d.ts file; fix exported type [`012b989`](https://github.com/inspect-js/hasOwn/commit/012b9898ccf91dc441e2ebf594ff70270a5fda58) +- [Dev Deps] update `@types/function-bind`, `@types/mock-property`, `@types/tape`, `aud`, `mock-property`, `npmignore`, `tape`, `typescript` [`977a56f`](https://github.com/inspect-js/hasOwn/commit/977a56f51a1f8b20566f3c471612137894644025) +- [meta] add `sideEffects` flag [`3a60b7b`](https://github.com/inspect-js/hasOwn/commit/3a60b7bf42fccd8c605e5f145a6fcc83b13cb46f) + +## [v2.0.0](https://github.com/inspect-js/hasOwn/compare/v1.0.1...v2.0.0) - 2023-10-19 + +### Commits + +- revamped implementation, tests, readme [`72bf8b3`](https://github.com/inspect-js/hasOwn/commit/72bf8b338e77a638f0a290c63ffaed18339c36b4) +- [meta] revamp package.json [`079775f`](https://github.com/inspect-js/hasOwn/commit/079775fb1ec72c1c6334069593617a0be3847458) +- Only apps should have lockfiles [`6640e23`](https://github.com/inspect-js/hasOwn/commit/6640e233d1bb8b65260880f90787637db157d215) + +## v1.0.1 - 2023-10-10 + +### Commits + +- Initial commit [`8dbfde6`](https://github.com/inspect-js/hasOwn/commit/8dbfde6e8fb0ebb076fab38d138f2984eb340a62) diff --git a/data/316 b/data/316 new file mode 100644 index 0000000..a2671bf --- /dev/null +++ b/data/316 @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2012–2024 LearnBoost and other contributors; + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/data/317 b/data/317 new file mode 100644 index 0000000..1434ade --- /dev/null +++ b/data/317 @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2012 TJ Holowaychuk +Copyright (c) 2016-2017 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/data/318 b/data/318 new file mode 100644 index 0000000..0616607 --- /dev/null +++ b/data/318 @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2015 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/data/319 b/data/319 new file mode 100644 index 0000000..fbed187 --- /dev/null +++ b/data/319 @@ -0,0 +1,81 @@ +{ + "name": "es-define-property", + "version": "1.0.1", + "description": "`Object.defineProperty`, but not IE 8's broken one.", + "main": "index.js", + "types": "./index.d.ts", + "exports": { + ".": "./index.js", + "./package.json": "./package.json" + }, + "sideEffects": false, + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepublishOnly": "safe-publish-latest", + "prelint": "evalmd README.md", + "lint": "eslint --ext=js,mjs .", + "postlint": "tsc -p .", + "pretest": "npm run lint", + "tests-only": "nyc tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "npx npm@'>= 10.2' audit --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/es-define-property.git" + }, + "keywords": [ + "javascript", + "ecmascript", + "object", + "define", + "property", + "defineProperty", + "Object.defineProperty" + ], + "author": "Jordan Harband ", + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/es-define-property/issues" + }, + "homepage": "https://github.com/ljharb/es-define-property#readme", + "devDependencies": { + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.2.2", + "@types/gopd": "^1.0.3", + "@types/tape": "^5.6.5", + "auto-changelog": "^2.5.0", + "encoding": "^0.1.13", + "eslint": "^8.8.0", + "evalmd": "^0.0.19", + "gopd": "^1.2.0", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "engines": { + "node": ">= 0.4" + }, + "testling": { + "files": "test/index.js" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + } +} diff --git a/data/320 b/data/320 new file mode 100644 index 0000000..3bb6b96 --- /dev/null +++ b/data/320 @@ -0,0 +1,5 @@ +'use strict'; + +var implementation = require('./implementation'); + +module.exports = Function.prototype.bind || implementation; diff --git a/data/321 b/data/321 new file mode 100644 index 0000000..7a8d873 --- /dev/null +++ b/data/321 @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./functionCall')} */ +module.exports = Function.prototype.call; diff --git a/data/322 b/data/322 new file mode 100644 index 0000000..d542db4 --- /dev/null +++ b/data/322 @@ -0,0 +1,99 @@ +{ + "name": "call-bound", + "version": "1.0.4", + "description": "Robust call-bound JavaScript intrinsics, using `call-bind` and `get-intrinsic`.", + "main": "index.js", + "exports": { + ".": "./index.js", + "./package.json": "./package.json" + }, + "sideEffects": false, + "scripts": { + "prepack": "npmignore --auto --commentLines=auto", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepublishOnly": "safe-publish-latest", + "prelint": "evalmd README.md", + "lint": "eslint --ext=.js,.mjs .", + "postlint": "tsc -p . && attw -P", + "pretest": "npm run lint", + "tests-only": "nyc tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "npx npm@'>=10.2' audit --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/call-bound.git" + }, + "keywords": [ + "javascript", + "ecmascript", + "es", + "js", + "callbind", + "callbound", + "call", + "bind", + "bound", + "call-bind", + "call-bound", + "function", + "es-abstract" + ], + "author": "Jordan Harband ", + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/call-bound/issues" + }, + "homepage": "https://github.com/ljharb/call-bound#readme", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "devDependencies": { + "@arethetypeswrong/cli": "^0.17.4", + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.3.0", + "@types/call-bind": "^1.0.5", + "@types/get-intrinsic": "^1.2.3", + "@types/tape": "^5.8.1", + "auto-changelog": "^2.5.0", + "encoding": "^0.1.13", + "es-value-fixtures": "^1.7.1", + "eslint": "=8.8.0", + "evalmd": "^0.0.19", + "for-each": "^0.3.5", + "gopd": "^1.2.0", + "has-strict-mode": "^1.1.0", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "object-inspect": "^1.13.4", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "testling": { + "files": "test/index.js" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "engines": { + "node": ">= 0.4" + } +} diff --git a/data/323 b/data/323 new file mode 100644 index 0000000..1743323 --- /dev/null +++ b/data/323 @@ -0,0 +1,114 @@ +'use strict'; + +var test = require('tape'); + +var getSideChannelMap = require('../'); + +test('getSideChannelMap', { skip: typeof Map !== 'function' }, function (t) { + var getSideChannel = getSideChannelMap || function () { + throw new EvalError('should never happen'); + }; + + t.test('export', function (st) { + st.equal(typeof getSideChannel, 'function', 'is a function'); + + st.equal(getSideChannel.length, 0, 'takes no arguments'); + + var channel = getSideChannel(); + st.ok(channel, 'is truthy'); + st.equal(typeof channel, 'object', 'is an object'); + st.end(); + }); + + t.test('assert', function (st) { + var channel = getSideChannel(); + st['throws']( + function () { channel.assert({}); }, + TypeError, + 'nonexistent value throws' + ); + + var o = {}; + channel.set(o, 'data'); + st.doesNotThrow(function () { channel.assert(o); }, 'existent value noops'); + + st.end(); + }); + + t.test('has', function (st) { + var channel = getSideChannel(); + /** @type {unknown[]} */ var o = []; + + st.equal(channel.has(o), false, 'nonexistent value yields false'); + + channel.set(o, 'foo'); + st.equal(channel.has(o), true, 'existent value yields true'); + + st.equal(channel.has('abc'), false, 'non object value non existent yields false'); + + channel.set('abc', 'foo'); + st.equal(channel.has('abc'), true, 'non object value that exists yields true'); + + st.end(); + }); + + t.test('get', function (st) { + var channel = getSideChannel(); + var o = {}; + st.equal(channel.get(o), undefined, 'nonexistent value yields undefined'); + + var data = {}; + channel.set(o, data); + st.equal(channel.get(o), data, '"get" yields data set by "set"'); + + st.end(); + }); + + t.test('set', function (st) { + var channel = getSideChannel(); + var o = function () {}; + st.equal(channel.get(o), undefined, 'value not set'); + + channel.set(o, 42); + st.equal(channel.get(o), 42, 'value was set'); + + channel.set(o, Infinity); + st.equal(channel.get(o), Infinity, 'value was set again'); + + var o2 = {}; + channel.set(o2, 17); + st.equal(channel.get(o), Infinity, 'o is not modified'); + st.equal(channel.get(o2), 17, 'o2 is set'); + + channel.set(o, 14); + st.equal(channel.get(o), 14, 'o is modified'); + st.equal(channel.get(o2), 17, 'o2 is not modified'); + + st.end(); + }); + + t.test('delete', function (st) { + var channel = getSideChannel(); + var o = {}; + st.equal(channel['delete']({}), false, 'nonexistent value yields false'); + + channel.set(o, 42); + st.equal(channel.has(o), true, 'value is set'); + + st.equal(channel['delete']({}), false, 'nonexistent value still yields false'); + + st.equal(channel['delete'](o), true, 'deleted value yields true'); + + st.equal(channel.has(o), false, 'value is no longer set'); + + st.end(); + }); + + t.end(); +}); + +test('getSideChannelMap, no Maps', { skip: typeof Map === 'function' }, function (t) { + t.equal(getSideChannelMap, false, 'is false'); + + t.end(); +}); diff --git a/data/324 b/data/324 new file mode 100644 index 0000000..4ecc31d --- /dev/null +++ b/data/324 @@ -0,0 +1,58 @@ +'use strict'; + +var inspect = require('../'); +var test = require('tape'); +var hasToStringTag = require('has-tostringtag/shams')(); + +test('bigint', { skip: typeof BigInt === 'undefined' }, function (t) { + t.test('primitives', function (st) { + st.plan(3); + + st.equal(inspect(BigInt(-256)), '-256n'); + st.equal(inspect(BigInt(0)), '0n'); + st.equal(inspect(BigInt(256)), '256n'); + }); + + t.test('objects', function (st) { + st.plan(3); + + st.equal(inspect(Object(BigInt(-256))), 'Object(-256n)'); + st.equal(inspect(Object(BigInt(0))), 'Object(0n)'); + st.equal(inspect(Object(BigInt(256))), 'Object(256n)'); + }); + + t.test('syntactic primitives', function (st) { + st.plan(3); + + /* eslint-disable no-new-func */ + st.equal(inspect(Function('return -256n')()), '-256n'); + st.equal(inspect(Function('return 0n')()), '0n'); + st.equal(inspect(Function('return 256n')()), '256n'); + }); + + t.test('toStringTag', { skip: !hasToStringTag }, function (st) { + st.plan(1); + + var faker = {}; + faker[Symbol.toStringTag] = 'BigInt'; + st.equal( + inspect(faker), + '{ [Symbol(Symbol.toStringTag)]: \'BigInt\' }', + 'object lying about being a BigInt inspects as an object' + ); + }); + + t.test('numericSeparator', function (st) { + st.equal(inspect(BigInt(0), { numericSeparator: false }), '0n', '0n, numericSeparator false'); + st.equal(inspect(BigInt(0), { numericSeparator: true }), '0n', '0n, numericSeparator true'); + + st.equal(inspect(BigInt(1234), { numericSeparator: false }), '1234n', '1234n, numericSeparator false'); + st.equal(inspect(BigInt(1234), { numericSeparator: true }), '1_234n', '1234n, numericSeparator true'); + st.equal(inspect(BigInt(-1234), { numericSeparator: false }), '-1234n', '1234n, numericSeparator false'); + st.equal(inspect(BigInt(-1234), { numericSeparator: true }), '-1_234n', '1234n, numericSeparator true'); + + st.end(); + }); + + t.end(); +}); diff --git a/data/325 b/data/325 new file mode 100644 index 0000000..058b6b4 --- /dev/null +++ b/data/325 @@ -0,0 +1,24 @@ +(The MIT License) + +Copyright (c) 2012-2014 Roman Shtylman +Copyright (c) 2015 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/data/326 b/data/326 new file mode 100644 index 0000000..3ad4368 --- /dev/null +++ b/data/326 @@ -0,0 +1,104 @@ +'use strict'; + +var test = require('tape'); + +var getSideChannelList = require('../'); + +test('getSideChannelList', function (t) { + t.test('export', function (st) { + st.equal(typeof getSideChannelList, 'function', 'is a function'); + + st.equal(getSideChannelList.length, 0, 'takes no arguments'); + + var channel = getSideChannelList(); + st.ok(channel, 'is truthy'); + st.equal(typeof channel, 'object', 'is an object'); + st.end(); + }); + + t.test('assert', function (st) { + var channel = getSideChannelList(); + st['throws']( + function () { channel.assert({}); }, + TypeError, + 'nonexistent value throws' + ); + + var o = {}; + channel.set(o, 'data'); + st.doesNotThrow(function () { channel.assert(o); }, 'existent value noops'); + + st.end(); + }); + + t.test('has', function (st) { + var channel = getSideChannelList(); + /** @type {unknown[]} */ var o = []; + + st.equal(channel.has(o), false, 'nonexistent value yields false'); + + channel.set(o, 'foo'); + st.equal(channel.has(o), true, 'existent value yields true'); + + st.equal(channel.has('abc'), false, 'non object value non existent yields false'); + + channel.set('abc', 'foo'); + st.equal(channel.has('abc'), true, 'non object value that exists yields true'); + + st.end(); + }); + + t.test('get', function (st) { + var channel = getSideChannelList(); + var o = {}; + st.equal(channel.get(o), undefined, 'nonexistent value yields undefined'); + + var data = {}; + channel.set(o, data); + st.equal(channel.get(o), data, '"get" yields data set by "set"'); + + st.end(); + }); + + t.test('set', function (st) { + var channel = getSideChannelList(); + var o = function () {}; + st.equal(channel.get(o), undefined, 'value not set'); + + channel.set(o, 42); + st.equal(channel.get(o), 42, 'value was set'); + + channel.set(o, Infinity); + st.equal(channel.get(o), Infinity, 'value was set again'); + + var o2 = {}; + channel.set(o2, 17); + st.equal(channel.get(o), Infinity, 'o is not modified'); + st.equal(channel.get(o2), 17, 'o2 is set'); + + channel.set(o, 14); + st.equal(channel.get(o), 14, 'o is modified'); + st.equal(channel.get(o2), 17, 'o2 is not modified'); + + st.end(); + }); + + t.test('delete', function (st) { + var channel = getSideChannelList(); + var o = {}; + st.equal(channel['delete']({}), false, 'nonexistent value yields false'); + + channel.set(o, 42); + st.equal(channel.has(o), true, 'value is set'); + + st.equal(channel['delete']({}), false, 'nonexistent value still yields false'); + + st.equal(channel['delete'](o), true, 'deleted value yields true'); + + st.equal(channel.has(o), false, 'value is no longer set'); + + st.end(); + }); + + t.end(); +}); diff --git a/data/327 b/data/327 new file mode 100644 index 0000000..a01248b --- /dev/null +++ b/data/327 @@ -0,0 +1,114 @@ +'use strict'; + +var test = require('tape'); + +var getSideChannelWeakMap = require('../'); + +test('getSideChannelMap', { skip: typeof WeakMap !== 'function' && typeof Map !== 'function' }, function (t) { + var getSideChannel = getSideChannelWeakMap || function () { + throw new EvalError('should never happen'); + }; + + t.test('export', function (st) { + st.equal(typeof getSideChannel, 'function', 'is a function'); + + st.equal(getSideChannel.length, 0, 'takes no arguments'); + + var channel = getSideChannel(); + st.ok(channel, 'is truthy'); + st.equal(typeof channel, 'object', 'is an object'); + st.end(); + }); + + t.test('assert', function (st) { + var channel = getSideChannel(); + st['throws']( + function () { channel.assert({}); }, + TypeError, + 'nonexistent value throws' + ); + + var o = {}; + channel.set(o, 'data'); + st.doesNotThrow(function () { channel.assert(o); }, 'existent value noops'); + + st.end(); + }); + + t.test('has', function (st) { + var channel = getSideChannel(); + /** @type {unknown[]} */ var o = []; + + st.equal(channel.has(o), false, 'nonexistent value yields false'); + + channel.set(o, 'foo'); + st.equal(channel.has(o), true, 'existent value yields true'); + + st.equal(channel.has('abc'), false, 'non object value non existent yields false'); + + channel.set('abc', 'foo'); + st.equal(channel.has('abc'), true, 'non object value that exists yields true'); + + st.end(); + }); + + t.test('get', function (st) { + var channel = getSideChannel(); + var o = {}; + st.equal(channel.get(o), undefined, 'nonexistent value yields undefined'); + + var data = {}; + channel.set(o, data); + st.equal(channel.get(o), data, '"get" yields data set by "set"'); + + st.end(); + }); + + t.test('set', function (st) { + var channel = getSideChannel(); + var o = function () {}; + st.equal(channel.get(o), undefined, 'value not set'); + + channel.set(o, 42); + st.equal(channel.get(o), 42, 'value was set'); + + channel.set(o, Infinity); + st.equal(channel.get(o), Infinity, 'value was set again'); + + var o2 = {}; + channel.set(o2, 17); + st.equal(channel.get(o), Infinity, 'o is not modified'); + st.equal(channel.get(o2), 17, 'o2 is set'); + + channel.set(o, 14); + st.equal(channel.get(o), 14, 'o is modified'); + st.equal(channel.get(o2), 17, 'o2 is not modified'); + + st.end(); + }); + + t.test('delete', function (st) { + var channel = getSideChannel(); + var o = {}; + st.equal(channel['delete']({}), false, 'nonexistent value yields false'); + + channel.set(o, 42); + st.equal(channel.has(o), true, 'value is set'); + + st.equal(channel['delete']({}), false, 'nonexistent value still yields false'); + + st.equal(channel['delete'](o), true, 'deleted value yields true'); + + st.equal(channel.has(o), false, 'value is no longer set'); + + st.end(); + }); + + t.end(); +}); + +test('getSideChannelMap, no WeakMaps and/or Maps', { skip: typeof WeakMap === 'function' || typeof Map === 'function' }, function (t) { + t.equal(getSideChannelWeakMap, false, 'is false'); + + t.end(); +}); diff --git a/data/328 b/data/328 new file mode 100644 index 0000000..6022106 --- /dev/null +++ b/data/328 @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2014-2022 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/data/329 b/data/329 new file mode 100644 index 0000000..bd1e7c2 --- /dev/null +++ b/data/329 @@ -0,0 +1,104 @@ +'use strict'; + +var test = require('tape'); + +var getSideChannel = require('../'); + +test('getSideChannel', function (t) { + t.test('export', function (st) { + st.equal(typeof getSideChannel, 'function', 'is a function'); + + st.equal(getSideChannel.length, 0, 'takes no arguments'); + + var channel = getSideChannel(); + st.ok(channel, 'is truthy'); + st.equal(typeof channel, 'object', 'is an object'); + st.end(); + }); + + t.test('assert', function (st) { + var channel = getSideChannel(); + st['throws']( + function () { channel.assert({}); }, + TypeError, + 'nonexistent value throws' + ); + + var o = {}; + channel.set(o, 'data'); + st.doesNotThrow(function () { channel.assert(o); }, 'existent value noops'); + + st.end(); + }); + + t.test('has', function (st) { + var channel = getSideChannel(); + /** @type {unknown[]} */ var o = []; + + st.equal(channel.has(o), false, 'nonexistent value yields false'); + + channel.set(o, 'foo'); + st.equal(channel.has(o), true, 'existent value yields true'); + + st.equal(channel.has('abc'), false, 'non object value non existent yields false'); + + channel.set('abc', 'foo'); + st.equal(channel.has('abc'), true, 'non object value that exists yields true'); + + st.end(); + }); + + t.test('get', function (st) { + var channel = getSideChannel(); + var o = {}; + st.equal(channel.get(o), undefined, 'nonexistent value yields undefined'); + + var data = {}; + channel.set(o, data); + st.equal(channel.get(o), data, '"get" yields data set by "set"'); + + st.end(); + }); + + t.test('set', function (st) { + var channel = getSideChannel(); + var o = function () {}; + st.equal(channel.get(o), undefined, 'value not set'); + + channel.set(o, 42); + st.equal(channel.get(o), 42, 'value was set'); + + channel.set(o, Infinity); + st.equal(channel.get(o), Infinity, 'value was set again'); + + var o2 = {}; + channel.set(o2, 17); + st.equal(channel.get(o), Infinity, 'o is not modified'); + st.equal(channel.get(o2), 17, 'o2 is set'); + + channel.set(o, 14); + st.equal(channel.get(o), 14, 'o is modified'); + st.equal(channel.get(o2), 17, 'o2 is not modified'); + + st.end(); + }); + + t.test('delete', function (st) { + var channel = getSideChannel(); + var o = {}; + st.equal(channel['delete']({}), false, 'nonexistent value yields false'); + + channel.set(o, 42); + st.equal(channel.has(o), true, 'value is set'); + + st.equal(channel['delete']({}), false, 'nonexistent value still yields false'); + + st.equal(channel['delete'](o), true, 'deleted value yields true'); + + st.equal(channel.has(o), false, 'value is no longer set'); + + st.end(); + }); + + t.end(); +}); diff --git a/data/330 b/data/330 new file mode 100644 index 0000000..2044fe0 --- /dev/null +++ b/data/330 @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./range')} */ +module.exports = RangeError; diff --git a/data/331 b/data/331 new file mode 100644 index 0000000..b201a5a --- /dev/null +++ b/data/331 @@ -0,0 +1,12 @@ +'use strict'; + +var $isNaN = require('./isNaN'); + +/** @type {import('./isFinite')} */ +module.exports = function isFinite(x) { + return (typeof x === 'number' || typeof x === 'bigint') + && !$isNaN(x) + && x !== Infinity + && x !== -Infinity; +}; + diff --git a/data/332 b/data/332 new file mode 100644 index 0000000..afeb4dd --- /dev/null +++ b/data/332 @@ -0,0 +1,24 @@ +'use strict' +/* eslint-env mocha */ +/* eslint no-proto: 0 */ +var assert = require('assert') +var setPrototypeOf = require('..') + +describe('setProtoOf(obj, proto)', function () { + it('should merge objects', function () { + var obj = { a: 1, b: 2 } + var proto = { b: 3, c: 4 } + var mergeObj = setPrototypeOf(obj, proto) + + if (Object.getPrototypeOf) { + assert.strictEqual(Object.getPrototypeOf(obj), proto) + } else if ({ __proto__: [] } instanceof Array) { + assert.strictEqual(obj.__proto__, proto) + } else { + assert.strictEqual(obj.a, 1) + assert.strictEqual(obj.b, 2) + assert.strictEqual(obj.c, 4) + } + assert.strictEqual(mergeObj, obj) + }) +}) diff --git a/data/333 b/data/333 new file mode 100644 index 0000000..aa927e4 --- /dev/null +++ b/data/333 @@ -0,0 +1,24 @@ +(The MIT License) + +Copyright (c) 2009-2014 TJ Holowaychuk +Copyright (c) 2013-2014 Roman Shtylman +Copyright (c) 2014-2015 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/data/334 b/data/334 new file mode 100644 index 0000000..14b0822 --- /dev/null +++ b/data/334 @@ -0,0 +1,156 @@ +# safer-buffer [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![javascript style guide][standard-image]][standard-url] [![Security Responsible Disclosure][secuirty-image]][secuirty-url] + +[travis-image]: https://travis-ci.org/ChALkeR/safer-buffer.svg?branch=master +[travis-url]: https://travis-ci.org/ChALkeR/safer-buffer +[npm-image]: https://img.shields.io/npm/v/safer-buffer.svg +[npm-url]: https://npmjs.org/package/safer-buffer +[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg +[standard-url]: https://standardjs.com +[secuirty-image]: https://img.shields.io/badge/Security-Responsible%20Disclosure-green.svg +[secuirty-url]: https://github.com/nodejs/security-wg/blob/master/processes/responsible_disclosure_template.md + +Modern Buffer API polyfill without footguns, working on Node.js from 0.8 to current. + +## How to use? + +First, port all `Buffer()` and `new Buffer()` calls to `Buffer.alloc()` and `Buffer.from()` API. + +Then, to achieve compatibility with outdated Node.js versions (`<4.5.0` and 5.x `<5.9.0`), use +`const Buffer = require('safer-buffer').Buffer` in all files where you make calls to the new +Buffer API. _Use `var` instead of `const` if you need that for your Node.js version range support._ + +Also, see the +[porting Buffer](https://github.com/ChALkeR/safer-buffer/blob/master/Porting-Buffer.md) guide. + +## Do I need it? + +Hopefully, not — dropping support for outdated Node.js versions should be fine nowdays, and that +is the recommended path forward. You _do_ need to port to the `Buffer.alloc()` and `Buffer.from()` +though. + +See the [porting guide](https://github.com/ChALkeR/safer-buffer/blob/master/Porting-Buffer.md) +for a better description. + +## Why not [safe-buffer](https://npmjs.com/safe-buffer)? + +_In short: while `safe-buffer` serves as a polyfill for the new API, it allows old API usage and +itself contains footguns._ + +`safe-buffer` could be used safely to get the new API while still keeping support for older +Node.js versions (like this module), but while analyzing ecosystem usage of the old Buffer API +I found out that `safe-buffer` is itself causing problems in some cases. + +For example, consider the following snippet: + +```console +$ cat example.unsafe.js +console.log(Buffer(20)) +$ ./node-v6.13.0-linux-x64/bin/node example.unsafe.js + +$ standard example.unsafe.js +standard: Use JavaScript Standard Style (https://standardjs.com) + /home/chalker/repo/safer-buffer/example.unsafe.js:2:13: 'Buffer()' was deprecated since v6. Use 'Buffer.alloc()' or 'Buffer.from()' (use 'https://www.npmjs.com/package/safe-buffer' for '<4.5.0') instead. +``` + +This is allocates and writes to console an uninitialized chunk of memory. +[standard](https://www.npmjs.com/package/standard) linter (among others) catch that and warn people +to avoid using unsafe API. + +Let's now throw in `safe-buffer`! + +```console +$ cat example.safe-buffer.js +const Buffer = require('safe-buffer').Buffer +console.log(Buffer(20)) +$ standard example.safe-buffer.js +$ ./node-v6.13.0-linux-x64/bin/node example.safe-buffer.js + +``` + +See the problem? Adding in `safe-buffer` _magically removes the lint warning_, but the behavior +remains identiÑal to what we had before, and when launched on Node.js 6.x LTS — this dumps out +chunks of uninitialized memory. +_And this code will still emit runtime warnings on Node.js 10.x and above._ + +That was done by design. I first considered changing `safe-buffer`, prohibiting old API usage or +emitting warnings on it, but that significantly diverges from `safe-buffer` design. After some +discussion, it was decided to move my approach into a separate package, and _this is that separate +package_. + +This footgun is not imaginary — I observed top-downloaded packages doing that kind of thing, +«fixing» the lint warning by blindly including `safe-buffer` without any actual changes. + +Also in some cases, even if the API _was_ migrated to use of safe Buffer API — a random pull request +can bring unsafe Buffer API usage back to the codebase by adding new calls — and that could go +unnoticed even if you have a linter prohibiting that (becase of the reason stated above), and even +pass CI. _I also observed that being done in popular packages._ + +Some examples: + * [webdriverio](https://github.com/webdriverio/webdriverio/commit/05cbd3167c12e4930f09ef7cf93b127ba4effae4#diff-124380949022817b90b622871837d56cR31) + (a module with 548 759 downloads/month), + * [websocket-stream](https://github.com/maxogden/websocket-stream/commit/c9312bd24d08271687d76da0fe3c83493871cf61) + (218 288 d/m, fix in [maxogden/websocket-stream#142](https://github.com/maxogden/websocket-stream/pull/142)), + * [node-serialport](https://github.com/node-serialport/node-serialport/commit/e8d9d2b16c664224920ce1c895199b1ce2def48c) + (113 138 d/m, fix in [node-serialport/node-serialport#1510](https://github.com/node-serialport/node-serialport/pull/1510)), + * [karma](https://github.com/karma-runner/karma/commit/3d94b8cf18c695104ca195334dc75ff054c74eec) + (3 973 193 d/m, fix in [karma-runner/karma#2947](https://github.com/karma-runner/karma/pull/2947)), + * [spdy-transport](https://github.com/spdy-http2/spdy-transport/commit/5375ac33f4a62a4f65bcfc2827447d42a5dbe8b1) + (5 970 727 d/m, fix in [spdy-http2/spdy-transport#53](https://github.com/spdy-http2/spdy-transport/pull/53)). + * And there are a lot more over the ecosystem. + +I filed a PR at +[mysticatea/eslint-plugin-node#110](https://github.com/mysticatea/eslint-plugin-node/pull/110) to +partially fix that (for cases when that lint rule is used), but it is a semver-major change for +linter rules and presets, so it would take significant time for that to reach actual setups. +_It also hasn't been released yet (2018-03-20)._ + +Also, `safer-buffer` discourages the usage of `.allocUnsafe()`, which is often done by a mistake. +It still supports it with an explicit concern barier, by placing it under +`require('safer-buffer/dangereous')`. + +## But isn't throwing bad? + +Not really. It's an error that could be noticed and fixed early, instead of causing havoc later like +unguarded `new Buffer()` calls that end up receiving user input can do. + +This package affects only the files where `var Buffer = require('safer-buffer').Buffer` was done, so +it is really simple to keep track of things and make sure that you don't mix old API usage with that. +Also, CI should hint anything that you might have missed. + +New commits, if tested, won't land new usage of unsafe Buffer API this way. +_Node.js 10.x also deals with that by printing a runtime depecation warning._ + +### Would it affect third-party modules? + +No, unless you explicitly do an awful thing like monkey-patching or overriding the built-in `Buffer`. +Don't do that. + +### But I don't want throwing… + +That is also fine! + +Also, it could be better in some cases when you don't comprehensive enough test coverage. + +In that case — just don't override `Buffer` and use +`var SaferBuffer = require('safer-buffer').Buffer` instead. + +That way, everything using `Buffer` natively would still work, but there would be two drawbacks: + +* `Buffer.from`/`Buffer.alloc` won't be polyfilled — use `SaferBuffer.from` and + `SaferBuffer.alloc` instead. +* You are still open to accidentally using the insecure deprecated API — use a linter to catch that. + +Note that using a linter to catch accidential `Buffer` constructor usage in this case is strongly +recommended. `Buffer` is not overriden in this usecase, so linters won't get confused. + +## «Without footguns»? + +Well, it is still possible to do _some_ things with `Buffer` API, e.g. accessing `.buffer` property +on older versions and duping things from there. You shouldn't do that in your code, probabably. + +The intention is to remove the most significant footguns that affect lots of packages in the +ecosystem, and to do it in the proper way. + +Also, this package doesn't protect against security issues affecting some Node.js versions, so for +usage in your own production code, it is still recommended to update to a Node.js version +[supported by upstream](https://github.com/nodejs/release#release-schedule). diff --git a/data/335 b/data/335 new file mode 100644 index 0000000..1029a7a --- /dev/null +++ b/data/335 @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2013-2014 Jonathan Ong +Copyright (c) 2014-2022 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/data/337 b/data/337 new file mode 100644 index 0000000..c2cbbdf --- /dev/null +++ b/data/337 @@ -0,0 +1,6 @@ +'use strict'; + +var $Object = require('es-object-atoms'); + +/** @type {import('./Object.getPrototypeOf')} */ +module.exports = $Object.getPrototypeOf || null; diff --git a/data/338 b/data/338 new file mode 100644 index 0000000..ea6b9e2 --- /dev/null +++ b/data/338 @@ -0,0 +1,24 @@ +(The MIT License) + +Copyright (c) 2012-2014 Federico Romero +Copyright (c) 2012-2014 Isaac Z. Schlueter +Copyright (c) 2014-2015 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/data/339 b/data/339 new file mode 100644 index 0000000..237e1b6 --- /dev/null +++ b/data/339 @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2013 Roman Shtylman +Copyright (c) 2014-2022 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/data/340 b/data/340 new file mode 100644 index 0000000..0616607 --- /dev/null +++ b/data/340 @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2015 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/data/341 b/data/341 new file mode 100644 index 0000000..6adecfb --- /dev/null +++ b/data/341 @@ -0,0 +1,46 @@ +root = true + +[*] +indent_style = space +indent_size = 4 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true +max_line_length = 160 +quote_type = single + +[test/*] +max_line_length = off + +[LICENSE.md] +indent_size = off + +[*.md] +max_line_length = off + +[*.json] +max_line_length = off + +[Makefile] +max_line_length = off + +[CHANGELOG.md] +indent_style = space +indent_size = 2 + +[LICENSE] +indent_size = 2 +max_line_length = off + +[coverage/**/*] +indent_size = off +indent_style = off +indent = off +max_line_length = off + +[.nycrc] +indent_style = tab + +[tea.yaml] +indent_size = 2 diff --git a/data/342 b/data/342 new file mode 100644 index 0000000..84441fb --- /dev/null +++ b/data/342 @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2014-2017 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/data/343 b/data/343 new file mode 100644 index 0000000..cab251c --- /dev/null +++ b/data/343 @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2014-2016 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/data/344 b/data/344 new file mode 100644 index 0000000..386b7b6 --- /dev/null +++ b/data/344 @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2014-2015 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/data/345 b/data/345 new file mode 100644 index 0000000..cbe62e8 --- /dev/null +++ b/data/345 @@ -0,0 +1,25 @@ +(The MIT License) + +Copyright (c) 2010 Sencha Inc. +Copyright (c) 2011 LearnBoost +Copyright (c) 2011 TJ Holowaychuk +Copyright (c) 2014-2016 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/data/346 b/data/346 new file mode 100644 index 0000000..386b7b6 --- /dev/null +++ b/data/346 @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2014-2015 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/data/347 b/data/347 new file mode 100644 index 0000000..b6ea1c1 --- /dev/null +++ b/data/347 @@ -0,0 +1,23 @@ +(The MIT License) + +Copyright (c) 2012 TJ Holowaychuk +Copyright (c) 2014-2022 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/data/348 b/data/348 new file mode 100644 index 0000000..381e6aa --- /dev/null +++ b/data/348 @@ -0,0 +1,21 @@ +0.2.0 / 2021-05-31 +================== + + * Use `req.socket` over deprecated `req.connection` + +0.1.2 / 2017-09-14 +================== + + * perf: improve header parsing + * perf: reduce overhead when no `X-Forwarded-For` header + +0.1.1 / 2017-09-10 +================== + + * Fix trimming leading / trailing OWS + * perf: hoist regular expression + +0.1.0 / 2014-09-21 +================== + + * Initial release diff --git a/data/349 b/data/349 new file mode 100644 index 0000000..043d1ca --- /dev/null +++ b/data/349 @@ -0,0 +1,280 @@ +# depd + +[![NPM Version][npm-version-image]][npm-url] +[![NPM Downloads][npm-downloads-image]][npm-url] +[![Node.js Version][node-image]][node-url] +[![Linux Build][travis-image]][travis-url] +[![Windows Build][appveyor-image]][appveyor-url] +[![Coverage Status][coveralls-image]][coveralls-url] + +Deprecate all the things + +> With great modules comes great responsibility; mark things deprecated! + +## Install + +This module is installed directly using `npm`: + +```sh +$ npm install depd +``` + +This module can also be bundled with systems like +[Browserify](http://browserify.org/) or [webpack](https://webpack.github.io/), +though by default this module will alter it's API to no longer display or +track deprecations. + +## API + + + +```js +var deprecate = require('depd')('my-module') +``` + +This library allows you to display deprecation messages to your users. +This library goes above and beyond with deprecation warnings by +introspection of the call stack (but only the bits that it is interested +in). + +Instead of just warning on the first invocation of a deprecated +function and never again, this module will warn on the first invocation +of a deprecated function per unique call site, making it ideal to alert +users of all deprecated uses across the code base, rather than just +whatever happens to execute first. + +The deprecation warnings from this module also include the file and line +information for the call into the module that the deprecated function was +in. + +**NOTE** this library has a similar interface to the `debug` module, and +this module uses the calling file to get the boundary for the call stacks, +so you should always create a new `deprecate` object in each file and not +within some central file. + +### depd(namespace) + +Create a new deprecate function that uses the given namespace name in the +messages and will display the call site prior to the stack entering the +file this function was called from. It is highly suggested you use the +name of your module as the namespace. + +### deprecate(message) + +Call this function from deprecated code to display a deprecation message. +This message will appear once per unique caller site. Caller site is the +first call site in the stack in a different file from the caller of this +function. + +If the message is omitted, a message is generated for you based on the site +of the `deprecate()` call and will display the name of the function called, +similar to the name displayed in a stack trace. + +### deprecate.function(fn, message) + +Call this function to wrap a given function in a deprecation message on any +call to the function. An optional message can be supplied to provide a custom +message. + +### deprecate.property(obj, prop, message) + +Call this function to wrap a given property on object in a deprecation message +on any accessing or setting of the property. An optional message can be supplied +to provide a custom message. + +The method must be called on the object where the property belongs (not +inherited from the prototype). + +If the property is a data descriptor, it will be converted to an accessor +descriptor in order to display the deprecation message. + +### process.on('deprecation', fn) + +This module will allow easy capturing of deprecation errors by emitting the +errors as the type "deprecation" on the global `process`. If there are no +listeners for this type, the errors are written to STDERR as normal, but if +there are any listeners, nothing will be written to STDERR and instead only +emitted. From there, you can write the errors in a different format or to a +logging source. + +The error represents the deprecation and is emitted only once with the same +rules as writing to STDERR. The error has the following properties: + + - `message` - This is the message given by the library + - `name` - This is always `'DeprecationError'` + - `namespace` - This is the namespace the deprecation came from + - `stack` - This is the stack of the call to the deprecated thing + +Example `error.stack` output: + +``` +DeprecationError: my-cool-module deprecated oldfunction + at Object. ([eval]-wrapper:6:22) + at Module._compile (module.js:456:26) + at evalScript (node.js:532:25) + at startup (node.js:80:7) + at node.js:902:3 +``` + +### process.env.NO_DEPRECATION + +As a user of modules that are deprecated, the environment variable `NO_DEPRECATION` +is provided as a quick solution to silencing deprecation warnings from being +output. The format of this is similar to that of `DEBUG`: + +```sh +$ NO_DEPRECATION=my-module,othermod node app.js +``` + +This will suppress deprecations from being output for "my-module" and "othermod". +The value is a list of comma-separated namespaces. To suppress every warning +across all namespaces, use the value `*` for a namespace. + +Providing the argument `--no-deprecation` to the `node` executable will suppress +all deprecations (only available in Node.js 0.8 or higher). + +**NOTE** This will not suppress the deperecations given to any "deprecation" +event listeners, just the output to STDERR. + +### process.env.TRACE_DEPRECATION + +As a user of modules that are deprecated, the environment variable `TRACE_DEPRECATION` +is provided as a solution to getting more detailed location information in deprecation +warnings by including the entire stack trace. The format of this is the same as +`NO_DEPRECATION`: + +```sh +$ TRACE_DEPRECATION=my-module,othermod node app.js +``` + +This will include stack traces for deprecations being output for "my-module" and +"othermod". The value is a list of comma-separated namespaces. To trace every +warning across all namespaces, use the value `*` for a namespace. + +Providing the argument `--trace-deprecation` to the `node` executable will trace +all deprecations (only available in Node.js 0.8 or higher). + +**NOTE** This will not trace the deperecations silenced by `NO_DEPRECATION`. + +## Display + +![message](files/message.png) + +When a user calls a function in your library that you mark deprecated, they +will see the following written to STDERR (in the given colors, similar colors +and layout to the `debug` module): + +``` +bright cyan bright yellow +| | reset cyan +| | | | +â–¼ â–¼ â–¼ â–¼ +my-cool-module deprecated oldfunction [eval]-wrapper:6:22 +â–² â–² â–² â–² +| | | | +namespace | | location of mycoolmod.oldfunction() call + | deprecation message + the word "deprecated" +``` + +If the user redirects their STDERR to a file or somewhere that does not support +colors, they see (similar layout to the `debug` module): + +``` +Sun, 15 Jun 2014 05:21:37 GMT my-cool-module deprecated oldfunction at [eval]-wrapper:6:22 +â–² â–² â–² â–² â–² +| | | | | +timestamp of message namespace | | location of mycoolmod.oldfunction() call + | deprecation message + the word "deprecated" +``` + +## Examples + +### Deprecating all calls to a function + +This will display a deprecated message about "oldfunction" being deprecated +from "my-module" on STDERR. + +```js +var deprecate = require('depd')('my-cool-module') + +// message automatically derived from function name +// Object.oldfunction +exports.oldfunction = deprecate.function(function oldfunction () { + // all calls to function are deprecated +}) + +// specific message +exports.oldfunction = deprecate.function(function () { + // all calls to function are deprecated +}, 'oldfunction') +``` + +### Conditionally deprecating a function call + +This will display a deprecated message about "weirdfunction" being deprecated +from "my-module" on STDERR when called with less than 2 arguments. + +```js +var deprecate = require('depd')('my-cool-module') + +exports.weirdfunction = function () { + if (arguments.length < 2) { + // calls with 0 or 1 args are deprecated + deprecate('weirdfunction args < 2') + } +} +``` + +When calling `deprecate` as a function, the warning is counted per call site +within your own module, so you can display different deprecations depending +on different situations and the users will still get all the warnings: + +```js +var deprecate = require('depd')('my-cool-module') + +exports.weirdfunction = function () { + if (arguments.length < 2) { + // calls with 0 or 1 args are deprecated + deprecate('weirdfunction args < 2') + } else if (typeof arguments[0] !== 'string') { + // calls with non-string first argument are deprecated + deprecate('weirdfunction non-string first arg') + } +} +``` + +### Deprecating property access + +This will display a deprecated message about "oldprop" being deprecated +from "my-module" on STDERR when accessed. A deprecation will be displayed +when setting the value and when getting the value. + +```js +var deprecate = require('depd')('my-cool-module') + +exports.oldprop = 'something' + +// message automatically derives from property name +deprecate.property(exports, 'oldprop') + +// explicit message +deprecate.property(exports, 'oldprop', 'oldprop >= 0.10') +``` + +## License + +[MIT](LICENSE) + +[appveyor-image]: https://badgen.net/appveyor/ci/dougwilson/nodejs-depd/master?label=windows +[appveyor-url]: https://ci.appveyor.com/project/dougwilson/nodejs-depd +[coveralls-image]: https://badgen.net/coveralls/c/github/dougwilson/nodejs-depd/master +[coveralls-url]: https://coveralls.io/r/dougwilson/nodejs-depd?branch=master +[node-image]: https://badgen.net/npm/node/depd +[node-url]: https://nodejs.org/en/download/ +[npm-downloads-image]: https://badgen.net/npm/dm/depd +[npm-url]: https://npmjs.org/package/depd +[npm-version-image]: https://badgen.net/npm/v/depd +[travis-image]: https://badgen.net/travis/dougwilson/nodejs-depd/master?label=linux +[travis-url]: https://travis-ci.org/dougwilson/nodejs-depd diff --git a/data/351 b/data/351 new file mode 100644 index 0000000..f6b37b5 --- /dev/null +++ b/data/351 @@ -0,0 +1,19 @@ +Copyright (C) 2011-2017 whitequark + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/data/352 b/data/352 new file mode 100644 index 0000000..2107b42 --- /dev/null +++ b/data/352 @@ -0,0 +1,2 @@ +declare function isPromise(obj: PromiseLike | S): obj is PromiseLike; +export default isPromise; diff --git a/data/353 b/data/353 new file mode 100644 index 0000000..d9a6668 --- /dev/null +++ b/data/353 @@ -0,0 +1,9 @@ +{ + "extends": "@ljharb/tsconfig", + "compilerOptions": { + "target": "es2021", + }, + "exclude": [ + "coverage", + ], +} diff --git a/data/354 b/data/354 new file mode 100644 index 0000000..2b99a7d --- /dev/null +++ b/data/354 @@ -0,0 +1,10 @@ +'use strict'; + +var $Object = require('./'); +var RequireObjectCoercible = require('./RequireObjectCoercible'); + +/** @type {import('./ToObject')} */ +module.exports = function ToObject(value) { + RequireObjectCoercible(value); + return $Object(value); +}; diff --git a/data/355 b/data/355 new file mode 100644 index 0000000..51228e5 --- /dev/null +++ b/data/355 @@ -0,0 +1,26 @@ +'use strict'; + +function mergeDescriptors(destination, source, overwrite = true) { + if (!destination) { + throw new TypeError('The `destination` argument is required.'); + } + + if (!source) { + throw new TypeError('The `source` argument is required.'); + } + + for (const name of Object.getOwnPropertyNames(source)) { + if (!overwrite && Object.hasOwn(destination, name)) { + // Skip descriptor + continue; + } + + // Copy descriptor + const descriptor = Object.getOwnPropertyDescriptor(source, name); + Object.defineProperty(destination, name, descriptor); + } + + return destination; +} + +module.exports = mergeDescriptors; diff --git a/data/356 b/data/356 new file mode 100644 index 0000000..f759b8a --- /dev/null +++ b/data/356 @@ -0,0 +1,40 @@ +# hasown [![Version Badge][npm-version-svg]][package-url] + +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] + +[![npm badge][npm-badge-png]][package-url] + +A robust, ES3 compatible, "has own property" predicate. + +## Example + +```js +const assert = require('assert'); +const hasOwn = require('hasown'); + +assert.equal(hasOwn({}, 'toString'), false); +assert.equal(hasOwn([], 'length'), true); +assert.equal(hasOwn({ a: 42 }, 'a'), true); +``` + +## Tests +Simply clone the repo, `npm install`, and run `npm test` + +[package-url]: https://npmjs.org/package/hasown +[npm-version-svg]: https://versionbadg.es/inspect-js/hasown.svg +[deps-svg]: https://david-dm.org/inspect-js/hasOwn.svg +[deps-url]: https://david-dm.org/inspect-js/hasOwn +[dev-deps-svg]: https://david-dm.org/inspect-js/hasOwn/dev-status.svg +[dev-deps-url]: https://david-dm.org/inspect-js/hasOwn#info=devDependencies +[npm-badge-png]: https://nodei.co/npm/hasown.png?downloads=true&stars=true +[license-image]: https://img.shields.io/npm/l/hasown.svg +[license-url]: LICENSE +[downloads-image]: https://img.shields.io/npm/dm/hasown.svg +[downloads-url]: https://npm-stat.com/charts.html?package=hasown +[codecov-image]: https://codecov.io/gh/inspect-js/hasOwn/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/inspect-js/hasOwn/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/inspect-js/hasOwn +[actions-url]: https://github.com/inspect-js/hasOwn/actions diff --git a/data/357 b/data/357 new file mode 100644 index 0000000..fc3dea7 --- /dev/null +++ b/data/357 @@ -0,0 +1,136 @@ +/*! + * fresh + * Copyright(c) 2012 TJ Holowaychuk + * Copyright(c) 2016-2017 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * RegExp to check for no-cache token in Cache-Control. + * @private + */ + +var CACHE_CONTROL_NO_CACHE_REGEXP = /(?:^|,)\s*?no-cache\s*?(?:,|$)/ + +/** + * Module exports. + * @public + */ + +module.exports = fresh + +/** + * Check freshness of the response using request and response headers. + * + * @param {Object} reqHeaders + * @param {Object} resHeaders + * @return {Boolean} + * @public + */ + +function fresh (reqHeaders, resHeaders) { + // fields + var modifiedSince = reqHeaders['if-modified-since'] + var noneMatch = reqHeaders['if-none-match'] + + // unconditional request + if (!modifiedSince && !noneMatch) { + return false + } + + // Always return stale when Cache-Control: no-cache + // to support end-to-end reload requests + // https://tools.ietf.org/html/rfc2616#section-14.9.4 + var cacheControl = reqHeaders['cache-control'] + if (cacheControl && CACHE_CONTROL_NO_CACHE_REGEXP.test(cacheControl)) { + return false + } + + // if-none-match takes precedent over if-modified-since + if (noneMatch) { + if (noneMatch === '*') { + return true + } + var etag = resHeaders.etag + + if (!etag) { + return false + } + + var matches = parseTokenList(noneMatch) + for (var i = 0; i < matches.length; i++) { + var match = matches[i] + if (match === etag || match === 'W/' + etag || 'W/' + match === etag) { + return true + } + } + + return false + } + + // if-modified-since + if (modifiedSince) { + var lastModified = resHeaders['last-modified'] + var modifiedStale = !lastModified || !(parseHttpDate(lastModified) <= parseHttpDate(modifiedSince)) + + if (modifiedStale) { + return false + } + } + + return true +} + +/** + * Parse an HTTP Date into a number. + * + * @param {string} date + * @private + */ + +function parseHttpDate (date) { + var timestamp = date && Date.parse(date) + + // istanbul ignore next: guard against date.js Date.parse patching + return typeof timestamp === 'number' + ? timestamp + : NaN +} + +/** + * Parse a HTTP token list. + * + * @param {string} str + * @private + */ + +function parseTokenList (str) { + var end = 0 + var list = [] + var start = 0 + + // gather tokens + for (var i = 0, len = str.length; i < len; i++) { + switch (str.charCodeAt(i)) { + case 0x20: /* */ + if (start === end) { + start = end = i + 1 + } + break + case 0x2c: /* , */ + list.push(str.substring(start, end)) + start = end = i + 1 + break + default: + end = i + 1 + break + } + } + + // final token + list.push(str.substring(start, end)) + + return list +} diff --git a/data/358 b/data/358 new file mode 100644 index 0000000..5a49992 --- /dev/null +++ b/data/358 @@ -0,0 +1,10 @@ +{ + "extends": "@ljharb/tsconfig", + "compilerOptions": { + "target": "es2022", + }, + "exclude": [ + "coverage", + "test/list-exports" + ], +} diff --git a/data/359 b/data/359 new file mode 100644 index 0000000..2f6dab4 --- /dev/null +++ b/data/359 @@ -0,0 +1,15 @@ +'use strict'; + +var bind = require('function-bind'); +var $TypeError = require('es-errors/type'); + +var $call = require('./functionCall'); +var $actualApply = require('./actualApply'); + +/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */ +module.exports = function callBindBasic(args) { + if (args.length < 1 || typeof args[0] !== 'function') { + throw new $TypeError('a function is required'); + } + return $actualApply(bind, $call, args); +}; diff --git a/data/361 b/data/361 new file mode 100644 index 0000000..8976d98 --- /dev/null +++ b/data/361 @@ -0,0 +1,10 @@ +{ + "extends": "@ljharb/tsconfig", + "compilerOptions": { + "target": "ESNext", + "lib": ["es2024"], + }, + "exclude": [ + "coverage", + ], +} diff --git a/data/362 b/data/362 new file mode 100644 index 0000000..18e8080 --- /dev/null +++ b/data/362 @@ -0,0 +1,80 @@ +{ + "name": "side-channel-map", + "version": "1.0.1", + "description": "Store information about any JS value in a side channel, using a Map", + "main": "index.js", + "exports": { + ".": "./index.js", + "./package.json": "./package.json" + }, + "types": "./index.d.ts", + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prelint": "evalmd README.md && eclint check $(git ls-files | xargs find 2> /dev/null | grep -vE 'node_modules|\\.git')", + "lint": "eslint --ext=js,mjs .", + "postlint": "tsc -p . && attw -P", + "pretest": "npm run lint", + "tests-only": "nyc tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "npx npm@'>= 10.2' audit --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/side-channel-map.git" + }, + "keywords": [], + "author": "Jordan Harband ", + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/side-channel-map/issues" + }, + "homepage": "https://github.com/ljharb/side-channel-map#readme", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "devDependencies": { + "@arethetypeswrong/cli": "^0.17.1", + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.2.2", + "@types/get-intrinsic": "^1.2.3", + "@types/object-inspect": "^1.13.0", + "@types/tape": "^5.6.5", + "auto-changelog": "^2.5.0", + "eclint": "^2.8.1", + "encoding": "^0.1.13", + "eslint": "=8.8.0", + "evalmd": "^0.0.19", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "engines": { + "node": ">= 0.4" + } +} diff --git a/data/363 b/data/363 new file mode 100644 index 0000000..ba0f5c5 --- /dev/null +++ b/data/363 @@ -0,0 +1,77 @@ +{ + "name": "side-channel-list", + "version": "1.0.0", + "description": "Store information about any JS value in a side channel, using a linked list", + "main": "index.js", + "exports": { + ".": "./index.js", + "./package.json": "./package.json" + }, + "types": "./index.d.ts", + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prelint": "evalmd README.md && eclint check $(git ls-files | xargs find 2> /dev/null | grep -vE 'node_modules|\\.git')", + "lint": "eslint --ext=js,mjs .", + "postlint": "tsc -p . && attw -P", + "pretest": "npm run lint", + "tests-only": "nyc tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "npx npm@'>= 10.2' audit --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/side-channel-list.git" + }, + "keywords": [], + "author": "Jordan Harband ", + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/side-channel-list/issues" + }, + "homepage": "https://github.com/ljharb/side-channel-list#readme", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "devDependencies": { + "@arethetypeswrong/cli": "^0.17.1", + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.2.2", + "@types/object-inspect": "^1.13.0", + "@types/tape": "^5.6.5", + "auto-changelog": "^2.5.0", + "eclint": "^2.8.1", + "encoding": "^0.1.13", + "eslint": "=8.8.0", + "evalmd": "^0.0.19", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "engines": { + "node": ">= 0.4" + } +} diff --git a/data/364 b/data/364 new file mode 100644 index 0000000..9ef6583 --- /dev/null +++ b/data/364 @@ -0,0 +1,87 @@ +{ + "name": "side-channel-weakmap", + "version": "1.0.2", + "description": "Store information about any JS value in a side channel. Uses WeakMap if available.", + "main": "index.js", + "exports": { + ".": "./index.js", + "./package.json": "./package.json" + }, + "types": "./index.d.ts", + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prelint": "eclint check $(git ls-files | xargs find 2> /dev/null | grep -vE 'node_modules|\\.git')", + "lint": "eslint --ext=js,mjs .", + "postlint": "tsc -p . && attw -P", + "pretest": "npm run lint", + "tests-only": "nyc tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "npx npm@'>=10.2' audit --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/side-channel-weakmap.git" + }, + "keywords": [ + "weakmap", + "map", + "side", + "channel", + "metadata" + ], + "author": "Jordan Harband ", + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/side-channel-weakmap/issues" + }, + "homepage": "https://github.com/ljharb/side-channel-weakmap#readme", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "devDependencies": { + "@arethetypeswrong/cli": "^0.17.1", + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.2.2", + "@types/call-bind": "^1.0.5", + "@types/get-intrinsic": "^1.2.3", + "@types/object-inspect": "^1.13.0", + "@types/tape": "^5.6.5", + "auto-changelog": "^2.5.0", + "eclint": "^2.8.1", + "encoding": "^0.1.13", + "eslint": "=8.8.0", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "engines": { + "node": ">= 0.4" + } +} diff --git a/data/365 b/data/365 new file mode 100644 index 0000000..bf15e48 --- /dev/null +++ b/data/365 @@ -0,0 +1,293 @@ +/*! + * finalhandler + * Copyright(c) 2014-2022 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var debug = require('debug')('finalhandler') +var encodeUrl = require('encodeurl') +var escapeHtml = require('escape-html') +var onFinished = require('on-finished') +var parseUrl = require('parseurl') +var statuses = require('statuses') + +/** + * Module variables. + * @private + */ + +var isFinished = onFinished.isFinished + +/** + * Create a minimal HTML document. + * + * @param {string} message + * @private + */ + +function createHtmlDocument (message) { + var body = escapeHtml(message) + .replaceAll('\n', '
    ') + .replaceAll(' ', '  ') + + return '\n' + + '\n' + + '\n' + + '\n' + + 'Error\n' + + '\n' + + '\n' + + '
    ' + body + '
    \n' + + '\n' + + '\n' +} + +/** + * Module exports. + * @public + */ + +module.exports = finalhandler + +/** + * Create a function to handle the final response. + * + * @param {Request} req + * @param {Response} res + * @param {Object} [options] + * @return {Function} + * @public + */ + +function finalhandler (req, res, options) { + var opts = options || {} + + // get environment + var env = opts.env || process.env.NODE_ENV || 'development' + + // get error callback + var onerror = opts.onerror + + return function (err) { + var headers + var msg + var status + + // ignore 404 on in-flight response + if (!err && res.headersSent) { + debug('cannot 404 after headers sent') + return + } + + // unhandled error + if (err) { + // respect status code from error + status = getErrorStatusCode(err) + + if (status === undefined) { + // fallback to status code on response + status = getResponseStatusCode(res) + } else { + // respect headers from error + headers = getErrorHeaders(err) + } + + // get error message + msg = getErrorMessage(err, status, env) + } else { + // not found + status = 404 + msg = 'Cannot ' + req.method + ' ' + encodeUrl(getResourceName(req)) + } + + debug('default %s', status) + + // schedule onerror callback + if (err && onerror) { + setImmediate(onerror, err, req, res) + } + + // cannot actually respond + if (res.headersSent) { + debug('cannot %d after headers sent', status) + if (req.socket) { + req.socket.destroy() + } + return + } + + // send response + send(req, res, status, headers, msg) + } +} + +/** + * Get headers from Error object. + * + * @param {Error} err + * @return {object} + * @private + */ + +function getErrorHeaders (err) { + if (!err.headers || typeof err.headers !== 'object') { + return undefined + } + + return { ...err.headers } +} + +/** + * Get message from Error object, fallback to status message. + * + * @param {Error} err + * @param {number} status + * @param {string} env + * @return {string} + * @private + */ + +function getErrorMessage (err, status, env) { + var msg + + if (env !== 'production') { + // use err.stack, which typically includes err.message + msg = err.stack + + // fallback to err.toString() when possible + if (!msg && typeof err.toString === 'function') { + msg = err.toString() + } + } + + return msg || statuses.message[status] +} + +/** + * Get status code from Error object. + * + * @param {Error} err + * @return {number} + * @private + */ + +function getErrorStatusCode (err) { + // check err.status + if (typeof err.status === 'number' && err.status >= 400 && err.status < 600) { + return err.status + } + + // check err.statusCode + if (typeof err.statusCode === 'number' && err.statusCode >= 400 && err.statusCode < 600) { + return err.statusCode + } + + return undefined +} + +/** + * Get resource name for the request. + * + * This is typically just the original pathname of the request + * but will fallback to "resource" is that cannot be determined. + * + * @param {IncomingMessage} req + * @return {string} + * @private + */ + +function getResourceName (req) { + try { + return parseUrl.original(req).pathname + } catch (e) { + return 'resource' + } +} + +/** + * Get status code from response. + * + * @param {OutgoingMessage} res + * @return {number} + * @private + */ + +function getResponseStatusCode (res) { + var status = res.statusCode + + // default status code to 500 if outside valid range + if (typeof status !== 'number' || status < 400 || status > 599) { + status = 500 + } + + return status +} + +/** + * Send response. + * + * @param {IncomingMessage} req + * @param {OutgoingMessage} res + * @param {number} status + * @param {object} headers + * @param {string} message + * @private + */ + +function send (req, res, status, headers, message) { + function write () { + // response body + var body = createHtmlDocument(message) + + // response status + res.statusCode = status + + if (req.httpVersionMajor < 2) { + res.statusMessage = statuses.message[status] + } + + // remove any content headers + res.removeHeader('Content-Encoding') + res.removeHeader('Content-Language') + res.removeHeader('Content-Range') + + // response headers + for (const [key, value] of Object.entries(headers ?? {})) { + res.setHeader(key, value) + } + + // security headers + res.setHeader('Content-Security-Policy', "default-src 'none'") + res.setHeader('X-Content-Type-Options', 'nosniff') + + // standard headers + res.setHeader('Content-Type', 'text/html; charset=utf-8') + res.setHeader('Content-Length', Buffer.byteLength(body, 'utf8')) + + if (req.method === 'HEAD') { + res.end() + return + } + + res.end(body, 'utf8') + } + + if (isFinished(req)) { + write() + return + } + + // unpipe everything from the request + req.unpipe() + + // flush the request + onFinished(req, write) + req.resume() +} diff --git a/data/366 b/data/366 new file mode 100644 index 0000000..30fa42c --- /dev/null +++ b/data/366 @@ -0,0 +1,85 @@ +{ + "name": "side-channel", + "version": "1.1.0", + "description": "Store information about any JS value in a side channel. Uses WeakMap if available.", + "main": "index.js", + "exports": { + ".": "./index.js", + "./package.json": "./package.json" + }, + "types": "./index.d.ts", + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prelint": "eclint check $(git ls-files | xargs find 2> /dev/null | grep -vE 'node_modules|\\.git')", + "lint": "eslint --ext=js,mjs .", + "postlint": "tsc -p . && attw -P", + "pretest": "npm run lint", + "tests-only": "nyc tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "npx npm@'>=10.2' audit --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/side-channel.git" + }, + "keywords": [ + "weakmap", + "map", + "side", + "channel", + "metadata" + ], + "author": "Jordan Harband ", + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/side-channel/issues" + }, + "homepage": "https://github.com/ljharb/side-channel#readme", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "devDependencies": { + "@arethetypeswrong/cli": "^0.17.1", + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.2.2", + "@types/object-inspect": "^1.13.0", + "@types/tape": "^5.6.5", + "auto-changelog": "^2.5.0", + "eclint": "^2.8.1", + "encoding": "^0.1.13", + "eslint": "=8.8.0", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "engines": { + "node": ">= 0.4" + } +} diff --git a/data/367 b/data/367 new file mode 100644 index 0000000..d7c430f --- /dev/null +++ b/data/367 @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./ref')} */ +module.exports = ReferenceError; diff --git a/data/368 b/data/368 new file mode 100644 index 0000000..4b1b9a5 --- /dev/null +++ b/data/368 @@ -0,0 +1,16 @@ +'use strict'; + +var $abs = require('./abs'); +var $floor = require('./floor'); + +var $isNaN = require('./isNaN'); +var $isFinite = require('./isFinite'); + +/** @type {import('./isInteger')} */ +module.exports = function isInteger(argument) { + if (typeof argument !== 'number' || $isNaN(argument) || !$isFinite(argument)) { + return false; + } + var absValue = $abs(argument); + return $floor(absValue) === absValue; +}; diff --git a/data/369 b/data/369 new file mode 100644 index 0000000..37c7e1a --- /dev/null +++ b/data/369 @@ -0,0 +1,77 @@ +/* eslint-disable node/no-deprecated-api */ + +'use strict' + +var buffer = require('buffer') +var Buffer = buffer.Buffer + +var safer = {} + +var key + +for (key in buffer) { + if (!buffer.hasOwnProperty(key)) continue + if (key === 'SlowBuffer' || key === 'Buffer') continue + safer[key] = buffer[key] +} + +var Safer = safer.Buffer = {} +for (key in Buffer) { + if (!Buffer.hasOwnProperty(key)) continue + if (key === 'allocUnsafe' || key === 'allocUnsafeSlow') continue + Safer[key] = Buffer[key] +} + +safer.Buffer.prototype = Buffer.prototype + +if (!Safer.from || Safer.from === Uint8Array.from) { + Safer.from = function (value, encodingOrOffset, length) { + if (typeof value === 'number') { + throw new TypeError('The "value" argument must not be of type number. Received type ' + typeof value) + } + if (value && typeof value.length === 'undefined') { + throw new TypeError('The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type ' + typeof value) + } + return Buffer(value, encodingOrOffset, length) + } +} + +if (!Safer.alloc) { + Safer.alloc = function (size, fill, encoding) { + if (typeof size !== 'number') { + throw new TypeError('The "size" argument must be of type number. Received type ' + typeof size) + } + if (size < 0 || size >= 2 * (1 << 30)) { + throw new RangeError('The value "' + size + '" is invalid for option "size"') + } + var buf = Buffer(size) + if (!fill || fill.length === 0) { + buf.fill(0) + } else if (typeof encoding === 'string') { + buf.fill(fill, encoding) + } else { + buf.fill(fill) + } + return buf + } +} + +if (!safer.kStringMaxLength) { + try { + safer.kStringMaxLength = process.binding('buffer').kStringMaxLength + } catch (e) { + // we can't determine kStringMaxLength in environments where process.binding + // is unsupported, so let's not set it + } +} + +if (!safer.constants) { + safer.constants = { + MAX_LENGTH: safer.kMaxLength + } + if (safer.kStringMaxLength) { + safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength + } +} + +module.exports = safer diff --git a/data/370 b/data/370 new file mode 100644 index 0000000..e6c51be --- /dev/null +++ b/data/370 @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./Reflect.getPrototypeOf')} */ +module.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null; diff --git a/data/371 b/data/371 new file mode 100644 index 0000000..1d57cab --- /dev/null +++ b/data/371 @@ -0,0 +1,13 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "lines": 86, + "statements": 85.93, + "functions": 82.43, + "branches": 76.06, + "exclude": [ + "coverage", + "dist" + ] +} diff --git a/data/373 b/data/373 new file mode 100644 index 0000000..013ce5c --- /dev/null +++ b/data/373 @@ -0,0 +1,71 @@ +/*! + * body-parser + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * @typedef {Object} Parsers + * @property {Function} json JSON parser + * @property {Function} raw Raw parser + * @property {Function} text Text parser + * @property {Function} urlencoded URL-encoded parser + */ + +/** + * Module exports. + * @type {Function & Parsers} + */ +exports = module.exports = bodyParser + +/** + * JSON parser. + * @public + */ +Object.defineProperty(exports, 'json', { + configurable: true, + enumerable: true, + get: () => require('./lib/types/json') +}) + +/** + * Raw parser. + * @public + */ +Object.defineProperty(exports, 'raw', { + configurable: true, + enumerable: true, + get: () => require('./lib/types/raw') +}) + +/** + * Text parser. + * @public + */ +Object.defineProperty(exports, 'text', { + configurable: true, + enumerable: true, + get: () => require('./lib/types/text') +}) + +/** + * URL-encoded parser. + * @public + */ +Object.defineProperty(exports, 'urlencoded', { + configurable: true, + enumerable: true, + get: () => require('./lib/types/urlencoded') +}) + +/** + * Create a middleware to parse json and urlencoded bodies. + * + * @deprecated + * @public + */ +function bodyParser () { + throw new Error('The bodyParser() generic has been split into individual middleware to use instead.') +} diff --git a/data/375 b/data/375 new file mode 100644 index 0000000..fdd220b --- /dev/null +++ b/data/375 @@ -0,0 +1,57 @@ +# forwarded + +[![NPM Version][npm-image]][npm-url] +[![NPM Downloads][downloads-image]][downloads-url] +[![Node.js Version][node-version-image]][node-version-url] +[![Build Status][ci-image]][ci-url] +[![Test Coverage][coveralls-image]][coveralls-url] + +Parse HTTP X-Forwarded-For header + +## Installation + +This is a [Node.js](https://nodejs.org/en/) module available through the +[npm registry](https://www.npmjs.com/). Installation is done using the +[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): + +```sh +$ npm install forwarded +``` + +## API + +```js +var forwarded = require('forwarded') +``` + +### forwarded(req) + +```js +var addresses = forwarded(req) +``` + +Parse the `X-Forwarded-For` header from the request. Returns an array +of the addresses, including the socket address for the `req`, in reverse +order (i.e. index `0` is the socket address and the last index is the +furthest address, typically the end-user). + +## Testing + +```sh +$ npm test +``` + +## License + +[MIT](LICENSE) + +[ci-image]: https://badgen.net/github/checks/jshttp/forwarded/master?label=ci +[ci-url]: https://github.com/jshttp/forwarded/actions?query=workflow%3Aci +[npm-image]: https://img.shields.io/npm/v/forwarded.svg +[npm-url]: https://npmjs.org/package/forwarded +[node-version-image]: https://img.shields.io/node/v/forwarded.svg +[node-version-url]: https://nodejs.org/en/download/ +[coveralls-image]: https://img.shields.io/coveralls/jshttp/forwarded/master.svg +[coveralls-url]: https://coveralls.io/r/jshttp/forwarded?branch=master +[downloads-image]: https://img.shields.io/npm/dm/forwarded.svg +[downloads-url]: https://npmjs.org/package/forwarded diff --git a/data/376 b/data/376 new file mode 100644 index 0000000..efcd9ca --- /dev/null +++ b/data/376 @@ -0,0 +1,458 @@ +/*! + * content-disposition + * Copyright(c) 2014-2017 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module exports. + * @public + */ + +module.exports = contentDisposition +module.exports.parse = parse + +/** + * Module dependencies. + * @private + */ + +var basename = require('path').basename + +/** + * RegExp to match non attr-char, *after* encodeURIComponent (i.e. not including "%") + * @private + */ + +var ENCODE_URL_ATTR_CHAR_REGEXP = /[\x00-\x20"'()*,/:;<=>?@[\\\]{}\x7f]/g // eslint-disable-line no-control-regex + +/** + * RegExp to match percent encoding escape. + * @private + */ + +var HEX_ESCAPE_REGEXP = /%[0-9A-Fa-f]{2}/ +var HEX_ESCAPE_REPLACE_REGEXP = /%([0-9A-Fa-f]{2})/g + +/** + * RegExp to match non-latin1 characters. + * @private + */ + +var NON_LATIN1_REGEXP = /[^\x20-\x7e\xa0-\xff]/g + +/** + * RegExp to match quoted-pair in RFC 2616 + * + * quoted-pair = "\" CHAR + * CHAR = + * @private + */ + +var QESC_REGEXP = /\\([\u0000-\u007f])/g // eslint-disable-line no-control-regex + +/** + * RegExp to match chars that must be quoted-pair in RFC 2616 + * @private + */ + +var QUOTE_REGEXP = /([\\"])/g + +/** + * RegExp for various RFC 2616 grammar + * + * parameter = token "=" ( token | quoted-string ) + * token = 1* + * separators = "(" | ")" | "<" | ">" | "@" + * | "," | ";" | ":" | "\" | <"> + * | "/" | "[" | "]" | "?" | "=" + * | "{" | "}" | SP | HT + * quoted-string = ( <"> *(qdtext | quoted-pair ) <"> ) + * qdtext = > + * quoted-pair = "\" CHAR + * CHAR = + * TEXT = + * LWS = [CRLF] 1*( SP | HT ) + * CRLF = CR LF + * CR = + * LF = + * SP = + * HT = + * CTL = + * OCTET = + * @private + */ + +var PARAM_REGEXP = /;[\x09\x20]*([!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*=[\x09\x20]*("(?:[\x20!\x23-\x5b\x5d-\x7e\x80-\xff]|\\[\x20-\x7e])*"|[!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*/g // eslint-disable-line no-control-regex +var TEXT_REGEXP = /^[\x20-\x7e\x80-\xff]+$/ +var TOKEN_REGEXP = /^[!#$%&'*+.0-9A-Z^_`a-z|~-]+$/ + +/** + * RegExp for various RFC 5987 grammar + * + * ext-value = charset "'" [ language ] "'" value-chars + * charset = "UTF-8" / "ISO-8859-1" / mime-charset + * mime-charset = 1*mime-charsetc + * mime-charsetc = ALPHA / DIGIT + * / "!" / "#" / "$" / "%" / "&" + * / "+" / "-" / "^" / "_" / "`" + * / "{" / "}" / "~" + * language = ( 2*3ALPHA [ extlang ] ) + * / 4ALPHA + * / 5*8ALPHA + * extlang = *3( "-" 3ALPHA ) + * value-chars = *( pct-encoded / attr-char ) + * pct-encoded = "%" HEXDIG HEXDIG + * attr-char = ALPHA / DIGIT + * / "!" / "#" / "$" / "&" / "+" / "-" / "." + * / "^" / "_" / "`" / "|" / "~" + * @private + */ + +var EXT_VALUE_REGEXP = /^([A-Za-z0-9!#$%&+\-^_`{}~]+)'(?:[A-Za-z]{2,3}(?:-[A-Za-z]{3}){0,3}|[A-Za-z]{4,8}|)'((?:%[0-9A-Fa-f]{2}|[A-Za-z0-9!#$&+.^_`|~-])+)$/ + +/** + * RegExp for various RFC 6266 grammar + * + * disposition-type = "inline" | "attachment" | disp-ext-type + * disp-ext-type = token + * disposition-parm = filename-parm | disp-ext-parm + * filename-parm = "filename" "=" value + * | "filename*" "=" ext-value + * disp-ext-parm = token "=" value + * | ext-token "=" ext-value + * ext-token = + * @private + */ + +var DISPOSITION_TYPE_REGEXP = /^([!#$%&'*+.0-9A-Z^_`a-z|~-]+)[\x09\x20]*(?:$|;)/ // eslint-disable-line no-control-regex + +/** + * Create an attachment Content-Disposition header. + * + * @param {string} [filename] + * @param {object} [options] + * @param {string} [options.type=attachment] + * @param {string|boolean} [options.fallback=true] + * @return {string} + * @public + */ + +function contentDisposition (filename, options) { + var opts = options || {} + + // get type + var type = opts.type || 'attachment' + + // get parameters + var params = createparams(filename, opts.fallback) + + // format into string + return format(new ContentDisposition(type, params)) +} + +/** + * Create parameters object from filename and fallback. + * + * @param {string} [filename] + * @param {string|boolean} [fallback=true] + * @return {object} + * @private + */ + +function createparams (filename, fallback) { + if (filename === undefined) { + return + } + + var params = {} + + if (typeof filename !== 'string') { + throw new TypeError('filename must be a string') + } + + // fallback defaults to true + if (fallback === undefined) { + fallback = true + } + + if (typeof fallback !== 'string' && typeof fallback !== 'boolean') { + throw new TypeError('fallback must be a string or boolean') + } + + if (typeof fallback === 'string' && NON_LATIN1_REGEXP.test(fallback)) { + throw new TypeError('fallback must be ISO-8859-1 string') + } + + // restrict to file base name + var name = basename(filename) + + // determine if name is suitable for quoted string + var isQuotedString = TEXT_REGEXP.test(name) + + // generate fallback name + var fallbackName = typeof fallback !== 'string' + ? fallback && getlatin1(name) + : basename(fallback) + var hasFallback = typeof fallbackName === 'string' && fallbackName !== name + + // set extended filename parameter + if (hasFallback || !isQuotedString || HEX_ESCAPE_REGEXP.test(name)) { + params['filename*'] = name + } + + // set filename parameter + if (isQuotedString || hasFallback) { + params.filename = hasFallback + ? fallbackName + : name + } + + return params +} + +/** + * Format object to Content-Disposition header. + * + * @param {object} obj + * @param {string} obj.type + * @param {object} [obj.parameters] + * @return {string} + * @private + */ + +function format (obj) { + var parameters = obj.parameters + var type = obj.type + + if (!type || typeof type !== 'string' || !TOKEN_REGEXP.test(type)) { + throw new TypeError('invalid type') + } + + // start with normalized type + var string = String(type).toLowerCase() + + // append parameters + if (parameters && typeof parameters === 'object') { + var param + var params = Object.keys(parameters).sort() + + for (var i = 0; i < params.length; i++) { + param = params[i] + + var val = param.slice(-1) === '*' + ? ustring(parameters[param]) + : qstring(parameters[param]) + + string += '; ' + param + '=' + val + } + } + + return string +} + +/** + * Decode a RFC 5987 field value (gracefully). + * + * @param {string} str + * @return {string} + * @private + */ + +function decodefield (str) { + var match = EXT_VALUE_REGEXP.exec(str) + + if (!match) { + throw new TypeError('invalid extended field value') + } + + var charset = match[1].toLowerCase() + var encoded = match[2] + var value + + // to binary string + var binary = encoded.replace(HEX_ESCAPE_REPLACE_REGEXP, pdecode) + + switch (charset) { + case 'iso-8859-1': + value = getlatin1(binary) + break + case 'utf-8': + case 'utf8': + value = Buffer.from(binary, 'binary').toString('utf8') + break + default: + throw new TypeError('unsupported charset in extended field') + } + + return value +} + +/** + * Get ISO-8859-1 version of string. + * + * @param {string} val + * @return {string} + * @private + */ + +function getlatin1 (val) { + // simple Unicode -> ISO-8859-1 transformation + return String(val).replace(NON_LATIN1_REGEXP, '?') +} + +/** + * Parse Content-Disposition header string. + * + * @param {string} string + * @return {object} + * @public + */ + +function parse (string) { + if (!string || typeof string !== 'string') { + throw new TypeError('argument string is required') + } + + var match = DISPOSITION_TYPE_REGEXP.exec(string) + + if (!match) { + throw new TypeError('invalid type format') + } + + // normalize type + var index = match[0].length + var type = match[1].toLowerCase() + + var key + var names = [] + var params = {} + var value + + // calculate index to start at + index = PARAM_REGEXP.lastIndex = match[0].slice(-1) === ';' + ? index - 1 + : index + + // match parameters + while ((match = PARAM_REGEXP.exec(string))) { + if (match.index !== index) { + throw new TypeError('invalid parameter format') + } + + index += match[0].length + key = match[1].toLowerCase() + value = match[2] + + if (names.indexOf(key) !== -1) { + throw new TypeError('invalid duplicate parameter') + } + + names.push(key) + + if (key.indexOf('*') + 1 === key.length) { + // decode extended value + key = key.slice(0, -1) + value = decodefield(value) + + // overwrite existing value + params[key] = value + continue + } + + if (typeof params[key] === 'string') { + continue + } + + if (value[0] === '"') { + // remove quotes and escapes + value = value + .slice(1, -1) + .replace(QESC_REGEXP, '$1') + } + + params[key] = value + } + + if (index !== -1 && index !== string.length) { + throw new TypeError('invalid parameter format') + } + + return new ContentDisposition(type, params) +} + +/** + * Percent decode a single character. + * + * @param {string} str + * @param {string} hex + * @return {string} + * @private + */ + +function pdecode (str, hex) { + return String.fromCharCode(parseInt(hex, 16)) +} + +/** + * Percent encode a single character. + * + * @param {string} char + * @return {string} + * @private + */ + +function pencode (char) { + return '%' + String(char) + .charCodeAt(0) + .toString(16) + .toUpperCase() +} + +/** + * Quote a string for HTTP. + * + * @param {string} val + * @return {string} + * @private + */ + +function qstring (val) { + var str = String(val) + + return '"' + str.replace(QUOTE_REGEXP, '\\$1') + '"' +} + +/** + * Encode a Unicode string for HTTP (RFC 5987). + * + * @param {string} val + * @return {string} + * @private + */ + +function ustring (val) { + var str = String(val) + + // percent encode as UTF-8 + var encoded = encodeURIComponent(str) + .replace(ENCODE_URL_ATTR_CHAR_REGEXP, pencode) + + return 'UTF-8\'\'' + encoded +} + +/** + * Class for parsed Content-Disposition header for v8 optimization + * + * @public + * @param {string} type + * @param {object} parameters + * @constructor + */ + +function ContentDisposition (type, parameters) { + this.type = type + this.parameters = parameters +} diff --git a/data/378 b/data/378 new file mode 100644 index 0000000..08ff36f --- /dev/null +++ b/data/378 @@ -0,0 +1,4 @@ +'use strict'; + +require('./get'); +require('./set'); diff --git a/data/379 b/data/379 new file mode 100644 index 0000000..f57725b --- /dev/null +++ b/data/379 @@ -0,0 +1,233 @@ +# ipaddr.js — an IPv6 and IPv4 address manipulation library [![Build Status](https://travis-ci.org/whitequark/ipaddr.js.svg)](https://travis-ci.org/whitequark/ipaddr.js) + +ipaddr.js is a small (1.9K minified and gzipped) library for manipulating +IP addresses in JavaScript environments. It runs on both CommonJS runtimes +(e.g. [nodejs]) and in a web browser. + +ipaddr.js allows you to verify and parse string representation of an IP +address, match it against a CIDR range or range list, determine if it falls +into some reserved ranges (examples include loopback and private ranges), +and convert between IPv4 and IPv4-mapped IPv6 addresses. + +[nodejs]: http://nodejs.org + +## Installation + +`npm install ipaddr.js` + +or + +`bower install ipaddr.js` + +## API + +ipaddr.js defines one object in the global scope: `ipaddr`. In CommonJS, +it is exported from the module: + +```js +var ipaddr = require('ipaddr.js'); +``` + +The API consists of several global methods and two classes: ipaddr.IPv6 and ipaddr.IPv4. + +### Global methods + +There are three global methods defined: `ipaddr.isValid`, `ipaddr.parse` and +`ipaddr.process`. All of them receive a string as a single parameter. + +The `ipaddr.isValid` method returns `true` if the address is a valid IPv4 or +IPv6 address, and `false` otherwise. It does not throw any exceptions. + +The `ipaddr.parse` method returns an object representing the IP address, +or throws an `Error` if the passed string is not a valid representation of an +IP address. + +The `ipaddr.process` method works just like the `ipaddr.parse` one, but it +automatically converts IPv4-mapped IPv6 addresses to their IPv4 counterparts +before returning. It is useful when you have a Node.js instance listening +on an IPv6 socket, and the `net.ivp6.bindv6only` sysctl parameter (or its +equivalent on non-Linux OS) is set to 0. In this case, you can accept IPv4 +connections on your IPv6-only socket, but the remote address will be mangled. +Use `ipaddr.process` method to automatically demangle it. + +### Object representation + +Parsing methods return an object which descends from `ipaddr.IPv6` or +`ipaddr.IPv4`. These objects share some properties, but most of them differ. + +#### Shared properties + +One can determine the type of address by calling `addr.kind()`. It will return +either `"ipv6"` or `"ipv4"`. + +An address can be converted back to its string representation with `addr.toString()`. +Note that this method: + * does not return the original string used to create the object (in fact, there is + no way of getting that string) + * returns a compact representation (when it is applicable) + +A `match(range, bits)` method can be used to check if the address falls into a +certain CIDR range. +Note that an address can be (obviously) matched only against an address of the same type. + +For example: + +```js +var addr = ipaddr.parse("2001:db8:1234::1"); +var range = ipaddr.parse("2001:db8::"); + +addr.match(range, 32); // => true +``` + +Alternatively, `match` can also be called as `match([range, bits])`. In this way, +it can be used together with the `parseCIDR(string)` method, which parses an IP +address together with a CIDR range. + +For example: + +```js +var addr = ipaddr.parse("2001:db8:1234::1"); + +addr.match(ipaddr.parseCIDR("2001:db8::/32")); // => true +``` + +A `range()` method returns one of predefined names for several special ranges defined +by IP protocols. The exact names (and their respective CIDR ranges) can be looked up +in the source: [IPv6 ranges] and [IPv4 ranges]. Some common ones include `"unicast"` +(the default one) and `"reserved"`. + +You can match against your own range list by using +`ipaddr.subnetMatch(address, rangeList, defaultName)` method. It can work with a mix of IPv6 or IPv4 addresses, and accepts a name-to-subnet map as the range list. For example: + +```js +var rangeList = { + documentationOnly: [ ipaddr.parse('2001:db8::'), 32 ], + tunnelProviders: [ + [ ipaddr.parse('2001:470::'), 32 ], // he.net + [ ipaddr.parse('2001:5c0::'), 32 ] // freenet6 + ] +}; +ipaddr.subnetMatch(ipaddr.parse('2001:470:8:66::1'), rangeList, 'unknown'); // => "tunnelProviders" +``` + +The addresses can be converted to their byte representation with `toByteArray()`. +(Actually, JavaScript mostly does not know about byte buffers. They are emulated with +arrays of numbers, each in range of 0..255.) + +```js +var bytes = ipaddr.parse('2a00:1450:8007::68').toByteArray(); // ipv6.google.com +bytes // => [42, 0x00, 0x14, 0x50, 0x80, 0x07, 0x00, , 0x00, 0x68 ] +``` + +The `ipaddr.IPv4` and `ipaddr.IPv6` objects have some methods defined, too. All of them +have the same interface for both protocols, and are similar to global methods. + +`ipaddr.IPvX.isValid(string)` can be used to check if the string is a valid address +for particular protocol, and `ipaddr.IPvX.parse(string)` is the error-throwing parser. + +`ipaddr.IPvX.isValid(string)` uses the same format for parsing as the POSIX `inet_ntoa` function, which accepts unusual formats like `0xc0.168.1.1` or `0x10000000`. The function `ipaddr.IPv4.isValidFourPartDecimal(string)` validates the IPv4 address and also ensures that it is written in four-part decimal format. + +[IPv6 ranges]: https://github.com/whitequark/ipaddr.js/blob/master/src/ipaddr.coffee#L186 +[IPv4 ranges]: https://github.com/whitequark/ipaddr.js/blob/master/src/ipaddr.coffee#L71 + +#### IPv6 properties + +Sometimes you will want to convert IPv6 not to a compact string representation (with +the `::` substitution); the `toNormalizedString()` method will return an address where +all zeroes are explicit. + +For example: + +```js +var addr = ipaddr.parse("2001:0db8::0001"); +addr.toString(); // => "2001:db8::1" +addr.toNormalizedString(); // => "2001:db8:0:0:0:0:0:1" +``` + +The `isIPv4MappedAddress()` method will return `true` if this address is an IPv4-mapped +one, and `toIPv4Address()` will return an IPv4 object address. + +To access the underlying binary representation of the address, use `addr.parts`. + +```js +var addr = ipaddr.parse("2001:db8:10::1234:DEAD"); +addr.parts // => [0x2001, 0xdb8, 0x10, 0, 0, 0, 0x1234, 0xdead] +``` + +A IPv6 zone index can be accessed via `addr.zoneId`: + +```js +var addr = ipaddr.parse("2001:db8::%eth0"); +addr.zoneId // => 'eth0' +``` + +#### IPv4 properties + +`toIPv4MappedAddress()` will return a corresponding IPv4-mapped IPv6 address. + +To access the underlying representation of the address, use `addr.octets`. + +```js +var addr = ipaddr.parse("192.168.1.1"); +addr.octets // => [192, 168, 1, 1] +``` + +`prefixLengthFromSubnetMask()` will return a CIDR prefix length for a valid IPv4 netmask or +null if the netmask is not valid. + +```js +ipaddr.IPv4.parse('255.255.255.240').prefixLengthFromSubnetMask() == 28 +ipaddr.IPv4.parse('255.192.164.0').prefixLengthFromSubnetMask() == null +``` + +`subnetMaskFromPrefixLength()` will return an IPv4 netmask for a valid CIDR prefix length. + +```js +ipaddr.IPv4.subnetMaskFromPrefixLength(24) == "255.255.255.0" +ipaddr.IPv4.subnetMaskFromPrefixLength(29) == "255.255.255.248" +``` + +`broadcastAddressFromCIDR()` will return the broadcast address for a given IPv4 interface and netmask in CIDR notation. +```js +ipaddr.IPv4.broadcastAddressFromCIDR("172.0.0.1/24") == "172.0.0.255" +``` +`networkAddressFromCIDR()` will return the network address for a given IPv4 interface and netmask in CIDR notation. +```js +ipaddr.IPv4.networkAddressFromCIDR("172.0.0.1/24") == "172.0.0.0" +``` + +#### Conversion + +IPv4 and IPv6 can be converted bidirectionally to and from network byte order (MSB) byte arrays. + +The `fromByteArray()` method will take an array and create an appropriate IPv4 or IPv6 object +if the input satisfies the requirements. For IPv4 it has to be an array of four 8-bit values, +while for IPv6 it has to be an array of sixteen 8-bit values. + +For example: +```js +var addr = ipaddr.fromByteArray([0x7f, 0, 0, 1]); +addr.toString(); // => "127.0.0.1" +``` + +or + +```js +var addr = ipaddr.fromByteArray([0x20, 1, 0xd, 0xb8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]) +addr.toString(); // => "2001:db8::1" +``` + +Both objects also offer a `toByteArray()` method, which returns an array in network byte order (MSB). + +For example: +```js +var addr = ipaddr.parse("127.0.0.1"); +addr.toByteArray(); // => [0x7f, 0, 0, 1] +``` + +or + +```js +var addr = ipaddr.parse("2001:db8::1"); +addr.toByteArray(); // => [0x20, 1, 0xd, 0xb8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1] +``` diff --git a/data/380 b/data/380 new file mode 100644 index 0000000..87f5727 --- /dev/null +++ b/data/380 @@ -0,0 +1,45 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [v1.2.0](https://github.com/ljharb/gopd/compare/v1.1.0...v1.2.0) - 2024-12-03 + +### Commits + +- [New] add `gOPD` entry point; remove `get-intrinsic` [`5b61232`](https://github.com/ljharb/gopd/commit/5b61232dedea4591a314bcf16101b1961cee024e) + +## [v1.1.0](https://github.com/ljharb/gopd/compare/v1.0.1...v1.1.0) - 2024-11-29 + +### Commits + +- [New] add types [`f585e39`](https://github.com/ljharb/gopd/commit/f585e397886d270e4ba84e53d226e4f9ca2eb0e6) +- [Dev Deps] update `@ljharb/eslint-config`, `auto-changelog`, `tape` [`0b8e4fd`](https://github.com/ljharb/gopd/commit/0b8e4fded64397a7726a9daa144a6cc9a5e2edfa) +- [Dev Deps] update `aud`, `npmignore`, `tape` [`48378b2`](https://github.com/ljharb/gopd/commit/48378b2443f09a4f7efbd0fb6c3ee845a6cabcf3) +- [Dev Deps] update `@ljharb/eslint-config`, `aud`, `tape` [`78099ee`](https://github.com/ljharb/gopd/commit/78099eeed41bfdc134c912280483689cc8861c31) +- [Tests] replace `aud` with `npm audit` [`4e0d0ac`](https://github.com/ljharb/gopd/commit/4e0d0ac47619d24a75318a8e1f543ee04b2a2632) +- [meta] add missing `engines.node` [`1443316`](https://github.com/ljharb/gopd/commit/14433165d07835c680155b3dfd62d9217d735eca) +- [Deps] update `get-intrinsic` [`eee5f51`](https://github.com/ljharb/gopd/commit/eee5f51769f3dbaf578b70e2a3199116b01aa670) +- [Deps] update `get-intrinsic` [`550c378`](https://github.com/ljharb/gopd/commit/550c3780e3a9c77b62565712a001b4ed64ea61f5) +- [Dev Deps] add missing peer dep [`8c2ecf8`](https://github.com/ljharb/gopd/commit/8c2ecf848122e4e30abfc5b5086fb48b390dce75) + +## [v1.0.1](https://github.com/ljharb/gopd/compare/v1.0.0...v1.0.1) - 2022-11-01 + +### Commits + +- [Fix] actually export gOPD instead of dP [`4b624bf`](https://github.com/ljharb/gopd/commit/4b624bfbeff788c5e3ff16d9443a83627847234f) + +## v1.0.0 - 2022-11-01 + +### Commits + +- Initial implementation, tests, readme [`0911e01`](https://github.com/ljharb/gopd/commit/0911e012cd642092bd88b732c161c58bf4f20bea) +- Initial commit [`b84e33f`](https://github.com/ljharb/gopd/commit/b84e33f5808a805ac57ff88d4247ad935569acbe) +- [actions] add reusable workflows [`12ae28a`](https://github.com/ljharb/gopd/commit/12ae28ae5f50f86e750215b6e2188901646d0119) +- npm init [`280118b`](https://github.com/ljharb/gopd/commit/280118badb45c80b4483836b5cb5315bddf6e582) +- [meta] add `auto-changelog` [`bb78de5`](https://github.com/ljharb/gopd/commit/bb78de5639a180747fb290c28912beaaf1615709) +- [meta] create FUNDING.yml; add `funding` in package.json [`11c22e6`](https://github.com/ljharb/gopd/commit/11c22e6355bb01f24e7fac4c9bb3055eb5b25002) +- [meta] use `npmignore` to autogenerate an npmignore file [`4f4537a`](https://github.com/ljharb/gopd/commit/4f4537a843b39f698c52f072845092e6fca345bb) +- Only apps should have lockfiles [`c567022`](https://github.com/ljharb/gopd/commit/c567022a18573aa7951cf5399445d9840e23e98b) diff --git a/data/381 b/data/381 new file mode 100644 index 0000000..f4cec71 --- /dev/null +++ b/data/381 @@ -0,0 +1,80 @@ +{ + "name": "es-object-atoms", + "version": "1.1.1", + "description": "ES Object-related atoms: Object, ToObject, RequireObjectCoercible", + "main": "index.js", + "exports": { + ".": "./index.js", + "./RequireObjectCoercible": "./RequireObjectCoercible.js", + "./isObject": "./isObject.js", + "./ToObject": "./ToObject.js", + "./package.json": "./package.json" + }, + "sideEffects": false, + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublishOnly": "safe-publish-latest", + "prepublish": "not-in-publish || npm run prepublishOnly", + "pretest": "npm run lint", + "test": "npm run tests-only", + "tests-only": "nyc tape 'test/**/*.js'", + "posttest": "npx npm@\">= 10.2\" audit --production", + "prelint": "evalmd README.md", + "lint": "eslint --ext=js,mjs .", + "postlint": "tsc -p . && eclint check $(git ls-files | xargs find 2> /dev/null | grep -vE 'node_modules|\\.git' | grep -v dist/)", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/es-object-atoms.git" + }, + "keywords": [ + "javascript", + "ecmascript", + "object", + "toobject", + "coercible" + ], + "author": "Jordan Harband ", + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/es-object-atoms/issues" + }, + "homepage": "https://github.com/ljharb/es-object-atoms#readme", + "dependencies": { + "es-errors": "^1.3.0" + }, + "devDependencies": { + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.2.3", + "@types/tape": "^5.8.1", + "auto-changelog": "^2.5.0", + "eclint": "^2.8.1", + "encoding": "^0.1.13", + "eslint": "^8.8.0", + "evalmd": "^0.0.19", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "engines": { + "node": ">= 0.4" + } +} diff --git a/data/382 b/data/382 new file mode 100644 index 0000000..9bedb25 --- /dev/null +++ b/data/382 @@ -0,0 +1,50 @@ +{ + "name": "merge-descriptors", + "version": "2.0.0", + "description": "Merge objects using their property descriptors", + "license": "MIT", + "repository": "sindresorhus/merge-descriptors", + "funding": "https://github.com/sponsors/sindresorhus", + "contributors": [ + "Jonathan Ong ", + "Douglas Christopher Wilson ", + "Mike Grabowski ", + "Sindre Sorhus " + ], + "exports": { + "types": "./index.d.ts", + "default": "./index.js" + }, + "main": "./index.js", + "types": "./index.d.ts", + "sideEffects": false, + "engines": { + "node": ">=18" + }, + "scripts": { + "test": "xo && ava" + }, + "files": [ + "index.js", + "index.d.ts" + ], + "keywords": [ + "merge", + "descriptors", + "object", + "property", + "properties", + "merging", + "getter", + "setter" + ], + "devDependencies": { + "ava": "^5.3.1", + "xo": "^0.56.0" + }, + "xo": { + "rules": { + "unicorn/prefer-module": "off" + } + } +} diff --git a/data/383 b/data/383 new file mode 100644 index 0000000..aafdf3b --- /dev/null +++ b/data/383 @@ -0,0 +1,3 @@ +declare function hasOwn(o: O, p: K): o is O & Record; + +export = hasOwn; diff --git a/data/385 b/data/385 new file mode 100644 index 0000000..2828e73 --- /dev/null +++ b/data/385 @@ -0,0 +1,97 @@ +{ + "name": "get-intrinsic", + "version": "1.3.0", + "description": "Get and robustly cache all JS language-level intrinsics at first require time", + "main": "index.js", + "exports": { + ".": "./index.js", + "./package.json": "./package.json" + }, + "sideEffects": false, + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepublishOnly": "safe-publish-latest", + "prelint": "evalmd README.md", + "lint": "eslint --ext=.js,.mjs .", + "pretest": "npm run lint", + "tests-only": "nyc tape 'test/**/*.js'", + "test": "npm run tests-only", + "posttest": "npx npm@'>= 10.2' audit --production", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/get-intrinsic.git" + }, + "keywords": [ + "javascript", + "ecmascript", + "es", + "js", + "intrinsic", + "getintrinsic", + "es-abstract" + ], + "author": "Jordan Harband ", + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/get-intrinsic/issues" + }, + "homepage": "https://github.com/ljharb/get-intrinsic#readme", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "devDependencies": { + "@ljharb/eslint-config": "^21.1.1", + "auto-changelog": "^2.5.0", + "call-bound": "^1.0.3", + "encoding": "^0.1.13", + "es-abstract": "^1.23.9", + "es-value-fixtures": "^1.7.1", + "eslint": "=8.8.0", + "evalmd": "^0.0.19", + "for-each": "^0.3.5", + "make-async-function": "^1.0.0", + "make-async-generator-function": "^1.0.0", + "make-generator-function": "^2.0.0", + "mock-property": "^1.1.0", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "object-inspect": "^1.13.4", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "testling": { + "files": "test/GetIntrinsic.js" + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "engines": { + "node": ">= 0.4" + } +} diff --git a/data/386 b/data/386 new file mode 100644 index 0000000..5d7e215 --- /dev/null +++ b/data/386 @@ -0,0 +1,46 @@ +{ + "name": "fresh", + "description": "HTTP response freshness testing", + "version": "2.0.0", + "author": "TJ Holowaychuk (http://tjholowaychuk.com)", + "contributors": [ + "Douglas Christopher Wilson ", + "Jonathan Ong (http://jongleberry.com)" + ], + "license": "MIT", + "keywords": [ + "fresh", + "http", + "conditional", + "cache" + ], + "repository": "jshttp/fresh", + "devDependencies": { + "beautify-benchmark": "0.2.4", + "benchmark": "2.1.4", + "eslint": "8.12.0", + "eslint-config-standard": "14.1.1", + "eslint-plugin-import": "2.25.4", + "eslint-plugin-markdown": "2.2.1", + "eslint-plugin-node": "11.1.0", + "eslint-plugin-promise": "6.0.0", + "eslint-plugin-standard": "4.1.0", + "mocha": "9.2.0", + "nyc": "15.1.0" + }, + "files": [ + "HISTORY.md", + "LICENSE", + "index.js" + ], + "engines": { + "node": ">= 0.8" + }, + "scripts": { + "bench": "node benchmark/index.js", + "lint": "eslint .", + "test": "mocha --reporter spec --check-leaks --bail test/", + "test-ci": "nyc --reporter=lcov --reporter=text npm test", + "test-cov": "nyc --reporter=html --reporter=text npm test" + } +} diff --git a/data/387 b/data/387 new file mode 100644 index 0000000..5f60cc0 --- /dev/null +++ b/data/387 @@ -0,0 +1,29 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [v1.0.1](https://github.com/ljharb/es-define-property/compare/v1.0.0...v1.0.1) - 2024-12-06 + +### Commits + +- [types] use shared tsconfig [`954a663`](https://github.com/ljharb/es-define-property/commit/954a66360326e508a0e5daa4b07493d58f5e110e) +- [actions] split out node 10-20, and 20+ [`3a8e84b`](https://github.com/ljharb/es-define-property/commit/3a8e84b23883f26ff37b3e82ff283834228e18c6) +- [Dev Deps] update `@ljharb/eslint-config`, `@ljharb/tsconfig`, `@types/get-intrinsic`, `@types/tape`, `auto-changelog`, `gopd`, `tape` [`86ae27b`](https://github.com/ljharb/es-define-property/commit/86ae27bb8cc857b23885136fad9cbe965ae36612) +- [Refactor] avoid using `get-intrinsic` [`02480c0`](https://github.com/ljharb/es-define-property/commit/02480c0353ef6118965282977c3864aff53d98b1) +- [Tests] replace `aud` with `npm audit` [`f6093ff`](https://github.com/ljharb/es-define-property/commit/f6093ff74ab51c98015c2592cd393bd42478e773) +- [Tests] configure testling [`7139e66`](https://github.com/ljharb/es-define-property/commit/7139e66959247a56086d9977359caef27c6849e7) +- [Dev Deps] update `tape` [`b901b51`](https://github.com/ljharb/es-define-property/commit/b901b511a75e001a40ce1a59fef7d9ffcfc87482) +- [Tests] fix types in tests [`469d269`](https://github.com/ljharb/es-define-property/commit/469d269fd141b1e773ec053a9fa35843493583e0) +- [Dev Deps] add missing peer dep [`733acfb`](https://github.com/ljharb/es-define-property/commit/733acfb0c4c96edf337e470b89a25a5b3724c352) + +## v1.0.0 - 2024-02-12 + +### Commits + +- Initial implementation, tests, readme, types [`3e154e1`](https://github.com/ljharb/es-define-property/commit/3e154e11a2fee09127220f5e503bf2c0a31dd480) +- Initial commit [`07d98de`](https://github.com/ljharb/es-define-property/commit/07d98de34a4dc31ff5e83a37c0c3f49e0d85cd50) +- npm init [`c4eb634`](https://github.com/ljharb/es-define-property/commit/c4eb6348b0d3886aac36cef34ad2ee0665ea6f3e) +- Only apps should have lockfiles [`7af86ec`](https://github.com/ljharb/es-define-property/commit/7af86ec1d311ec0b17fdfe616a25f64276903856) diff --git a/data/388 b/data/388 new file mode 100644 index 0000000..d9a6668 --- /dev/null +++ b/data/388 @@ -0,0 +1,9 @@ +{ + "extends": "@ljharb/tsconfig", + "compilerOptions": { + "target": "es2021", + }, + "exclude": [ + "coverage", + ], +} diff --git a/data/389 b/data/389 new file mode 100644 index 0000000..8bde4e9 --- /dev/null +++ b/data/389 @@ -0,0 +1,42 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [v1.0.4](https://github.com/ljharb/call-bound/compare/v1.0.3...v1.0.4) - 2025-03-03 + +### Commits + +- [types] improve types [`e648922`](https://github.com/ljharb/call-bound/commit/e6489222a9e54f350fbf952ceabe51fd8b6027ff) +- [Dev Deps] update `@arethetypeswrong/cli`, `@ljharb/tsconfig`, `@types/tape`, `es-value-fixtures`, `for-each`, `has-strict-mode`, `object-inspect` [`a42a5eb`](https://github.com/ljharb/call-bound/commit/a42a5ebe6c1b54fcdc7997c7dc64fdca9e936719) +- [Deps] update `call-bind-apply-helpers`, `get-intrinsic` [`f529eac`](https://github.com/ljharb/call-bound/commit/f529eac132404c17156bbc23ab2297a25d0f20b8) + +## [v1.0.3](https://github.com/ljharb/call-bound/compare/v1.0.2...v1.0.3) - 2024-12-15 + +### Commits + +- [Refactor] use `call-bind-apply-helpers` instead of `call-bind` [`5e0b134`](https://github.com/ljharb/call-bound/commit/5e0b13496df14fb7d05dae9412f088da8d3f75be) +- [Deps] update `get-intrinsic` [`41fc967`](https://github.com/ljharb/call-bound/commit/41fc96732a22c7b7e8f381f93ccc54bb6293be2e) +- [readme] fix example [`79a0137`](https://github.com/ljharb/call-bound/commit/79a0137723f7c6d09c9c05452bbf8d5efb5d6e49) +- [meta] add `sideEffects` flag [`08b07be`](https://github.com/ljharb/call-bound/commit/08b07be7f1c03f67dc6f3cdaf0906259771859f7) + +## [v1.0.2](https://github.com/ljharb/call-bound/compare/v1.0.1...v1.0.2) - 2024-12-10 + +### Commits + +- [Dev Deps] update `@arethetypeswrong/cli`, `@ljharb/tsconfig`, `gopd` [`e6a5ffe`](https://github.com/ljharb/call-bound/commit/e6a5ffe849368fe4f74dfd6cdeca1b9baa39e8d5) +- [Deps] update `call-bind`, `get-intrinsic` [`2aeb5b5`](https://github.com/ljharb/call-bound/commit/2aeb5b521dc2b2683d1345c753ea1161de2d1c14) +- [types] improve return type [`1a0c9fe`](https://github.com/ljharb/call-bound/commit/1a0c9fe3114471e7ca1f57d104e2efe713bb4871) + +## v1.0.1 - 2024-12-05 + +### Commits + +- Initial implementation, tests, readme, types [`6d94121`](https://github.com/ljharb/call-bound/commit/6d94121a9243602e506334069f7a03189fe3363d) +- Initial commit [`0eae867`](https://github.com/ljharb/call-bound/commit/0eae867334ea025c33e6e91cdecfc9df96680cf9) +- npm init [`71b2479`](https://github.com/ljharb/call-bound/commit/71b2479c6723e0b7d91a6b663613067e98b7b275) +- Only apps should have lockfiles [`c3754a9`](https://github.com/ljharb/call-bound/commit/c3754a949b7f9132b47e2d18c1729889736741eb) +- [actions] skip `npm ls` in node < 10 [`74275a5`](https://github.com/ljharb/call-bound/commit/74275a5186b8caf6309b6b97472bdcb0df4683a8) +- [Dev Deps] add missing peer dep [`1354de8`](https://github.com/ljharb/call-bound/commit/1354de8679413e4ae9c523d85f76fa7a5e032d97) diff --git a/data/390 b/data/390 new file mode 100644 index 0000000..d9a6668 --- /dev/null +++ b/data/390 @@ -0,0 +1,9 @@ +{ + "extends": "@ljharb/tsconfig", + "compilerOptions": { + "target": "es2021", + }, + "exclude": [ + "coverage", + ], +} diff --git a/data/391 b/data/391 new file mode 100644 index 0000000..d9a6668 --- /dev/null +++ b/data/391 @@ -0,0 +1,9 @@ +{ + "extends": "@ljharb/tsconfig", + "compilerOptions": { + "target": "es2021", + }, + "exclude": [ + "coverage", + ], +} diff --git a/data/392 b/data/392 new file mode 100644 index 0000000..869ddc2 --- /dev/null +++ b/data/392 @@ -0,0 +1,47 @@ +{ + "name": "finalhandler", + "description": "Node.js final http responder", + "version": "2.1.1", + "author": "Douglas Christopher Wilson ", + "license": "MIT", + "repository": "pillarjs/finalhandler", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + }, + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "devDependencies": { + "eslint": "^7.32.0", + "eslint-config-standard": "^14.1.1", + "eslint-plugin-import": "^2.31.0", + "eslint-plugin-markdown": "^2.2.1", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-promise": "^5.2.0", + "eslint-plugin-standard": "^4.1.0", + "mocha": "^11.0.1", + "nyc": "^17.1.0", + "supertest": "^7.0.0" + }, + "files": [ + "LICENSE", + "HISTORY.md", + "index.js" + ], + "engines": { + "node": ">= 18.0.0" + }, + "scripts": { + "lint": "eslint .", + "test": "mocha --reporter spec --check-leaks test/", + "test-ci": "nyc --reporter=lcovonly --reporter=text npm test", + "test-cov": "nyc --reporter=html --reporter=text npm test", + "test-inspect": "mocha --reporter spec --inspect --inspect-brk test/" + } +} diff --git a/data/393 b/data/393 new file mode 100644 index 0000000..d9a6668 --- /dev/null +++ b/data/393 @@ -0,0 +1,9 @@ +{ + "extends": "@ljharb/tsconfig", + "compilerOptions": { + "target": "es2021", + }, + "exclude": [ + "coverage", + ], +} diff --git a/data/394 b/data/394 new file mode 100644 index 0000000..5f5fdde --- /dev/null +++ b/data/394 @@ -0,0 +1,4 @@ +'use strict'; + +/** @type {import('./syntax')} */ +module.exports = SyntaxError; diff --git a/data/395 b/data/395 new file mode 100644 index 0000000..e36475c --- /dev/null +++ b/data/395 @@ -0,0 +1,6 @@ +'use strict'; + +/** @type {import('./isNaN')} */ +module.exports = Number.isNaN || function isNaN(a) { + return a !== a; +}; diff --git a/data/396 b/data/396 new file mode 100644 index 0000000..838b882 --- /dev/null +++ b/data/396 @@ -0,0 +1,631 @@ +/*! + * express + * Copyright(c) 2009-2013 TJ Holowaychuk + * Copyright(c) 2013 Roman Shtylman + * Copyright(c) 2014-2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict'; + +/** + * Module dependencies. + * @private + */ + +var finalhandler = require('finalhandler'); +var debug = require('debug')('express:application'); +var View = require('./view'); +var http = require('node:http'); +var methods = require('./utils').methods; +var compileETag = require('./utils').compileETag; +var compileQueryParser = require('./utils').compileQueryParser; +var compileTrust = require('./utils').compileTrust; +var resolve = require('node:path').resolve; +var once = require('once') +var Router = require('router'); + +/** + * Module variables. + * @private + */ + +var slice = Array.prototype.slice; +var flatten = Array.prototype.flat; + +/** + * Application prototype. + */ + +var app = exports = module.exports = {}; + +/** + * Variable for trust proxy inheritance back-compat + * @private + */ + +var trustProxyDefaultSymbol = '@@symbol:trust_proxy_default'; + +/** + * Initialize the server. + * + * - setup default configuration + * - setup default middleware + * - setup route reflection methods + * + * @private + */ + +app.init = function init() { + var router = null; + + this.cache = Object.create(null); + this.engines = Object.create(null); + this.settings = Object.create(null); + + this.defaultConfiguration(); + + // Setup getting to lazily add base router + Object.defineProperty(this, 'router', { + configurable: true, + enumerable: true, + get: function getrouter() { + if (router === null) { + router = new Router({ + caseSensitive: this.enabled('case sensitive routing'), + strict: this.enabled('strict routing') + }); + } + + return router; + } + }); +}; + +/** + * Initialize application configuration. + * @private + */ + +app.defaultConfiguration = function defaultConfiguration() { + var env = process.env.NODE_ENV || 'development'; + + // default settings + this.enable('x-powered-by'); + this.set('etag', 'weak'); + this.set('env', env); + this.set('query parser', 'simple') + this.set('subdomain offset', 2); + this.set('trust proxy', false); + + // trust proxy inherit back-compat + Object.defineProperty(this.settings, trustProxyDefaultSymbol, { + configurable: true, + value: true + }); + + debug('booting in %s mode', env); + + this.on('mount', function onmount(parent) { + // inherit trust proxy + if (this.settings[trustProxyDefaultSymbol] === true + && typeof parent.settings['trust proxy fn'] === 'function') { + delete this.settings['trust proxy']; + delete this.settings['trust proxy fn']; + } + + // inherit protos + Object.setPrototypeOf(this.request, parent.request) + Object.setPrototypeOf(this.response, parent.response) + Object.setPrototypeOf(this.engines, parent.engines) + Object.setPrototypeOf(this.settings, parent.settings) + }); + + // setup locals + this.locals = Object.create(null); + + // top-most app is mounted at / + this.mountpath = '/'; + + // default locals + this.locals.settings = this.settings; + + // default configuration + this.set('view', View); + this.set('views', resolve('views')); + this.set('jsonp callback name', 'callback'); + + if (env === 'production') { + this.enable('view cache'); + } +}; + +/** + * Dispatch a req, res pair into the application. Starts pipeline processing. + * + * If no callback is provided, then default error handlers will respond + * in the event of an error bubbling through the stack. + * + * @private + */ + +app.handle = function handle(req, res, callback) { + // final handler + var done = callback || finalhandler(req, res, { + env: this.get('env'), + onerror: logerror.bind(this) + }); + + // set powered by header + if (this.enabled('x-powered-by')) { + res.setHeader('X-Powered-By', 'Express'); + } + + // set circular references + req.res = res; + res.req = req; + + // alter the prototypes + Object.setPrototypeOf(req, this.request) + Object.setPrototypeOf(res, this.response) + + // setup locals + if (!res.locals) { + res.locals = Object.create(null); + } + + this.router.handle(req, res, done); +}; + +/** + * Proxy `Router#use()` to add middleware to the app router. + * See Router#use() documentation for details. + * + * If the _fn_ parameter is an express app, then it will be + * mounted at the _route_ specified. + * + * @public + */ + +app.use = function use(fn) { + var offset = 0; + var path = '/'; + + // default path to '/' + // disambiguate app.use([fn]) + if (typeof fn !== 'function') { + var arg = fn; + + while (Array.isArray(arg) && arg.length !== 0) { + arg = arg[0]; + } + + // first arg is the path + if (typeof arg !== 'function') { + offset = 1; + path = fn; + } + } + + var fns = flatten.call(slice.call(arguments, offset), Infinity); + + if (fns.length === 0) { + throw new TypeError('app.use() requires a middleware function') + } + + // get router + var router = this.router; + + fns.forEach(function (fn) { + // non-express app + if (!fn || !fn.handle || !fn.set) { + return router.use(path, fn); + } + + debug('.use app under %s', path); + fn.mountpath = path; + fn.parent = this; + + // restore .app property on req and res + router.use(path, function mounted_app(req, res, next) { + var orig = req.app; + fn.handle(req, res, function (err) { + Object.setPrototypeOf(req, orig.request) + Object.setPrototypeOf(res, orig.response) + next(err); + }); + }); + + // mounted an app + fn.emit('mount', this); + }, this); + + return this; +}; + +/** + * Proxy to the app `Router#route()` + * Returns a new `Route` instance for the _path_. + * + * Routes are isolated middleware stacks for specific paths. + * See the Route api docs for details. + * + * @public + */ + +app.route = function route(path) { + return this.router.route(path); +}; + +/** + * Register the given template engine callback `fn` + * as `ext`. + * + * By default will `require()` the engine based on the + * file extension. For example if you try to render + * a "foo.ejs" file Express will invoke the following internally: + * + * app.engine('ejs', require('ejs').__express); + * + * For engines that do not provide `.__express` out of the box, + * or if you wish to "map" a different extension to the template engine + * you may use this method. For example mapping the EJS template engine to + * ".html" files: + * + * app.engine('html', require('ejs').renderFile); + * + * In this case EJS provides a `.renderFile()` method with + * the same signature that Express expects: `(path, options, callback)`, + * though note that it aliases this method as `ejs.__express` internally + * so if you're using ".ejs" extensions you don't need to do anything. + * + * Some template engines do not follow this convention, the + * [Consolidate.js](https://github.com/tj/consolidate.js) + * library was created to map all of node's popular template + * engines to follow this convention, thus allowing them to + * work seamlessly within Express. + * + * @param {String} ext + * @param {Function} fn + * @return {app} for chaining + * @public + */ + +app.engine = function engine(ext, fn) { + if (typeof fn !== 'function') { + throw new Error('callback function required'); + } + + // get file extension + var extension = ext[0] !== '.' + ? '.' + ext + : ext; + + // store engine + this.engines[extension] = fn; + + return this; +}; + +/** + * Proxy to `Router#param()` with one added api feature. The _name_ parameter + * can be an array of names. + * + * See the Router#param() docs for more details. + * + * @param {String|Array} name + * @param {Function} fn + * @return {app} for chaining + * @public + */ + +app.param = function param(name, fn) { + if (Array.isArray(name)) { + for (var i = 0; i < name.length; i++) { + this.param(name[i], fn); + } + + return this; + } + + this.router.param(name, fn); + + return this; +}; + +/** + * Assign `setting` to `val`, or return `setting`'s value. + * + * app.set('foo', 'bar'); + * app.set('foo'); + * // => "bar" + * + * Mounted servers inherit their parent server's settings. + * + * @param {String} setting + * @param {*} [val] + * @return {Server} for chaining + * @public + */ + +app.set = function set(setting, val) { + if (arguments.length === 1) { + // app.get(setting) + return this.settings[setting]; + } + + debug('set "%s" to %o', setting, val); + + // set value + this.settings[setting] = val; + + // trigger matched settings + switch (setting) { + case 'etag': + this.set('etag fn', compileETag(val)); + break; + case 'query parser': + this.set('query parser fn', compileQueryParser(val)); + break; + case 'trust proxy': + this.set('trust proxy fn', compileTrust(val)); + + // trust proxy inherit back-compat + Object.defineProperty(this.settings, trustProxyDefaultSymbol, { + configurable: true, + value: false + }); + + break; + } + + return this; +}; + +/** + * Return the app's absolute pathname + * based on the parent(s) that have + * mounted it. + * + * For example if the application was + * mounted as "/admin", which itself + * was mounted as "/blog" then the + * return value would be "/blog/admin". + * + * @return {String} + * @private + */ + +app.path = function path() { + return this.parent + ? this.parent.path() + this.mountpath + : ''; +}; + +/** + * Check if `setting` is enabled (truthy). + * + * app.enabled('foo') + * // => false + * + * app.enable('foo') + * app.enabled('foo') + * // => true + * + * @param {String} setting + * @return {Boolean} + * @public + */ + +app.enabled = function enabled(setting) { + return Boolean(this.set(setting)); +}; + +/** + * Check if `setting` is disabled. + * + * app.disabled('foo') + * // => true + * + * app.enable('foo') + * app.disabled('foo') + * // => false + * + * @param {String} setting + * @return {Boolean} + * @public + */ + +app.disabled = function disabled(setting) { + return !this.set(setting); +}; + +/** + * Enable `setting`. + * + * @param {String} setting + * @return {app} for chaining + * @public + */ + +app.enable = function enable(setting) { + return this.set(setting, true); +}; + +/** + * Disable `setting`. + * + * @param {String} setting + * @return {app} for chaining + * @public + */ + +app.disable = function disable(setting) { + return this.set(setting, false); +}; + +/** + * Delegate `.VERB(...)` calls to `router.VERB(...)`. + */ + +methods.forEach(function (method) { + app[method] = function (path) { + if (method === 'get' && arguments.length === 1) { + // app.get(setting) + return this.set(path); + } + + var route = this.route(path); + route[method].apply(route, slice.call(arguments, 1)); + return this; + }; +}); + +/** + * Special-cased "all" method, applying the given route `path`, + * middleware, and callback to _every_ HTTP method. + * + * @param {String} path + * @param {Function} ... + * @return {app} for chaining + * @public + */ + +app.all = function all(path) { + var route = this.route(path); + var args = slice.call(arguments, 1); + + for (var i = 0; i < methods.length; i++) { + route[methods[i]].apply(route, args); + } + + return this; +}; + +/** + * Render the given view `name` name with `options` + * and a callback accepting an error and the + * rendered template string. + * + * Example: + * + * app.render('email', { name: 'Tobi' }, function(err, html){ + * // ... + * }) + * + * @param {String} name + * @param {Object|Function} options or fn + * @param {Function} callback + * @public + */ + +app.render = function render(name, options, callback) { + var cache = this.cache; + var done = callback; + var engines = this.engines; + var opts = options; + var view; + + // support callback function as second arg + if (typeof options === 'function') { + done = options; + opts = {}; + } + + // merge options + var renderOptions = { ...this.locals, ...opts._locals, ...opts }; + + // set .cache unless explicitly provided + if (renderOptions.cache == null) { + renderOptions.cache = this.enabled('view cache'); + } + + // primed cache + if (renderOptions.cache) { + view = cache[name]; + } + + // view + if (!view) { + var View = this.get('view'); + + view = new View(name, { + defaultEngine: this.get('view engine'), + root: this.get('views'), + engines: engines + }); + + if (!view.path) { + var dirs = Array.isArray(view.root) && view.root.length > 1 + ? 'directories "' + view.root.slice(0, -1).join('", "') + '" or "' + view.root[view.root.length - 1] + '"' + : 'directory "' + view.root + '"' + var err = new Error('Failed to lookup view "' + name + '" in views ' + dirs); + err.view = view; + return done(err); + } + + // prime the cache + if (renderOptions.cache) { + cache[name] = view; + } + } + + // render + tryRender(view, renderOptions, done); +}; + +/** + * Listen for connections. + * + * A node `http.Server` is returned, with this + * application (which is a `Function`) as its + * callback. If you wish to create both an HTTP + * and HTTPS server you may do so with the "http" + * and "https" modules as shown here: + * + * var http = require('node:http') + * , https = require('node:https') + * , express = require('express') + * , app = express(); + * + * http.createServer(app).listen(80); + * https.createServer({ ... }, app).listen(443); + * + * @return {http.Server} + * @public + */ + +app.listen = function listen() { + var server = http.createServer(this) + var args = slice.call(arguments) + if (typeof args[args.length - 1] === 'function') { + var done = args[args.length - 1] = once(args[args.length - 1]) + server.once('error', done) + } + return server.listen.apply(server, args) +} + +/** + * Log error using console.error. + * + * @param {Error} err + * @private + */ + +function logerror(err) { + /* istanbul ignore next */ + if (this.get('env') !== 'test') console.error(err.stack || err.toString()); +} + +/** + * Try rendering a view. + * @private + */ + +function tryRender(view, options, callback) { + try { + view.render(options, callback); + } catch (err) { + callback(err); + } +} diff --git a/data/397 b/data/397 new file mode 100644 index 0000000..7ed2777 --- /dev/null +++ b/data/397 @@ -0,0 +1,406 @@ +/* eslint-disable node/no-deprecated-api */ + +'use strict' + +var test = require('tape') + +var buffer = require('buffer') + +var index = require('./') +var safer = require('./safer') +var dangerous = require('./dangerous') + +/* Inheritance tests */ + +test('Default is Safer', function (t) { + t.equal(index, safer) + t.notEqual(safer, dangerous) + t.notEqual(index, dangerous) + t.end() +}) + +test('Is not a function', function (t) { + [index, safer, dangerous].forEach(function (impl) { + t.equal(typeof impl, 'object') + t.equal(typeof impl.Buffer, 'object') + }); + [buffer].forEach(function (impl) { + t.equal(typeof impl, 'object') + t.equal(typeof impl.Buffer, 'function') + }) + t.end() +}) + +test('Constructor throws', function (t) { + [index, safer, dangerous].forEach(function (impl) { + t.throws(function () { impl.Buffer() }) + t.throws(function () { impl.Buffer(0) }) + t.throws(function () { impl.Buffer('a') }) + t.throws(function () { impl.Buffer('a', 'utf-8') }) + t.throws(function () { return new impl.Buffer() }) + t.throws(function () { return new impl.Buffer(0) }) + t.throws(function () { return new impl.Buffer('a') }) + t.throws(function () { return new impl.Buffer('a', 'utf-8') }) + }) + t.end() +}) + +test('Safe methods exist', function (t) { + [index, safer, dangerous].forEach(function (impl) { + t.equal(typeof impl.Buffer.alloc, 'function', 'alloc') + t.equal(typeof impl.Buffer.from, 'function', 'from') + }) + t.end() +}) + +test('Unsafe methods exist only in Dangerous', function (t) { + [index, safer].forEach(function (impl) { + t.equal(typeof impl.Buffer.allocUnsafe, 'undefined') + t.equal(typeof impl.Buffer.allocUnsafeSlow, 'undefined') + }); + [dangerous].forEach(function (impl) { + t.equal(typeof impl.Buffer.allocUnsafe, 'function') + t.equal(typeof impl.Buffer.allocUnsafeSlow, 'function') + }) + t.end() +}) + +test('Generic methods/properties are defined and equal', function (t) { + ['poolSize', 'isBuffer', 'concat', 'byteLength'].forEach(function (method) { + [index, safer, dangerous].forEach(function (impl) { + t.equal(impl.Buffer[method], buffer.Buffer[method], method) + t.notEqual(typeof impl.Buffer[method], 'undefined', method) + }) + }) + t.end() +}) + +test('Built-in buffer static methods/properties are inherited', function (t) { + Object.keys(buffer).forEach(function (method) { + if (method === 'SlowBuffer' || method === 'Buffer') return; + [index, safer, dangerous].forEach(function (impl) { + t.equal(impl[method], buffer[method], method) + t.notEqual(typeof impl[method], 'undefined', method) + }) + }) + t.end() +}) + +test('Built-in Buffer static methods/properties are inherited', function (t) { + Object.keys(buffer.Buffer).forEach(function (method) { + if (method === 'allocUnsafe' || method === 'allocUnsafeSlow') return; + [index, safer, dangerous].forEach(function (impl) { + t.equal(impl.Buffer[method], buffer.Buffer[method], method) + t.notEqual(typeof impl.Buffer[method], 'undefined', method) + }) + }) + t.end() +}) + +test('.prototype property of Buffer is inherited', function (t) { + [index, safer, dangerous].forEach(function (impl) { + t.equal(impl.Buffer.prototype, buffer.Buffer.prototype, 'prototype') + t.notEqual(typeof impl.Buffer.prototype, 'undefined', 'prototype') + }) + t.end() +}) + +test('All Safer methods are present in Dangerous', function (t) { + Object.keys(safer).forEach(function (method) { + if (method === 'Buffer') return; + [index, safer, dangerous].forEach(function (impl) { + t.equal(impl[method], safer[method], method) + if (method !== 'kStringMaxLength') { + t.notEqual(typeof impl[method], 'undefined', method) + } + }) + }) + Object.keys(safer.Buffer).forEach(function (method) { + [index, safer, dangerous].forEach(function (impl) { + t.equal(impl.Buffer[method], safer.Buffer[method], method) + t.notEqual(typeof impl.Buffer[method], 'undefined', method) + }) + }) + t.end() +}) + +test('Safe methods from Dangerous methods are present in Safer', function (t) { + Object.keys(dangerous).forEach(function (method) { + if (method === 'Buffer') return; + [index, safer, dangerous].forEach(function (impl) { + t.equal(impl[method], dangerous[method], method) + if (method !== 'kStringMaxLength') { + t.notEqual(typeof impl[method], 'undefined', method) + } + }) + }) + Object.keys(dangerous.Buffer).forEach(function (method) { + if (method === 'allocUnsafe' || method === 'allocUnsafeSlow') return; + [index, safer, dangerous].forEach(function (impl) { + t.equal(impl.Buffer[method], dangerous.Buffer[method], method) + t.notEqual(typeof impl.Buffer[method], 'undefined', method) + }) + }) + t.end() +}) + +/* Behaviour tests */ + +test('Methods return Buffers', function (t) { + [index, safer, dangerous].forEach(function (impl) { + t.ok(buffer.Buffer.isBuffer(impl.Buffer.alloc(0))) + t.ok(buffer.Buffer.isBuffer(impl.Buffer.alloc(0, 10))) + t.ok(buffer.Buffer.isBuffer(impl.Buffer.alloc(0, 'a'))) + t.ok(buffer.Buffer.isBuffer(impl.Buffer.alloc(10))) + t.ok(buffer.Buffer.isBuffer(impl.Buffer.alloc(10, 'x'))) + t.ok(buffer.Buffer.isBuffer(impl.Buffer.alloc(9, 'ab'))) + t.ok(buffer.Buffer.isBuffer(impl.Buffer.from(''))) + t.ok(buffer.Buffer.isBuffer(impl.Buffer.from('string'))) + t.ok(buffer.Buffer.isBuffer(impl.Buffer.from('string', 'utf-8'))) + t.ok(buffer.Buffer.isBuffer(impl.Buffer.from('b25ldHdvdGhyZWU=', 'base64'))) + t.ok(buffer.Buffer.isBuffer(impl.Buffer.from([0, 42, 3]))) + t.ok(buffer.Buffer.isBuffer(impl.Buffer.from(new Uint8Array([0, 42, 3])))) + t.ok(buffer.Buffer.isBuffer(impl.Buffer.from([]))) + }); + ['allocUnsafe', 'allocUnsafeSlow'].forEach(function (method) { + t.ok(buffer.Buffer.isBuffer(dangerous.Buffer[method](0))) + t.ok(buffer.Buffer.isBuffer(dangerous.Buffer[method](10))) + }) + t.end() +}) + +test('Constructor is buffer.Buffer', function (t) { + [index, safer, dangerous].forEach(function (impl) { + t.equal(impl.Buffer.alloc(0).constructor, buffer.Buffer) + t.equal(impl.Buffer.alloc(0, 10).constructor, buffer.Buffer) + t.equal(impl.Buffer.alloc(0, 'a').constructor, buffer.Buffer) + t.equal(impl.Buffer.alloc(10).constructor, buffer.Buffer) + t.equal(impl.Buffer.alloc(10, 'x').constructor, buffer.Buffer) + t.equal(impl.Buffer.alloc(9, 'ab').constructor, buffer.Buffer) + t.equal(impl.Buffer.from('').constructor, buffer.Buffer) + t.equal(impl.Buffer.from('string').constructor, buffer.Buffer) + t.equal(impl.Buffer.from('string', 'utf-8').constructor, buffer.Buffer) + t.equal(impl.Buffer.from('b25ldHdvdGhyZWU=', 'base64').constructor, buffer.Buffer) + t.equal(impl.Buffer.from([0, 42, 3]).constructor, buffer.Buffer) + t.equal(impl.Buffer.from(new Uint8Array([0, 42, 3])).constructor, buffer.Buffer) + t.equal(impl.Buffer.from([]).constructor, buffer.Buffer) + }); + [0, 10, 100].forEach(function (arg) { + t.equal(dangerous.Buffer.allocUnsafe(arg).constructor, buffer.Buffer) + t.equal(dangerous.Buffer.allocUnsafeSlow(arg).constructor, buffer.SlowBuffer(0).constructor) + }) + t.end() +}) + +test('Invalid calls throw', function (t) { + [index, safer, dangerous].forEach(function (impl) { + t.throws(function () { impl.Buffer.from(0) }) + t.throws(function () { impl.Buffer.from(10) }) + t.throws(function () { impl.Buffer.from(10, 'utf-8') }) + t.throws(function () { impl.Buffer.from('string', 'invalid encoding') }) + t.throws(function () { impl.Buffer.from(-10) }) + t.throws(function () { impl.Buffer.from(1e90) }) + t.throws(function () { impl.Buffer.from(Infinity) }) + t.throws(function () { impl.Buffer.from(-Infinity) }) + t.throws(function () { impl.Buffer.from(NaN) }) + t.throws(function () { impl.Buffer.from(null) }) + t.throws(function () { impl.Buffer.from(undefined) }) + t.throws(function () { impl.Buffer.from() }) + t.throws(function () { impl.Buffer.from({}) }) + t.throws(function () { impl.Buffer.alloc('') }) + t.throws(function () { impl.Buffer.alloc('string') }) + t.throws(function () { impl.Buffer.alloc('string', 'utf-8') }) + t.throws(function () { impl.Buffer.alloc('b25ldHdvdGhyZWU=', 'base64') }) + t.throws(function () { impl.Buffer.alloc(-10) }) + t.throws(function () { impl.Buffer.alloc(1e90) }) + t.throws(function () { impl.Buffer.alloc(2 * (1 << 30)) }) + t.throws(function () { impl.Buffer.alloc(Infinity) }) + t.throws(function () { impl.Buffer.alloc(-Infinity) }) + t.throws(function () { impl.Buffer.alloc(null) }) + t.throws(function () { impl.Buffer.alloc(undefined) }) + t.throws(function () { impl.Buffer.alloc() }) + t.throws(function () { impl.Buffer.alloc([]) }) + t.throws(function () { impl.Buffer.alloc([0, 42, 3]) }) + t.throws(function () { impl.Buffer.alloc({}) }) + }); + ['allocUnsafe', 'allocUnsafeSlow'].forEach(function (method) { + t.throws(function () { dangerous.Buffer[method]('') }) + t.throws(function () { dangerous.Buffer[method]('string') }) + t.throws(function () { dangerous.Buffer[method]('string', 'utf-8') }) + t.throws(function () { dangerous.Buffer[method](2 * (1 << 30)) }) + t.throws(function () { dangerous.Buffer[method](Infinity) }) + if (dangerous.Buffer[method] === buffer.Buffer.allocUnsafe) { + t.skip('Skipping, older impl of allocUnsafe coerced negative sizes to 0') + } else { + t.throws(function () { dangerous.Buffer[method](-10) }) + t.throws(function () { dangerous.Buffer[method](-1e90) }) + t.throws(function () { dangerous.Buffer[method](-Infinity) }) + } + t.throws(function () { dangerous.Buffer[method](null) }) + t.throws(function () { dangerous.Buffer[method](undefined) }) + t.throws(function () { dangerous.Buffer[method]() }) + t.throws(function () { dangerous.Buffer[method]([]) }) + t.throws(function () { dangerous.Buffer[method]([0, 42, 3]) }) + t.throws(function () { dangerous.Buffer[method]({}) }) + }) + t.end() +}) + +test('Buffers have appropriate lengths', function (t) { + [index, safer, dangerous].forEach(function (impl) { + t.equal(impl.Buffer.alloc(0).length, 0) + t.equal(impl.Buffer.alloc(10).length, 10) + t.equal(impl.Buffer.from('').length, 0) + t.equal(impl.Buffer.from('string').length, 6) + t.equal(impl.Buffer.from('string', 'utf-8').length, 6) + t.equal(impl.Buffer.from('b25ldHdvdGhyZWU=', 'base64').length, 11) + t.equal(impl.Buffer.from([0, 42, 3]).length, 3) + t.equal(impl.Buffer.from(new Uint8Array([0, 42, 3])).length, 3) + t.equal(impl.Buffer.from([]).length, 0) + }); + ['allocUnsafe', 'allocUnsafeSlow'].forEach(function (method) { + t.equal(dangerous.Buffer[method](0).length, 0) + t.equal(dangerous.Buffer[method](10).length, 10) + }) + t.end() +}) + +test('Buffers have appropriate lengths (2)', function (t) { + t.equal(index.Buffer.alloc, safer.Buffer.alloc) + t.equal(index.Buffer.alloc, dangerous.Buffer.alloc) + var ok = true; + [ safer.Buffer.alloc, + dangerous.Buffer.allocUnsafe, + dangerous.Buffer.allocUnsafeSlow + ].forEach(function (method) { + for (var i = 0; i < 1e2; i++) { + var length = Math.round(Math.random() * 1e5) + var buf = method(length) + if (!buffer.Buffer.isBuffer(buf)) ok = false + if (buf.length !== length) ok = false + } + }) + t.ok(ok) + t.end() +}) + +test('.alloc(size) is zero-filled and has correct length', function (t) { + t.equal(index.Buffer.alloc, safer.Buffer.alloc) + t.equal(index.Buffer.alloc, dangerous.Buffer.alloc) + var ok = true + for (var i = 0; i < 1e2; i++) { + var length = Math.round(Math.random() * 2e6) + var buf = index.Buffer.alloc(length) + if (!buffer.Buffer.isBuffer(buf)) ok = false + if (buf.length !== length) ok = false + var j + for (j = 0; j < length; j++) { + if (buf[j] !== 0) ok = false + } + buf.fill(1) + for (j = 0; j < length; j++) { + if (buf[j] !== 1) ok = false + } + } + t.ok(ok) + t.end() +}) + +test('.allocUnsafe / .allocUnsafeSlow are fillable and have correct lengths', function (t) { + ['allocUnsafe', 'allocUnsafeSlow'].forEach(function (method) { + var ok = true + for (var i = 0; i < 1e2; i++) { + var length = Math.round(Math.random() * 2e6) + var buf = dangerous.Buffer[method](length) + if (!buffer.Buffer.isBuffer(buf)) ok = false + if (buf.length !== length) ok = false + buf.fill(0, 0, length) + var j + for (j = 0; j < length; j++) { + if (buf[j] !== 0) ok = false + } + buf.fill(1, 0, length) + for (j = 0; j < length; j++) { + if (buf[j] !== 1) ok = false + } + } + t.ok(ok, method) + }) + t.end() +}) + +test('.alloc(size, fill) is `fill`-filled', function (t) { + t.equal(index.Buffer.alloc, safer.Buffer.alloc) + t.equal(index.Buffer.alloc, dangerous.Buffer.alloc) + var ok = true + for (var i = 0; i < 1e2; i++) { + var length = Math.round(Math.random() * 2e6) + var fill = Math.round(Math.random() * 255) + var buf = index.Buffer.alloc(length, fill) + if (!buffer.Buffer.isBuffer(buf)) ok = false + if (buf.length !== length) ok = false + for (var j = 0; j < length; j++) { + if (buf[j] !== fill) ok = false + } + } + t.ok(ok) + t.end() +}) + +test('.alloc(size, fill) is `fill`-filled', function (t) { + t.equal(index.Buffer.alloc, safer.Buffer.alloc) + t.equal(index.Buffer.alloc, dangerous.Buffer.alloc) + var ok = true + for (var i = 0; i < 1e2; i++) { + var length = Math.round(Math.random() * 2e6) + var fill = Math.round(Math.random() * 255) + var buf = index.Buffer.alloc(length, fill) + if (!buffer.Buffer.isBuffer(buf)) ok = false + if (buf.length !== length) ok = false + for (var j = 0; j < length; j++) { + if (buf[j] !== fill) ok = false + } + } + t.ok(ok) + t.deepEqual(index.Buffer.alloc(9, 'a'), index.Buffer.alloc(9, 97)) + t.notDeepEqual(index.Buffer.alloc(9, 'a'), index.Buffer.alloc(9, 98)) + + var tmp = new buffer.Buffer(2) + tmp.fill('ok') + if (tmp[1] === tmp[0]) { + // Outdated Node.js + t.deepEqual(index.Buffer.alloc(5, 'ok'), index.Buffer.from('ooooo')) + } else { + t.deepEqual(index.Buffer.alloc(5, 'ok'), index.Buffer.from('okoko')) + } + t.notDeepEqual(index.Buffer.alloc(5, 'ok'), index.Buffer.from('kokok')) + + t.end() +}) + +test('safer.Buffer.from returns results same as Buffer constructor', function (t) { + [index, safer, dangerous].forEach(function (impl) { + t.deepEqual(impl.Buffer.from(''), new buffer.Buffer('')) + t.deepEqual(impl.Buffer.from('string'), new buffer.Buffer('string')) + t.deepEqual(impl.Buffer.from('string', 'utf-8'), new buffer.Buffer('string', 'utf-8')) + t.deepEqual(impl.Buffer.from('b25ldHdvdGhyZWU=', 'base64'), new buffer.Buffer('b25ldHdvdGhyZWU=', 'base64')) + t.deepEqual(impl.Buffer.from([0, 42, 3]), new buffer.Buffer([0, 42, 3])) + t.deepEqual(impl.Buffer.from(new Uint8Array([0, 42, 3])), new buffer.Buffer(new Uint8Array([0, 42, 3]))) + t.deepEqual(impl.Buffer.from([]), new buffer.Buffer([])) + }) + t.end() +}) + +test('safer.Buffer.from returns consistent results', function (t) { + [index, safer, dangerous].forEach(function (impl) { + t.deepEqual(impl.Buffer.from(''), impl.Buffer.alloc(0)) + t.deepEqual(impl.Buffer.from([]), impl.Buffer.alloc(0)) + t.deepEqual(impl.Buffer.from(new Uint8Array([])), impl.Buffer.alloc(0)) + t.deepEqual(impl.Buffer.from('string', 'utf-8'), impl.Buffer.from('string')) + t.deepEqual(impl.Buffer.from('string'), impl.Buffer.from([115, 116, 114, 105, 110, 103])) + t.deepEqual(impl.Buffer.from('string'), impl.Buffer.from(impl.Buffer.from('string'))) + t.deepEqual(impl.Buffer.from('b25ldHdvdGhyZWU=', 'base64'), impl.Buffer.from('onetwothree')) + t.notDeepEqual(impl.Buffer.from('b25ldHdvdGhyZWU='), impl.Buffer.from('onetwothree')) + }) + t.end() +}) diff --git a/data/398 b/data/398 new file mode 100644 index 0000000..9c35cec --- /dev/null +++ b/data/398 @@ -0,0 +1,81 @@ +{ + "name": "get-proto", + "version": "1.0.1", + "description": "Robustly get the [[Prototype]] of an object", + "main": "index.js", + "exports": { + ".": "./index.js", + "./Reflect.getPrototypeOf": "./Reflect.getPrototypeOf.js", + "./Object.getPrototypeOf": "./Object.getPrototypeOf.js", + "./package.json": "./package.json" + }, + "scripts": { + "prepack": "npmignore --auto --commentLines=autogenerated", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepublishOnly": "safe-publish-latest", + "pretest": "npm run --silent lint", + "test": "npm run tests-only", + "posttest": "npx npm@\">=10.2\" audit --production", + "tests-only": "nyc tape 'test/**/*.js'", + "prelint": "evalmd README.md", + "lint": "eslint --ext=js,mjs .", + "postlint": "tsc && attw -P", + "version": "auto-changelog && git add CHANGELOG.md", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ljharb/get-proto.git" + }, + "keywords": [ + "get", + "proto", + "prototype", + "getPrototypeOf", + "[[Prototype]]" + ], + "author": "Jordan Harband ", + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/get-proto/issues" + }, + "homepage": "https://github.com/ljharb/get-proto#readme", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "devDependencies": { + "@arethetypeswrong/cli": "^0.17.2", + "@ljharb/eslint-config": "^21.1.1", + "@ljharb/tsconfig": "^0.2.3", + "@types/tape": "^5.8.0", + "auto-changelog": "^2.5.0", + "eslint": "=8.8.0", + "evalmd": "^0.0.19", + "in-publish": "^2.0.1", + "npmignore": "^0.3.1", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "tape": "^5.9.0", + "typescript": "next" + }, + "engines": { + "node": ">= 0.4" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "publishConfig": { + "ignore": [ + ".github/workflows" + ] + }, + "testling": { + "files": "test/index.js" + } +} diff --git a/data/4 b/data/4 new file mode 100644 index 0000000..87c0e73 --- /dev/null +++ b/data/4 @@ -0,0 +1 @@ +12309823 \ No newline at end of file diff --git a/data/401 b/data/401 new file mode 100644 index 0000000..bf4c57f --- /dev/null +++ b/data/401 @@ -0,0 +1,10 @@ +/** + * Detect Electron renderer / nwjs process, which is node, but we should + * treat as a browser. + */ + +if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) { + module.exports = require('./browser.js'); +} else { + module.exports = require('./node.js'); +} diff --git a/data/402 b/data/402 new file mode 100644 index 0000000..6085b6e --- /dev/null +++ b/data/402 @@ -0,0 +1,35 @@ +'use strict'; + +var callBind = require('call-bind-apply-helpers'); +var gOPD = require('gopd'); +var $TypeError = require('es-errors/type'); + +/** @type {{ __proto__?: object | null }} */ +var obj = {}; +try { + obj.__proto__ = null; // eslint-disable-line no-proto +} catch (e) { + if (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') { + throw e; + } +} + +var hasProtoMutator = !('toString' in obj); + +// eslint-disable-next-line no-extra-parens +var desc = gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__')); + +/** @type {import('./set')} */ +module.exports = hasProtoMutator && ( +// eslint-disable-next-line no-extra-parens + (!!desc && typeof desc.set === 'function' && /** @type {import('./set')} */ (callBind([desc.set]))) + || /** @type {import('./set')} */ function setDunder(object, proto) { + // this is node v0.10 or older, which doesn't have Object.setPrototypeOf and has undeniable __proto__ + if (object == null) { // eslint-disable-line eqeqeq + throw new $TypeError('set Object.prototype.__proto__ called on null or undefined'); + } + // eslint-disable-next-line no-proto, no-param-reassign, no-extra-parens + /** @type {{ __proto__?: object | null }} */ (object).__proto__ = proto; + return proto; + } +); diff --git a/data/403 b/data/403 new file mode 100644 index 0000000..7ae266e --- /dev/null +++ b/data/403 @@ -0,0 +1,64 @@ +{ + "name": "path-to-regexp", + "version": "8.3.0", + "description": "Express style path to RegExp utility", + "keywords": [ + "express", + "regexp", + "route", + "routing" + ], + "repository": { + "type": "git", + "url": "https://github.com/pillarjs/path-to-regexp.git" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + }, + "license": "MIT", + "exports": "./dist/index.js", + "main": "dist/index.js", + "typings": "dist/index.d.ts", + "files": [ + "dist/" + ], + "scripts": { + "bench": "vitest bench", + "build": "ts-scripts build", + "format": "ts-scripts format", + "lint": "ts-scripts lint", + "prepare": "ts-scripts install && npm run build", + "size": "size-limit", + "specs": "ts-scripts specs", + "test": "ts-scripts test && npm run size" + }, + "devDependencies": { + "@borderless/ts-scripts": "^0.15.0", + "@size-limit/preset-small-lib": "^11.1.2", + "@types/node": "^22.7.2", + "@types/semver": "^7.3.1", + "@vitest/coverage-v8": "^3.0.5", + "recheck": "^4.4.5", + "size-limit": "^11.1.2", + "typescript": "^5.7.3", + "vitest": "^3.0.5" + }, + "publishConfig": { + "access": "public" + }, + "size-limit": [ + { + "path": "dist/index.js", + "limit": "2 kB" + } + ], + "ts-scripts": { + "dist": [ + "dist" + ], + "project": [ + "tsconfig.build.json" + ] + } +} diff --git a/data/404 b/data/404 new file mode 100644 index 0000000..784e56a --- /dev/null +++ b/data/404 @@ -0,0 +1,40 @@ +# gopd [![Version Badge][npm-version-svg]][package-url] + +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] + +[![npm badge][npm-badge-png]][package-url] + +`Object.getOwnPropertyDescriptor`, but accounts for IE's broken implementation. + +## Usage + +```javascript +var gOPD = require('gopd'); +var assert = require('assert'); + +if (gOPD) { + assert.equal(typeof gOPD, 'function', 'descriptors supported'); + // use gOPD like Object.getOwnPropertyDescriptor here +} else { + assert.ok(!gOPD, 'descriptors not supported'); +} +``` + +[package-url]: https://npmjs.org/package/gopd +[npm-version-svg]: https://versionbadg.es/ljharb/gopd.svg +[deps-svg]: https://david-dm.org/ljharb/gopd.svg +[deps-url]: https://david-dm.org/ljharb/gopd +[dev-deps-svg]: https://david-dm.org/ljharb/gopd/dev-status.svg +[dev-deps-url]: https://david-dm.org/ljharb/gopd#info=devDependencies +[npm-badge-png]: https://nodei.co/npm/gopd.png?downloads=true&stars=true +[license-image]: https://img.shields.io/npm/l/gopd.svg +[license-url]: LICENSE +[downloads-image]: https://img.shields.io/npm/dm/gopd.svg +[downloads-url]: https://npm-stat.com/charts.html?package=gopd +[codecov-image]: https://codecov.io/gh/ljharb/gopd/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/ljharb/gopd/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/gopd +[actions-url]: https://github.com/ljharb/gopd/actions diff --git a/data/405 b/data/405 new file mode 100644 index 0000000..1f73cb7 --- /dev/null +++ b/data/405 @@ -0,0 +1,6 @@ +{ + "extends": "@ljharb/tsconfig", + "compilerOptions": { + "target": "es5", + }, +} diff --git a/data/406 b/data/406 new file mode 100644 index 0000000..1dee67d --- /dev/null +++ b/data/406 @@ -0,0 +1,55 @@ +# merge-descriptors + +> Merge objects using their property descriptors + +## Install + +```sh +npm install merge-descriptors +``` + +## Usage + +```js +import mergeDescriptors from 'merge-descriptors'; + +const thing = { + get name() { + return 'John' + } +} + +const animal = {}; + +mergeDescriptors(animal, thing); + +console.log(animal.name); +//=> 'John' +``` + +## API + +### merge(destination, source, overwrite?) + +Merges "own" properties from a source to a destination object, including non-enumerable and accessor-defined properties. It retains original values and descriptors, ensuring the destination receives a complete and accurate copy of the source's properties. + +Returns the modified destination object. + +#### destination + +Type: `object` + +The object to receive properties. + +#### source + +Type: `object` + +The object providing properties. + +#### overwrite + +Type: `boolean`\ +Default: `true` + +A boolean to control overwriting of existing properties. diff --git a/data/407 b/data/407 new file mode 100644 index 0000000..3fbbddb --- /dev/null +++ b/data/407 @@ -0,0 +1,47 @@ +/** + * Module dependencies. + */ + +var crypto = require('crypto'); + +/** + * Sign the given `val` with `secret`. + * + * @param {String} val + * @param {String|NodeJS.ArrayBufferView|crypto.KeyObject} secret + * @return {String} + * @api private + */ + +exports.sign = function(val, secret){ + if ('string' != typeof val) throw new TypeError("Cookie value must be provided as a string."); + if (null == secret) throw new TypeError("Secret key must be provided."); + return val + '.' + crypto + .createHmac('sha256', secret) + .update(val) + .digest('base64') + .replace(/\=+$/, ''); +}; + +/** + * Unsign and decode the given `input` with `secret`, + * returning `false` if the signature is invalid. + * + * @param {String} input + * @param {String|NodeJS.ArrayBufferView|crypto.KeyObject} secret + * @return {String|Boolean} + * @api private + */ + +exports.unsign = function(input, secret){ + if ('string' != typeof input) throw new TypeError("Signed cookie string must be provided."); + if (null == secret) throw new TypeError("Secret key must be provided."); + var tentativeValue = input.slice(0, input.lastIndexOf('.')), + expectedInput = exports.sign(tentativeValue, secret), + expectedBuffer = Buffer.from(expectedInput), + inputBuffer = Buffer.from(input); + return ( + expectedBuffer.length === inputBuffer.length && + crypto.timingSafeEqual(expectedBuffer, inputBuffer) + ) ? tentativeValue : false; +}; diff --git a/data/408 b/data/408 new file mode 100644 index 0000000..9725ddf --- /dev/null +++ b/data/408 @@ -0,0 +1,211 @@ +/*! + * mime-types + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict' + +/** + * Module dependencies. + * @private + */ + +var db = require('mime-db') +var extname = require('path').extname +var mimeScore = require('./mimeScore') + +/** + * Module variables. + * @private + */ + +var EXTRACT_TYPE_REGEXP = /^\s*([^;\s]*)(?:;|\s|$)/ +var TEXT_TYPE_REGEXP = /^text\//i + +/** + * Module exports. + * @public + */ + +exports.charset = charset +exports.charsets = { lookup: charset } +exports.contentType = contentType +exports.extension = extension +exports.extensions = Object.create(null) +exports.lookup = lookup +exports.types = Object.create(null) +exports._extensionConflicts = [] + +// Populate the extensions/types maps +populateMaps(exports.extensions, exports.types) + +/** + * Get the default charset for a MIME type. + * + * @param {string} type + * @return {false|string} + */ + +function charset (type) { + if (!type || typeof type !== 'string') { + return false + } + + // TODO: use media-typer + var match = EXTRACT_TYPE_REGEXP.exec(type) + var mime = match && db[match[1].toLowerCase()] + + if (mime && mime.charset) { + return mime.charset + } + + // default text/* to utf-8 + if (match && TEXT_TYPE_REGEXP.test(match[1])) { + return 'UTF-8' + } + + return false +} + +/** + * Create a full Content-Type header given a MIME type or extension. + * + * @param {string} str + * @return {false|string} + */ + +function contentType (str) { + // TODO: should this even be in this module? + if (!str || typeof str !== 'string') { + return false + } + + var mime = str.indexOf('/') === -1 ? exports.lookup(str) : str + + if (!mime) { + return false + } + + // TODO: use content-type or other module + if (mime.indexOf('charset') === -1) { + var charset = exports.charset(mime) + if (charset) mime += '; charset=' + charset.toLowerCase() + } + + return mime +} + +/** + * Get the default extension for a MIME type. + * + * @param {string} type + * @return {false|string} + */ + +function extension (type) { + if (!type || typeof type !== 'string') { + return false + } + + // TODO: use media-typer + var match = EXTRACT_TYPE_REGEXP.exec(type) + + // get extensions + var exts = match && exports.extensions[match[1].toLowerCase()] + + if (!exts || !exts.length) { + return false + } + + return exts[0] +} + +/** + * Lookup the MIME type for a file path/extension. + * + * @param {string} path + * @return {false|string} + */ + +function lookup (path) { + if (!path || typeof path !== 'string') { + return false + } + + // get the extension ("ext" or ".ext" or full path) + var extension = extname('x.' + path) + .toLowerCase() + .slice(1) + + if (!extension) { + return false + } + + return exports.types[extension] || false +} + +/** + * Populate the extensions and types maps. + * @private + */ + +function populateMaps (extensions, types) { + Object.keys(db).forEach(function forEachMimeType (type) { + var mime = db[type] + var exts = mime.extensions + + if (!exts || !exts.length) { + return + } + + // mime -> extensions + extensions[type] = exts + + // extension -> mime + for (var i = 0; i < exts.length; i++) { + var extension = exts[i] + types[extension] = _preferredType(extension, types[extension], type) + + // DELETE (eventually): Capture extension->type maps that change as a + // result of switching to mime-score. This is just to help make reviewing + // PR #119 easier, and can be removed once that PR is approved. + const legacyType = _preferredTypeLegacy( + extension, + types[extension], + type + ) + if (legacyType !== types[extension]) { + exports._extensionConflicts.push([extension, legacyType, types[extension]]) + } + } + }) +} + +// Resolve type conflict using mime-score +function _preferredType (ext, type0, type1) { + var score0 = type0 ? mimeScore(type0, db[type0].source) : 0 + var score1 = type1 ? mimeScore(type1, db[type1].source) : 0 + + return score0 > score1 ? type0 : type1 +} + +// Resolve type conflict using pre-mime-score logic +function _preferredTypeLegacy (ext, type0, type1) { + var SOURCE_RANK = ['nginx', 'apache', undefined, 'iana'] + + var score0 = type0 ? SOURCE_RANK.indexOf(db[type0].source) : 0 + var score1 = type1 ? SOURCE_RANK.indexOf(db[type1].source) : 0 + + if ( + exports.types[extension] !== 'application/octet-stream' && + (score0 > score1 || + (score0 === score1 && + exports.types[extension]?.slice(0, 12) === 'application/')) + ) { + return type0 + } + + return score0 > score1 ? type0 : type1 +} diff --git a/data/409 b/data/409 new file mode 100644 index 0000000..2edecce --- /dev/null +++ b/data/409 @@ -0,0 +1,252 @@ +// jscs:disable requireUseStrict + +var test = require('tape'); + +var functionBind = require('../implementation'); +var getCurrentContext = function () { return this; }; + +test('functionBind is a function', function (t) { + t.equal(typeof functionBind, 'function'); + t.end(); +}); + +test('non-functions', function (t) { + var nonFunctions = [true, false, [], {}, 42, 'foo', NaN, /a/g]; + t.plan(nonFunctions.length); + for (var i = 0; i < nonFunctions.length; ++i) { + try { functionBind.call(nonFunctions[i]); } catch (ex) { + t.ok(ex instanceof TypeError, 'throws when given ' + String(nonFunctions[i])); + } + } + t.end(); +}); + +test('without a context', function (t) { + t.test('binds properly', function (st) { + var args, context; + var namespace = { + func: functionBind.call(function () { + args = Array.prototype.slice.call(arguments); + context = this; + }) + }; + namespace.func(1, 2, 3); + st.deepEqual(args, [1, 2, 3]); + st.equal(context, getCurrentContext.call()); + st.end(); + }); + + t.test('binds properly, and still supplies bound arguments', function (st) { + var args, context; + var namespace = { + func: functionBind.call(function () { + args = Array.prototype.slice.call(arguments); + context = this; + }, undefined, 1, 2, 3) + }; + namespace.func(4, 5, 6); + st.deepEqual(args, [1, 2, 3, 4, 5, 6]); + st.equal(context, getCurrentContext.call()); + st.end(); + }); + + t.test('returns properly', function (st) { + var args; + var namespace = { + func: functionBind.call(function () { + args = Array.prototype.slice.call(arguments); + return this; + }, null) + }; + var context = namespace.func(1, 2, 3); + st.equal(context, getCurrentContext.call(), 'returned context is namespaced context'); + st.deepEqual(args, [1, 2, 3], 'passed arguments are correct'); + st.end(); + }); + + t.test('returns properly with bound arguments', function (st) { + var args; + var namespace = { + func: functionBind.call(function () { + args = Array.prototype.slice.call(arguments); + return this; + }, null, 1, 2, 3) + }; + var context = namespace.func(4, 5, 6); + st.equal(context, getCurrentContext.call(), 'returned context is namespaced context'); + st.deepEqual(args, [1, 2, 3, 4, 5, 6], 'passed arguments are correct'); + st.end(); + }); + + t.test('called as a constructor', function (st) { + var thunkify = function (value) { + return function () { return value; }; + }; + st.test('returns object value', function (sst) { + var expectedReturnValue = [1, 2, 3]; + var Constructor = functionBind.call(thunkify(expectedReturnValue), null); + var result = new Constructor(); + sst.equal(result, expectedReturnValue); + sst.end(); + }); + + st.test('does not return primitive value', function (sst) { + var Constructor = functionBind.call(thunkify(42), null); + var result = new Constructor(); + sst.notEqual(result, 42); + sst.end(); + }); + + st.test('object from bound constructor is instance of original and bound constructor', function (sst) { + var A = function (x) { + this.name = x || 'A'; + }; + var B = functionBind.call(A, null, 'B'); + + var result = new B(); + sst.ok(result instanceof B, 'result is instance of bound constructor'); + sst.ok(result instanceof A, 'result is instance of original constructor'); + sst.end(); + }); + + st.end(); + }); + + t.end(); +}); + +test('with a context', function (t) { + t.test('with no bound arguments', function (st) { + var args, context; + var boundContext = {}; + var namespace = { + func: functionBind.call(function () { + args = Array.prototype.slice.call(arguments); + context = this; + }, boundContext) + }; + namespace.func(1, 2, 3); + st.equal(context, boundContext, 'binds a context properly'); + st.deepEqual(args, [1, 2, 3], 'supplies passed arguments'); + st.end(); + }); + + t.test('with bound arguments', function (st) { + var args, context; + var boundContext = {}; + var namespace = { + func: functionBind.call(function () { + args = Array.prototype.slice.call(arguments); + context = this; + }, boundContext, 1, 2, 3) + }; + namespace.func(4, 5, 6); + st.equal(context, boundContext, 'binds a context properly'); + st.deepEqual(args, [1, 2, 3, 4, 5, 6], 'supplies bound and passed arguments'); + st.end(); + }); + + t.test('returns properly', function (st) { + var boundContext = {}; + var args; + var namespace = { + func: functionBind.call(function () { + args = Array.prototype.slice.call(arguments); + return this; + }, boundContext) + }; + var context = namespace.func(1, 2, 3); + st.equal(context, boundContext, 'returned context is bound context'); + st.notEqual(context, getCurrentContext.call(), 'returned context is not lexical context'); + st.deepEqual(args, [1, 2, 3], 'passed arguments are correct'); + st.end(); + }); + + t.test('returns properly with bound arguments', function (st) { + var boundContext = {}; + var args; + var namespace = { + func: functionBind.call(function () { + args = Array.prototype.slice.call(arguments); + return this; + }, boundContext, 1, 2, 3) + }; + var context = namespace.func(4, 5, 6); + st.equal(context, boundContext, 'returned context is bound context'); + st.notEqual(context, getCurrentContext.call(), 'returned context is not lexical context'); + st.deepEqual(args, [1, 2, 3, 4, 5, 6], 'passed arguments are correct'); + st.end(); + }); + + t.test('passes the correct arguments when called as a constructor', function (st) { + var expected = { name: 'Correct' }; + var namespace = { + Func: functionBind.call(function (arg) { + return arg; + }, { name: 'Incorrect' }) + }; + var returned = new namespace.Func(expected); + st.equal(returned, expected, 'returns the right arg when called as a constructor'); + st.end(); + }); + + t.test('has the new instance\'s context when called as a constructor', function (st) { + var actualContext; + var expectedContext = { foo: 'bar' }; + var namespace = { + Func: functionBind.call(function () { + actualContext = this; + }, expectedContext) + }; + var result = new namespace.Func(); + st.equal(result instanceof namespace.Func, true); + st.notEqual(actualContext, expectedContext); + st.end(); + }); + + t.end(); +}); + +test('bound function length', function (t) { + t.test('sets a correct length without thisArg', function (st) { + var subject = functionBind.call(function (a, b, c) { return a + b + c; }); + st.equal(subject.length, 3); + st.equal(subject(1, 2, 3), 6); + st.end(); + }); + + t.test('sets a correct length with thisArg', function (st) { + var subject = functionBind.call(function (a, b, c) { return a + b + c; }, {}); + st.equal(subject.length, 3); + st.equal(subject(1, 2, 3), 6); + st.end(); + }); + + t.test('sets a correct length without thisArg and first argument', function (st) { + var subject = functionBind.call(function (a, b, c) { return a + b + c; }, undefined, 1); + st.equal(subject.length, 2); + st.equal(subject(2, 3), 6); + st.end(); + }); + + t.test('sets a correct length with thisArg and first argument', function (st) { + var subject = functionBind.call(function (a, b, c) { return a + b + c; }, {}, 1); + st.equal(subject.length, 2); + st.equal(subject(2, 3), 6); + st.end(); + }); + + t.test('sets a correct length without thisArg and too many arguments', function (st) { + var subject = functionBind.call(function (a, b, c) { return a + b + c; }, undefined, 1, 2, 3, 4); + st.equal(subject.length, 0); + st.equal(subject(), 6); + st.end(); + }); + + t.test('sets a correct length with thisArg and too many arguments', function (st) { + var subject = functionBind.call(function (a, b, c) { return a + b + c; }, {}, 1, 2, 3, 4); + st.equal(subject.length, 0); + st.equal(subject(), 6); + st.end(); + }); +}); diff --git a/data/410 b/data/410 new file mode 100644 index 0000000..fd3888a --- /dev/null +++ b/data/410 @@ -0,0 +1,80 @@ +2.0.0 - 2024-09-04 +========== + * Drop support for Node.js <18 + +1.0.0 - 2024-09-04 +========== + + * Drop support for Node.js below 0.8 + * Fix: Ignore `If-Modified-Since` in the presence of `If-None-Match`, according to [spec](https://www.rfc-editor.org/rfc/rfc9110.html#section-13.1.3-5). Fixes [#35](https://github.com/jshttp/fresh/issues/35) + +0.5.2 / 2017-09-13 +================== + + * Fix regression matching multiple ETags in `If-None-Match` + * perf: improve `If-None-Match` token parsing + +0.5.1 / 2017-09-11 +================== + + * Fix handling of modified headers with invalid dates + * perf: improve ETag match loop + +0.5.0 / 2017-02-21 +================== + + * Fix incorrect result when `If-None-Match` has both `*` and ETags + * Fix weak `ETag` matching to match spec + * perf: delay reading header values until needed + * perf: skip checking modified time if ETag check failed + * perf: skip parsing `If-None-Match` when no `ETag` header + * perf: use `Date.parse` instead of `new Date` + +0.4.0 / 2017-02-05 +================== + + * Fix false detection of `no-cache` request directive + * perf: enable strict mode + * perf: hoist regular expressions + * perf: remove duplicate conditional + * perf: remove unnecessary boolean coercions + +0.3.0 / 2015-05-12 +================== + + * Add weak `ETag` matching support + +0.2.4 / 2014-09-07 +================== + + * Support Node.js 0.6 + +0.2.3 / 2014-09-07 +================== + + * Move repository to jshttp + +0.2.2 / 2014-02-19 +================== + + * Revert "Fix for blank page on Safari reload" + +0.2.1 / 2014-01-29 +================== + + * Fix for blank page on Safari reload + +0.2.0 / 2013-08-11 +================== + + * Return stale for `Cache-Control: no-cache` + +0.1.0 / 2012-06-15 +================== + + * Add `If-None-Match: *` support + +0.0.1 / 2012-06-10 +================== + + * Initial release diff --git a/data/411 b/data/411 new file mode 100644 index 0000000..1cdc89e --- /dev/null +++ b/data/411 @@ -0,0 +1,63 @@ +'use strict'; + +var callBind = require('../'); +var hasStrictMode = require('has-strict-mode')(); +var forEach = require('for-each'); +var inspect = require('object-inspect'); +var v = require('es-value-fixtures'); + +var test = require('tape'); + +test('callBindBasic', function (t) { + forEach(v.nonFunctions, function (nonFunction) { + t['throws']( + // @ts-expect-error + function () { callBind([nonFunction]); }, + TypeError, + inspect(nonFunction) + ' is not a function' + ); + }); + + var sentinel = { sentinel: true }; + /** @type {(this: T, a: A, b: B) => [T | undefined, A, B]} */ + var func = function (a, b) { + // eslint-disable-next-line no-invalid-this + return [!hasStrictMode && this === global ? undefined : this, a, b]; + }; + t.equal(func.length, 2, 'original function length is 2'); + + /** type {(thisArg: unknown, a: number, b: number) => [unknown, number, number]} */ + var bound = callBind([func]); + /** type {((a: number, b: number) => [typeof sentinel, typeof a, typeof b])} */ + var boundR = callBind([func, sentinel]); + /** type {((b: number) => [typeof sentinel, number, typeof b])} */ + var boundArg = callBind([func, sentinel, /** @type {const} */ (1)]); + + // @ts-expect-error + t.deepEqual(bound(), [undefined, undefined, undefined], 'bound func with no args'); + + // @ts-expect-error + t.deepEqual(func(), [undefined, undefined, undefined], 'unbound func with too few args'); + // @ts-expect-error + t.deepEqual(bound(1, 2), [hasStrictMode ? 1 : Object(1), 2, undefined], 'bound func too few args'); + // @ts-expect-error + t.deepEqual(boundR(), [sentinel, undefined, undefined], 'bound func with receiver, with too few args'); + // @ts-expect-error + t.deepEqual(boundArg(), [sentinel, 1, undefined], 'bound func with receiver and arg, with too few args'); + + t.deepEqual(func(1, 2), [undefined, 1, 2], 'unbound func with right args'); + t.deepEqual(bound(1, 2, 3), [hasStrictMode ? 1 : Object(1), 2, 3], 'bound func with right args'); + t.deepEqual(boundR(1, 2), [sentinel, 1, 2], 'bound func with receiver, with right args'); + t.deepEqual(boundArg(2), [sentinel, 1, 2], 'bound func with receiver and arg, with right arg'); + + // @ts-expect-error + t.deepEqual(func(1, 2, 3), [undefined, 1, 2], 'unbound func with too many args'); + // @ts-expect-error + t.deepEqual(bound(1, 2, 3, 4), [hasStrictMode ? 1 : Object(1), 2, 3], 'bound func with too many args'); + // @ts-expect-error + t.deepEqual(boundR(1, 2, 3), [sentinel, 1, 2], 'bound func with receiver, with too many args'); + // @ts-expect-error + t.deepEqual(boundArg(2, 3), [sentinel, 1, 2], 'bound func with receiver and arg, with too many args'); + + t.end(); +}); diff --git a/data/412 b/data/412 new file mode 100644 index 0000000..9b291bd --- /dev/null +++ b/data/412 @@ -0,0 +1,49 @@ +# es-define-property [![Version Badge][npm-version-svg]][package-url] + +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] + +[![npm badge][npm-badge-png]][package-url] + +`Object.defineProperty`, but not IE 8's broken one. + +## Example + +```js +const assert = require('assert'); + +const $defineProperty = require('es-define-property'); + +if ($defineProperty) { + assert.equal($defineProperty, Object.defineProperty); +} else if (Object.defineProperty) { + assert.equal($defineProperty, false, 'this is IE 8'); +} else { + assert.equal($defineProperty, false, 'this is an ES3 engine'); +} +``` + +## Tests +Simply clone the repo, `npm install`, and run `npm test` + +## Security + +Please email [@ljharb](https://github.com/ljharb) or see https://tidelift.com/security if you have a potential security vulnerability to report. + +[package-url]: https://npmjs.org/package/es-define-property +[npm-version-svg]: https://versionbadg.es/ljharb/es-define-property.svg +[deps-svg]: https://david-dm.org/ljharb/es-define-property.svg +[deps-url]: https://david-dm.org/ljharb/es-define-property +[dev-deps-svg]: https://david-dm.org/ljharb/es-define-property/dev-status.svg +[dev-deps-url]: https://david-dm.org/ljharb/es-define-property#info=devDependencies +[npm-badge-png]: https://nodei.co/npm/es-define-property.png?downloads=true&stars=true +[license-image]: https://img.shields.io/npm/l/es-define-property.svg +[license-url]: LICENSE +[downloads-image]: https://img.shields.io/npm/dm/es-define-property.svg +[downloads-url]: https://npm-stat.com/charts.html?package=es-define-property +[codecov-image]: https://codecov.io/gh/ljharb/es-define-property/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/ljharb/es-define-property/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/es-define-property +[actions-url]: https://github.com/ljharb/es-define-property/actions diff --git a/data/413 b/data/413 new file mode 100644 index 0000000..a44e43e --- /dev/null +++ b/data/413 @@ -0,0 +1,53 @@ +# call-bound [![Version Badge][npm-version-svg]][package-url] + +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] +[![dependency status][deps-svg]][deps-url] +[![dev dependency status][dev-deps-svg]][dev-deps-url] +[![License][license-image]][license-url] +[![Downloads][downloads-image]][downloads-url] + +[![npm badge][npm-badge-png]][package-url] + +Robust call-bound JavaScript intrinsics, using `call-bind` and `get-intrinsic`. + +## Getting started + +```sh +npm install --save call-bound +``` + +## Usage/Examples + +```js +const assert = require('assert'); +const callBound = require('call-bound'); + +const slice = callBound('Array.prototype.slice'); + +delete Function.prototype.call; +delete Function.prototype.bind; +delete Array.prototype.slice; + +assert.deepEqual(slice([1, 2, 3, 4], 1, -1), [2, 3]); +``` + +## Tests + +Clone the repo, `npm install`, and run `npm test` + +[package-url]: https://npmjs.org/package/call-bound +[npm-version-svg]: https://versionbadg.es/ljharb/call-bound.svg +[deps-svg]: https://david-dm.org/ljharb/call-bound.svg +[deps-url]: https://david-dm.org/ljharb/call-bound +[dev-deps-svg]: https://david-dm.org/ljharb/call-bound/dev-status.svg +[dev-deps-url]: https://david-dm.org/ljharb/call-bound#info=devDependencies +[npm-badge-png]: https://nodei.co/npm/call-bound.png?downloads=true&stars=true +[license-image]: https://img.shields.io/npm/l/call-bound.svg +[license-url]: LICENSE +[downloads-image]: https://img.shields.io/npm/dm/call-bound.svg +[downloads-url]: https://npm-stat.com/charts.html?package=call-bound +[codecov-image]: https://codecov.io/gh/ljharb/call-bound/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/ljharb/call-bound/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/call-bound +[actions-url]: https://github.com/ljharb/call-bound/actions diff --git a/data/414 b/data/414 new file mode 100644 index 0000000..b6ccea9 --- /dev/null +++ b/data/414 @@ -0,0 +1,22 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [v1.0.1](https://github.com/ljharb/side-channel-map/compare/v1.0.0...v1.0.1) - 2024-12-10 + +### Commits + +- [Deps] update `call-bound` [`6d05aaa`](https://github.com/ljharb/side-channel-map/commit/6d05aaa4ce5f2be4e7825df433d650696f0ba40f) +- [types] fix generics ordering [`11c0184`](https://github.com/ljharb/side-channel-map/commit/11c0184132ac11fdc16857e12682e148e5e9ee74) + +## v1.0.0 - 2024-12-10 + +### Commits + +- Initial implementation, tests, readme, types [`ad877b4`](https://github.com/ljharb/side-channel-map/commit/ad877b42926d46d63fff76a2bd01d2b4a01959a9) +- Initial commit [`28f8879`](https://github.com/ljharb/side-channel-map/commit/28f8879c512abe8fcf9b6a4dc7754a0287e5eba4) +- npm init [`2c9604e`](https://github.com/ljharb/side-channel-map/commit/2c9604e5aa40223e425ea7cea78f8a07697504bd) +- Only apps should have lockfiles [`5e7ba9c`](https://github.com/ljharb/side-channel-map/commit/5e7ba9cffe3ef42095815adc8ac1255b49bbadf5) diff --git a/data/415 b/data/415 new file mode 100644 index 0000000..487a7c1 --- /dev/null +++ b/data/415 @@ -0,0 +1,6 @@ +'use strict'; + +var inspect = require('../'); +var obj = { a: 1, b: [3, 4] }; +obj.c = obj; +console.log(inspect(obj)); diff --git a/data/416 b/data/416 new file mode 100644 index 0000000..2ec51b7 --- /dev/null +++ b/data/416 @@ -0,0 +1,15 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## v1.0.0 - 2024-12-10 + +### Commits + +- Initial implementation, tests, readme, types [`5d6baee`](https://github.com/ljharb/side-channel-list/commit/5d6baee5c9054a1238007f5a1dfc109a7a816251) +- Initial commit [`3ae784c`](https://github.com/ljharb/side-channel-list/commit/3ae784c63a47895fbaeed2a91ab54a8029a7a100) +- npm init [`07055a4`](https://github.com/ljharb/side-channel-list/commit/07055a4d139895565b199dba5fe2479c1a1b9e28) +- Only apps should have lockfiles [`9573058`](https://github.com/ljharb/side-channel-list/commit/9573058a47494e2d68f8c6c77b5d7fbe441949c1) diff --git a/data/417 b/data/417 new file mode 100644 index 0000000..acd5acd --- /dev/null +++ b/data/417 @@ -0,0 +1,335 @@ +/*! + * cookie + * Copyright(c) 2012-2014 Roman Shtylman + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ + +'use strict'; + +/** + * Module exports. + * @public + */ + +exports.parse = parse; +exports.serialize = serialize; + +/** + * Module variables. + * @private + */ + +var __toString = Object.prototype.toString +var __hasOwnProperty = Object.prototype.hasOwnProperty + +/** + * RegExp to match cookie-name in RFC 6265 sec 4.1.1 + * This refers out to the obsoleted definition of token in RFC 2616 sec 2.2 + * which has been replaced by the token definition in RFC 7230 appendix B. + * + * cookie-name = token + * token = 1*tchar + * tchar = "!" / "#" / "$" / "%" / "&" / "'" / + * "*" / "+" / "-" / "." / "^" / "_" / + * "`" / "|" / "~" / DIGIT / ALPHA + */ + +var cookieNameRegExp = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/; + +/** + * RegExp to match cookie-value in RFC 6265 sec 4.1.1 + * + * cookie-value = *cookie-octet / ( DQUOTE *cookie-octet DQUOTE ) + * cookie-octet = %x21 / %x23-2B / %x2D-3A / %x3C-5B / %x5D-7E + * ; US-ASCII characters excluding CTLs, + * ; whitespace DQUOTE, comma, semicolon, + * ; and backslash + */ + +var cookieValueRegExp = /^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/; + +/** + * RegExp to match domain-value in RFC 6265 sec 4.1.1 + * + * domain-value = + * ; defined in [RFC1034], Section 3.5, as + * ; enhanced by [RFC1123], Section 2.1 + * =

    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