build: Add .idea project files tracking
This commit is contained in:
@@ -1,7 +1,6 @@
|
|||||||
.vscode/*
|
.vscode/*
|
||||||
|
|
||||||
# JetBrains IDEs
|
# JetBrains IDEs
|
||||||
.idea
|
|
||||||
.idea_modules
|
.idea_modules
|
||||||
*.iws
|
*.iws
|
||||||
|
|
||||||
|
|||||||
Generated
+8
@@ -0,0 +1,8 @@
|
|||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
|
# Editor-based HTTP Client requests
|
||||||
|
/httpRequests/
|
||||||
|
# Datasource local storage ignored files
|
||||||
|
/dataSources/
|
||||||
|
/dataSources.local.xml
|
||||||
Generated
+11
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="CMakeSharedSettings">
|
||||||
|
<configurations>
|
||||||
|
<configuration PROFILE_NAME="Release_x64[WIN_32]" ENABLED="true" GENERATION_DIR="bin/build/x64/Release" CONFIG_NAME="Release" TOOLCHAIN_NAME="MinGW [Crosscompile]" GENERATION_OPTIONS="-G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE="external/cmake-various/toolchain/toolchain-mingw_nix-win-x64.cmake"" />
|
||||||
|
<configuration PROFILE_NAME="Release_x86[WIN_32]" ENABLED="true" GENERATION_DIR="bin/build/x86/Release" CONFIG_NAME="Release" TOOLCHAIN_NAME="MinGW [Crosscompile]" GENERATION_OPTIONS="-G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE="external/cmake-various/toolchain/toolchain-mingw_nix-win-x86.cmake"" />
|
||||||
|
<configuration PROFILE_NAME="Debug_x64[WIN_32]" ENABLED="true" GENERATION_DIR="bin/build/x64/Debug" CONFIG_NAME="Debug" TOOLCHAIN_NAME="MinGW [Crosscompile]" GENERATION_OPTIONS="-G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE="external/cmake-various/toolchain/toolchain-mingw_nix-win-x64.cmake"" />
|
||||||
|
<configuration PROFILE_NAME="Debug_x86[WIN_32]" ENABLED="true" GENERATION_DIR="bin/build/x86/Debug" CONFIG_NAME="Debug" TOOLCHAIN_NAME="MinGW [Crosscompile]" GENERATION_OPTIONS="-G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE="external/cmake-various/toolchain/toolchain-mingw_nix-win-x86.cmake"" />
|
||||||
|
</configurations>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
+72
@@ -0,0 +1,72 @@
|
|||||||
|
<component name="InspectionProjectProfileManager">
|
||||||
|
<profile version="1.0">
|
||||||
|
<option name="myName" value="Project Default" />
|
||||||
|
<inspection_tool class="ConstantConditionsOC" enabled="false" level="WARNING" enabled_by_default="false" />
|
||||||
|
<inspection_tool class="DuplicatedCode" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
|
||||||
|
<inspection_tool class="PyBroadExceptionInspection" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
|
||||||
|
<inspection_tool class="PyCompatibilityInspection" enabled="true" level="WARNING" enabled_by_default="true">
|
||||||
|
<option name="ourVersions">
|
||||||
|
<value>
|
||||||
|
<list size="4">
|
||||||
|
<item index="0" class="java.lang.String" itemvalue="2.7" />
|
||||||
|
<item index="1" class="java.lang.String" itemvalue="3.7" />
|
||||||
|
<item index="2" class="java.lang.String" itemvalue="3.8" />
|
||||||
|
<item index="3" class="java.lang.String" itemvalue="3.9" />
|
||||||
|
</list>
|
||||||
|
</value>
|
||||||
|
</option>
|
||||||
|
</inspection_tool>
|
||||||
|
<inspection_tool class="PyDefaultArgumentInspection" enabled="false" level="WARNING" enabled_by_default="false" />
|
||||||
|
<inspection_tool class="PyInterpreterInspection" enabled="false" level="WARNING" enabled_by_default="false" />
|
||||||
|
<inspection_tool class="PyPep8Inspection" enabled="true" level="WEAK WARNING" enabled_by_default="true">
|
||||||
|
<option name="ignoredErrors">
|
||||||
|
<list>
|
||||||
|
<option value="E266" />
|
||||||
|
<option value="E701" />
|
||||||
|
<option value="E265" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</inspection_tool>
|
||||||
|
<inspection_tool class="PyPep8NamingInspection" enabled="true" level="WEAK WARNING" enabled_by_default="true">
|
||||||
|
<option name="ignoredErrors">
|
||||||
|
<list>
|
||||||
|
<option value="N806" />
|
||||||
|
<option value="N803" />
|
||||||
|
<option value="N802" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</inspection_tool>
|
||||||
|
<inspection_tool class="PyTypeCheckerInspection" enabled="false" level="WARNING" enabled_by_default="false" />
|
||||||
|
<inspection_tool class="PyUnusedLocalInspection" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||||
|
<inspection_tool class="ShellCheck" enabled="true" level="ERROR" enabled_by_default="true">
|
||||||
|
<shellcheck_settings value="SC2164" />
|
||||||
|
</inspection_tool>
|
||||||
|
<inspection_tool class="Simplify" enabled="false" level="WARNING" enabled_by_default="false">
|
||||||
|
<option name="clangTidyCheckOptions">
|
||||||
|
<list>
|
||||||
|
<ClangTidyCheckOption>
|
||||||
|
<option name="optionName" value="clion-simplify.SimplifyConstantConditions" />
|
||||||
|
<option name="optionValue" value="1" />
|
||||||
|
</ClangTidyCheckOption>
|
||||||
|
<ClangTidyCheckOption>
|
||||||
|
<option name="optionName" value="clion-simplify.SimplifyIfWithReturn" />
|
||||||
|
<option name="optionValue" value="0" />
|
||||||
|
</ClangTidyCheckOption>
|
||||||
|
<ClangTidyCheckOption>
|
||||||
|
<option name="optionName" value="clion-simplify.SimplifyEqualToTrueFalse" />
|
||||||
|
<option name="optionValue" value="1" />
|
||||||
|
</ClangTidyCheckOption>
|
||||||
|
<ClangTidyCheckOption>
|
||||||
|
<option name="optionName" value="clion-simplify.SimplifyTernaryWithConstantBranch" />
|
||||||
|
<option name="optionValue" value="1" />
|
||||||
|
</ClangTidyCheckOption>
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</inspection_tool>
|
||||||
|
<inspection_tool class="SpellCheckingInspection" enabled="true" level="TYPO" enabled_by_default="true">
|
||||||
|
<option name="processCode" value="false" />
|
||||||
|
<option name="processLiterals" value="true" />
|
||||||
|
<option name="processComments" value="true" />
|
||||||
|
</inspection_tool>
|
||||||
|
</profile>
|
||||||
|
</component>
|
||||||
Generated
+4
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="CMakeWorkspace" PROJECT_DIR="$PROJECT_DIR$" />
|
||||||
|
</project>
|
||||||
Generated
+8
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/spicetools.iml" filepath="$PROJECT_DIR$/.idea/spicetools.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
+20
@@ -0,0 +1,20 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="Deploy[Debug]" type="ShConfigurationType">
|
||||||
|
<option name="SCRIPT_TEXT" value="" />
|
||||||
|
<option name="INDEPENDENT_SCRIPT_PATH" value="true" />
|
||||||
|
<option name="SCRIPT_PATH" value="$PROJECT_DIR$/cmake.sh" />
|
||||||
|
<option name="SCRIPT_OPTIONS" value="deploy all" />
|
||||||
|
<option name="INDEPENDENT_SCRIPT_WORKING_DIRECTORY" value="true" />
|
||||||
|
<option name="SCRIPT_WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||||
|
<option name="INDEPENDENT_INTERPRETER_PATH" value="true" />
|
||||||
|
<option name="INTERPRETER_PATH" value="/usr/bin/bash" />
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="EXECUTE_IN_TERMINAL" value="true" />
|
||||||
|
<option name="EXECUTE_SCRIPT_FILE" value="true" />
|
||||||
|
<envs>
|
||||||
|
<env name="_G_clean" value="false" />
|
||||||
|
<env name="_G_debug" value="true" />
|
||||||
|
</envs>
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
|
</component>
|
||||||
+20
@@ -0,0 +1,20 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="Deploy[Release]" type="ShConfigurationType">
|
||||||
|
<option name="SCRIPT_TEXT" value="" />
|
||||||
|
<option name="INDEPENDENT_SCRIPT_PATH" value="true" />
|
||||||
|
<option name="SCRIPT_PATH" value="$PROJECT_DIR$/cmake.sh" />
|
||||||
|
<option name="SCRIPT_OPTIONS" value="deploy all" />
|
||||||
|
<option name="INDEPENDENT_SCRIPT_WORKING_DIRECTORY" value="true" />
|
||||||
|
<option name="SCRIPT_WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||||
|
<option name="INDEPENDENT_INTERPRETER_PATH" value="true" />
|
||||||
|
<option name="INTERPRETER_PATH" value="/usr/bin/bash" />
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="EXECUTE_IN_TERMINAL" value="true" />
|
||||||
|
<option name="EXECUTE_SCRIPT_FILE" value="true" />
|
||||||
|
<envs>
|
||||||
|
<env name="_G_clean" value="false" />
|
||||||
|
<env name="_G_debug" value="false" />
|
||||||
|
</envs>
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
|
</component>
|
||||||
+20
@@ -0,0 +1,20 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="Distribute[Release]" type="ShConfigurationType">
|
||||||
|
<option name="SCRIPT_TEXT" value="" />
|
||||||
|
<option name="INDEPENDENT_SCRIPT_PATH" value="true" />
|
||||||
|
<option name="SCRIPT_PATH" value="$PROJECT_DIR$/cmake.sh" />
|
||||||
|
<option name="SCRIPT_OPTIONS" value="distribute all" />
|
||||||
|
<option name="INDEPENDENT_SCRIPT_WORKING_DIRECTORY" value="true" />
|
||||||
|
<option name="SCRIPT_WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||||
|
<option name="INDEPENDENT_INTERPRETER_PATH" value="true" />
|
||||||
|
<option name="INTERPRETER_PATH" value="/usr/bin/bash" />
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="EXECUTE_IN_TERMINAL" value="true" />
|
||||||
|
<option name="EXECUTE_SCRIPT_FILE" value="true" />
|
||||||
|
<envs>
|
||||||
|
<env name="_G_clean" value="false" />
|
||||||
|
<env name="_G_debug" value="false" />
|
||||||
|
</envs>
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
|
</component>
|
||||||
+9
@@ -0,0 +1,9 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="spicetools_cfg" type="CMakeRunConfiguration" factoryName="Application" folderName="32" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="spicetools" TARGET_NAME="spicetools_cfg" CONFIG_NAME="Release_x64[WIN_32]" RUN_TARGET_PROJECT_NAME="spicetools" RUN_TARGET_NAME="spicetools_cfg">
|
||||||
|
<method v="2">
|
||||||
|
<option name="CMake.Explicit.Target" predefinedTargetName="spicetools_stubs_kbt" />
|
||||||
|
<option name="CMake.Explicit.Target" predefinedTargetName="spicetools_stubs_kld" />
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
</component>
|
||||||
+9
@@ -0,0 +1,9 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="spicetools_spice" type="CMakeRunConfiguration" factoryName="Application" folderName="32" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="spicetools" TARGET_NAME="spicetools_spice" CONFIG_NAME="Release_x64[WIN_32]" RUN_TARGET_PROJECT_NAME="spicetools" RUN_TARGET_NAME="spicetools_spice">
|
||||||
|
<method v="2">
|
||||||
|
<option name="CMake.Explicit.Target" predefinedTargetName="spicetools_stubs_kbt" />
|
||||||
|
<option name="CMake.Explicit.Target" predefinedTargetName="spicetools_stubs_kld" />
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
</component>
|
||||||
+9
@@ -0,0 +1,9 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="spicetools_spice64" type="CMakeRunConfiguration" factoryName="Application" folderName="64" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="spicetools" TARGET_NAME="spicetools_spice64" CONFIG_NAME="Release_x64[WIN_32]" RUN_TARGET_PROJECT_NAME="spicetools" RUN_TARGET_NAME="spicetools_spice64">
|
||||||
|
<method v="2">
|
||||||
|
<option name="CMake.Explicit.Target" predefinedTargetName="spicetools_stubs_kbt64" />
|
||||||
|
<option name="CMake.Explicit.Target" predefinedTargetName="spicetools_stubs_kld64" />
|
||||||
|
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
</component>
|
||||||
Generated
+2
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module classpath="CMake" type="CPP_MODULE" version="4" />
|
||||||
Generated
+7
@@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="" vcs="Git" />
|
||||||
|
<mapping directory="$PROJECT_DIR$/external/cmake-various" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
@@ -1,39 +1,72 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
_G_buildir="bin/build"
|
: ${_G_buildir:="bin/build"}
|
||||||
_G_bindir="bin"
|
: ${_G_bindir:="bin"}
|
||||||
_G_debug=false
|
: ${_G_debug:=false}
|
||||||
_G_clean=false
|
: ${_G_clean:=false}
|
||||||
|
|
||||||
|
# Hidden build all temporary environment for sourcing
|
||||||
run_build_all() {
|
<<__BUILDALLINIT__
|
||||||
# Auto-config for build_al.sh
|
# Auto-config for build_al.sh
|
||||||
GIT_BRANCH=$(git rev-parse --abbrev-ref HEAD 2> /dev/null || echo "none")
|
GIT_BRANCH=$(git rev-parse --abbrev-ref HEAD 2> /dev/null || echo "none")
|
||||||
GIT_HEAD=$(git rev-parse --short HEAD || echo "none")
|
GIT_HEAD=$(git rev-parse --short HEAD || echo "none")
|
||||||
BUILD_TYPE=$({ $_G_debug && echo Debug; } || echo Release)
|
BUILD_TYPE=$({ $_G_debug && echo Debug; } || echo Release)
|
||||||
OUTDIR="$_G_bindir/${BUILD_TYPE}"
|
OUTDIR="$_G_bindir/${BUILD_TYPE}"
|
||||||
DIST_FOLDER="$_G_bindir"
|
DIST_FOLDER="$_G_bindir/Distribution"
|
||||||
DIST_NAME="${GIT_BRANCH}-${GIT_HEAD}.zip"
|
DIST_NAME="${GIT_BRANCH}-${GIT_HEAD}.zip"
|
||||||
DIST_COMMENT="$(date +%Y)/$(date +%m)/$(date +%d):$(git rev-parse HEAD)"
|
DIST_COMMENT="$(date +%Y)/$(date +%m)/$(date +%d):$(git rev-parse HEAD)"
|
||||||
DIST_ENABLE=$({ $_G_debug && echo 0; } || echo 1)
|
: ${DIST_ENABLE:=$({ $_G_debug && echo 0; } || echo 1)}
|
||||||
UPX_ENABLE="$DIST_ENABLE"
|
UPX_ENABLE="$DIST_ENABLE"
|
||||||
INCLUDE_SRC=0
|
INCLUDE_SRC=0
|
||||||
UPX_FLAGS="-q --best --lzma --compress-exports=0"
|
UPX_FLAGS="-q --best --lzma --compress-exports=0"
|
||||||
CLEAN_BUILD=$({ $_G_clean && echo 1; } || echo 0)
|
CLEAN_BUILD=$({ $_G_clean && echo 1; } || echo 0)
|
||||||
DEBUG=$({ $_G_debug && echo 1; } || echo 0)
|
DEBUG=$({ $_G_debug && echo 1; } || echo 0)
|
||||||
TOOLCHAIN_32="/usr/share/mingw/toolchain-i686-w64-mingw32.cmake"
|
TOOLCHAIN_32="external/cmake-various/toolchain/toolchain-mingw_nix-win-x86.cmake"
|
||||||
TARGETS_32="spicetools_stubs_kbt spicetools_stubs_kld spicetools_cfg spicetools_spice"
|
TARGETS_32="spicetools_stubs_kbt spicetools_stubs_kld spicetools_cfg spicetools_spice"
|
||||||
BUILDDIR_32="$_G_buildir/x86/${BUILD_TYPE}"
|
BUILDDIR_32="$_G_buildir/x86/${BUILD_TYPE}"
|
||||||
TOOLCHAIN_64="/usr/share/mingw/toolchain-x86_64-w64-mingw32.cmake"
|
TOOLCHAIN_64="external/cmake-various/toolchain/toolchain-mingw_nix-win-x64.cmake"
|
||||||
TARGETS_64="spicetools_stubs_kbt64 spicetools_stubs_kld64 spicetools_spice64"
|
TARGETS_64="spicetools_stubs_kbt64 spicetools_stubs_kld64 spicetools_spice64"
|
||||||
BUILDDIR_64="$_G_buildir/x64/${BUILD_TYPE}"
|
BUILDDIR_64="$_G_buildir/x64/${BUILD_TYPE}"
|
||||||
|
__BUILDALLINIT__
|
||||||
|
|
||||||
|
run_build_all() {
|
||||||
|
# Init build_all.sh
|
||||||
|
source <(sed -n '/__BUILDALLINIT__/{:a;n;/__BUILDALLINIT__/q;p;$!ba}' "$0")
|
||||||
|
source <(head -n +20 ./build_all.sh)
|
||||||
|
|
||||||
# Run build_all.sh
|
# Run build_all.sh
|
||||||
source <(head -n +20 ./build_all.sh)
|
|
||||||
source <(tail -n +59 ./build_all.sh | head -n -3 | sed 's~.*pushd ${OUTDIR}/.. > /dev/null*~\tpushd ${OUTDIR} > /dev/null~')
|
source <(tail -n +59 ./build_all.sh | head -n -3 | sed 's~.*pushd ${OUTDIR}/.. > /dev/null*~\tpushd ${OUTDIR} > /dev/null~')
|
||||||
}
|
}
|
||||||
|
|
||||||
# Run build_all.sh
|
run_deploy_all() {
|
||||||
run_build_all
|
DIST_ENABLE=0
|
||||||
|
|
||||||
# Continue
|
# Init build_all.sh
|
||||||
|
source <(sed -n '/__BUILDALLINIT__/{:a;n;/__BUILDALLINIT__/q;p;$!ba}' "$0")
|
||||||
|
source <(head -n +20 ./build_all.sh)
|
||||||
|
|
||||||
|
# Run deploy in build_all.sh
|
||||||
|
source <(tail -n +150 ./build_all.sh | head -n -3 | sed 's~.*pushd ${OUTDIR}/.. > /dev/null*~\tpushd ${OUTDIR} > /dev/null~')
|
||||||
|
}
|
||||||
|
|
||||||
|
run_distribute_all() {
|
||||||
|
# Init build_all.sh
|
||||||
|
source <(sed -n '/__BUILDALLINIT__/{:a;n;/__BUILDALLINIT__/q;p;$!ba}' "$0")
|
||||||
|
source <(head -n +20 ./build_all.sh)
|
||||||
|
|
||||||
|
# Run deploy in build_all.sh
|
||||||
|
source <(tail -n +150 ./build_all.sh | head -n -3 | sed 's~.*pushd ${OUTDIR}/.. > /dev/null*~\tpushd ${OUTDIR} > /dev/null~')
|
||||||
|
}
|
||||||
|
|
||||||
|
# Sanity checks
|
||||||
|
[ -d "external/cmake-various/toolchain" ] || { echo "Toolchain not found" ; exit 1; }
|
||||||
|
[ "$(md5sum ./build_all.sh | cut -c -32)" = "9a89bba3fa2435983e5bce423d0f4a61" ] || { echo "Version mismatch for build_all.sh " ; exit 1; }
|
||||||
|
|
||||||
|
# Run requested task
|
||||||
|
if [[ $(type -t "run_${1}_${2}") == function ]]; then
|
||||||
|
echo "Starting task: 'run_${1}_${2}'"
|
||||||
|
"run_${1}_${2}"
|
||||||
|
else
|
||||||
|
echo "Invalid task: 'run_${1}_${2}'"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user